1 2026-06-26 Release Manager 2 3 * GCC 14.4.0 released. 4 5 2026-04-02 Paul Thomas <pault (a] gcc.gnu.org> 6 7 * testsuite/libgomp.fortran/pr120286.f90: New test. 8 9 2026-03-15 Frank Scheiner <frank.scheiner (a] web.de> 10 11 Backported from master: 12 2025-11-25 Frank Scheiner <frank.scheiner (a] web.de> 13 14 * affinity-fmt.c: Make char *q a pointer to a const char. 15 16 2025-05-23 Release Manager 17 18 * GCC 14.3.0 released. 19 20 2024-08-05 Paul Thomas <pault (a] gcc.gnu.org> 21 22 Backported from master: 23 2024-07-19 Paul Thomas <pault (a] gcc.gnu.org> 24 25 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Cut 26 dg-note about 'a' and remove bogus warnings about its array 27 descriptor components being used uninitialized. 28 29 2024-08-01 Release Manager 30 31 * GCC 14.2.0 released. 32 33 2024-05-07 Jakub Jelinek <jakub (a] redhat.com> 34 35 Backported from master: 36 2024-05-02 Jakub Jelinek <jakub (a] redhat.com> 37 38 * testsuite/libgomp.c/declare-variant-4.h (gfx90c, gfx1036, gfx1103): 39 New functions. 40 (f): Add #pragma omp declare variant directives for those. 41 * testsuite/libgomp.c/declare-variant-4-gfx90c.c: New test. 42 * testsuite/libgomp.c/declare-variant-4-gfx1036.c: New test. 43 * testsuite/libgomp.c/declare-variant-4-gfx1103.c: New test. 44 45 2024-05-07 Release Manager 46 47 * GCC 14.1.0 released. 48 49 2024-04-26 Frederik Harwath <frederik (a] harwath.name> 50 51 * plugin/plugin-gcn.c (isa_hsa_name): Handle EF_AMDGPU_MACH_AMDGCN_GFX90c. 52 (isa_code): Handle gfx90c. 53 (max_isa_vgprs): Handle EF_AMDGPU_MACH_AMDGCN_GFX90c. 54 55 2024-04-16 Chung-Lin Tang <cltang (a] baylibre.com> 56 57 * libgomp.h (REFCOUNT_ACC_MAP_DATA): Define as (REFCOUNT_SPECIAL | 2). 58 * oacc-mem.c (acc_map_data): Adjust to use REFCOUNT_ACC_MAP_DATA, 59 initialize dynamic_refcount as 1. 60 (acc_unmap_data): Adjust to use REFCOUNT_ACC_MAP_DATA, 61 (goacc_map_var_existing): Add REFCOUNT_ACC_MAP_DATA case. 62 (goacc_exit_datum_1): Add REFCOUNT_ACC_MAP_DATA case, respect 63 REFCOUNT_ACC_MAP_DATA when decrementing/finalizing. Force lowest 64 dynamic_refcount to be 1 for REFCOUNT_ACC_MAP_DATA. 65 (goacc_enter_data_internal): Add REFCOUNT_ACC_MAP_DATA case. 66 * target.c (gomp_increment_refcount): Return early for 67 REFCOUNT_ACC_MAP_DATA case. 68 (gomp_decrement_refcount): Likewise. 69 * testsuite/libgomp.oacc-c-c++-common/lib-96.c: New testcase. 70 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: Adjust 71 testcase error output scan test. 72 73 2024-04-08 Thomas Schwinge <tschwinge (a] baylibre.com> 74 75 * plugin/plugin-gcn.c (init_hsa_context): Add and handle 76 'bool probe' parameter. Adjust all users; errors during device 77 probing are fatal. 78 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Aside from 79 'CUDA_ERROR_NO_DEVICE', errors during device probing are fatal. 80 81 2024-04-05 Thomas Schwinge <tschwinge (a] baylibre.com> 82 83 * testsuite/libgomp.c/reverse-offload-sm30.c: Set 'GCC_COLORS' to the empty string. 84 85 2024-04-05 Jakub Jelinek <jakub (a] redhat.com> 86 87 PR c++/114572 88 * testsuite/libgomp.c++/pr114572.C: New test. 89 90 2024-04-04 Tobias Burnus <tburnus (a] baylibre.com> 91 92 * libgomp.texi (TR12): Honor post-TR12 directive name change; add 93 item about curly braces/BLOCK permitted in canonical loop nests. 94 95 2024-04-02 Jakub Jelinek <jakub (a] redhat.com> 96 97 * libgomp.texi (OpenMP 5.2): Fix duplicated words; with with -> 98 with. 99 (omp_target_associate_ptr): Fix duplicated words; either either -> 100 either. 101 (omp_init_allocator): Fix duplicated words; be be -> be. 102 (omp_realloc): Fix duplicated words; is is -> is. 103 (OMP_ALLOCATOR): Fix duplicated words; other other -> other. 104 * priority_queue.h (priority_queue_multi_p): Fix duplicated words; 105 to to -> to. 106 107 2024-03-25 Richard Biener <rguenther (a] suse.de> 108 109 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): GFX1036. 110 (gcn_gfx1103_s): New. 111 (isa_hsa_name): Handle gfx1036. 112 (isa_code): Likewise. 113 (max_isa_vgprs): Likewise. 114 115 2024-03-22 Kwok Cheung Yeung <kcyeung (a] baylibre.com> 116 117 * config/accel/target-indirect.c: Include string.h and hashtab.h. 118 Remove include of splay-tree.h. Update comments. 119 (splay_tree_prefix, splay_tree_c): Delete. 120 (struct indirect_map_t): New. 121 (hash_entry_type, htab_alloc, htab_free, htab_hash, htab_eq): New. 122 (GOMP_INDIRECT_ADD_MAP): Remove volatile qualifier. 123 (USE_SPLAY_TREE_LOOKUP): Rename to... 124 (USE_HASHTAB_LOOKUP): ..this. 125 (indirect_map, indirect_array): Delete. 126 (indirect_htab): New. 127 (build_indirect_map): Remove locking. Build indirect map using 128 hashtab. 129 (GOMP_target_map_indirect_ptr): Use indirect_htab to lookup target 130 address. 131 (GOMP_target_map_indirect_ptr): Remove volatile qualifier. 132 * config/gcn/team.c (gomp_gcn_enter_kernel): Call build_indirect_map 133 from first thread of first team only. 134 * config/nvptx/team.c (gomp_nvptx_main): Likewise. 135 * testsuite/libgomp.c-c++-common/declare-target-indirect-2.c (main): 136 Add missing break statements. 137 * testsuite/libgomp.fortran/declare-target-indirect-2.f90: Remove 138 xfail. 139 140 2024-03-22 Andrew Stubbs <ams (a] baylibre.com> 141 142 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): GFX1103. 143 (gcn_gfx1103_s): New. 144 (isa_hsa_name): Handle gfx1103. 145 (isa_code): Likewise. 146 (max_isa_vgprs): Likewise. 147 148 2024-03-14 Thomas Schwinge <tschwinge (a] baylibre.com> 149 150 * testsuite/libgomp.oacc-fortran/acc-memcpy.f90: Fix 'char' 151 initialization, copy, check. 152 153 2024-03-13 Tobias Burnus <tburnus (a] baylibre.com> 154 155 PR fortran/114283 156 * testsuite/libgomp.fortran/declare-target-indirect-4.f90: New test. 157 158 2024-03-12 Tobias Burnus <tburnus (a] baylibre.com> 159 160 * libgomp.texi (Device Memory Routines): Swap item order to match 161 the order of the '@node's of the '@subsection's. 162 163 2024-03-08 Thomas Schwinge <tschwinge (a] baylibre.com> 164 165 * plugin/plugin-gcn.c (GOMP_OFFLOAD_can_run): Don't consider 166 'GCN_SUPPRESS_HOST_FALLBACK' anymore (assume always-'true'). 167 (init_hsa_context): Adjust 'GCN_SUPPRESS_HOST_FALLBACK' error 168 message. 169 170 2024-03-08 Thomas Schwinge <tschwinge (a] baylibre.com> 171 172 * plugin/plugin-nvptx.c (nvptx_get_num_devices): 173 'cuDeviceGetCount' failure is fatal. 174 175 2024-03-08 Thomas Schwinge <tschwinge (a] baylibre.com> 176 177 * plugin/plugin-gcn.c (init_hsa_runtime_functions): Fatal error 178 for missing symbols. 179 * plugin/plugin-nvptx.c (init_cuda_lib): Likewise. 180 181 2024-03-06 John David Anglin <danglin (a] gcc.gnu.org> 182 183 Revert: 184 2024-02-01 John David Anglin <danglin (a] gcc.gnu.org> 185 186 * testsuite/libgomp.c++/loop-3.C: Set num_threads to 50 187 on 32-bit hppa. 188 * testsuite/libgomp.c/omp-loop03.c: Likewise. 189 190 2024-03-04 Jakub Jelinek <jakub (a] redhat.com> 191 192 PR libgomp/114216 193 * target.c (gomp_target_rev): Change host_fn type and corresponding 194 cast from void (*)() to void (*) (void *). 195 196 2024-03-01 Jakub Jelinek <jakub (a] redhat.com> 197 Tobias Burnus <tburnus (a] baylibre.com> 198 199 PR c++/110347 200 * testsuite/libgomp.c++/target-lambda-3.C: Moved from 201 gcc/testsuite/g++.dg/gomp/ and fixed is-mapped handling. 202 * testsuite/libgomp.c++/target-lambda-1.C: Modify to also 203 also work without offloading. 204 * testsuite/libgomp.c++/firstprivate-1.C: New test. 205 * testsuite/libgomp.c++/firstprivate-2.C: New test. 206 * testsuite/libgomp.c++/private-1.C: New test. 207 * testsuite/libgomp.c++/private-2.C: New test. 208 * testsuite/libgomp.c++/target-lambda-4.C: New test. 209 * testsuite/libgomp.c++/use_device_ptr-1.C: New test. 210 211 2024-02-27 Tobias Burnus <tburnus (a] baylibre.com> 212 213 * libgomp.texi (OpenACC Runtime Library Routines): Document new 3.3 214 routines that simply map to their C counterpart. 215 * openacc.f90 (openacc): Add them. 216 * openacc_lib.h: Likewise. 217 * testsuite/libgomp.oacc-fortran/acc_host_device_ptr.f90: New test. 218 * testsuite/libgomp.oacc-fortran/acc-memcpy.f90: New test. 219 * testsuite/libgomp.oacc-fortran/acc-memcpy-2.f90: New test. 220 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Crossref to f90 test. 221 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise. 222 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: Likewise. 223 224 2024-02-21 Tobias Burnus <tburnus (a] baylibre.com> 225 226 * libgomp.texi (OpenMP Context Selectors): Add 'nvptx64' as additional 227 'arch' value for nvptx. 228 229 2024-02-15 Kwok Cheung Yeung <kcyeung (a] baylibre.com> 230 231 * libgomp.texi (OpenMP 5.1): Mark indirect call support as fully 232 implemented. 233 234 2024-02-15 Kwok Cheung Yeung <kcyeung (a] baylibre.com> 235 236 * testsuite/libgomp.fortran/declare-target-indirect-1.f90: New. 237 * testsuite/libgomp.fortran/declare-target-indirect-2.f90: New. 238 * testsuite/libgomp.fortran/declare-target-indirect-3.f90: New. 239 240 2024-02-12 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 241 242 PR testsuite/113448 243 * testsuite/libgomp.c/alloc-pinned-1.c [!__linux__] (CHECK_SIZE): 244 Call abort. 245 * testsuite/libgomp.c/alloc-pinned-2.c [!__linux__] (CHECK_SIZE): 246 Likewise. 247 248 2024-02-11 John David Anglin <danglin (a] gcc.gnu.org> 249 250 PR libgomp/113843 251 * configure.tgt (hppa*-*-linux*): Define config_path. 252 253 2024-02-01 John David Anglin <danglin (a] gcc.gnu.org> 254 255 * testsuite/libgomp.c++/loop-3.C: Set num_threads to 50 256 on 32-bit hppa. 257 * testsuite/libgomp.c/omp-loop03.c: Likewise. 258 259 2024-01-29 Tobias Burnus <tburnus (a] baylibre.com> 260 261 * testsuite/libgomp.c/declare-variant-4.h: Use gfx1100/gfx1030 262 function not gfx90a for gfx1100/gfx1030 context selector. 263 264 2024-01-26 Richard Biener <rguenther (a] suse.de> 265 266 * plugin/plugin-gcn.c (suitable_hsa_agent_p): Filter out 267 agents with unsupported ISA. 268 269 2024-01-26 Richard Biener <rguenther (a] suse.de> 270 271 * plugin/plugin-gcn.c 272 (EF_AMDGPU_MACH::EF_AMDGPU_MACH_UNSUPPORTED): Add. 273 (isa_code): Return that instead of -1. 274 (GOMP_OFFLOAD_init_device): Adjust. 275 276 2024-01-26 Tobias Burnus <tburnus (a] baylibre.com> 277 278 * testsuite/libgomp.c/declare-variant-4.h: Add variant functions 279 for gfx1030 and gfx1100. 280 * testsuite/libgomp.c/declare-variant-4-gfx1030.c: New test. 281 * testsuite/libgomp.c/declare-variant-4-gfx1100.c: New test. 282 283 2024-01-26 Andrew Stubbs <ams (a] baylibre.com> 284 285 * config/gcn/time.c (RTC_TICKS): Configure RDNA3. 286 (omp_get_wtime): Add RDNA3-compatible variant. 287 * plugin/plugin-gcn.c (max_isa_vgprs): Tune for gfx1030 and gfx1100. 288 289 2024-01-24 Tobias Burnus <tburnus (a] baylibre.com> 290 Sandra Loosemore <sandra (a] codesourcery.com> 291 292 * libgomp.texi (Runtime Library Routines): Document 293 omp_pause_resource, omp_pause_resource_all and 294 omp_target_memcpy{,_rect}{,_async}. 295 296 2024-01-22 Tobias Burnus <tburnus (a] baylibre.com> 297 298 * testsuite/libgomp.c/declare-variant-4-fiji.c: Xfail as fiji 299 support is no longer enabled by default. 300 * testsuite/libgomp.c/declare-variant-4-gfx803.c: Likewise. 301 302 2024-01-20 John David Anglin <danglin (a] gcc.gnu.org> 303 304 * testsuite/libgomp.fortran/alloc-comp-3.f90: Increase 305 timeout by 2 on hppa*-*-*. 306 307 2024-01-20 John David Anglin <danglin (a] gcc.gnu.org> 308 309 * testsuite/libgomp.c/simd-math-1.c: Don't run on 310 hppa*-*-hpux*. 311 312 2024-01-17 Jakub Jelinek <jakub (a] redhat.com> 313 314 PR middle-end/113409 315 * testsuite/libgomp.c/bitint-1.c: New test. 316 317 2024-01-11 Julian Brown <julian (a] codesourcery.com> 318 319 * libgomp.texi: C/C++ lvalues are supported now for map/to/from. 320 * testsuite/libgomp.c-c++-common/ind-base-4.c: New test. 321 * testsuite/libgomp.c-c++-common/unary-ptr-1.c: New test. 322 323 2024-01-10 Jakub Jelinek <jakub (a] redhat.com> 324 325 PR libgomp/113192 326 * configure.ac (FLOCK): Use $libgomp_abs_srcdir/testsuite/flock 327 instead of \$(abs_top_srcdir)/testsuite/flock. 328 * configure: Regenerated. 329 330 2024-01-09 Julian Brown <julian (a] codesourcery.com> 331 332 * testsuite/libgomp.c++/baseptrs-4.C: Remove commented-out cases that 333 now work. 334 * testsuite/libgomp.c++/baseptrs-6.C: New test. 335 * testsuite/libgomp.c++/ind-base-1.C: New test. 336 * testsuite/libgomp.c++/ind-base-2.C: New test. 337 * testsuite/libgomp.c++/lvalue-tofrom-1.C: New test. 338 * testsuite/libgomp.c++/lvalue-tofrom-2.C: New test. 339 * testsuite/libgomp.c++/map-comma-1.C: New test. 340 * testsuite/libgomp.c++/map-rvalue-ref-1.C: New test. 341 * testsuite/libgomp.c++/struct-ref-1.C: New test. 342 * testsuite/libgomp.c-c++-common/array-field-1.c: New test. 343 * testsuite/libgomp.c-c++-common/array-of-struct-1.c: New test. 344 * testsuite/libgomp.c-c++-common/array-of-struct-2.c: New test. 345 346 2024-01-09 Jakub Jelinek <jakub (a] redhat.com> 347 348 PR libgomp/113192 349 * configure.ac (FLOCK): Use \$(abs_top_srcdir)/testsuite/flock 350 rather than $srcdir/testsuite/flock. 351 * configure: Regenerated. 352 353 2024-01-08 Thomas Schwinge <thomas (a] codesourcery.com> 354 355 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add 356 'EF_AMDGPU_MACH_AMDGCN_GFX1100'. 357 358 2024-01-08 Julian Brown <julian (a] codesourcery.com> 359 360 * plugin/plugin-gcn.c (hsa_runtime_fn_info): Add 361 hsa_amd_memory_lock_fn, hsa_amd_memory_unlock_fn, 362 hsa_amd_memory_async_copy_rect_fn function pointers. 363 (init_hsa_runtime_functions): Add above functions, with 364 DLSYM_OPT_FN. 365 (GOMP_OFFLOAD_memcpy2d, GOMP_OFFLOAD_memcpy3d): New functions. 366 367 2024-01-08 Tobias Burnus <tobias (a] codesourcery.com> 368 369 * plugin/plugin-gcn.c (gcn_gfx1100_s): New const string. 370 (gcn_isa_name_len): Fix length. 371 (isa_hsa_name, isa_code, max_isa_vgprs): Handle gfx1100. 372 373 2024-01-06 Tobias Burnus <tobias (a] codesourcery.com> 374 375 * libgomp.texi (OpenMP Technical Report 12): Fix a typo. 376 (Device Memory Routines): Fix OpenMP 5.1 spec refs; add 377 omp_target_is_accessible. 378 (Environment Display Routine): Uncomment and add 379 omp_display_env description. 380 (OMP_DISPLAY_ENV): Update wording, add 'see also'. 381 382 2024-01-06 Mark Wielaard <mark (a] klomp.org> 383 384 * configure: Regenerate. 385 386 2024-01-03 Jakub Jelinek <jakub (a] redhat.com> 387 388 * libgomp.texi: Bump @copying's copyright year. 389 390 2023-12-21 Julian Brown <julian (a] codesourcery.com> 391 392 * testsuite/libgomp.fortran/target-enter-data-6.f90: Remove XFAIL. 393 394 2023-12-20 Julian Brown <julian (a] codesourcery.com> 395 396 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_memcpy2d): Adjust parameters to 397 avoid out-of-bounds array checks in CUDA runtime. 398 (GOMP_OFFLOAD_memcpy3d): Likewise. 399 * testsuite/libgomp.c-c++-common/memcpyxd-bias-1.c: New test. 400 401 2023-12-18 Jakub Jelinek <jakub (a] redhat.com> 402 403 * testsuite/libgomp.c/declare-variant-1.c: Restrict the test to x86, 404 drop because of that unneeded target selector from other directives 405 and remove the aarch64 specific ones. 406 407 2023-12-15 Andre Vieira <andre.simoesdiasvieira (a] arm.com> 408 409 * testsuite/libgomp.c/declare-variant-1.c: Fixed test. 410 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise. 411 412 2023-12-15 Thomas Schwinge <thomas (a] codesourcery.com> 413 414 * testsuite/libgomp.fortran/map-subarray-5.f90: Restrict 415 'dg-output's to 'target offload_device_nonshared_as'. 416 417 2023-12-15 Julian Brown <julian (a] codesourcery.com> 418 419 * oacc-mem.c (find_group_last, goacc_enter_data_internal, 420 goacc_exit_data_internal, GOACC_enter_exit_data): Add 421 GOMP_MAP_STRUCT_UNORD support. 422 * target.c (gomp_map_vars_internal): Add GOMP_MAP_STRUCT_UNORD support. 423 Detect incorrect use of variable indexing of arrays of structs. 424 (GOMP_target_enter_exit_data, gomp_target_task_fn): Add 425 GOMP_MAP_STRUCT_UNORD support. 426 * testsuite/libgomp.c-c++-common/map-arrayofstruct-1.c: New test. 427 * testsuite/libgomp.c-c++-common/map-arrayofstruct-2.c: New test. 428 * testsuite/libgomp.c-c++-common/map-arrayofstruct-3.c: New test. 429 * testsuite/libgomp.fortran/map-subarray-5.f90: New test. 430 431 2023-12-13 Julian Brown <julian (a] codesourcery.com> 432 433 * testsuite/libgomp.fortran/map-subarray.f90: New test. 434 * testsuite/libgomp.fortran/map-subarray-2.f90: New test. 435 * testsuite/libgomp.fortran/map-subarray-3.f90: New test. 436 * testsuite/libgomp.fortran/map-subarray-4.f90: New test. 437 * testsuite/libgomp.fortran/map-subarray-6.f90: New test. 438 * testsuite/libgomp.fortran/map-subarray-7.f90: New test. 439 * testsuite/libgomp.fortran/map-subarray-8.f90: New test. 440 * testsuite/libgomp.fortran/map-subcomponents.f90: New test. 441 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Adjust for 442 descriptor-mapping changes. Remove XFAIL. 443 444 2023-12-13 Julian Brown <julian (a] codesourcery.com> 445 446 * target.c (gomp_map_pointer): Modify zero-length array section 447 pointer handling. 448 (gomp_attach_pointer): Likewise. 449 (gomp_map_fields_existing): Use gomp_map_0len_lookup. 450 (gomp_attach_pointer): Allow attaching null pointers (or Fortran 451 "unassociated" pointers). 452 (gomp_map_vars_internal): Handle zero-sized struct members. Add 453 diagnostic for unmapped struct pointer members. 454 * testsuite/libgomp.c-c++-common/baseptrs-1.c: New test. 455 * testsuite/libgomp.c-c++-common/baseptrs-2.c: New test. 456 * testsuite/libgomp.c-c++-common/baseptrs-6.c: New test. 457 * testsuite/libgomp.c-c++-common/baseptrs-7.c: New test. 458 * testsuite/libgomp.c-c++-common/ptr-attach-2.c: New test. 459 * testsuite/libgomp.c-c++-common/target-implicit-map-2.c: Fix missing 460 "free". 461 * testsuite/libgomp.c-c++-common/target-implicit-map-5.c: New test. 462 * testsuite/libgomp.c-c++-common/target-map-zlas-1.c: New test. 463 * testsuite/libgomp.c++/class-array-1.C: New test. 464 * testsuite/libgomp.c++/baseptrs-3.C: New test. 465 * testsuite/libgomp.c++/baseptrs-4.C: New test. 466 * testsuite/libgomp.c++/baseptrs-5.C: New test. 467 * testsuite/libgomp.c++/baseptrs-8.C: New test. 468 * testsuite/libgomp.c++/baseptrs-9.C: New test. 469 * testsuite/libgomp.c++/ref-mapping-1.C: New test. 470 * testsuite/libgomp.c++/target-48.C: New test. 471 * testsuite/libgomp.c++/target-49.C: New test. 472 * testsuite/libgomp.c++/target-exit-data-reftoptr-1.C: New test. 473 * testsuite/libgomp.c++/target-lambda-1.C: Update for OpenMP 5.2 474 semantics. 475 * testsuite/libgomp.c++/target-this-3.C: Likewise. 476 * testsuite/libgomp.c++/target-this-4.C: Likewise. 477 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Add temporary XFAIL. 478 * testsuite/libgomp.fortran/target-enter-data-6.f90: Likewise. 479 480 2023-12-13 Thomas Schwinge <thomas (a] codesourcery.com> 481 482 * config/linux/allocator.c (linux_memspace_alloc): Fix 'size_t' 483 vs. '%ld' format string mismatch. 484 485 2023-12-13 Andrew Stubbs <ams (a] codesourcery.com> 486 Thomas Schwinge <thomas (a] codesourcery.com> 487 488 * allocator.c (MEMSPACE_ALLOC): Add PIN. 489 (MEMSPACE_CALLOC): Add PIN. 490 (MEMSPACE_REALLOC): Add PIN. 491 (MEMSPACE_FREE): Add PIN. 492 (MEMSPACE_VALIDATE): Add PIN. 493 (omp_init_allocator): Use MEMSPACE_VALIDATE to check pinning. 494 (omp_aligned_alloc): Add pinning to all MEMSPACE_* calls. 495 (omp_aligned_calloc): Likewise. 496 (omp_realloc): Likewise. 497 (omp_free): Likewise. 498 * config/linux/allocator.c: New file. 499 * config/nvptx/allocator.c (MEMSPACE_ALLOC): Add PIN. 500 (MEMSPACE_CALLOC): Add PIN. 501 (MEMSPACE_REALLOC): Add PIN. 502 (MEMSPACE_FREE): Add PIN. 503 (MEMSPACE_VALIDATE): Add PIN. 504 * config/gcn/allocator.c (MEMSPACE_ALLOC): Add PIN. 505 (MEMSPACE_CALLOC): Add PIN. 506 (MEMSPACE_REALLOC): Add PIN. 507 (MEMSPACE_FREE): Add PIN. 508 * libgomp.texi: Switch pinned trait to supported. 509 (MEMSPACE_VALIDATE): Add PIN. 510 * testsuite/libgomp.c/alloc-pinned-1.c: New test. 511 * testsuite/libgomp.c/alloc-pinned-2.c: New test. 512 * testsuite/libgomp.c/alloc-pinned-3.c: New test. 513 * testsuite/libgomp.c/alloc-pinned-4.c: New test. 514 515 2023-12-11 Lipeng Zhu <lipeng.zhu (a] intel.com> 516 517 * testsuite/libgomp.fortran/rwlock_1.f90: New file. 518 * testsuite/libgomp.fortran/rwlock_2.f90: New file. 519 * testsuite/libgomp.fortran/rwlock_3.f90: New file. 520 521 2023-12-11 Andre Vieira <andre.simoesdiasvieira (a] arm.com> 522 523 * testsuite/libgomp.c/declare-variant-1.c: Adapt test for aarch64. 524 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise. 525 526 2023-12-11 Tobias Burnus <tobias (a] codesourcery.com> 527 528 * libgomp_g.h (GOMP_add_alloc, GOMP_is_alloc): Add. 529 530 2023-12-08 Tobias Burnus <tobias (a] codesourcery.com> 531 532 * allocator.c (struct fort_alloc_splay_tree_key_s, 533 fort_alloc_splay_compare, GOMP_add_alloc, GOMP_is_alloc): New. 534 * libgomp.h: Define splay_tree_static for 'reverse' splay tree. 535 * libgomp.map (GOMP_5.1.2): New; add GOMP_add_alloc and 536 GOMP_is_alloc; move GOMP_target_map_indirect_ptr from ... 537 (GOMP_5.1.1): ... here. 538 * libgomp.texi (Impl. Status, Memory management): Update for 539 allocators/allocate directives. 540 * splay-tree.c: Handle splay_tree_static define to declare all 541 functions as static. 542 (splay_tree_lookup_node): New. 543 * splay-tree.h: Handle splay_tree_decl_only define. 544 (splay_tree_lookup_node): New prototype. 545 * target.c: Define splay_tree_static for 'reverse'. 546 * testsuite/libgomp.fortran/allocators-1.f90: New test. 547 * testsuite/libgomp.fortran/allocators-2.f90: New test. 548 * testsuite/libgomp.fortran/allocators-3.f90: New test. 549 * testsuite/libgomp.fortran/allocators-4.f90: New test. 550 * testsuite/libgomp.fortran/allocators-5.f90: New test. 551 552 2023-12-06 Andrew Stubbs <ams (a] codesourcery.com> 553 554 * config/gcn/libgomp-gcn.h (TEAM_ARENA_START): Move to here. 555 (TEAM_ARENA_FREE): Likewise. 556 (TEAM_ARENA_END): Likewise. 557 (GCN_LOWLAT_HEAP): New. 558 * config/gcn/team.c (LITTLEENDIAN_CPU): New, and import hsa.h. 559 (__gcn_lowlat_init): New prototype. 560 (gomp_gcn_enter_kernel): Initialize the low-latency heap. 561 * libgomp.h (TEAM_ARENA_START): Move to libgomp.h. 562 (TEAM_ARENA_FREE): Likewise. 563 (TEAM_ARENA_END): Likewise. 564 * plugin/plugin-gcn.c (lowlat_size): New variable. 565 (print_kernel_dispatch): Label the group_segment_size purpose. 566 (init_environment_variables): Read GOMP_GCN_LOWLAT_POOL. 567 (create_kernel_dispatch): Pass low-latency head allocation to kernel. 568 (run_kernel): Use shadow; don't assume values. 569 * testsuite/libgomp.c/omp_alloc-traits.c: Enable for amdgcn. 570 * config/gcn/allocator.c: New file. 571 * libgomp.texi: Document low-latency implementation details. 572 573 2023-12-06 Andrew Stubbs <ams (a] codesourcery.com> 574 575 * allocator.c (MEMSPACE_VALIDATE): New macro. 576 (omp_init_allocator): Use MEMSPACE_VALIDATE. 577 (omp_aligned_alloc): Use OMP_LOW_LAT_MEM_ALLOC_INVALID. 578 (omp_aligned_calloc): Likewise. 579 (omp_realloc): Likewise. 580 * config/nvptx/allocator.c (nvptx_memspace_validate): New function. 581 (MEMSPACE_VALIDATE): New macro. 582 (OMP_LOW_LAT_MEM_ALLOC_INVALID): New define. 583 * libgomp.texi: Document low-latency implementation details. 584 * testsuite/libgomp.c/omp_alloc-1.c (main): Add gnu_lowlat. 585 * testsuite/libgomp.c/omp_alloc-2.c (main): Add gnu_lowlat. 586 * testsuite/libgomp.c/omp_alloc-3.c (main): Add gnu_lowlat. 587 * testsuite/libgomp.c/omp_alloc-4.c (main): Add access trait. 588 * testsuite/libgomp.c/omp_alloc-5.c (main): Add gnu_lowlat. 589 * testsuite/libgomp.c/omp_alloc-6.c (main): Add access trait. 590 * testsuite/libgomp.c/omp_alloc-traits.c: New test. 591 592 2023-12-06 Andrew Stubbs <ams (a] codesourcery.com> 593 Kwok Cheung Yeung <kcy (a] codesourcery.com> 594 Thomas Schwinge <thomas (a] codesourcery.com> 595 596 * allocator.c (MEMSPACE_ALLOC): New macro. 597 (MEMSPACE_CALLOC): New macro. 598 (MEMSPACE_REALLOC): New macro. 599 (MEMSPACE_FREE): New macro. 600 (predefined_alloc_mapping): New array. Add _Static_assert to match. 601 (ARRAY_SIZE): New macro. 602 (omp_aligned_alloc): Use MEMSPACE_ALLOC. 603 Implement fall-backs for predefined allocators. Simplify existing 604 fall-backs. 605 (omp_free): Use MEMSPACE_FREE. 606 (omp_calloc): Use MEMSPACE_CALLOC. Implement fall-backs for 607 predefined allocators. Simplify existing fall-backs. 608 (omp_realloc): Use MEMSPACE_REALLOC, MEMSPACE_ALLOC, and MEMSPACE_FREE. 609 Implement fall-backs for predefined allocators. Simplify existing 610 fall-backs. 611 * config/nvptx/team.c (__nvptx_lowlat_pool): New asm variable. 612 (__nvptx_lowlat_init): New prototype. 613 (gomp_nvptx_main): Call __nvptx_lowlat_init. 614 * libgomp.texi: Update memory space table. 615 * plugin/plugin-nvptx.c (lowlat_pool_size): New variable. 616 (GOMP_OFFLOAD_init_device): Read the GOMP_NVPTX_LOWLAT_POOL envvar. 617 (GOMP_OFFLOAD_run): Apply lowlat_pool_size. 618 * basic-allocator.c: New file. 619 * config/nvptx/allocator.c: New file. 620 * testsuite/libgomp.c/omp_alloc-1.c: New test. 621 * testsuite/libgomp.c/omp_alloc-2.c: New test. 622 * testsuite/libgomp.c/omp_alloc-3.c: New test. 623 * testsuite/libgomp.c/omp_alloc-4.c: New test. 624 * testsuite/libgomp.c/omp_alloc-5.c: New test. 625 * testsuite/libgomp.c/omp_alloc-6.c: New test. 626 627 2023-11-30 Thomas Schwinge <thomas (a] codesourcery.com> 628 629 * testsuite/libgomp.c/declare-variant-4-fiji.c: Adjust. 630 * testsuite/libgomp.c/declare-variant-4-gfx803.c: Likewise. 631 * testsuite/libgomp.c/declare-variant-4-gfx900.c: Likewise. 632 * testsuite/libgomp.c/declare-variant-4-gfx906.c: Likewise. 633 * testsuite/libgomp.c/declare-variant-4-gfx908.c: Likewise. 634 * testsuite/libgomp.c/declare-variant-4-gfx90a.c: Likewise. 635 * testsuite/libgomp.c/declare-variant-4.h: Likewise. 636 * testsuite/libgomp.c/declare-variant-4.c: New. 637 638 2023-11-30 Thomas Schwinge <thomas (a] codesourcery.com> 639 640 * testsuite/libgomp.c/declare-variant-3-sm30.c: Turn 'dg-do run' 641 into 'dg-do link'. 642 * testsuite/libgomp.c/declare-variant-3.c: New. 643 * testsuite/libgomp.c/declare-variant-3.h: Extend. 644 645 2023-11-30 Thomas Schwinge <thomas (a] codesourcery.com> 646 647 * testsuite/libgomp.c/declare-variant-3-sm30.c: Restrict 648 'scan-offload-tree-dump' to 'only_for_offload_target nvptx-none'. 649 * testsuite/libgomp.c/declare-variant-3-sm35.c: Likewise. 650 * testsuite/libgomp.c/declare-variant-3-sm53.c: Likewise. 651 * testsuite/libgomp.c/declare-variant-3-sm70.c: Likewise. 652 * testsuite/libgomp.c/declare-variant-3-sm75.c: Likewise. 653 * testsuite/libgomp.c/declare-variant-3-sm80.c: Likewise. 654 * testsuite/libgomp.c/declare-variant-4-fiji.c: Restrict 655 'scan-offload-tree-dump' to 656 'only_for_offload_target amdgcn-amdhsa'. 657 * testsuite/libgomp.c/declare-variant-4-gfx803.c: Likewise. 658 * testsuite/libgomp.c/declare-variant-4-gfx900.c: Likewise. 659 * testsuite/libgomp.c/declare-variant-4-gfx906.c: Likewise. 660 * testsuite/libgomp.c/declare-variant-4-gfx908.c: Likewise. 661 * testsuite/libgomp.c/declare-variant-4-gfx90a.c: Likewise. 662 663 2023-11-30 Thomas Schwinge <thomas (a] codesourcery.com> 664 665 * testsuite/libgomp.c/declare-variant-3-sm30.c: 666 'dg-additional-options -foffload=nvptx-none'. 667 * testsuite/libgomp.c/declare-variant-3-sm35.c: Likewise. 668 * testsuite/libgomp.c/declare-variant-3-sm53.c: Likewise. 669 * testsuite/libgomp.c/declare-variant-3-sm70.c: Likewise. 670 * testsuite/libgomp.c/declare-variant-3-sm75.c: Likewise. 671 * testsuite/libgomp.c/declare-variant-3-sm80.c: Likewise. 672 673 2023-11-29 Thomas Schwinge <thomas (a] codesourcery.com> 674 675 * testsuite/libgomp.c/target-simd-clone-1.c: Restrict 676 'scan-offload-ipa-dump's to 677 'only_for_offload_target amdgcn-amdhsa'. 678 * testsuite/libgomp.c/target-simd-clone-2.c: Likewise. 679 * testsuite/libgomp.c/target-simd-clone-3.c: Likewise. 680 681 2023-11-24 Tobias Burnus <tobias (a] codesourcery.com> 682 683 * libgomp.texi (5.2 Impl. Status): An argument to the destroy clause 684 is now supported. 685 686 2023-11-22 Thomas Schwinge <thomas (a] codesourcery.com> 687 688 * testsuite/libgomp.c/declare-variant-3.h (f30, f35, f53, f70) 689 (f75, f80, f): Add '__attribute__ ((noipa))'. 690 * testsuite/libgomp.c/declare-variant-4.h (gfx803, gfx900, gfx906) 691 (gfx908, gfx90a, f): Likewise. 692 693 2023-11-15 Andrew Stubbs <ams (a] codesourcery.com> 694 Andrew Jenner <andrew (a] codesourcery.com> 695 696 * plugin/plugin-gcn.c (max_isa_vgprs): New. 697 (run_kernel): CDNA2 devices have more VGPRs. 698 699 2023-11-10 Tobias Burnus <tobias (a] codesourcery.com> 700 701 * libgomp.texi (OpenMP Impl. Status): Update for OpenMP TR12; 702 renamed section from TR11. 703 704 2023-11-07 Kwok Cheung Yeung <kcy (a] codesourcery.com> 705 706 * config/linux/target-indirect.c: Move to... 707 * target-indirect.c: ...here. 708 709 2023-11-07 Kwok Cheung Yeung <kcy (a] codesourcery.com> 710 711 * Makefile.am (libgomp_la_SOURCES): Add target-indirect.c. 712 * Makefile.in: Regenerate. 713 * libgomp-plugin.h (GOMP_INDIRECT_ADDR_MAP): New define. 714 (GOMP_OFFLOAD_load_image): Add extra argument. 715 * libgomp.h (struct indirect_splay_tree_key_s): New. 716 (indirect_splay_tree_node, indirect_splay_tree, 717 indirect_splay_tree_key): New. 718 (indirect_splay_compare): New. 719 * libgomp.map (GOMP_5.1.1): Add GOMP_target_map_indirect_ptr. 720 * libgomp.texi (OpenMP 5.1): Update documentation on indirect 721 calls in target region and on indirect clause. 722 (Other new OpenMP 5.2 features): Add entry for virtual function calls. 723 * libgomp_g.h (GOMP_target_map_indirect_ptr): Add prototype. 724 * oacc-host.c (host_load_image): Add extra argument. 725 * target.c (gomp_load_image_to_device): If the GOMP_VERSION is high 726 enough, read host indirect functions table and pass to 727 load_image_func. 728 * config/accel/target-indirect.c: New. 729 * config/linux/target-indirect.c: New. 730 * config/gcn/team.c (build_indirect_map): Add prototype. 731 (gomp_gcn_enter_kernel): Initialize support for indirect 732 function calls on GCN target. 733 * config/nvptx/team.c (build_indirect_map): Add prototype. 734 (gomp_nvptx_main): Initialize support for indirect function 735 calls on NVPTX target. 736 * plugin/plugin-gcn.c (struct gcn_image_desc): Add field for 737 indirect functions count. 738 (GOMP_OFFLOAD_load_image): Add extra argument. If the GOMP_VERSION 739 is high enough, build address translation table and copy it to target 740 memory. 741 * plugin/plugin-nvptx.c (nvptx_tdata): Add field for indirect 742 functions count. 743 (GOMP_OFFLOAD_load_image): Add extra argument. If the GOMP_VERSION 744 is high enough, Build address translation table and copy it to target 745 memory. 746 * testsuite/libgomp.c-c++-common/declare-target-indirect-1.c: New. 747 * testsuite/libgomp.c-c++-common/declare-target-indirect-2.c: New. 748 * testsuite/libgomp.c++/declare-target-indirect-1.C: New. 749 750 2023-11-05 Jakub Jelinek <jakub (a] redhat.com> 751 752 * libgomp.texi (Enabling OpenMP): Adjust wording for attribute syntax 753 supported also in C. 754 755 2023-10-31 Thomas Schwinge <thomas (a] codesourcery.com> 756 757 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Add OpenACC 758 'acc_map_data' variant. 759 760 2023-10-25 Thomas Schwinge <thomas (a] codesourcery.com> 761 762 * oacc-parallel.c (GOACC_data_start): Handle 763 'GOACC_FLAG_LOCAL_DEVICE'. 764 (GOACC_parallel_keyed): Simplify accordingly. 765 * testsuite/libgomp.oacc-fortran/self-1.f90: Adjust. 766 767 2023-10-25 Thomas Schwinge <thomas (a] codesourcery.com> 768 769 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Enhance. 770 * testsuite/libgomp.oacc-c-c++-common/self-1.c: Likewise. 771 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise. 772 * testsuite/libgomp.oacc-c-c++-common/if-self-1.c: New. 773 * testsuite/libgomp.oacc-fortran/self-1.f90: Likewise. 774 775 2023-10-25 Chung-Lin Tang <cltang (a] codesourcery.com> 776 777 * oacc-parallel.c (GOACC_parallel_keyed): Add code to handle 778 GOACC_FLAG_LOCAL_DEVICE case. 779 * testsuite/libgomp.oacc-c-c++-common/self-1.c: New test. 780 781 2023-10-22 Iain Sandoe <iain (a] sandoe.co.uk> 782 783 * Makefile.am: Handle Darwin rpaths. 784 * Makefile.in: Regenerate. 785 * configure: Regenerate. 786 * configure.ac: Handle Darwin rpaths 787 788 2023-10-20 Andrew Stubbs <ams (a] codesourcery.com> 789 790 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX1030): New. 791 (isa_hsa_name): Recognise gfx1030. 792 (isa_code): Likewise. 793 * team.c (defined): Remove s_endpgm. 794 795 2023-10-20 Tobias Burnus <tobias (a] codesourcery.com> 796 797 * omp_lib.f90.in: Tag omp_lock_hint_* as being deprecated when 798 _OPENMP >= 201811. 799 800 2023-10-15 Tobias Burnus <tobias (a] codesourcery.com> 801 802 * libgomp.texi (Enabling OpenMP): Update for C/C++ attributes; 803 improve wording especially for Fortran; mention -fopenmp-simd. 804 (Enabling OpenACC): Minor cleanup; remove conditional compilation 805 sentinel. 806 807 2023-10-15 Tobias Burnus <tobias (a] codesourcery.com> 808 809 * libgomp.texi (ACC_DEVICE_TYPE, ACC_DEVICE_NUM, ACC_PROFLIB): 810 Actually document what the function does. 811 (GCC_ACC_NOTIFY): Remove unused env var. 812 813 2023-10-15 Tobias Burnus <tobias (a] codesourcery.com> 814 815 * libgomp.texi: Replace most future tense by present tense. 816 817 2023-10-14 Tobias Burnus <tobias (a] codesourcery.com> 818 819 * testsuite/libgomp.fortran/allocate-6.f90: Add missing 820 dg-additional-options "-fdump-tree-gimple"; fix scan. 821 822 2023-10-14 Tobias Burnus <tobias (a] codesourcery.com> 823 824 * libgomp.texi: Fix some typos. 825 (Memory Management Routines): Document remaining 5.x routines. 826 (Memory allocation): Make clear when the section applies. 827 828 2023-10-14 Tobias Burnus <tobias (a] codesourcery.com> 829 830 * libgomp.texi (OpenMP Impl. Status): Mention that Fortran now 831 supports the allocate directive for stack variables. 832 * testsuite/libgomp.fortran/allocate-5.f90: New test. 833 * testsuite/libgomp.fortran/allocate-6.f90: New test. 834 * testsuite/libgomp.fortran/allocate-7.f90: New test. 835 * testsuite/libgomp.fortran/allocate-8.f90: New test. 836 837 2023-10-12 Tobias Burnus <tobias (a] codesourcery.com> 838 839 * libgomp.texi (OMP_DEFAULT_DEVICE): Update spec ref; add @ref to 840 OMP_TARGET_OFFLOAD. 841 (OMP_TARGET_OFFLOAD): Update spec ref; add @ref to OMP_DEFAULT_DEVICE; 842 clarify MANDATORY behavior. 843 844 2023-10-12 Zhang, Jun <jun.zhang (a] intel.com> 845 846 * env.c (initialize_env): Use do_adjust_default_spincount. 847 * config/linux/x86/spincount.h: New file. 848 849 2023-10-08 Tobias Burnus <tobias (a] codesourcery.com> 850 851 * testsuite/libgomp.fortran/strictly-structured-block-1.f90: New test. 852 853 2023-10-06 Tobias Burnus <tobias (a] codesourcery.com> 854 855 * libgomp.texi (Device Memory Routines): New. 856 857 2023-10-04 Tobias Burnus <tobias (a] codesourcery.com> 858 859 * libgomp.texi (OpenMP Context Selectors): Clarify 'kind' trait 860 and that other target archs have no 'arch'/'isa' traits implemented. 861 862 2023-09-20 Tobias Burnus <tobias (a] codesourcery.com> 863 864 * libgomp.texi (OpenMP 5.1 Impl.): Mark 'omp allocate' as 865 implemented for C only. 866 * testsuite/libgomp.c/allocate-4.c: New test. 867 * testsuite/libgomp.c/allocate-5.c: New test. 868 * testsuite/libgomp.c/allocate-6.c: New test. 869 870 2023-09-20 Jakub Jelinek <jakub (a] redhat.com> 871 872 PR c++/111392 873 * libgomp.texi: Mark decl attribute was added to the C++ attribute 874 syntax as implemented. 875 876 2023-09-19 Jakub Jelinek <jakub (a] redhat.com> 877 878 PR libgomp/111413 879 * env.c (initialize_env): Don't dereference environ if it is NULL. 880 Reindent. 881 882 2023-09-18 Richard Biener <rguenther (a] suse.de> 883 884 PR tree-optimization/111294 885 * team.c (gomp_team_start): Assert alloca size to avoid false 886 positive alloc-size diagnostic. 887 888 2023-09-12 Thomas Schwinge <thomas (a] codesourcery.com> 889 Chung-Lin Tang <cltang (a] codesourcery.com> 890 891 PR testsuite/91884 892 PR testsuite/109951 893 * configure.ac: Revert earlier changes, instead 894 'AC_SUBST(SYSROOT_CFLAGS_FOR_TARGET)'. 895 * Makefile.in: Regenerate. 896 * configure: Likewise. 897 * testsuite/Makefile.in: Likewise. 898 * testsuite/lib/libgomp.exp (libgomp_init): Remove 899 "Fix up '-funconfigured-libstdc++-v3' in 'GXX_UNDER_TEST'" code. 900 If '--with-build-sysroot=[...]' was specified, use it for 901 build-tree testing. 902 * testsuite/libgomp-site-extra.exp.in (GCC_UNDER_TEST) 903 (GXX_UNDER_TEST, GFORTRAN_UNDER_TEST): Don't set. 904 (SYSROOT_CFLAGS_FOR_TARGET): Set. 905 * testsuite/libgomp.c++/c++.exp (lang_source_re) 906 (lang_include_flags): Set for build-tree testing. 907 * testsuite/libgomp.oacc-c++/c++.exp (lang_source_re) 908 (lang_include_flags): Likewise. 909 910 2023-09-07 Tobias Burnus <tobias (a] codesourcery.com> 911 912 * libgomp.texi (Memory Management Routines): New; add documentation for 913 omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator, 914 omp_get_default_allocator. 915 (OMP_ALLOCATOR): Fix ICV var name; add see-also references. 916 917 2023-09-07 Tobias Burnus <tobias (a] codesourcery.com> 918 919 * target.c (gomp_unload_device): Remove tailing whitespace. 920 921 2023-09-04 Tobias Burnus <tobias (a] codesourcery.com> 922 Thomas Schwinge <thomas (a] codesourcery.com> 923 924 * testsuite/libgomp.c-c++-common/pr100059-1.c: New. 925 926 2023-08-25 Sandra Loosemore <sandra (a] codesourcery.com> 927 928 * libgomp.texi (OpenMP 5.0): Imperfectly-nested loops are done. 929 930 2023-08-25 Sandra Loosemore <sandra (a] codesourcery.com> 931 932 * testsuite/libgomp.fortran/imperfect-destructor.f90: New. 933 * testsuite/libgomp.fortran/imperfect1.f90: New. 934 * testsuite/libgomp.fortran/imperfect2.f90: New. 935 * testsuite/libgomp.fortran/imperfect3.f90: New. 936 * testsuite/libgomp.fortran/imperfect4.f90: New. 937 * testsuite/libgomp.fortran/target-imperfect1.f90: New. 938 * testsuite/libgomp.fortran/target-imperfect2.f90: New. 939 * testsuite/libgomp.fortran/target-imperfect3.f90: New. 940 * testsuite/libgomp.fortran/target-imperfect4.f90: New. 941 942 2023-08-25 Sandra Loosemore <sandra (a] codesourcery.com> 943 944 * testsuite/libgomp.c-c++-common/imperfect1.c: New. 945 * testsuite/libgomp.c-c++-common/imperfect2.c: New. 946 * testsuite/libgomp.c-c++-common/imperfect3.c: New. 947 * testsuite/libgomp.c-c++-common/imperfect4.c: New. 948 * testsuite/libgomp.c-c++-common/imperfect5.c: New. 949 * testsuite/libgomp.c-c++-common/imperfect6.c: New. 950 * testsuite/libgomp.c-c++-common/target-imperfect1.c: New. 951 * testsuite/libgomp.c-c++-common/target-imperfect2.c: New. 952 * testsuite/libgomp.c-c++-common/target-imperfect3.c: New. 953 * testsuite/libgomp.c-c++-common/target-imperfect4.c: New. 954 955 2023-08-25 Sandra Loosemore <sandra (a] codesourcery.com> 956 957 * testsuite/libgomp.c++/attrs-imperfect1.C: New test. 958 * testsuite/libgomp.c++/attrs-imperfect2.C: New test. 959 * testsuite/libgomp.c++/attrs-imperfect3.C: New test. 960 * testsuite/libgomp.c++/attrs-imperfect4.C: New test. 961 * testsuite/libgomp.c++/attrs-imperfect5.C: New test. 962 * testsuite/libgomp.c++/attrs-imperfect6.C: New test. 963 * testsuite/libgomp.c++/imperfect-class-1.C: New test. 964 * testsuite/libgomp.c++/imperfect-class-2.C: New test. 965 * testsuite/libgomp.c++/imperfect-class-3.C: New test. 966 * testsuite/libgomp.c++/imperfect-destructor.C: New test. 967 * testsuite/libgomp.c++/imperfect-template-1.C: New test. 968 * testsuite/libgomp.c++/imperfect-template-2.C: New test. 969 * testsuite/libgomp.c++/imperfect-template-3.C: New test. 970 971 2023-08-22 Francois-Xavier Coudert <fxcoudert (a] gmail.com> 972 973 * testsuite/lib/libgomp.exp: Add effective target. 974 * testsuite/libgomp.c/simd-math-1.c: Avoid calling nonstandard 975 functions. 976 977 2023-08-22 Tobias Burnus <tobias (a] codesourcery.com> 978 979 * libgomp.texi (OpenMP 5.2 status): Add depobj with 980 destroy-var argument as 'N'. Mark defaultmap with 981 'all' category as 'Y'. 982 983 2023-08-19 Tobias Burnus <tobias (a] codesourcery.com> 984 985 PR middle-end/111017 986 * testsuite/libgomp.c-c++-common/non-rect-loop-1.c: New test. 987 988 2023-08-17 Tobias Burnus <tobias (a] codesourcery.com> 989 990 PR libgomp/111024 991 * allocator.c (gomp_init_libnuma): Call numa_available; if 992 not available or not returning 0, disable libnuma usage. 993 994 2023-08-07 Nick Alcock <nick.alcock (a] oracle.com> 995 996 * configure: Regenerate. 997 998 2023-08-07 Alexander von Gluck IV <kallisti5 (a] unixzen.com> 999 1000 * configure: Regenerate. 1001 1002 2023-08-07 Nick Alcock <nick.alcock (a] oracle.com> 1003 1004 * configure: Regenerate. 1005 1006 2023-08-07 Nick Alcock <nick.alcock (a] oracle.com> 1007 1008 * configure: Regenerate. 1009 1010 2023-08-07 H.J. Lu <hjl.tools (a] gmail.com> 1011 1012 * configure: Regenerate. 1013 1014 2023-08-07 H.J. Lu <hjl.tools (a] gmail.com> 1015 1016 * configure: Regenerate. 1017 1018 2023-07-29 Tobias Burnus <tobias (a] codesourcery.com> 1019 1020 * target.c (omp_target_memcpy_rect_worker): Undo dim=1 change for 1021 GOMP_OFFLOAD_CAP_SHARED_MEM. 1022 (omp_target_memcpy_rect_copy): Likewise for lock condition. 1023 (gomp_load_plugin_for_device): Use DLSYM_OPT not DLSYM for 1024 memcpy3d/memcpy2d. 1025 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_memcpy2d, 1026 GOMP_OFFLOAD_memcpy3d): Use memset 0 to nullify reserved and 1027 unused src/dst fields for that mem type; remove '{src,dst}LOD = 0'. 1028 1029 2023-07-26 Tobias Burnus <tobias (a] codesourcery.com> 1030 1031 * libgomp-plugin.h (GOMP_OFFLOAD_memcpy2d, 1032 GOMP_OFFLOAD_memcpy3d): New prototypes. 1033 * libgomp.h (struct gomp_device_descr): Add memcpy2d_func 1034 and memcpy3d_func. 1035 * libgomp.texi (nvtpx): Document when cuMemcpy2D/cuMemcpy3D is used. 1036 * oacc-host.c (memcpy2d_func, .memcpy3d_func): Init with NULL. 1037 * plugin/cuda-lib.def (cuMemcpy2D, cuMemcpy2DUnaligned, 1038 cuMemcpy3D): Invoke via CUDA_ONE_CALL. 1039 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_memcpy2d, 1040 GOMP_OFFLOAD_memcpy3d): New. 1041 * target.c (omp_target_memcpy_rect_worker): 1042 (omp_target_memcpy_rect_check, omp_target_memcpy_rect_copy): 1043 Permit all device-to-device copyies; invoke new plugins for 1044 2D and 3D copying when available. 1045 (gomp_load_plugin_for_device): DLSYM the new plugin functions. 1046 * testsuite/libgomp.c/target-12.c: Fix dimension bug. 1047 * testsuite/libgomp.fortran/target-12.f90: Likewise. 1048 * testsuite/libgomp.fortran/target-memcpy-rect-1.f90: New test. 1049 1050 2023-07-26 Tobias Burnus <tobias (a] codesourcery.com> 1051 1052 * libgomp.texi (OpenMP 5.2 features): Add 'all' for 'defaultmap' as 'N'. 1053 (Tasking Routines): Document omp_in_explicit_task. 1054 (Implementation-defined ICV Initialization): Use @ref not @code. 1055 1056 2023-07-20 Tobias Burnus <tobias (a] codesourcery.com> 1057 1058 * libgomp.texi (OpenMP Runtime Library Routines): 1059 Split long list by adding sections and moving routines there. 1060 (OMP_ALLOCATORS): Fix typo. 1061 1062 2023-07-19 Tobias Burnus <tobias (a] codesourcery.com> 1063 1064 PR fortran/107424 1065 * libgomp.texi (Impl. Status 5.0): Add link to new PR110735. 1066 * testsuite/libgomp.fortran/non-rectangular-loop-1.f90: Enable 1067 commented tests. 1068 * testsuite/libgomp.fortran/non-rectangular-loop-1a.f90: Remove 1069 test file; tests are in non-rectangular-loop-1.f90. 1070 * testsuite/libgomp.fortran/non-rectangular-loop-5.f90: Change 1071 testcase to use a non-constant step to retain the 'sorry' test. 1072 * testsuite/libgomp.fortran/non-rectangular-loop-6.f90: New test. 1073 1074 2023-07-17 Tobias Burnus <tobias (a] codesoucery.com> 1075 Chung-Lin Tang <cltang (a] codesourcery.com> 1076 1077 * testsuite/libgomp.fortran/uses_allocators_1.f90: New test. 1078 * testsuite/libgomp.fortran/uses_allocators_2.f90: New test. 1079 1080 2023-07-14 Tobias Burnus <tobias (a] codesourcery.com> 1081 1082 * libgomp.texi (OMP_ALLOCATOR): Document the default values for 1083 the traits. Add crossref to 'Memory allocation'. 1084 (Memory allocation): Refer to OMP_ALLOCATOR for the available 1085 traits and allocators/mem spaces; document the default value 1086 for the pool_size trait. 1087 1088 2023-07-14 Tobias Burnus <tobias (a] codesourcery.com> 1089 1090 * allocator.c (omp_init_allocator): Check whether symbol from 1091 dlopened libnuma is available before using libnuma for 1092 allocations. 1093 1094 2023-07-13 David Edelsohn <dje.gcc (a] gmail.com> 1095 1096 * testsuite/libgomp.c++/target-map-class-2.C: Require LTO. 1097 * testsuite/libgomp.c-c++-common/requires-4.c: Require LTO. 1098 * testsuite/libgomp.c-c++-common/requires-4a.c: Require LTO. 1099 1100 2023-07-12 Tobias Burnus <tobias (a] codesourcery.com> 1101 1102 * libgomp.texi (OpenMP 5.0): Replace '... stub' by @ref to 1103 'Memory allocation' section which contains the full status. 1104 (TR11): Remove differently worded duplicated entry. 1105 1106 2023-07-12 Tobias Burnus <tobias (a] codesourcery.com> 1107 1108 * allocator.c: Add ifdef for LIBGOMP_USE_LIBNUMA. 1109 (enum gomp_numa_memkind_kind): Renamed from gomp_memkind_kind; 1110 add GOMP_MEMKIND_LIBNUMA. 1111 (struct gomp_libnuma_data, gomp_init_libnuma, gomp_get_libnuma): New. 1112 (omp_init_allocator): Handle partition=nearest with libnuma if avail. 1113 (omp_aligned_alloc, omp_free, omp_aligned_calloc, omp_realloc): Add 1114 numa_alloc_local (+ memset), numa_free, and numa_realloc calls as 1115 needed. 1116 * config/linux/allocator.c (LIBGOMP_USE_LIBNUMA): Define 1117 * libgomp.texi: Fix a typo; use 'fi' instead of its ligature char. 1118 (Memory allocation): Renamed from 'Memory allocation with libmemkind'; 1119 updated for libnuma usage. 1120 * testsuite/libgomp.c-c++-common/alloc-11.c: New test. 1121 * testsuite/libgomp.c-c++-common/alloc-12.c: New test. 1122 1123 2023-07-11 Tobias Burnus <tobias (a] codesourcery.com> 1124 1125 * allocator.c (omp_init_allocator): Use malloc for 1126 omp_high_bw_mem_space when the memkind lib is unavailable 1127 instead of returning omp_null_allocator. 1128 * libgomp.texi (OpenMP 5.0): Fix typo. 1129 (Memory allocation with libmemkind): Document implementation 1130 in more detail. 1131 1132 2023-06-22 Tobias Burnus <tobias (a] codesourcery.com> 1133 1134 * libgomp.texi: Use @var for ICV vars. 1135 (OpenMP Environment Variables): Mention _ALL/_DEV/_DEV_<no> variants, 1136 document which ICV is set and which scope the ICV has; extend/cleanup 1137 some @ref. 1138 (Implementation-defined ICV Initialization): New. 1139 (nvptx): Document the implementation-defined used per-warp stack size. 1140 1141 2023-06-19 Thomas Schwinge <thomas (a] codesourcery.com> 1142 1143 * testsuite/libgomp.c/target-51.c: Fix DejaGnu directive syntax 1144 error. 1145 1146 2023-06-19 Tobias Burnus <tobias (a] codesourcery.com> 1147 1148 * testsuite/libgomp.c/target-51.c: Accept more error msg variants 1149 as expected dg-output. 1150 1151 2023-06-19 Tobias Burnus <tobias (a] codesourcery.com> 1152 1153 PR middle-end/110270 1154 * target.c (gomp_map_vars_internal): Copy host value instead of NULL 1155 for GOMP_MAP_ZERO_LEN_ARRAY_SECTION if not mapped. 1156 * libgomp.texi (OpenMP 5.2 Impl.): Mark as 'Y'. 1157 * testsuite/libgomp.c/target-19.c: Update expected value. 1158 * testsuite/libgomp.c++/target-18.C: Likewise. 1159 * testsuite/libgomp.c++/target-19.C: Likewise. 1160 * testsuite/libgomp.c-c++-common/requires-unified-addr-2.c: New test. 1161 * testsuite/libgomp.c-c++-common/target-implicit-map-3.c: New test. 1162 * testsuite/libgomp.c-c++-common/target-implicit-map-4.c: New test. 1163 1164 2023-06-16 Tobias Burnus <tobias (a] codesourcery.com> 1165 1166 * target.c (resolve_device): Call gomp_get_num_devices early to ensure 1167 gomp_init_targets_once was called before using default-device-var. 1168 * testsuite/libgomp.c/target-55.c: New test. 1169 * testsuite/libgomp.c/target-55a.c: New test. 1170 1171 2023-06-15 Tobias Burnus <tobias (a] codesourcery.com> 1172 1173 * env.c (gomp_def_allocator_envvar): New var. 1174 (parse_allocator): Handle OpenMP 5.1 syntax. 1175 (cleanup_env): New. 1176 (omp_display_env): Output gomp_def_allocator_envvar 1177 for an allocator with traits. 1178 * libgomp.texi (OMP_ALLOCATOR, OMP_AFFINITY_FORMAT, 1179 OMP_DISPLAY_AFFINITY): New. 1180 * testsuite/libgomp.c/allocator-1.c: New test. 1181 * testsuite/libgomp.c/allocator-2.c: New test. 1182 * testsuite/libgomp.c/allocator-3.c: New test. 1183 * testsuite/libgomp.c/allocator-4.c: New test. 1184 * testsuite/libgomp.c/allocator-5.c: New test. 1185 * testsuite/libgomp.c/allocator-6.c: New test. 1186 1187 2023-06-14 Thomas Schwinge <thomas (a] codesourcery.com> 1188 1189 * target.c (resolve_device): Align a 1190 'OMP_TARGET_OFFLOAD=mandatory' diagnostic with others. 1191 * testsuite/libgomp.c/target-51.c: Adjust. 1192 1193 2023-06-14 Thomas Schwinge <thomas (a] codesourcery.com> 1194 1195 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Don't 1196 set. 1197 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): 1198 Likewise. 1199 * testsuite/libgomp.c/simd-math-1.c: Remove 1200 '-foffload-options=-lm'. 1201 * testsuite/libgomp.fortran/fortran-torture_execute_math.f90: 1202 Likewise. 1203 * testsuite/libgomp.oacc-fortran/fortran-torture_execute_math.f90: 1204 Likewise. 1205 1206 2023-06-14 Thomas Schwinge <thomas (a] codesourcery.com> 1207 1208 * testsuite/libgomp.fortran/fortran-torture_execute_math.f90: New. 1209 * testsuite/libgomp.oacc-fortran/fortran-torture_execute_math.f90: 1210 Likewise. 1211 1212 2023-06-14 Thomas Schwinge <thomas (a] codesourcery.com> 1213 1214 * testsuite/libgomp.c/target-51.c: Fix typo. 1215 1216 2023-06-14 Tobias Burnus <tobias (a] codesourcery.com> 1217 1218 * env.c (gomp_default_icv_values): Init default_device_var to 1219 an nonconforming value - INT_MIN. 1220 (initialize_env): After env-var parsing, set default_device_var to 1221 device 0 unless OMP_TARGET_OFFLOAD=mandatory. 1222 (omp_display_env): If default_device_var is INT_MIN, call 1223 gomp_init_targets_once. 1224 * icv-device.c (omp_get_default_device): Likewise. 1225 * libgomp.texi (OMP_DEFAULT_DEVICE): Update init description. 1226 (OpenMP 5.2 Impl. Status): Mark OMP_TARGET_OFFLOAD=mandatory as 'Y'. 1227 * target.c (resolve_device): Improve error message device-num < 0 1228 with 'mandatory' and no no-host devices available. 1229 (gomp_target_init): Set default-device-var if INT_MIN. 1230 * testsuite/libgomp.c/target-48.c: New test. 1231 * testsuite/libgomp.c/target-49.c: New test. 1232 * testsuite/libgomp.c/target-50.c: New test. 1233 * testsuite/libgomp.c/target-50a.c: New test. 1234 * testsuite/libgomp.c/target-51.c: New test. 1235 * testsuite/libgomp.c/target-52.c: New test. 1236 * testsuite/libgomp.c/target-53.c: New test. 1237 * testsuite/libgomp.c/target-54.c: New test. 1238 1239 2023-06-13 Tobias Burnus <tobias (a] codesourcery.com> 1240 1241 PR libgomp/109837 1242 * testsuite/libgomp.c-c++-common/requires-unified-addr-1.c: New test. 1243 * testsuite/libgomp.fortran/requires-unified-addr-1.f90: New test. 1244 1245 2023-06-12 Tobias Burnus <tobias (a] codesourcery.com> 1246 1247 * target.c (gomp_to_device_kind_p, gomp_map_vars_internal): Replace 1248 GOMP_MAP_PRESENT_{FROM,TO,TOFROM,ACLLOC} by GOMP_MAP_FORCE_PRESENT. 1249 (gomp_map_vars_internal, gomp_update): Likewise; unify and improve 1250 error message. 1251 * testsuite/libgomp.c-c++-common/target-present-2.c: Update for 1252 changed error message. 1253 * testsuite/libgomp.fortran/target-present-1.f90: Likewise. 1254 * testsuite/libgomp.fortran/target-present-2.f90: Likewise. 1255 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise. 1256 * testsuite/libgomp.c-c++-common/target-present-1.c: Likewise and 1257 extend testcase to check that data is copied when needed. 1258 * testsuite/libgomp.c-c++-common/target-present-3.c: Likewise. 1259 * testsuite/libgomp.fortran/target-present-3.f90: Likewise. 1260 1261 2023-06-07 Thomas Schwinge <thomas (a] codesourcery.com> 1262 Tobias Burnus <tobias (a] codesourcery.com> 1263 1264 * testsuite/libgomp.c-c++-common/target-present-1.c: Run code 1265 also for non-offload_device targets; check that it runs 1266 successfully for those and for all until a checkpoint for all 1267 * testsuite/libgomp.c-c++-common/target-present-2.c: Likewise. 1268 * testsuite/libgomp.c-c++-common/target-present-3.c: Likewise. 1269 * testsuite/libgomp.fortran/target-present-1.f90: Likewise. 1270 * testsuite/libgomp.fortran/target-present-3.f90: Likewise. 1271 * testsuite/libgomp.fortran/target-present-2.f90: Likewise; 1272 add missing vars to map clause. 1273 1274 2023-06-06 Tobias Burnus <tobias (a] codesourcery.com> 1275 1276 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Regard 1277 unified_address requirement as supported. 1278 * libgomp.texi (OpenMP 5.0, AMD Radeon, nvptx): Remove 1279 'unified_address' from the not-supported requirements. 1280 1281 2023-06-06 Kwok Cheung Yeung <kcy (a] codesourcery.com> 1282 Tobias Burnus <tobias (a] codesourcery.com> 1283 1284 * libgomp.texi (OpenMP 5.1 Impl. status): Set 'present' support for 1285 defaultmap to 'Y', add 'Y' entry for 'present' on to/from/map clauses. 1286 * target.c (gomp_to_device_kind_p): Add map kinds with 'present' 1287 modifier. 1288 (gomp_map_vars_existing): Use new GOMP_MAP_FORCE_P macro. 1289 (gomp_map_vars_internal, gomp_update, gomp_target_rev): 1290 Emit runtime error if memory region not present. 1291 * testsuite/libgomp.c-c++-common/target-present-1.c: New test. 1292 * testsuite/libgomp.c-c++-common/target-present-2.c: New test. 1293 * testsuite/libgomp.c-c++-common/target-present-3.c: New test. 1294 * testsuite/libgomp.fortran/target-present-1.f90: New test. 1295 * testsuite/libgomp.fortran/target-present-2.f90: New test. 1296 * testsuite/libgomp.fortran/target-present-3.f90: New test. 1297 1298 2023-06-02 Thomas Schwinge <thomas (a] codesourcery.com> 1299 1300 PR testsuite/66005 1301 * testsuite/lib/libgomp.exp: 'flock' through stdout. 1302 * testsuite/flock: New. 1303 * configure.ac (FLOCK): Point to that if no 'flock' available, but 1304 'perl' is. 1305 * configure: Regenerate. 1306 1307 2023-06-02 Thomas Schwinge <thomas (a] codesourcery.com> 1308 1309 * configure.ac (PERL): Remove. 1310 * configure: Regenerate. 1311 * Makefile.in: Likewise. 1312 * testsuite/Makefile.in: Likewise. 1313 1314 2023-06-01 Tobias Burnus <tobias (a] codesourcery.com> 1315 1316 * libgomp.texi (OpenMP 5.2): Mark pure-directive handling as 'Y'. 1317 1318 2023-05-26 Tobias Burnus <tobias (a] codesourcery.com> 1319 1320 * testsuite/libgomp.fortran/allocate-4.f90: Update dg-error. 1321 1322 2023-05-21 Tobias Burnus <tobias (a] codesourcery.com> 1323 1324 PR libgomp/109875 1325 * config/gcn/target.c (GOMP_teams4): Honor nteams-var ICV. 1326 * config/nvptx/target.c (GOMP_teams4): Likewise. 1327 * testsuite/libgomp.c-c++-common/teams-nteams-icv-1.c: New test. 1328 * testsuite/libgomp.c-c++-common/teams-nteams-icv-2.c: New test. 1329 * testsuite/libgomp.c-c++-common/teams-nteams-icv-3.c: New test. 1330 * testsuite/libgomp.c-c++-common/teams-nteams-icv-4.c: New test. 1331 1332 2023-05-19 Jakub Jelinek <jakub (a] redhat.com> 1333 1334 PR libgomp/109904 1335 * configure.ac (link_gomp): Include also $DL_LIBS. 1336 * configure: Regenerated. 1337 1338 2023-05-17 Tobias Burnus <tobias (a] codesourcery.com> 1339 1340 * testsuite/libgomp.fortran/target-enter-data-3.f90: Uncomment 1341 'target exit data'. 1342 * testsuite/libgomp.fortran/target-enter-data-4.f90: New test. 1343 * testsuite/libgomp.fortran/target-enter-data-5.f90: New test. 1344 * testsuite/libgomp.fortran/target-enter-data-6.f90: New test. 1345 * testsuite/libgomp.fortran/target-enter-data-7.f90: New test. 1346 1347 2023-05-15 Thomas Schwinge <thomas (a] codesourcery.com> 1348 1349 PR testsuite/66005 1350 * configure.ac: Look for 'flock'. 1351 * testsuite/Makefile.am (gcc_test_parallel_slots): Enable parallel testing. 1352 * testsuite/config/default.exp: Don't 'load_lib "standard.exp"' here... 1353 * testsuite/lib/libgomp.exp: ... but here, instead. 1354 (libgomp_load): Override for parallel testing. 1355 * testsuite/libgomp-site-extra.exp.in (FLOCK): Set. 1356 * configure: Regenerate. 1357 * Makefile.in: Regenerate. 1358 * testsuite/Makefile.in: Regenerate. 1359 1360 2023-05-15 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 1361 Thomas Schwinge <thomas (a] codesourcery.com> 1362 1363 PR testsuite/66005 1364 * testsuite/Makefile.am (PWD_COMMAND): New variable. 1365 (%/site.exp): New target. 1366 (check_p_numbers0, check_p_numbers1, check_p_numbers2) 1367 (check_p_numbers3, check_p_numbers4, check_p_numbers5) 1368 (check_p_numbers6, check_p_numbers, gcc_test_parallel_slots) 1369 (check_p_subdirs) 1370 (check_DEJAGNU_libgomp_targets): New variables. 1371 ($(check_DEJAGNU_libgomp_targets)): New target. 1372 ($(check_DEJAGNU_libgomp_targets)): New dependency. 1373 (check-DEJAGNU $(check_DEJAGNU_libgomp_targets)): New targets. 1374 * testsuite/Makefile.in: Regenerate. 1375 * testsuite/lib/libgomp.exp: For parallel testing, 1376 'load_file ../libgomp-test-support.exp'. 1377 1378 2023-05-15 Thomas Schwinge <thomas (a] codesourcery.com> 1379 1380 PR testsuite/91884 1381 * configure.ac: 'AC_SUBST(CXX)'. 1382 * configure: Regenerate. 1383 * Makefile.in: Likewise. 1384 * testsuite/Makefile.in: Likewise. 1385 * testsuite/libgomp-site-extra.exp.in (GXX_UNDER_TEST) 1386 (GFORTRAN_UNDER_TEST): Set. 1387 * testsuite/lib/libgomp.exp (libgomp_init): Adjust. 1388 * testsuite/libgomp.c++/c++.exp: Use 'GXX_UNDER_TEST'. 1389 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. 1390 * testsuite/libgomp.fortran/fortran.exp: Use 1391 'GFORTRAN_UNDER_TEST'. 1392 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 1393 1394 2023-05-15 Thomas Schwinge <thomas (a] codesourcery.com> 1395 1396 PR testsuite/91884 1397 * testsuite/lib/libgomp.exp (libgomp_target_compile): Don't 1398 specify compiler. 1399 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Specify compiler. 1400 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise. 1401 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise. 1402 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS): 1403 Likewise. 1404 * testsuite/libgomp.oacc-c++/c++.exp (ALWAYS_CFLAGS): Likewise. 1405 * testsuite/libgomp.oacc-c/c.exp (ALWAYS_CFLAGS): Likewise. 1406 * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS): 1407 Likewise. 1408 1409 2023-05-12 Tobias Burnus <tobias (a] codesourcery.com> 1410 1411 PR libstdc++/109816 1412 * testsuite/libgomp.c++/target-map-class-1.C: New test. 1413 * testsuite/libgomp.c++/target-map-class-2.C: New test. 1414 1415 2023-05-12 Thomas Schwinge <thomas (a] codesourcery.com> 1416 1417 * testsuite/lib/libgomp.exp (libgomp_target_compile): Generalize 1418 'lang_library_path' into a list of 'lang_library_paths'. 1419 * testsuite/libgomp.c++/c++.exp: Adjust. 1420 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. 1421 * testsuite/libgomp.fortran/fortran.exp: Adjust. Use that for 1422 libquadmath, too. 1423 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 1424 1425 2023-05-12 Thomas Schwinge <thomas (a] codesourcery.com> 1426 1427 * testsuite/lib/libgomp.exp (libgomp_target_compile): Don't look 1428 at 'lang_test_file_found'. 1429 * testsuite/libgomp.c++/c++.exp: Don't set and use it, and instead 1430 'return' early if not able to test. Simplify 'ld_library_path' setup. 1431 * testsuite/libgomp.fortran/fortran.exp: Likewise. 1432 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. 1433 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 1434 1435 2023-05-12 Thomas Schwinge <thomas (a] codesourcery.com> 1436 1437 * testsuite/libgomp.c++/c++.exp: Resolve 'lang_test_file_found' 1438 first. 1439 * testsuite/libgomp.fortran/fortran.exp: Likewise. 1440 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. 1441 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 1442 1443 2023-05-12 Thomas Schwinge <thomas (a] codesourcery.com> 1444 1445 * testsuite/libgomp.c++/c++.exp: Localize 'lang_[...]' etc. 1446 * testsuite/libgomp.c/c.exp: Likewise. 1447 * testsuite/libgomp.fortran/fortran.exp: Likewise. 1448 * testsuite/libgomp.graphite/graphite.exp: Likewise. 1449 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. 1450 * testsuite/libgomp.oacc-c/c.exp: Likewise. 1451 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 1452 1453 2023-05-09 Thomas Schwinge <thomas (a] codesourcery.com> 1454 1455 * testsuite/libgomp.c++/c++.exp: Don't set 'lang_test_file'. 1456 * testsuite/libgomp.fortran/fortran.exp: Likewise. 1457 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. 1458 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 1459 * testsuite/libgomp.c/c.exp: Unset 'lang_test_file_found' instead of 1460 'lang_test_file'. 1461 * testsuite/libgomp.oacc-c/c.exp: Likewise. 1462 * testsuite/libgomp.graphite/graphite.exp: Likewise. 1463 * testsuite/lib/libgomp.exp (libgomp_target_compile): Look for 1464 'lang_test_file_found' instead of 'lang_test_file'. 1465 1466 2023-05-09 Thomas Schwinge <thomas (a] codesourcery.com> 1467 1468 * testsuite/lib/libgomp.exp (libgomp_init): Only use 'blddir' if 1469 set. 1470 * testsuite/libgomp.c++/c++.exp: Likewise. 1471 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. 1472 1473 2023-05-09 Thomas Schwinge <thomas (a] codesourcery.com> 1474 1475 * testsuite/libgomp.c++/c++.exp (blddir): Don't set. 1476 * testsuite/libgomp.oacc-c++/c++.exp (blddir): Likewise. 1477 1478 2023-05-08 Thomas Schwinge <thomas (a] codesourcery.com> 1479 1480 * testsuite/libgomp.c++/c++.exp: Use 'lang_include_flags' instead 1481 of 'libstdcxx_includes'. 1482 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. 1483 1484 2023-05-08 Thomas Schwinge <thomas (a] codesourcery.com> 1485 1486 * target.c (gomp_target_rev): Instead of 'dev_to_host_cpy', 1487 'host_to_dev_cpy', 'token', take a single 'goacc_asyncqueue'. 1488 * libgomp.h (gomp_target_rev): Adjust. 1489 * libgomp-plugin.c (GOMP_PLUGIN_target_rev): Adjust. 1490 * libgomp-plugin.h (GOMP_PLUGIN_target_rev): Adjust. 1491 * plugin/plugin-gcn.c (process_reverse_offload): Adjust. 1492 * plugin/plugin-nvptx.c (rev_off_dev_to_host_cpy) 1493 (rev_off_host_to_dev_cpy): Remove. 1494 (GOMP_OFFLOAD_run): Adjust. 1495 1496 2023-05-04 Julian Brown <julian (a] codesourcery.com> 1497 1498 PR fortran/109622 1499 * testsuite/libgomp.fortran/pr109622.f90: Move test... 1500 * testsuite/libgomp.oacc-fortran/pr109622.f90: ...to here. Ignore 1501 vector length warning. 1502 * testsuite/libgomp.fortran/pr109622-2.f90: Move test... 1503 * testsuite/libgomp.oacc-fortran/pr109622-2.f90: ...to here. Add 1504 missing copyin/copyout variable. Ignore vector length warnings. 1505 * testsuite/libgomp.fortran/pr109622-3.f90: Move test... 1506 * testsuite/libgomp.oacc-fortran/pr109622-3.f90: ...to here. Ignore 1507 vector length warnings. 1508 * testsuite/libgomp.oacc-fortran/pr109622-4.f90: New test. 1509 1510 2023-04-28 Julian Brown <julian (a] codesourcery.com> 1511 1512 PR fortran/109622 1513 * testsuite/libgomp.fortran/pr109622.f90: New test. 1514 * testsuite/libgomp.fortran/pr109622-2.f90: New test. 1515 * testsuite/libgomp.fortran/pr109622-3.f90: New test. 1516 1517 2023-04-25 Tobias Burnus <tobias (a] codesourcery.com> 1518 1519 * testsuite/libgomp.c-c++-common/scan-1.c: New test. 1520 * testsuite/libgomp.c/scan-23.c: New test. 1521 * testsuite/libgomp.fortran/scan-2.f90: New test. 1522 1523 2023-03-28 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 1524 1525 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Add 1526 weak_undefined options. 1527 1528 2023-03-24 Tobias Burnus <tobias (a] codesourcery.com> 1529 1530 * libgomp.texi (Offload-Target Specifics): Grammar fix. 1531 1532 2023-03-24 Thomas Schwinge <thomas (a] codesourcery.com> 1533 1534 PR fortran/104949 1535 * target.c (gomp_map_vars_internal) <GOMP_MAP_FIRSTPRIVATE>: Add 1536 caveat/safeguard. 1537 1538 2023-03-10 Thomas Schwinge <thomas (a] codesourcery.com> 1539 1540 PR libgomp/90596 1541 * target.c (gomp_map_vars_internal): Allow for 1542 'param_kind == GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_TARGET'. 1543 * oacc-parallel.c (GOACC_parallel_keyed): Pass 1544 'GOMP_MAP_VARS_TARGET' to 'goacc_map_vars'. 1545 * plugin/plugin-gcn.c (alloc_by_agent, gcn_exec) 1546 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec): 1547 Adjust, simplify. 1548 (gomp_offload_free): Remove. 1549 * plugin/plugin-nvptx.c (nvptx_exec, GOMP_OFFLOAD_openacc_exec) 1550 (GOMP_OFFLOAD_openacc_async_exec): Adjust, simplify. 1551 (cuda_free_argmem): Remove. 1552 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: 1553 Adjust. 1554 1555 2023-03-10 Thomas Schwinge <thomas (a] codesourcery.com> 1556 1557 * target.c (gomp_copy_host2dev, gomp_map_vars_internal): Allow 1558 libgomp 'cbuf' buffering with OpenACC 'async' for 'ephemeral' 1559 data. 1560 1561 2023-03-10 Thomas Schwinge <thomas (a] codesourcery.com> 1562 1563 * target.c (gomp_map_vars_internal): Use 'OFFSET_INLINED' for 1564 'GOMP_MAP_IF_PRESENT'. 1565 * plugin/plugin-gcn.c (gcn_exec, GOMP_OFFLOAD_openacc_exec) 1566 (GOMP_OFFLOAD_openacc_async_exec): Adjust. 1567 * plugin/plugin-nvptx.c (nvptx_exec, GOMP_OFFLOAD_openacc_exec) 1568 (GOMP_OFFLOAD_openacc_async_exec): Likewise. 1569 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: Add 'async' 1570 testing. 1571 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: Likewise. 1572 1573 2023-03-10 Thomas Schwinge <thomas (a] codesourcery.com> 1574 1575 * oacc-async.c (goacc_wait): Remove 'acc_async_test' -> skip 1576 shortcut. 1577 1578 2023-03-10 Thomas Schwinge <thomas (a] codesourcery.com> 1579 1580 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Document/verify 1581 another aspect of OpenACC 'async' semantics. 1582 1583 2023-03-10 Thomas Schwinge <thomas (a] codesourcery.com> 1584 1585 * plugin/plugin-gcn.c (gcn_exec): Fix 'acc_ev_enqueue_launch_end' 1586 position. 1587 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: 1588 Verify 'acc_ev_alloc', 'acc_ev_free'. 1589 1590 2023-03-09 Hongyu Wang <hongyu.wang (a] intel.com> 1591 1592 PR libgomp/109062 1593 * env.c (wait_policy): Initialize to -1. 1594 (initialize_icvs): Initialize icvs->wait_policy to -1. 1595 * testsuite/libgomp.c-c++-common/pr109062.c: New test. 1596 1597 2023-03-08 Tobias Burnus <tobias (a] codesourcery.com> 1598 1599 * libgomp.texi (Offload-Target Specifics): Mention GCN_STACK_SIZE. 1600 1601 2023-03-02 Kwok Cheung Yeung <kcy (a] codesourcery.com> 1602 Paul-Antoine Arras <pa (a] codesourcery.com> 1603 1604 * testsuite/libgomp.c/simd-math-1.c: New testcase. 1605 1606 2023-03-01 Tobias Burnus <tobias (a] codesourcery.com> 1607 1608 PR middle-end/108546 1609 * testsuite/libgomp.fortran/is_device_ptr-3.f90: New test. 1610 * testsuite/libgomp.fortran/use_device_ptr-optional-4.f90: New test. 1611 1612 2023-02-22 Thomas Schwinge <thomas (a] codesourcery.com> 1613 1614 * testsuite/libgomp.fortran/alloc-10.f90: Use 1615 '-Wno-complain-wrong-lang'. 1616 * testsuite/libgomp.fortran/alloc-11.f90: Likewise. 1617 * testsuite/libgomp.fortran/alloc-7.f90: Likewise. 1618 * testsuite/libgomp.fortran/alloc-9.f90: Likewise. 1619 * testsuite/libgomp.fortran/allocate-1.f90: Likewise. 1620 * testsuite/libgomp.fortran/depend-4.f90: Likewise. 1621 * testsuite/libgomp.fortran/depend-5.f90: Likewise. 1622 * testsuite/libgomp.fortran/depend-6.f90: Likewise. 1623 * testsuite/libgomp.fortran/depend-7.f90: Likewise. 1624 * testsuite/libgomp.fortran/depend-inoutset-1.f90: Likewise. 1625 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: 1626 Likewise. 1627 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: 1628 Likewise. 1629 * testsuite/libgomp.fortran/order-reproducible-1.f90: Likewise. 1630 * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise. 1631 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise. 1632 * testsuite/libgomp.fortran/task-detach-6.f90: Remove left-over 1633 'dg-prune-output'. 1634 1635 2023-02-16 Jakub Jelinek <jakub (a] redhat.com> 1636 1637 * libgomp.texi: Fix typos - theads -> threads. 1638 1639 2023-02-16 Jakub Jelinek <jakub (a] redhat.com> 1640 1641 * testsuite/libgomp.fortran/target-nowait-array-section.f90: Fix 1642 comment typo and improve its wording. 1643 1644 2023-02-15 Tobias Burnus <tobias (a] codesourcery.com> 1645 1646 * target.c (gomp_target_rev): Dereference ptr 1647 to get device address. 1648 * testsuite/libgomp.fortran/reverse-offload-5.f90: Add test 1649 for unallocated allocatable. 1650 1651 2023-02-15 Tobias Burnus <tobias (a] codesourcery.com> 1652 1653 * target.c (gomp_map_vars_internal): Add 'i > 0' before doing a 1654 kind check. 1655 (GOMP_target_enter_exit_data): If the next map item is 1656 GOMP_MAP_ALWAYS_POINTER map it together with the current item. 1657 * testsuite/libgomp.fortran/target-enter-data-3.f90: New test. 1658 1659 2023-02-09 Tobias Burnus <tobias (a] codesourcery.com> 1660 1661 PR fortran/107424 1662 * testsuite/libgomp.fortran/non-rectangular-loop-1.f90: New test. 1663 * testsuite/libgomp.fortran/non-rectangular-loop-1a.f90: New test. 1664 * testsuite/libgomp.fortran/non-rectangular-loop-2.f90: New test. 1665 * testsuite/libgomp.fortran/non-rectangular-loop-3.f90: New test. 1666 * testsuite/libgomp.fortran/non-rectangular-loop-4.f90: New test. 1667 * testsuite/libgomp.fortran/non-rectangular-loop-5.f90: New test. 1668 1669 2023-02-07 Thomas Schwinge <thomas (a] codesourcery.com> 1670 1671 * testsuite/libgomp.fortran/reverse-offload-6.f90: Fix nvptx 1672 offloading compilation. 1673 1674 2023-02-03 Tobias Burnus <tobias (a] codesourcery.com> 1675 1676 * target.c (gomp_target_rev): Handle mapnum == 0 and avoid 1677 freeing not allocated memory. 1678 * testsuite/libgomp.fortran/reverse-offload-6.f90: New test. 1679 1680 2023-02-03 Tobias Burnus <tobias (a] codesourcery.com> 1681 1682 * libgomp.texi (5.0 Impl. Status, gcn specifics): Update for 1683 reverse offload. 1684 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Accept 1685 reverse-offload requirement. 1686 1687 2023-02-02 Andrew Stubbs <ams (a] codesourcery.com> 1688 1689 * config/gcn/libgomp-gcn.h (DEFAULT_GCN_STACK_SIZE): New define. 1690 (DEFAULT_TEAM_ARENA_SIZE): New define. 1691 (struct heap): Move to this file. 1692 (struct kernargs_abi): Likewise. 1693 * config/gcn/team.c (gomp_gcn_enter_kernel): Use team arena size from 1694 the kernargs. 1695 * libgomp.h: Include libgomp-gcn.h. 1696 (TEAM_ARENA_SIZE): Remove. 1697 (team_malloc): Update the error message. 1698 * plugin/plugin-gcn.c (struct kernargs): Move common content to 1699 struct kernargs_abi. 1700 (struct agent_info): Rename team arenas to ephemeral memories. 1701 (struct team_arena_list): Rename .... 1702 (struct ephemeral_memories_list): to this. 1703 (struct heap): Delete. 1704 (team_arena_size): New variable. 1705 (stack_size): New variable. 1706 (print_kernel_dispatch): Update debug messages. 1707 (init_environment_variables): Read GCN_TEAM_ARENA_SIZE. 1708 Read GCN_STACK_SIZE. 1709 (get_team_arena): Rename ... 1710 (configure_ephemeral_memories): ... to this, and set up stacks. 1711 (release_team_arena): Rename ... 1712 (release_ephemeral_memories): ... to this. 1713 (destroy_team_arenas): Rename ... 1714 (destroy_ephemeral_memories): ... to this. 1715 (create_kernel_dispatch): Add num_threads parameter. 1716 Adjust for kernargs_abi refactor and ephemeral memories. 1717 (release_kernel_dispatch): Adjust for ephemeral memories. 1718 (run_kernel): Pass thread-count to create_kernel_dispatch. 1719 (GOMP_OFFLOAD_init_device): Adjust for ephemeral memories. 1720 (GOMP_OFFLOAD_fini_device): Adjust for ephemeral memories. 1721 1722 2023-02-02 Tobias Burnus <tobias (a] codesourcery.com> 1723 1724 * libgomp.texi (OpenMP TR11): Fix item for 'strict' modifier. 1725 1726 2023-02-01 Tobias Burnus <tobias (a] codesourcery.com> 1727 1728 * testsuite/libgomp.fortran/allocate-3.f90: Fix ALIGN 1729 usage, remove unused -fdump-tree-original. 1730 * testsuite/libgomp.fortran/allocate-4.f90: New. 1731 1732 2023-02-01 Tobias Burnus <tobias (a] codesourcery.com> 1733 1734 * libgomp.texi (5.0 Impl. Status): Update 'requires' and 'ancestor'. 1735 (GCN): Add item about 'omp requires'. 1736 (nvptx): Likewise; add item about reverse offload. 1737 1738 2023-01-27 Tobias Burnus <tobias (a] codesourcery.com> 1739 1740 PR fortran/108558 1741 * testsuite/libgomp.fortran/has_device_addr.f90: New test. 1742 1743 2023-01-23 Tobias Burnus <tobias (a] codesourcery.com> 1744 1745 * libgomp.texi (OpenMP 5.0): Set non-rectangular 1746 loop nest back to 'P' as Fortran support is incomplete. 1747 1748 2023-01-19 Jakub Jelinek <jakub (a] redhat.com> 1749 1750 PR middle-end/108459 1751 * testsuite/libgomp.c/pr108459.c: New test. 1752 1753 2023-01-17 Martin Liska <mliska (a] suse.cz> 1754 1755 * Makefile.in: Regenerate. 1756 * configure: Regenerate. 1757 1758 2023-01-07 LIU Hao <lh_mouse (a] 126.com> 1759 1760 PR middle-end/108300 1761 * config/mingw32/proc.c: Define `WIN32_LEAN_AND_MEAN` before 1762 <windows.h>. 1763 1764 2023-01-05 Jakub Jelinek <jakub (a] redhat.com> 1765 1766 PR c++/108286 1767 * testsuite/libgomp.c++/pr108286.C: New test. 1768 1769 2023-01-02 Jakub Jelinek <jakub (a] redhat.com> 1770 1771 * libgomp.texi: Bump @copying's copyright year. 1772 1773 2022-12-21 Chung-Lin Tang <cltang (a] codesourcery.com> 1774 1775 PR target/99555 1776 * config/nvptx/bar.c (generation_to_barrier): Remove. 1777 (futex_wait,futex_wake,do_spin,do_wait): Remove. 1778 (GOMP_WAIT_H): Remove. 1779 (#include "../linux/bar.c"): Remove. 1780 (gomp_barrier_wait_end): New function. 1781 (gomp_barrier_wait): Likewise. 1782 (gomp_barrier_wait_last): Likewise. 1783 (gomp_team_barrier_wait_end): Likewise. 1784 (gomp_team_barrier_wait): Likewise. 1785 (gomp_team_barrier_wait_final): Likewise. 1786 (gomp_team_barrier_wait_cancel_end): Likewise. 1787 (gomp_team_barrier_wait_cancel): Likewise. 1788 (gomp_team_barrier_cancel): Likewise. 1789 * config/nvptx/bar.h (gomp_barrier_t): Remove waiters, lock fields. 1790 (gomp_barrier_init): Remove init of waiters, lock fields. 1791 (gomp_team_barrier_wake): Remove prototype, add new static inline 1792 function. 1793 1794 2022-12-21 Jakub Jelinek <jakub (a] redhat.com> 1795 1796 PR c++/108180 1797 * testsuite/libgomp.c++/pr108180.C: New test. 1798 1799 2022-12-16 Tobias Burnus <tobias (a] codesourcery.com> 1800 1801 PR libfortran/108056 1802 * testsuite/libgomp.fortran/allocate-4.f90: Remove 1803 accidentally added file. 1804 1805 2022-12-15 Tobias Burnus <tobias (a] codesourcery.com> 1806 1807 PR libfortran/108056 1808 * testsuite/libgomp.fortran/allocate-4.f90: New file. 1809 1810 2022-12-14 Julian Brown <julian (a] codesourcery.com> 1811 1812 * testsuite/libgomp.fortran/combined-directive-splitting-1.f90: New 1813 test. 1814 1815 2022-12-10 Tobias Burnus <tobias (a] codesourcery.com> 1816 1817 * libgomp.h (struct target_mem_desc): Predeclare; move 1818 below after 'reverse_splay_tree_node' and add rev_array 1819 member. 1820 (struct reverse_splay_tree_key_s, reverse_splay_compare): New. 1821 (reverse_splay_tree_node, reverse_splay_tree, 1822 reverse_splay_tree_key): New typedef. 1823 (struct gomp_device_descr): Add mem_map_rev member. 1824 * oacc-host.c (host_dispatch): NULL init .mem_map_rev. 1825 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_get_num_devices): Claim 1826 support for GOMP_REQUIRES_REVERSE_OFFLOAD. 1827 * splay-tree.h (splay_tree_callback_stop): New typedef; like 1828 splay_tree_callback but returning int not void. 1829 (splay_tree_foreach_lazy): Define; like splay_tree_foreach but 1830 taking splay_tree_callback_stop as argument. 1831 * splay-tree.c (splay_tree_foreach_internal_lazy, 1832 splay_tree_foreach_lazy): New; but early exit if callback returns 1833 nonzero. 1834 * target.c: Instatiate splay_tree_c with splay_tree_prefix 'reverse'. 1835 (gomp_map_lookup_rev): New. 1836 (gomp_load_image_to_device): Handle reverse-offload function 1837 lookup table. 1838 (gomp_unload_image_from_device): Free devicep->mem_map_rev. 1839 (struct gomp_splay_tree_rev_lookup_data, gomp_splay_tree_rev_lookup, 1840 gomp_map_rev_lookup, struct cpy_data, gomp_map_cdata_lookup_int, 1841 gomp_map_cdata_lookup): New auxiliary structs and functions for 1842 gomp_target_rev. 1843 (gomp_target_rev): Implement reverse offloading and its mapping. 1844 (gomp_target_init): Init current_device.mem_map_rev.root. 1845 * testsuite/libgomp.fortran/reverse-offload-2.f90: New test. 1846 * testsuite/libgomp.fortran/reverse-offload-3.f90: New test. 1847 * testsuite/libgomp.fortran/reverse-offload-4.f90: New test. 1848 * testsuite/libgomp.fortran/reverse-offload-5.f90: New test. 1849 * testsuite/libgomp.fortran/reverse-offload-5a.f90: New test without 1850 mapping of on-device allocated variables. 1851 1852 2022-12-09 Tobias Burnus <tobias (a] codesourcery.com> 1853 1854 * libgomp.texi (5.1 Impl. Status): Split allocate clause/directive 1855 item about 'align'; mark clause as 'Y' and directive as 'N'. 1856 * testsuite/libgomp.fortran/allocate-2.f90: New test. 1857 * testsuite/libgomp.fortran/allocate-3.f90: New test. 1858 1859 2022-12-06 Marcel Vollweiler <marcel (a] codesourcery.com> 1860 1861 * config/gcn/icv-device.c (omp_get_teams_thread_limit): Added to 1862 allow processing of device-specific values. 1863 (omp_set_teams_thread_limit): Likewise. 1864 (ialias): Likewise. 1865 * config/nvptx/icv-device.c (omp_get_teams_thread_limit): Likewise. 1866 (omp_set_teams_thread_limit): Likewise. 1867 (ialias): Likewise. 1868 * icv-device.c (omp_get_teams_thread_limit): Likewise. 1869 (ialias): Likewise. 1870 (omp_set_teams_thread_limit): Likewise. 1871 * icv.c (omp_set_teams_thread_limit): Removed. 1872 (omp_get_teams_thread_limit): Likewise. 1873 (ialias): Likewise. 1874 * libgomp.texi: Updated documentation for nvptx and gcn corresponding 1875 to the limitation of the number of teams. 1876 * plugin/plugin-gcn.c (limit_teams): New helper function that limits 1877 the number of teams by twice the number of compute units. 1878 (parse_target_attributes): Limit the number of teams on gcn offload 1879 devices. 1880 * target.c (get_gomp_offload_icvs): Added teams_thread_limit_var 1881 handling. 1882 (gomp_load_image_to_device): Added a size check for the ICVs struct 1883 variable. 1884 (gomp_copy_back_icvs): New function that is used in GOMP_target_ext to 1885 copy back the ICV values from device to host. 1886 (GOMP_target_ext): Update the number of teams and threads in the kernel 1887 args also considering device-specific values. 1888 * testsuite/libgomp.c-c++-common/icv-4.c: Fixed an error in the reading 1889 of OMP_TEAMS_THREAD_LIMIT from the environment. 1890 * testsuite/libgomp.c-c++-common/icv-5.c: Extended. 1891 * testsuite/libgomp.c-c++-common/icv-6.c: Extended. 1892 * testsuite/libgomp.c-c++-common/icv-7.c: Extended. 1893 * testsuite/libgomp.c-c++-common/icv-9.c: New test. 1894 * testsuite/libgomp.fortran/icv-5.f90: New test. 1895 * testsuite/libgomp.fortran/icv-6.f90: New test. 1896 1897 2022-12-06 Tobias Burnus <tobias (a] codesourcery.com> 1898 1899 * libgomp.texi (OpenMP 5.2): Add missing 'the'. 1900 (TR11): Add missing '@tab N @tab'. 1901 1902 2022-11-30 Tobias Burnus <tobias (a] codesourcery.com> 1903 1904 * libgomp.texi (OpenMP Context Selectors): Add 'gfx803' to gcn's isa. 1905 1906 2022-11-30 Paul-Antoine Arras <pa (a] codesourcery.com> 1907 1908 * testsuite/libgomp.c/declare-variant-4-fiji.c: New test. 1909 * testsuite/libgomp.c/declare-variant-4-gfx803.c: New test. 1910 * testsuite/libgomp.c/declare-variant-4-gfx900.c: New test. 1911 * testsuite/libgomp.c/declare-variant-4-gfx906.c: New test. 1912 * testsuite/libgomp.c/declare-variant-4-gfx908.c: New test. 1913 * testsuite/libgomp.c/declare-variant-4-gfx90a.c: New test. 1914 * testsuite/libgomp.c/declare-variant-4.h: New header file. 1915 1916 2022-11-28 Tobias Burnus <tobias (a] codesourcery.com> 1917 1918 * libgomp.texi (OpenMP 5.2): Mark end-directive as Y. 1919 1920 2022-11-25 Sandra Loosemore <sandra (a] codesourcery.com> 1921 1922 * testsuite/lib/libgomp.exp: Load scanoffloadipa.exp library. 1923 * testsuite/libgomp.c/target-simd-clone-1.c: New. 1924 * testsuite/libgomp.c/target-simd-clone-2.c: New. 1925 * testsuite/libgomp.c/target-simd-clone-3.c: New. 1926 1927 2022-11-25 Tobias Burnus <tobias (a] codesourcery.com> 1928 1929 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Use unsigned int 1930 for 'i' to match 'fn_entries'; regard absent GOMP_REV_OFFLOAD_VAR 1931 as valid and the code having no reverse-offload code. 1932 * testsuite/libgomp.c-c++-common/reverse-offload-2.c: New test. 1933 1934 2022-11-25 Tobias Burnus <tobias (a] codesourcery.com> 1935 1936 * libgomp.texi (OpenMP Implementation Status): Add three 5.1 items 1937 and status for Technical Report (TR) 11. 1938 1939 2022-11-21 Tobias Burnus <tobias (a] codesourcery.com> 1940 1941 * config/gcn/libgomp-gcn.h (struct output): 1942 Remove 'msg_u64' from the union, change 1943 value_u64[2] to value_u64[6]. 1944 * config/gcn/target.c (GOMP_target_ext): Update accordingly. 1945 * plugin/plugin-gcn.c (process_reverse_offload, console_output): 1946 Likewise. 1947 1948 2022-11-19 Tobias Burnus <tobias (a] codesourcery.com> 1949 1950 * config/gcn/libgomp-gcn.h: New file; contains 1951 struct output, declared previously in plugin-gcn.c. 1952 * config/gcn/target.c: Include it. 1953 (GOMP_ADDITIONAL_ICVS): Declare as extern var. 1954 (GOMP_target_ext): Handle reverse offload. 1955 * plugin/plugin-gcn.c: Include libgomp-gcn.h. 1956 (struct kernargs): Replace struct def by the one 1957 from libgomp-gcn.h for output_data. 1958 (process_reverse_offload): New. 1959 (console_output): Call it. 1960 1961 2022-11-16 Tobias Burnus <tobias (a] codesourcery.com> 1962 Andrew Stubbs <ams (a] codesourcery.com> 1963 1964 * config/gcn/team.c (gomp_gcn_enter_kernel): Use 1965 __builtin_gcn_kernarg_ptr instead of asm ("s8"). 1966 1967 2022-11-14 Martin Liska <mliska (a] suse.cz> 1968 1969 Revert: 1970 2022-11-14 Martin Liska <mliska (a] suse.cz> 1971 1972 * doc/amd-radeon-gcn.rst: New file. 1973 * doc/conf.py: New file. 1974 * doc/copyright.rst: New file. 1975 * doc/cuda-streams-usage.rst: New file. 1976 * doc/enabling-openacc.rst: New file. 1977 * doc/enabling-openmp.rst: New file. 1978 * doc/first-invocation-nvidia-cublas-library-api.rst: New file. 1979 * doc/first-invocation-openacc-library-api.rst: New file. 1980 * doc/funding.rst: New file. 1981 * doc/general-public-license-3.rst: New file. 1982 * doc/gnu-free-documentation-license.rst: New file. 1983 * doc/implementation-status-and-implementation-defined-behavior.rst: New file. 1984 * doc/index.rst: New file. 1985 * doc/indices-and-tables.rst: New file. 1986 * doc/introduction.rst: New file. 1987 * doc/memory-allocation-with-libmemkind.rst: New file. 1988 * doc/nvptx.rst: New file. 1989 * doc/offload-target-specifics.rst: New file. 1990 * doc/openacc-environment-variables.rst: New file. 1991 * doc/openacc-environment-variables/accdevicenum.rst: New file. 1992 * doc/openacc-environment-variables/accdevicetype.rst: New file. 1993 * doc/openacc-environment-variables/accproflib.rst: New file. 1994 * doc/openacc-environment-variables/gccaccnotify.rst: New file. 1995 * doc/openacc-introduction.rst: New file. 1996 * doc/openacc-library-and-environment-variables.rst: New file. 1997 * doc/openacc-library-interoperability.rst: New file. 1998 * doc/openacc-profiling-interface.rst: New file. 1999 * doc/openacc-runtime-library-routines.rst: New file. 2000 * doc/openacc-runtime-library-routines/accasynctest.rst: New file. 2001 * doc/openacc-runtime-library-routines/accasynctestall.rst: New file. 2002 * doc/openacc-runtime-library-routines/accattach.rst: New file. 2003 * doc/openacc-runtime-library-routines/acccopyin.rst: New file. 2004 * doc/openacc-runtime-library-routines/acccopyout.rst: New file. 2005 * doc/openacc-runtime-library-routines/acccreate.rst: New file. 2006 * doc/openacc-runtime-library-routines/accdelete.rst: New file. 2007 * doc/openacc-runtime-library-routines/accdetach.rst: New file. 2008 * doc/openacc-runtime-library-routines/accdeviceptr.rst: New file. 2009 * doc/openacc-runtime-library-routines/accfree.rst: New file. 2010 * doc/openacc-runtime-library-routines/accgetcudastream.rst: New file. 2011 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst: New file. 2012 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst: New file. 2013 * doc/openacc-runtime-library-routines/accgetdevicenum.rst: New file. 2014 * doc/openacc-runtime-library-routines/accgetdevicetype.rst: New file. 2015 * doc/openacc-runtime-library-routines/accgetnumdevices.rst: New file. 2016 * doc/openacc-runtime-library-routines/accgetproperty.rst: New file. 2017 * doc/openacc-runtime-library-routines/acchostptr.rst: New file. 2018 * doc/openacc-runtime-library-routines/accinit.rst: New file. 2019 * doc/openacc-runtime-library-routines/accispresent.rst: New file. 2020 * doc/openacc-runtime-library-routines/accmalloc.rst: New file. 2021 * doc/openacc-runtime-library-routines/accmapdata.rst: New file. 2022 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst: New file. 2023 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst: New file. 2024 * doc/openacc-runtime-library-routines/accondevice.rst: New file. 2025 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst: New file. 2026 * doc/openacc-runtime-library-routines/accpresentorcreate.rst: New file. 2027 * doc/openacc-runtime-library-routines/accproflookup.rst: New file. 2028 * doc/openacc-runtime-library-routines/accprofregister.rst: New file. 2029 * doc/openacc-runtime-library-routines/accprofunregister.rst: New file. 2030 * doc/openacc-runtime-library-routines/accregisterlibrary.rst: New file. 2031 * doc/openacc-runtime-library-routines/accsetcudastream.rst: New file. 2032 * doc/openacc-runtime-library-routines/accsetdevicenum.rst: New file. 2033 * doc/openacc-runtime-library-routines/accsetdevicetype.rst: New file. 2034 * doc/openacc-runtime-library-routines/accshutdown.rst: New file. 2035 * doc/openacc-runtime-library-routines/accunmapdata.rst: New file. 2036 * doc/openacc-runtime-library-routines/accupdatedevice.rst: New file. 2037 * doc/openacc-runtime-library-routines/accupdateself.rst: New file. 2038 * doc/openacc-runtime-library-routines/accwait.rst: New file. 2039 * doc/openacc-runtime-library-routines/accwaitall.rst: New file. 2040 * doc/openacc-runtime-library-routines/accwaitallasync.rst: New file. 2041 * doc/openacc-runtime-library-routines/accwaitasync.rst: New file. 2042 * doc/openmp-context-selectors.rst: New file. 2043 * doc/openmp-environment-variables.rst: New file. 2044 * doc/openmp-environment-variables/gompcpuaffinity.rst: New file. 2045 * doc/openmp-environment-variables/gompdebug.rst: New file. 2046 * doc/openmp-environment-variables/gomprtemsthreadpools.rst: New file. 2047 * doc/openmp-environment-variables/gompspincount.rst: New file. 2048 * doc/openmp-environment-variables/gompstacksize.rst: New file. 2049 * doc/openmp-environment-variables/ompcancellation.rst: New file. 2050 * doc/openmp-environment-variables/ompdefaultdevice.rst: New file. 2051 * doc/openmp-environment-variables/ompdisplayenv.rst: New file. 2052 * doc/openmp-environment-variables/ompdynamic.rst: New file. 2053 * doc/openmp-environment-variables/ompmaxactivelevels.rst: New file. 2054 * doc/openmp-environment-variables/ompmaxtaskpriority.rst: New file. 2055 * doc/openmp-environment-variables/ompnested.rst: New file. 2056 * doc/openmp-environment-variables/ompnumteams.rst: New file. 2057 * doc/openmp-environment-variables/ompnumthreads.rst: New file. 2058 * doc/openmp-environment-variables/ompplaces.rst: New file. 2059 * doc/openmp-environment-variables/ompprocbind.rst: New file. 2060 * doc/openmp-environment-variables/ompschedule.rst: New file. 2061 * doc/openmp-environment-variables/ompstacksize.rst: New file. 2062 * doc/openmp-environment-variables/omptargetoffload.rst: New file. 2063 * doc/openmp-environment-variables/ompteamsthreadlimit.rst: New file. 2064 * doc/openmp-environment-variables/ompthreadlimit.rst: New file. 2065 * doc/openmp-environment-variables/ompwaitpolicy.rst: New file. 2066 * doc/openmp-implementation-specifics.rst: New file. 2067 * doc/openmp-implementation-status.rst: New file. 2068 * doc/openmp-implementation-status/openmp-45.rst: New file. 2069 * doc/openmp-implementation-status/openmp-50.rst: New file. 2070 * doc/openmp-implementation-status/openmp-51.rst: New file. 2071 * doc/openmp-implementation-status/openmp-52.rst: New file. 2072 * doc/openmp-runtime-library-routines.rst: New file. 2073 * doc/openmp-runtime-library-routines/ompdestroylock.rst: New file. 2074 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst: New file. 2075 * doc/openmp-runtime-library-routines/ompfulfillevent.rst: New file. 2076 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst: New file. 2077 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst: New file. 2078 * doc/openmp-runtime-library-routines/ompgetcancellation.rst: New file. 2079 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst: New file. 2080 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst: New file. 2081 * doc/openmp-runtime-library-routines/ompgetdynamic.rst: New file. 2082 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst: New file. 2083 * doc/openmp-runtime-library-routines/ompgetlevel.rst: New file. 2084 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst: New file. 2085 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst: New file. 2086 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst: New file. 2087 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst: New file. 2088 * doc/openmp-runtime-library-routines/ompgetnested.rst: New file. 2089 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst: New file. 2090 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst: New file. 2091 * doc/openmp-runtime-library-routines/ompgetnumteams.rst: New file. 2092 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst: New file. 2093 * doc/openmp-runtime-library-routines/ompgetprocbind.rst: New file. 2094 * doc/openmp-runtime-library-routines/ompgetschedule.rst: New file. 2095 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst: New file. 2096 * doc/openmp-runtime-library-routines/ompgetteamnum.rst: New file. 2097 * doc/openmp-runtime-library-routines/ompgetteamsize.rst: New file. 2098 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst: New file. 2099 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst: New file. 2100 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst: New file. 2101 * doc/openmp-runtime-library-routines/ompgetwtick.rst: New file. 2102 * doc/openmp-runtime-library-routines/ompgetwtime.rst: New file. 2103 * doc/openmp-runtime-library-routines/ompinfinal.rst: New file. 2104 * doc/openmp-runtime-library-routines/ompinitlock.rst: New file. 2105 * doc/openmp-runtime-library-routines/ompinitnestlock.rst: New file. 2106 * doc/openmp-runtime-library-routines/ompinparallel.rst: New file. 2107 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst: New file. 2108 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst: New file. 2109 * doc/openmp-runtime-library-routines/ompsetdynamic.rst: New file. 2110 * doc/openmp-runtime-library-routines/ompsetlock.rst: New file. 2111 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst: New file. 2112 * doc/openmp-runtime-library-routines/ompsetnested.rst: New file. 2113 * doc/openmp-runtime-library-routines/ompsetnestlock.rst: New file. 2114 * doc/openmp-runtime-library-routines/ompsetnumteams.rst: New file. 2115 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst: New file. 2116 * doc/openmp-runtime-library-routines/ompsetschedule.rst: New file. 2117 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst: New file. 2118 * doc/openmp-runtime-library-routines/omptestlock.rst: New file. 2119 * doc/openmp-runtime-library-routines/omptestnestlock.rst: New file. 2120 * doc/openmp-runtime-library-routines/ompunsetlock.rst: New file. 2121 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst: New file. 2122 * doc/reporting-bugs.rst: New file. 2123 * doc/the-libgomp-abi.rst: New file. 2124 * doc/the-libgomp-abi/implementing-atomic-construct.rst: New file. 2125 * doc/the-libgomp-abi/implementing-barrier-construct.rst: New file. 2126 * doc/the-libgomp-abi/implementing-critical-construct.rst: New file. 2127 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst: 2128 New file. 2129 * doc/the-libgomp-abi/implementing-flush-construct.rst: New file. 2130 * doc/the-libgomp-abi/implementing-for-construct.rst: New file. 2131 * doc/the-libgomp-abi/implementing-master-construct.rst: New file. 2132 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst: New file. 2133 * doc/the-libgomp-abi/implementing-ordered-construct.rst: New file. 2134 * doc/the-libgomp-abi/implementing-parallel-construct.rst: New file. 2135 * doc/the-libgomp-abi/implementing-private-clause.rst: New file. 2136 * doc/the-libgomp-abi/implementing-reduction-clause.rst: New file. 2137 * doc/the-libgomp-abi/implementing-sections-construct.rst: New file. 2138 * doc/the-libgomp-abi/implementing-single-construct.rst: New file. 2139 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst: New file. 2140 2141 2022-11-14 Martin Liska <mliska (a] suse.cz> 2142 2143 Revert: 2144 2022-11-14 Martin Liska <mliska (a] suse.cz> 2145 2146 * Makefile.in: Support Sphinx based documentation. 2147 2148 2022-11-14 Martin Liska <mliska (a] suse.cz> 2149 2150 Revert: 2151 2022-11-14 Martin Liska <mliska (a] suse.cz> 2152 2153 * libgomp.texi: Removed. 2154 2155 2022-11-14 Martin Liska <mliska (a] suse.cz> 2156 2157 Revert: 2158 2022-11-14 Martin Liska <mliska (a] suse.cz> 2159 2160 * Makefile.in: Support --with-sphinx-build. 2161 * configure.ac: Likewise.. 2162 * configure: Regenerate. 2163 2164 2022-11-14 Martin Liska <mliska (a] suse.cz> 2165 2166 Revert: 2167 2022-11-09 Martin Liska <mliska (a] suse.cz> 2168 2169 * Makefile.in: Build info pages conditionally. 2170 2171 2022-11-14 Martin Liska <mliska (a] suse.cz> 2172 2173 Revert: 2174 2022-11-14 Martin Liska <mliska (a] suse.cz> 2175 2176 * doc/amd-radeon-gcn.rst: 2177 Add trailing newline. 2178 * doc/copyright.rst: 2179 Add trailing newline. 2180 * doc/cuda-streams-usage.rst: 2181 Add trailing newline. 2182 * doc/enabling-openacc.rst: 2183 Add trailing newline. 2184 * doc/enabling-openmp.rst: 2185 Add trailing newline. 2186 * doc/first-invocation-nvidia-cublas-library-api.rst: 2187 Add trailing newline. 2188 * doc/first-invocation-openacc-library-api.rst: 2189 Add trailing newline. 2190 * doc/funding.rst: 2191 Add trailing newline. 2192 * doc/general-public-license-3.rst: 2193 Add trailing newline. 2194 * doc/gnu-free-documentation-license.rst: 2195 Add trailing newline. 2196 * doc/implementation-status-and-implementation-defined-behavior.rst: 2197 Add trailing newline. 2198 * doc/index.rst: 2199 Add trailing newline. 2200 * doc/indices-and-tables.rst: 2201 Add trailing newline. 2202 * doc/introduction.rst: 2203 Add trailing newline. 2204 * doc/memory-allocation-with-libmemkind.rst: 2205 Add trailing newline. 2206 * doc/nvptx.rst: 2207 Add trailing newline. 2208 * doc/offload-target-specifics.rst: 2209 Add trailing newline. 2210 * doc/openacc-environment-variables.rst: 2211 Add trailing newline. 2212 * doc/openacc-environment-variables/accdevicenum.rst: 2213 Add trailing newline. 2214 * doc/openacc-environment-variables/accdevicetype.rst: 2215 Add trailing newline. 2216 * doc/openacc-environment-variables/accproflib.rst: 2217 Add trailing newline. 2218 * doc/openacc-environment-variables/gccaccnotify.rst: 2219 Add trailing newline. 2220 * doc/openacc-introduction.rst: 2221 Add trailing newline. 2222 * doc/openacc-library-and-environment-variables.rst: 2223 Add trailing newline. 2224 * doc/openacc-library-interoperability.rst: 2225 Add trailing newline. 2226 * doc/openacc-profiling-interface.rst: 2227 Add trailing newline. 2228 * doc/openacc-runtime-library-routines.rst: 2229 Add trailing newline. 2230 * doc/openacc-runtime-library-routines/accasynctest.rst: 2231 Add trailing newline. 2232 * doc/openacc-runtime-library-routines/accasynctestall.rst: 2233 Add trailing newline. 2234 * doc/openacc-runtime-library-routines/accattach.rst: 2235 Add trailing newline. 2236 * doc/openacc-runtime-library-routines/acccopyin.rst: 2237 Add trailing newline. 2238 * doc/openacc-runtime-library-routines/acccopyout.rst: 2239 Add trailing newline. 2240 * doc/openacc-runtime-library-routines/acccreate.rst: 2241 Add trailing newline. 2242 * doc/openacc-runtime-library-routines/accdelete.rst: 2243 Add trailing newline. 2244 * doc/openacc-runtime-library-routines/accdetach.rst: 2245 Add trailing newline. 2246 * doc/openacc-runtime-library-routines/accdeviceptr.rst: 2247 Add trailing newline. 2248 * doc/openacc-runtime-library-routines/accfree.rst: 2249 Add trailing newline. 2250 * doc/openacc-runtime-library-routines/accgetcudastream.rst: 2251 Add trailing newline. 2252 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst: 2253 Add trailing newline. 2254 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst: 2255 Add trailing newline. 2256 * doc/openacc-runtime-library-routines/accgetdevicenum.rst: 2257 Add trailing newline. 2258 * doc/openacc-runtime-library-routines/accgetdevicetype.rst: 2259 Add trailing newline. 2260 * doc/openacc-runtime-library-routines/accgetnumdevices.rst: 2261 Add trailing newline. 2262 * doc/openacc-runtime-library-routines/accgetproperty.rst: 2263 Add trailing newline. 2264 * doc/openacc-runtime-library-routines/acchostptr.rst: 2265 Add trailing newline. 2266 * doc/openacc-runtime-library-routines/accinit.rst: 2267 Add trailing newline. 2268 * doc/openacc-runtime-library-routines/accispresent.rst: 2269 Add trailing newline. 2270 * doc/openacc-runtime-library-routines/accmalloc.rst: 2271 Add trailing newline. 2272 * doc/openacc-runtime-library-routines/accmapdata.rst: 2273 Add trailing newline. 2274 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst: 2275 Add trailing newline. 2276 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst: 2277 Add trailing newline. 2278 * doc/openacc-runtime-library-routines/accondevice.rst: 2279 Add trailing newline. 2280 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst: 2281 Add trailing newline. 2282 * doc/openacc-runtime-library-routines/accpresentorcreate.rst: 2283 Add trailing newline. 2284 * doc/openacc-runtime-library-routines/accproflookup.rst: 2285 Add trailing newline. 2286 * doc/openacc-runtime-library-routines/accprofregister.rst: 2287 Add trailing newline. 2288 * doc/openacc-runtime-library-routines/accprofunregister.rst: 2289 Add trailing newline. 2290 * doc/openacc-runtime-library-routines/accregisterlibrary.rst: 2291 Add trailing newline. 2292 * doc/openacc-runtime-library-routines/accsetcudastream.rst: 2293 Add trailing newline. 2294 * doc/openacc-runtime-library-routines/accsetdevicenum.rst: 2295 Add trailing newline. 2296 * doc/openacc-runtime-library-routines/accsetdevicetype.rst: 2297 Add trailing newline. 2298 * doc/openacc-runtime-library-routines/accshutdown.rst: 2299 Add trailing newline. 2300 * doc/openacc-runtime-library-routines/accunmapdata.rst: 2301 Add trailing newline. 2302 * doc/openacc-runtime-library-routines/accupdatedevice.rst: 2303 Add trailing newline. 2304 * doc/openacc-runtime-library-routines/accupdateself.rst: 2305 Add trailing newline. 2306 * doc/openacc-runtime-library-routines/accwait.rst: 2307 Add trailing newline. 2308 * doc/openacc-runtime-library-routines/accwaitall.rst: 2309 Add trailing newline. 2310 * doc/openacc-runtime-library-routines/accwaitallasync.rst: 2311 Add trailing newline. 2312 * doc/openacc-runtime-library-routines/accwaitasync.rst: 2313 Add trailing newline. 2314 * doc/openmp-context-selectors.rst: 2315 Add trailing newline. 2316 * doc/openmp-environment-variables.rst: 2317 Add trailing newline. 2318 * doc/openmp-environment-variables/gompcpuaffinity.rst: 2319 Add trailing newline. 2320 * doc/openmp-environment-variables/gompdebug.rst: 2321 Add trailing newline. 2322 * doc/openmp-environment-variables/gomprtemsthreadpools.rst: 2323 Add trailing newline. 2324 * doc/openmp-environment-variables/gompspincount.rst: 2325 Add trailing newline. 2326 * doc/openmp-environment-variables/gompstacksize.rst: 2327 Add trailing newline. 2328 * doc/openmp-environment-variables/ompcancellation.rst: 2329 Add trailing newline. 2330 * doc/openmp-environment-variables/ompdefaultdevice.rst: 2331 Add trailing newline. 2332 * doc/openmp-environment-variables/ompdisplayenv.rst: 2333 Add trailing newline. 2334 * doc/openmp-environment-variables/ompdynamic.rst: 2335 Add trailing newline. 2336 * doc/openmp-environment-variables/ompmaxactivelevels.rst: 2337 Add trailing newline. 2338 * doc/openmp-environment-variables/ompmaxtaskpriority.rst: 2339 Add trailing newline. 2340 * doc/openmp-environment-variables/ompnested.rst: 2341 Add trailing newline. 2342 * doc/openmp-environment-variables/ompnumteams.rst: 2343 Add trailing newline. 2344 * doc/openmp-environment-variables/ompnumthreads.rst: 2345 Add trailing newline. 2346 * doc/openmp-environment-variables/ompplaces.rst: 2347 Add trailing newline. 2348 * doc/openmp-environment-variables/ompprocbind.rst: 2349 Add trailing newline. 2350 * doc/openmp-environment-variables/ompschedule.rst: 2351 Add trailing newline. 2352 * doc/openmp-environment-variables/ompstacksize.rst: 2353 Add trailing newline. 2354 * doc/openmp-environment-variables/omptargetoffload.rst: 2355 Add trailing newline. 2356 * doc/openmp-environment-variables/ompteamsthreadlimit.rst: 2357 Add trailing newline. 2358 * doc/openmp-environment-variables/ompthreadlimit.rst: 2359 Add trailing newline. 2360 * doc/openmp-environment-variables/ompwaitpolicy.rst: 2361 Add trailing newline. 2362 * doc/openmp-implementation-specifics.rst: 2363 Add trailing newline. 2364 * doc/openmp-implementation-status.rst: 2365 Add trailing newline. 2366 * doc/openmp-implementation-status/openmp-45.rst: 2367 Add trailing newline. 2368 * doc/openmp-implementation-status/openmp-50.rst: 2369 Add trailing newline. 2370 * doc/openmp-implementation-status/openmp-51.rst: 2371 Add trailing newline. 2372 * doc/openmp-implementation-status/openmp-52.rst: 2373 Add trailing newline. 2374 * doc/openmp-runtime-library-routines.rst: 2375 Add trailing newline. 2376 * doc/openmp-runtime-library-routines/ompdestroylock.rst: 2377 Add trailing newline. 2378 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst: 2379 Add trailing newline. 2380 * doc/openmp-runtime-library-routines/ompfulfillevent.rst: 2381 Add trailing newline. 2382 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst: 2383 Add trailing newline. 2384 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst: 2385 Add trailing newline. 2386 * doc/openmp-runtime-library-routines/ompgetcancellation.rst: 2387 Add trailing newline. 2388 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst: 2389 Add trailing newline. 2390 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst: 2391 Add trailing newline. 2392 * doc/openmp-runtime-library-routines/ompgetdynamic.rst: 2393 Add trailing newline. 2394 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst: 2395 Add trailing newline. 2396 * doc/openmp-runtime-library-routines/ompgetlevel.rst: 2397 Add trailing newline. 2398 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst: 2399 Add trailing newline. 2400 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst: 2401 Add trailing newline. 2402 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst: 2403 Add trailing newline. 2404 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst: 2405 Add trailing newline. 2406 * doc/openmp-runtime-library-routines/ompgetnested.rst: 2407 Add trailing newline. 2408 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst: 2409 Add trailing newline. 2410 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst: 2411 Add trailing newline. 2412 * doc/openmp-runtime-library-routines/ompgetnumteams.rst: 2413 Add trailing newline. 2414 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst: 2415 Add trailing newline. 2416 * doc/openmp-runtime-library-routines/ompgetprocbind.rst: 2417 Add trailing newline. 2418 * doc/openmp-runtime-library-routines/ompgetschedule.rst: 2419 Add trailing newline. 2420 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst: 2421 Add trailing newline. 2422 * doc/openmp-runtime-library-routines/ompgetteamnum.rst: 2423 Add trailing newline. 2424 * doc/openmp-runtime-library-routines/ompgetteamsize.rst: 2425 Add trailing newline. 2426 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst: 2427 Add trailing newline. 2428 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst: 2429 Add trailing newline. 2430 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst: 2431 Add trailing newline. 2432 * doc/openmp-runtime-library-routines/ompgetwtick.rst: 2433 Add trailing newline. 2434 * doc/openmp-runtime-library-routines/ompgetwtime.rst: 2435 Add trailing newline. 2436 * doc/openmp-runtime-library-routines/ompinfinal.rst: 2437 Add trailing newline. 2438 * doc/openmp-runtime-library-routines/ompinitlock.rst: 2439 Add trailing newline. 2440 * doc/openmp-runtime-library-routines/ompinitnestlock.rst: 2441 Add trailing newline. 2442 * doc/openmp-runtime-library-routines/ompinparallel.rst: 2443 Add trailing newline. 2444 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst: 2445 Add trailing newline. 2446 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst: 2447 Add trailing newline. 2448 * doc/openmp-runtime-library-routines/ompsetdynamic.rst: 2449 Add trailing newline. 2450 * doc/openmp-runtime-library-routines/ompsetlock.rst: 2451 Add trailing newline. 2452 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst: 2453 Add trailing newline. 2454 * doc/openmp-runtime-library-routines/ompsetnested.rst: 2455 Add trailing newline. 2456 * doc/openmp-runtime-library-routines/ompsetnestlock.rst: 2457 Add trailing newline. 2458 * doc/openmp-runtime-library-routines/ompsetnumteams.rst: 2459 Add trailing newline. 2460 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst: 2461 Add trailing newline. 2462 * doc/openmp-runtime-library-routines/ompsetschedule.rst: 2463 Add trailing newline. 2464 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst: 2465 Add trailing newline. 2466 * doc/openmp-runtime-library-routines/omptestlock.rst: 2467 Add trailing newline. 2468 * doc/openmp-runtime-library-routines/omptestnestlock.rst: 2469 Add trailing newline. 2470 * doc/openmp-runtime-library-routines/ompunsetlock.rst: 2471 Add trailing newline. 2472 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst: 2473 Add trailing newline. 2474 * doc/reporting-bugs.rst: 2475 Add trailing newline. 2476 * doc/the-libgomp-abi.rst: 2477 Add trailing newline. 2478 * doc/the-libgomp-abi/implementing-atomic-construct.rst: 2479 Add trailing newline. 2480 * doc/the-libgomp-abi/implementing-barrier-construct.rst: 2481 Add trailing newline. 2482 * doc/the-libgomp-abi/implementing-critical-construct.rst: 2483 Add trailing newline. 2484 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst: 2485 Add trailing newline. 2486 * doc/the-libgomp-abi/implementing-flush-construct.rst: 2487 Add trailing newline. 2488 * doc/the-libgomp-abi/implementing-for-construct.rst: 2489 Add trailing newline. 2490 * doc/the-libgomp-abi/implementing-master-construct.rst: 2491 Add trailing newline. 2492 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst: 2493 Add trailing newline. 2494 * doc/the-libgomp-abi/implementing-ordered-construct.rst: 2495 Add trailing newline. 2496 * doc/the-libgomp-abi/implementing-parallel-construct.rst: 2497 Add trailing newline. 2498 * doc/the-libgomp-abi/implementing-private-clause.rst: 2499 Add trailing newline. 2500 * doc/the-libgomp-abi/implementing-reduction-clause.rst: 2501 Add trailing newline. 2502 * doc/the-libgomp-abi/implementing-sections-construct.rst: 2503 Add trailing newline. 2504 * doc/the-libgomp-abi/implementing-single-construct.rst: 2505 Add trailing newline. 2506 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst: 2507 Add trailing newline. 2508 2509 2022-11-14 Martin Liska <mliska (a] suse.cz> 2510 2511 Revert: 2512 2022-11-09 Martin Liska <mliska (a] suse.cz> 2513 2514 * Makefile.in: Add missing HAS_SPHINX_BUILD. 2515 2516 2022-11-14 Martin Liska <mliska (a] suse.cz> 2517 2518 Revert: 2519 2022-11-14 Martin Liska <mliska (a] suse.cz> 2520 2521 * doc/conf.py: Add newline at last line. 2522 2523 2022-11-14 Martin Liska <mliska (a] suse.cz> 2524 2525 Revert: 2526 2022-11-14 Martin Liska <mliska (a] suse.cz> 2527 2528 PR other/107620 2529 * configure: Regenerate. 2530 * configure.ac: Always set sphinx-build. 2531 2532 2022-11-13 Martin Liska <mliska (a] suse.cz> 2533 2534 PR other/107620 2535 * configure: Regenerate. 2536 * configure.ac: Always set sphinx-build. 2537 2538 2022-11-12 Jakub Jelinek <jakub (a] redhat.com> 2539 2540 PR libgomp/107641 2541 * env.c (parse_unsigned_long): Cast params[2] to uintptr_t rather than 2542 unsigned long. Change type of upper from unsigned to unsigned long. 2543 2544 2022-11-10 Martin Liska <mliska (a] suse.cz> 2545 2546 * doc/conf.py: Add newline at last line. 2547 2548 2022-11-09 Martin Liska <mliska (a] suse.cz> 2549 2550 * Makefile.in: Add missing HAS_SPHINX_BUILD. 2551 2552 2022-11-09 Martin Liska <mliska (a] suse.cz> 2553 2554 * doc/amd-radeon-gcn.rst: 2555 Add trailing newline. 2556 * doc/copyright.rst: 2557 Add trailing newline. 2558 * doc/cuda-streams-usage.rst: 2559 Add trailing newline. 2560 * doc/enabling-openacc.rst: 2561 Add trailing newline. 2562 * doc/enabling-openmp.rst: 2563 Add trailing newline. 2564 * doc/first-invocation-nvidia-cublas-library-api.rst: 2565 Add trailing newline. 2566 * doc/first-invocation-openacc-library-api.rst: 2567 Add trailing newline. 2568 * doc/funding.rst: 2569 Add trailing newline. 2570 * doc/general-public-license-3.rst: 2571 Add trailing newline. 2572 * doc/gnu-free-documentation-license.rst: 2573 Add trailing newline. 2574 * doc/implementation-status-and-implementation-defined-behavior.rst: 2575 Add trailing newline. 2576 * doc/index.rst: 2577 Add trailing newline. 2578 * doc/indices-and-tables.rst: 2579 Add trailing newline. 2580 * doc/introduction.rst: 2581 Add trailing newline. 2582 * doc/memory-allocation-with-libmemkind.rst: 2583 Add trailing newline. 2584 * doc/nvptx.rst: 2585 Add trailing newline. 2586 * doc/offload-target-specifics.rst: 2587 Add trailing newline. 2588 * doc/openacc-environment-variables.rst: 2589 Add trailing newline. 2590 * doc/openacc-environment-variables/accdevicenum.rst: 2591 Add trailing newline. 2592 * doc/openacc-environment-variables/accdevicetype.rst: 2593 Add trailing newline. 2594 * doc/openacc-environment-variables/accproflib.rst: 2595 Add trailing newline. 2596 * doc/openacc-environment-variables/gccaccnotify.rst: 2597 Add trailing newline. 2598 * doc/openacc-introduction.rst: 2599 Add trailing newline. 2600 * doc/openacc-library-and-environment-variables.rst: 2601 Add trailing newline. 2602 * doc/openacc-library-interoperability.rst: 2603 Add trailing newline. 2604 * doc/openacc-profiling-interface.rst: 2605 Add trailing newline. 2606 * doc/openacc-runtime-library-routines.rst: 2607 Add trailing newline. 2608 * doc/openacc-runtime-library-routines/accasynctest.rst: 2609 Add trailing newline. 2610 * doc/openacc-runtime-library-routines/accasynctestall.rst: 2611 Add trailing newline. 2612 * doc/openacc-runtime-library-routines/accattach.rst: 2613 Add trailing newline. 2614 * doc/openacc-runtime-library-routines/acccopyin.rst: 2615 Add trailing newline. 2616 * doc/openacc-runtime-library-routines/acccopyout.rst: 2617 Add trailing newline. 2618 * doc/openacc-runtime-library-routines/acccreate.rst: 2619 Add trailing newline. 2620 * doc/openacc-runtime-library-routines/accdelete.rst: 2621 Add trailing newline. 2622 * doc/openacc-runtime-library-routines/accdetach.rst: 2623 Add trailing newline. 2624 * doc/openacc-runtime-library-routines/accdeviceptr.rst: 2625 Add trailing newline. 2626 * doc/openacc-runtime-library-routines/accfree.rst: 2627 Add trailing newline. 2628 * doc/openacc-runtime-library-routines/accgetcudastream.rst: 2629 Add trailing newline. 2630 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst: 2631 Add trailing newline. 2632 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst: 2633 Add trailing newline. 2634 * doc/openacc-runtime-library-routines/accgetdevicenum.rst: 2635 Add trailing newline. 2636 * doc/openacc-runtime-library-routines/accgetdevicetype.rst: 2637 Add trailing newline. 2638 * doc/openacc-runtime-library-routines/accgetnumdevices.rst: 2639 Add trailing newline. 2640 * doc/openacc-runtime-library-routines/accgetproperty.rst: 2641 Add trailing newline. 2642 * doc/openacc-runtime-library-routines/acchostptr.rst: 2643 Add trailing newline. 2644 * doc/openacc-runtime-library-routines/accinit.rst: 2645 Add trailing newline. 2646 * doc/openacc-runtime-library-routines/accispresent.rst: 2647 Add trailing newline. 2648 * doc/openacc-runtime-library-routines/accmalloc.rst: 2649 Add trailing newline. 2650 * doc/openacc-runtime-library-routines/accmapdata.rst: 2651 Add trailing newline. 2652 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst: 2653 Add trailing newline. 2654 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst: 2655 Add trailing newline. 2656 * doc/openacc-runtime-library-routines/accondevice.rst: 2657 Add trailing newline. 2658 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst: 2659 Add trailing newline. 2660 * doc/openacc-runtime-library-routines/accpresentorcreate.rst: 2661 Add trailing newline. 2662 * doc/openacc-runtime-library-routines/accproflookup.rst: 2663 Add trailing newline. 2664 * doc/openacc-runtime-library-routines/accprofregister.rst: 2665 Add trailing newline. 2666 * doc/openacc-runtime-library-routines/accprofunregister.rst: 2667 Add trailing newline. 2668 * doc/openacc-runtime-library-routines/accregisterlibrary.rst: 2669 Add trailing newline. 2670 * doc/openacc-runtime-library-routines/accsetcudastream.rst: 2671 Add trailing newline. 2672 * doc/openacc-runtime-library-routines/accsetdevicenum.rst: 2673 Add trailing newline. 2674 * doc/openacc-runtime-library-routines/accsetdevicetype.rst: 2675 Add trailing newline. 2676 * doc/openacc-runtime-library-routines/accshutdown.rst: 2677 Add trailing newline. 2678 * doc/openacc-runtime-library-routines/accunmapdata.rst: 2679 Add trailing newline. 2680 * doc/openacc-runtime-library-routines/accupdatedevice.rst: 2681 Add trailing newline. 2682 * doc/openacc-runtime-library-routines/accupdateself.rst: 2683 Add trailing newline. 2684 * doc/openacc-runtime-library-routines/accwait.rst: 2685 Add trailing newline. 2686 * doc/openacc-runtime-library-routines/accwaitall.rst: 2687 Add trailing newline. 2688 * doc/openacc-runtime-library-routines/accwaitallasync.rst: 2689 Add trailing newline. 2690 * doc/openacc-runtime-library-routines/accwaitasync.rst: 2691 Add trailing newline. 2692 * doc/openmp-context-selectors.rst: 2693 Add trailing newline. 2694 * doc/openmp-environment-variables.rst: 2695 Add trailing newline. 2696 * doc/openmp-environment-variables/gompcpuaffinity.rst: 2697 Add trailing newline. 2698 * doc/openmp-environment-variables/gompdebug.rst: 2699 Add trailing newline. 2700 * doc/openmp-environment-variables/gomprtemsthreadpools.rst: 2701 Add trailing newline. 2702 * doc/openmp-environment-variables/gompspincount.rst: 2703 Add trailing newline. 2704 * doc/openmp-environment-variables/gompstacksize.rst: 2705 Add trailing newline. 2706 * doc/openmp-environment-variables/ompcancellation.rst: 2707 Add trailing newline. 2708 * doc/openmp-environment-variables/ompdefaultdevice.rst: 2709 Add trailing newline. 2710 * doc/openmp-environment-variables/ompdisplayenv.rst: 2711 Add trailing newline. 2712 * doc/openmp-environment-variables/ompdynamic.rst: 2713 Add trailing newline. 2714 * doc/openmp-environment-variables/ompmaxactivelevels.rst: 2715 Add trailing newline. 2716 * doc/openmp-environment-variables/ompmaxtaskpriority.rst: 2717 Add trailing newline. 2718 * doc/openmp-environment-variables/ompnested.rst: 2719 Add trailing newline. 2720 * doc/openmp-environment-variables/ompnumteams.rst: 2721 Add trailing newline. 2722 * doc/openmp-environment-variables/ompnumthreads.rst: 2723 Add trailing newline. 2724 * doc/openmp-environment-variables/ompplaces.rst: 2725 Add trailing newline. 2726 * doc/openmp-environment-variables/ompprocbind.rst: 2727 Add trailing newline. 2728 * doc/openmp-environment-variables/ompschedule.rst: 2729 Add trailing newline. 2730 * doc/openmp-environment-variables/ompstacksize.rst: 2731 Add trailing newline. 2732 * doc/openmp-environment-variables/omptargetoffload.rst: 2733 Add trailing newline. 2734 * doc/openmp-environment-variables/ompteamsthreadlimit.rst: 2735 Add trailing newline. 2736 * doc/openmp-environment-variables/ompthreadlimit.rst: 2737 Add trailing newline. 2738 * doc/openmp-environment-variables/ompwaitpolicy.rst: 2739 Add trailing newline. 2740 * doc/openmp-implementation-specifics.rst: 2741 Add trailing newline. 2742 * doc/openmp-implementation-status.rst: 2743 Add trailing newline. 2744 * doc/openmp-implementation-status/openmp-45.rst: 2745 Add trailing newline. 2746 * doc/openmp-implementation-status/openmp-50.rst: 2747 Add trailing newline. 2748 * doc/openmp-implementation-status/openmp-51.rst: 2749 Add trailing newline. 2750 * doc/openmp-implementation-status/openmp-52.rst: 2751 Add trailing newline. 2752 * doc/openmp-runtime-library-routines.rst: 2753 Add trailing newline. 2754 * doc/openmp-runtime-library-routines/ompdestroylock.rst: 2755 Add trailing newline. 2756 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst: 2757 Add trailing newline. 2758 * doc/openmp-runtime-library-routines/ompfulfillevent.rst: 2759 Add trailing newline. 2760 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst: 2761 Add trailing newline. 2762 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst: 2763 Add trailing newline. 2764 * doc/openmp-runtime-library-routines/ompgetcancellation.rst: 2765 Add trailing newline. 2766 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst: 2767 Add trailing newline. 2768 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst: 2769 Add trailing newline. 2770 * doc/openmp-runtime-library-routines/ompgetdynamic.rst: 2771 Add trailing newline. 2772 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst: 2773 Add trailing newline. 2774 * doc/openmp-runtime-library-routines/ompgetlevel.rst: 2775 Add trailing newline. 2776 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst: 2777 Add trailing newline. 2778 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst: 2779 Add trailing newline. 2780 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst: 2781 Add trailing newline. 2782 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst: 2783 Add trailing newline. 2784 * doc/openmp-runtime-library-routines/ompgetnested.rst: 2785 Add trailing newline. 2786 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst: 2787 Add trailing newline. 2788 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst: 2789 Add trailing newline. 2790 * doc/openmp-runtime-library-routines/ompgetnumteams.rst: 2791 Add trailing newline. 2792 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst: 2793 Add trailing newline. 2794 * doc/openmp-runtime-library-routines/ompgetprocbind.rst: 2795 Add trailing newline. 2796 * doc/openmp-runtime-library-routines/ompgetschedule.rst: 2797 Add trailing newline. 2798 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst: 2799 Add trailing newline. 2800 * doc/openmp-runtime-library-routines/ompgetteamnum.rst: 2801 Add trailing newline. 2802 * doc/openmp-runtime-library-routines/ompgetteamsize.rst: 2803 Add trailing newline. 2804 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst: 2805 Add trailing newline. 2806 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst: 2807 Add trailing newline. 2808 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst: 2809 Add trailing newline. 2810 * doc/openmp-runtime-library-routines/ompgetwtick.rst: 2811 Add trailing newline. 2812 * doc/openmp-runtime-library-routines/ompgetwtime.rst: 2813 Add trailing newline. 2814 * doc/openmp-runtime-library-routines/ompinfinal.rst: 2815 Add trailing newline. 2816 * doc/openmp-runtime-library-routines/ompinitlock.rst: 2817 Add trailing newline. 2818 * doc/openmp-runtime-library-routines/ompinitnestlock.rst: 2819 Add trailing newline. 2820 * doc/openmp-runtime-library-routines/ompinparallel.rst: 2821 Add trailing newline. 2822 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst: 2823 Add trailing newline. 2824 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst: 2825 Add trailing newline. 2826 * doc/openmp-runtime-library-routines/ompsetdynamic.rst: 2827 Add trailing newline. 2828 * doc/openmp-runtime-library-routines/ompsetlock.rst: 2829 Add trailing newline. 2830 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst: 2831 Add trailing newline. 2832 * doc/openmp-runtime-library-routines/ompsetnested.rst: 2833 Add trailing newline. 2834 * doc/openmp-runtime-library-routines/ompsetnestlock.rst: 2835 Add trailing newline. 2836 * doc/openmp-runtime-library-routines/ompsetnumteams.rst: 2837 Add trailing newline. 2838 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst: 2839 Add trailing newline. 2840 * doc/openmp-runtime-library-routines/ompsetschedule.rst: 2841 Add trailing newline. 2842 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst: 2843 Add trailing newline. 2844 * doc/openmp-runtime-library-routines/omptestlock.rst: 2845 Add trailing newline. 2846 * doc/openmp-runtime-library-routines/omptestnestlock.rst: 2847 Add trailing newline. 2848 * doc/openmp-runtime-library-routines/ompunsetlock.rst: 2849 Add trailing newline. 2850 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst: 2851 Add trailing newline. 2852 * doc/reporting-bugs.rst: 2853 Add trailing newline. 2854 * doc/the-libgomp-abi.rst: 2855 Add trailing newline. 2856 * doc/the-libgomp-abi/implementing-atomic-construct.rst: 2857 Add trailing newline. 2858 * doc/the-libgomp-abi/implementing-barrier-construct.rst: 2859 Add trailing newline. 2860 * doc/the-libgomp-abi/implementing-critical-construct.rst: 2861 Add trailing newline. 2862 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst: 2863 Add trailing newline. 2864 * doc/the-libgomp-abi/implementing-flush-construct.rst: 2865 Add trailing newline. 2866 * doc/the-libgomp-abi/implementing-for-construct.rst: 2867 Add trailing newline. 2868 * doc/the-libgomp-abi/implementing-master-construct.rst: 2869 Add trailing newline. 2870 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst: 2871 Add trailing newline. 2872 * doc/the-libgomp-abi/implementing-ordered-construct.rst: 2873 Add trailing newline. 2874 * doc/the-libgomp-abi/implementing-parallel-construct.rst: 2875 Add trailing newline. 2876 * doc/the-libgomp-abi/implementing-private-clause.rst: 2877 Add trailing newline. 2878 * doc/the-libgomp-abi/implementing-reduction-clause.rst: 2879 Add trailing newline. 2880 * doc/the-libgomp-abi/implementing-sections-construct.rst: 2881 Add trailing newline. 2882 * doc/the-libgomp-abi/implementing-single-construct.rst: 2883 Add trailing newline. 2884 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst: 2885 Add trailing newline. 2886 2887 2022-11-09 Martin Liska <mliska (a] suse.cz> 2888 2889 * Makefile.in: Build info pages conditionally. 2890 2891 2022-11-09 Martin Liska <mliska (a] suse.cz> 2892 2893 * Makefile.in: Support --with-sphinx-build. 2894 * configure.ac: Likewise.. 2895 * configure: Regenerate. 2896 2897 2022-11-09 Martin Liska <mliska (a] suse.cz> 2898 2899 * libgomp.texi: Removed. 2900 2901 2022-11-09 Martin Liska <mliska (a] suse.cz> 2902 2903 * Makefile.in: Support Sphinx based documentation. 2904 2905 2022-11-09 Martin Liska <mliska (a] suse.cz> 2906 2907 * doc/amd-radeon-gcn.rst: New file. 2908 * doc/conf.py: New file. 2909 * doc/copyright.rst: New file. 2910 * doc/cuda-streams-usage.rst: New file. 2911 * doc/enabling-openacc.rst: New file. 2912 * doc/enabling-openmp.rst: New file. 2913 * doc/first-invocation-nvidia-cublas-library-api.rst: New file. 2914 * doc/first-invocation-openacc-library-api.rst: New file. 2915 * doc/funding.rst: New file. 2916 * doc/general-public-license-3.rst: New file. 2917 * doc/gnu-free-documentation-license.rst: New file. 2918 * doc/implementation-status-and-implementation-defined-behavior.rst: New file. 2919 * doc/index.rst: New file. 2920 * doc/indices-and-tables.rst: New file. 2921 * doc/introduction.rst: New file. 2922 * doc/memory-allocation-with-libmemkind.rst: New file. 2923 * doc/nvptx.rst: New file. 2924 * doc/offload-target-specifics.rst: New file. 2925 * doc/openacc-environment-variables.rst: New file. 2926 * doc/openacc-environment-variables/accdevicenum.rst: New file. 2927 * doc/openacc-environment-variables/accdevicetype.rst: New file. 2928 * doc/openacc-environment-variables/accproflib.rst: New file. 2929 * doc/openacc-environment-variables/gccaccnotify.rst: New file. 2930 * doc/openacc-introduction.rst: New file. 2931 * doc/openacc-library-and-environment-variables.rst: New file. 2932 * doc/openacc-library-interoperability.rst: New file. 2933 * doc/openacc-profiling-interface.rst: New file. 2934 * doc/openacc-runtime-library-routines.rst: New file. 2935 * doc/openacc-runtime-library-routines/accasynctest.rst: New file. 2936 * doc/openacc-runtime-library-routines/accasynctestall.rst: New file. 2937 * doc/openacc-runtime-library-routines/accattach.rst: New file. 2938 * doc/openacc-runtime-library-routines/acccopyin.rst: New file. 2939 * doc/openacc-runtime-library-routines/acccopyout.rst: New file. 2940 * doc/openacc-runtime-library-routines/acccreate.rst: New file. 2941 * doc/openacc-runtime-library-routines/accdelete.rst: New file. 2942 * doc/openacc-runtime-library-routines/accdetach.rst: New file. 2943 * doc/openacc-runtime-library-routines/accdeviceptr.rst: New file. 2944 * doc/openacc-runtime-library-routines/accfree.rst: New file. 2945 * doc/openacc-runtime-library-routines/accgetcudastream.rst: New file. 2946 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst: New file. 2947 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst: New file. 2948 * doc/openacc-runtime-library-routines/accgetdevicenum.rst: New file. 2949 * doc/openacc-runtime-library-routines/accgetdevicetype.rst: New file. 2950 * doc/openacc-runtime-library-routines/accgetnumdevices.rst: New file. 2951 * doc/openacc-runtime-library-routines/accgetproperty.rst: New file. 2952 * doc/openacc-runtime-library-routines/acchostptr.rst: New file. 2953 * doc/openacc-runtime-library-routines/accinit.rst: New file. 2954 * doc/openacc-runtime-library-routines/accispresent.rst: New file. 2955 * doc/openacc-runtime-library-routines/accmalloc.rst: New file. 2956 * doc/openacc-runtime-library-routines/accmapdata.rst: New file. 2957 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst: New file. 2958 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst: New file. 2959 * doc/openacc-runtime-library-routines/accondevice.rst: New file. 2960 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst: New file. 2961 * doc/openacc-runtime-library-routines/accpresentorcreate.rst: New file. 2962 * doc/openacc-runtime-library-routines/accproflookup.rst: New file. 2963 * doc/openacc-runtime-library-routines/accprofregister.rst: New file. 2964 * doc/openacc-runtime-library-routines/accprofunregister.rst: New file. 2965 * doc/openacc-runtime-library-routines/accregisterlibrary.rst: New file. 2966 * doc/openacc-runtime-library-routines/accsetcudastream.rst: New file. 2967 * doc/openacc-runtime-library-routines/accsetdevicenum.rst: New file. 2968 * doc/openacc-runtime-library-routines/accsetdevicetype.rst: New file. 2969 * doc/openacc-runtime-library-routines/accshutdown.rst: New file. 2970 * doc/openacc-runtime-library-routines/accunmapdata.rst: New file. 2971 * doc/openacc-runtime-library-routines/accupdatedevice.rst: New file. 2972 * doc/openacc-runtime-library-routines/accupdateself.rst: New file. 2973 * doc/openacc-runtime-library-routines/accwait.rst: New file. 2974 * doc/openacc-runtime-library-routines/accwaitall.rst: New file. 2975 * doc/openacc-runtime-library-routines/accwaitallasync.rst: New file. 2976 * doc/openacc-runtime-library-routines/accwaitasync.rst: New file. 2977 * doc/openmp-context-selectors.rst: New file. 2978 * doc/openmp-environment-variables.rst: New file. 2979 * doc/openmp-environment-variables/gompcpuaffinity.rst: New file. 2980 * doc/openmp-environment-variables/gompdebug.rst: New file. 2981 * doc/openmp-environment-variables/gomprtemsthreadpools.rst: New file. 2982 * doc/openmp-environment-variables/gompspincount.rst: New file. 2983 * doc/openmp-environment-variables/gompstacksize.rst: New file. 2984 * doc/openmp-environment-variables/ompcancellation.rst: New file. 2985 * doc/openmp-environment-variables/ompdefaultdevice.rst: New file. 2986 * doc/openmp-environment-variables/ompdisplayenv.rst: New file. 2987 * doc/openmp-environment-variables/ompdynamic.rst: New file. 2988 * doc/openmp-environment-variables/ompmaxactivelevels.rst: New file. 2989 * doc/openmp-environment-variables/ompmaxtaskpriority.rst: New file. 2990 * doc/openmp-environment-variables/ompnested.rst: New file. 2991 * doc/openmp-environment-variables/ompnumteams.rst: New file. 2992 * doc/openmp-environment-variables/ompnumthreads.rst: New file. 2993 * doc/openmp-environment-variables/ompplaces.rst: New file. 2994 * doc/openmp-environment-variables/ompprocbind.rst: New file. 2995 * doc/openmp-environment-variables/ompschedule.rst: New file. 2996 * doc/openmp-environment-variables/ompstacksize.rst: New file. 2997 * doc/openmp-environment-variables/omptargetoffload.rst: New file. 2998 * doc/openmp-environment-variables/ompteamsthreadlimit.rst: New file. 2999 * doc/openmp-environment-variables/ompthreadlimit.rst: New file. 3000 * doc/openmp-environment-variables/ompwaitpolicy.rst: New file. 3001 * doc/openmp-implementation-specifics.rst: New file. 3002 * doc/openmp-implementation-status.rst: New file. 3003 * doc/openmp-implementation-status/openmp-45.rst: New file. 3004 * doc/openmp-implementation-status/openmp-50.rst: New file. 3005 * doc/openmp-implementation-status/openmp-51.rst: New file. 3006 * doc/openmp-implementation-status/openmp-52.rst: New file. 3007 * doc/openmp-runtime-library-routines.rst: New file. 3008 * doc/openmp-runtime-library-routines/ompdestroylock.rst: New file. 3009 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst: New file. 3010 * doc/openmp-runtime-library-routines/ompfulfillevent.rst: New file. 3011 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst: New file. 3012 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst: New file. 3013 * doc/openmp-runtime-library-routines/ompgetcancellation.rst: New file. 3014 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst: New file. 3015 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst: New file. 3016 * doc/openmp-runtime-library-routines/ompgetdynamic.rst: New file. 3017 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst: New file. 3018 * doc/openmp-runtime-library-routines/ompgetlevel.rst: New file. 3019 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst: New file. 3020 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst: New file. 3021 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst: New file. 3022 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst: New file. 3023 * doc/openmp-runtime-library-routines/ompgetnested.rst: New file. 3024 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst: New file. 3025 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst: New file. 3026 * doc/openmp-runtime-library-routines/ompgetnumteams.rst: New file. 3027 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst: New file. 3028 * doc/openmp-runtime-library-routines/ompgetprocbind.rst: New file. 3029 * doc/openmp-runtime-library-routines/ompgetschedule.rst: New file. 3030 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst: New file. 3031 * doc/openmp-runtime-library-routines/ompgetteamnum.rst: New file. 3032 * doc/openmp-runtime-library-routines/ompgetteamsize.rst: New file. 3033 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst: New file. 3034 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst: New file. 3035 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst: New file. 3036 * doc/openmp-runtime-library-routines/ompgetwtick.rst: New file. 3037 * doc/openmp-runtime-library-routines/ompgetwtime.rst: New file. 3038 * doc/openmp-runtime-library-routines/ompinfinal.rst: New file. 3039 * doc/openmp-runtime-library-routines/ompinitlock.rst: New file. 3040 * doc/openmp-runtime-library-routines/ompinitnestlock.rst: New file. 3041 * doc/openmp-runtime-library-routines/ompinparallel.rst: New file. 3042 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst: New file. 3043 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst: New file. 3044 * doc/openmp-runtime-library-routines/ompsetdynamic.rst: New file. 3045 * doc/openmp-runtime-library-routines/ompsetlock.rst: New file. 3046 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst: New file. 3047 * doc/openmp-runtime-library-routines/ompsetnested.rst: New file. 3048 * doc/openmp-runtime-library-routines/ompsetnestlock.rst: New file. 3049 * doc/openmp-runtime-library-routines/ompsetnumteams.rst: New file. 3050 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst: New file. 3051 * doc/openmp-runtime-library-routines/ompsetschedule.rst: New file. 3052 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst: New file. 3053 * doc/openmp-runtime-library-routines/omptestlock.rst: New file. 3054 * doc/openmp-runtime-library-routines/omptestnestlock.rst: New file. 3055 * doc/openmp-runtime-library-routines/ompunsetlock.rst: New file. 3056 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst: New file. 3057 * doc/reporting-bugs.rst: New file. 3058 * doc/the-libgomp-abi.rst: New file. 3059 * doc/the-libgomp-abi/implementing-atomic-construct.rst: New file. 3060 * doc/the-libgomp-abi/implementing-barrier-construct.rst: New file. 3061 * doc/the-libgomp-abi/implementing-critical-construct.rst: New file. 3062 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst: 3063 New file. 3064 * doc/the-libgomp-abi/implementing-flush-construct.rst: New file. 3065 * doc/the-libgomp-abi/implementing-for-construct.rst: New file. 3066 * doc/the-libgomp-abi/implementing-master-construct.rst: New file. 3067 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst: New file. 3068 * doc/the-libgomp-abi/implementing-ordered-construct.rst: New file. 3069 * doc/the-libgomp-abi/implementing-parallel-construct.rst: New file. 3070 * doc/the-libgomp-abi/implementing-private-clause.rst: New file. 3071 * doc/the-libgomp-abi/implementing-reduction-clause.rst: New file. 3072 * doc/the-libgomp-abi/implementing-sections-construct.rst: New file. 3073 * doc/the-libgomp-abi/implementing-single-construct.rst: New file. 3074 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst: New file. 3075 3076 2022-11-04 Thomas Schwinge <thomas (a] codesourcery.com> 3077 3078 * libgomp-plugin.h (OFFLOAD_TARGET_TYPE_INTEL_MIC): Remove. 3079 * libgomp.texi (OpenMP Context Selectors): Remove Intel MIC 3080 documentation. 3081 * plugin/configfrag.ac <enable_offload_targets> 3082 [*-intelmic-* | *-intelmicemul-*]: Remove. 3083 * configure: Regenerate. 3084 * testsuite/lib/libgomp.exp (libgomp_init): Remove 'liboffloadmic' 3085 handling. 3086 (offload_target_to_openacc_device_type) 3087 [$offload_target = *-intelmic*]: Remove. 3088 (check_effective_target_offload_device_intel_mic) 3089 (check_effective_target_offload_device_any_intel_mic): Remove. 3090 * testsuite/libgomp.c-c++-common/on_device_arch.h 3091 (device_arch_intel_mic, on_device_arch_intel_mic, any_device_arch) 3092 (any_device_arch_intel_mic): Remove. 3093 * testsuite/libgomp.c-c++-common/target-45.c: Remove 3094 'offload_device_any_intel_mic' XFAIL. 3095 * testsuite/libgomp.fortran/target10.f90: Likewise. 3096 3097 2022-11-03 Tobias Burnus <tobias (a] codesourcery.com> 3098 3099 * testsuite/libgomp.fortran/target-11.f90: New test. 3100 * testsuite/libgomp.fortran/target-13.f90: New test. 3101 3102 2022-11-02 Thomas Schwinge <thomas (a] codesourcery.com> 3103 3104 PR libgomp/106643 3105 PR fortran/96668 3106 * oacc-mem.c (goacc_enter_data_internal): Support 3107 OpenACC 'declare create' with Fortran allocatable arrays, part II. 3108 * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-directive.f90: 3109 Adjust. 3110 * testsuite/libgomp.oacc-fortran/pr106643-1.f90: New. 3111 3112 2022-11-02 Thomas Schwinge <thomas (a] codesourcery.com> 3113 3114 PR libgomp/106643 3115 * oacc-mem.c (goacc_enter_data_internal): Support 3116 OpenACC 'declare create' with Fortran allocatable arrays, part I. 3117 * testsuite/libgomp.oacc-fortran/declare-allocatable-1-directive.f90: 3118 New. 3119 * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-directive.f90: 3120 New. 3121 3122 2022-11-02 Thomas Schwinge <thomas (a] codesourcery.com> 3123 3124 * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-runtime.f90: 3125 New. 3126 3127 2022-11-02 Thomas Schwinge <thomas (a] codesourcery.com> 3128 3129 * testsuite/libgomp.oacc-fortran/declare-allocatable-1-runtime.f90: 3130 New. 3131 3132 2022-11-02 Cesar Philippidis <cesar (a] codesourcery.com> 3133 Thomas Schwinge <thomas (a] codesourcery.com> 3134 3135 * testsuite/libgomp.oacc-fortran/declare-allocatable-1.f90: New. 3136 3137 2022-10-28 Julian Brown <julian (a] codesourcery.com> 3138 Thomas Schwinge <thomas (a] codesourcery.com> 3139 3140 PR middle-end/90115 3141 * testsuite/libgomp.oacc-fortran/declare-1.f90: Adjust scan output. 3142 * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise. 3143 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise. 3144 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise. 3145 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise. 3146 3147 2022-10-24 Thomas Schwinge <thomas (a] codesourcery.com> 3148 3149 * plugin/plugin-nvptx.c (nvptx_open_device): Initialize 3150 'ptx_dev->rev_data'. 3151 3152 2022-10-24 Tobias Burnus <tobias (a] codesourcery.com> 3153 3154 * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Remove 3155 'static' for this variable. 3156 * config/nvptx/libgomp-nvptx.h: New file. 3157 * config/nvptx/target.c: Include it. 3158 (GOMP_ADDITIONAL_ICVS): Declare extern var. 3159 (GOMP_REV_OFFLOAD_VAR): Declare var. 3160 (GOMP_target_ext): Handle reverse offload. 3161 * libgomp-plugin.h (GOMP_PLUGIN_target_rev): New prototype. 3162 * libgomp-plugin.c (GOMP_PLUGIN_target_rev): New, call ... 3163 * target.c (gomp_target_rev): ... this new stub function. 3164 * libgomp.h (gomp_target_rev): Declare. 3165 * libgomp.map (GOMP_PLUGIN_1.4): New; add GOMP_PLUGIN_target_rev. 3166 * plugin/cuda-lib.def (cuMemHostAlloc): Add. 3167 * plugin/plugin-nvptx.c: Include libgomp-nvptx.h. 3168 (struct ptx_device): Add rev_data member. 3169 (nvptx_open_device): Remove async_engines query, last used in 3170 r10-304-g1f4c5b9b; add unified-address assert check. 3171 (GOMP_OFFLOAD_get_num_devices): Claim unified address 3172 support. 3173 (GOMP_OFFLOAD_load_image): Free rev_fn_table if no 3174 offload functions exist. Make offload var available 3175 on host and device. 3176 (rev_off_dev_to_host_cpy, rev_off_host_to_dev_cpy): New. 3177 (GOMP_OFFLOAD_run): Handle reverse offload. 3178 3179 2022-10-21 Thomas Schwinge <thomas (a] codesourcery.com> 3180 3181 PR tree-optimization/107195 3182 PR target/107344 3183 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Restore SESE 3184 regions checking. 3185 3186 2022-10-20 Tobias Burnus <tobias (a] codesourcery.com> 3187 3188 * testsuite/lib/libgomp.exp (check_effective_target_offload_device_gcn): 3189 New. 3190 * testsuite/libgomp.c-c++-common/on_device_arch.h (device_arch_gcn, 3191 on_device_arch_gcn): New. 3192 * testsuite/libgomp.c-c++-common/requires-4a.c: New test; copied from 3193 requires-4.c but using heap-allocated memory. 3194 3195 2022-10-20 Thomas Schwinge <thomas (a] codesourcery.com> 3196 3197 PR target/105421 3198 * testsuite/libgomp.oacc-c-c++-common/private-big-1.c: New. 3199 3200 2022-10-17 Thomas Schwinge <thomas (a] codesourcery.com> 3201 3202 * testsuite/libgomp.c/reverse-offload-sm30.c: Fix nvptx-specific 3203 '-foffload-options' syntax. 3204 3205 2022-10-13 Tobias Burnus <tobias (a] codesourcery.com> 3206 3207 * testsuite/libgomp.fortran/task-7.f90: New test. 3208 * testsuite/libgomp.fortran/task-8.f90: New test. 3209 * testsuite/libgomp.fortran/task-in-explicit-1.f90: New test. 3210 * testsuite/libgomp.fortran/task-in-explicit-2.f90: New test. 3211 * testsuite/libgomp.fortran/task-in-explicit-3.f90: New test. 3212 * testsuite/libgomp.fortran/task-reduction-17.f90: New test. 3213 * testsuite/libgomp.fortran/task-reduction-18.f90: New test. 3214 3215 2022-10-12 Jakub Jelinek <jakub (a] redhat.com> 3216 3217 * libgomp.texi (OpenMP 5.2): Fix up allocator -> allocate directive 3218 in deprecation bullet. 3219 3220 2022-10-12 Jakub Jelinek <jakub (a] redhat.com> 3221 3222 * omp.h.in (omp_in_explicit_task): Declare. 3223 * omp_lib.h.in (omp_in_explicit_task): Likewise. 3224 * omp_lib.f90.in (omp_in_explicit_task): New interface. 3225 * libgomp.map (OMP_5.2): New symbol version, export 3226 omp_in_explicit_task and omp_in_explicit_task_. 3227 * task.c (omp_in_explicit_task): New function. 3228 * fortran.c (omp_in_explicit_task): Add ialias_redirect. 3229 (omp_in_explicit_task_): New function. 3230 * libgomp.texi (OpenMP 5.2): Mark omp_in_explicit_task as implemented. 3231 * testsuite/libgomp.c-c++-common/task-in-explicit-1.c: New test. 3232 * testsuite/libgomp.c-c++-common/task-in-explicit-2.c: New test. 3233 * testsuite/libgomp.c-c++-common/task-in-explicit-3.c: New test. 3234 3235 2022-10-12 Jakub Jelinek <jakub (a] redhat.com> 3236 3237 * task.c (gomp_create_artificial_team): Fix up handling of invocations 3238 from within explicit task. 3239 * target.c (GOMP_target_ext): Likewise. 3240 * testsuite/libgomp.c/task-7.c: New test. 3241 * testsuite/libgomp.c/task-8.c: New test. 3242 * testsuite/libgomp.c-c++-common/task-reduction-17.c: New test. 3243 * testsuite/libgomp.c-c++-common/task-reduction-18.c: New test. 3244 3245 2022-10-12 Martin Liska <mliska (a] suse.cz> 3246 3247 * configure: Regenerate. 3248 3249 2022-10-11 Olivier Hainque <hainque (a] adacore.com> 3250 Olivier Hainque <hainque (a] adacore.com> 3251 3252 * configure: Regenerate. 3253 3254 2022-10-05 Tobias Burnus <tobias (a] codesourcery.com> 3255 3256 * libgomp.texi (OpenMP 5.1 Impl. Status): Mark 'assume' as 'Y'. 3257 3258 2022-10-04 Jakub Jelinek <jakub (a] redhat.com> 3259 3260 * libgomp.texi (Support begin/end declare target syntax in C/C++): 3261 Mark as implemented. 3262 3263 2022-09-30 Tobias Burnus <tobias (a] codesourcery.com> 3264 3265 PR fortran/105318 3266 * testsuite/libgomp.fortran/is_device_ptr-2.f90: New test. 3267 3268 2022-09-28 Tobias Burnus <tobias (a] codesourcery.com> 3269 3270 * libgomp.texi (OpenMP 5.1): Mark 'assume' as implemented 3271 for C/C++. Remove duplicated 'begin declare target' entry. 3272 3273 2022-09-24 Jakub Jelinek <jakub (a] redhat.com> 3274 3275 PR c/106981 3276 * testsuite/libgomp.c-c++-common/pr106981.c: New test. 3277 3278 2022-09-14 Julian Brown <julian (a] codesourcery.com> 3279 3280 * testsuite/libgomp.oacc-c-c++-common/deep-copy-15.c: New test. 3281 * testsuite/libgomp.oacc-c-c++-common/deep-copy-16.c: New test. 3282 * testsuite/libgomp.oacc-c++/deep-copy-17.C: New test. 3283 * testsuite/libgomp.oacc-c-c++-common/deep-copy-arrayofstruct.c: Move 3284 test to here, make "run" test. 3285 3286 2022-09-13 Jakub Jelinek <jakub (a] redhat.com> 3287 3288 PR libgomp/106906 3289 * env.c (get_icv_member_addr): Cast false to void * before assigning 3290 it to icv_addr[1], and comment the whole assignment out. 3291 3292 2022-09-13 Tobias Burnus <tobias (a] codesourcery.com> 3293 3294 * libgomp.texi (gcn): Move misplaced -march=sm_30 remark to ... 3295 (nvptx): ... here. 3296 3297 2022-09-12 Tobias Burnus <tobias (a] codesourcery.com> 3298 3299 * libgomp.texi (Offload-Target Specifics: nvptx): Document 3300 that reverse offload requires >= -march=sm_35. 3301 * testsuite/libgomp.c-c++-common/requires-4.c: Build for nvptx 3302 with -misa=sm_35. 3303 * testsuite/libgomp.c-c++-common/requires-5.c: Likewise. 3304 * testsuite/libgomp.c-c++-common/requires-6.c: Likewise. 3305 * testsuite/libgomp.c-c++-common/reverse-offload-1.c: Likewise. 3306 * testsuite/libgomp.fortran/reverse-offload-1.f90: Likewise. 3307 * testsuite/libgomp.c/reverse-offload-sm30.c: New test. 3308 3309 2022-09-12 Tobias Burnus <tobias (a] codesourcery.com> 3310 3311 * libgomp.texi (OpenMP 5.1 Impl. Status): Add two new minor items. 3312 (OpenMP 5.2 Impl. Status): Improve omp/omx/ompx wording. 3313 3314 2022-09-12 Jakub Jelinek <jakub (a] redhat.com> 3315 3316 PR libgomp/106894 3317 * testsuite/libgomp.c-c++-common/icv-6.c: Include string.h. 3318 (main): Avoid tests for which corresponding non-_ALL suffixed variable 3319 is in the environment, or for OMP_NUM_TEAMS on the device 3320 OMP_NUM_TEAMS_DEV_?. 3321 3322 2022-09-10 Iain Sandoe <iain (a] sandoe.co.uk> 3323 3324 * env.c (initialize_env): Include libiberty environ.h. 3325 3326 2022-09-09 Tobias Burnus <tobias (a] codesourcery.com> 3327 3328 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Read offload 3329 function address table '$offload_func_table' if rev_fn_table 3330 is not NULL. 3331 3332 2022-09-09 Tobias Burnus <tobias (a] codesourcery.com> 3333 3334 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Read 3335 .offload_func_table to populate rev_fn_table when requested. 3336 3337 2022-09-09 Tobias Burnus <tobias (a] codesourcery.com> 3338 3339 * libgomp-plugin.h (GOMP_OFFLOAD_load_image): Add 3340 'uint64_t **rev_fn_table' argument. 3341 * oacc-host.c (host_load_image): Likewise. 3342 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Likewise; 3343 currently unused. 3344 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise. 3345 * target.c (gomp_load_image_to_device): Update call but pass 3346 NULL for now. 3347 3348 2022-09-09 Jakub Jelinek <jakub (a] redhat.com> 3349 3350 PR libgomp/106894 3351 * env.c (initialize_env) <case PARSE_BIND>: Use char ** instead of 3352 char * for dest[1] initialization from params[1]. Formatting fixes. 3353 3354 2022-09-08 Tobias Burnus <tobias (a] codesourcery.com> 3355 3356 PR fortran/106670 3357 * libgomp.texi (OpenMP 5.2): Add comment to ompx/omx entry. 3358 3359 2022-09-08 Tobias Burnus <tobias (a] codesourcery.com> 3360 3361 * libgomp.texi (OpenMP-Implementation Specifics): New; add libmemkind 3362 section; move OpenMP Context Selectors from ... 3363 (Offload-Target Specifics): ... here; add 'AMD Radeo (GCN)' and 3364 'nvptx' sections. 3365 3366 2022-09-08 Marcel Vollweiler <marcel (a] codesourcery.com> 3367 3368 * config/gcn/icv-device.c (omp_get_default_device): Return device- 3369 specific ICV. 3370 (omp_get_max_teams): Added for GCN devices. 3371 (omp_set_num_teams): Likewise. 3372 (ialias): Likewise. 3373 * config/nvptx/icv-device.c (omp_get_default_device): Return device- 3374 specific ICV. 3375 (omp_get_max_teams): Added for NVPTX devices. 3376 (omp_set_num_teams): Likewise. 3377 (ialias): Likewise. 3378 * env.c (struct gomp_icv_list): New struct to store entries of initial 3379 ICV values. 3380 (struct gomp_offload_icv_list): New struct to store entries of device- 3381 specific ICV values that are copied to the device and back. 3382 (struct gomp_default_icv_values): New struct to store default values of 3383 ICVs according to the OpenMP standard. 3384 (parse_schedule): Generalized for different variants of OMP_SCHEDULE. 3385 (print_env_var_error): Function that prints an error for invalid values 3386 for ICVs. 3387 (parse_unsigned_long_1): Removed getenv. Generalized. 3388 (parse_unsigned_long): Likewise. 3389 (parse_int_1): Likewise. 3390 (parse_int): Likewise. 3391 (parse_int_secure): Likewise. 3392 (parse_unsigned_long_list): Likewise. 3393 (parse_target_offload): Likewise. 3394 (parse_bind_var): Likewise. 3395 (parse_stacksize): Likewise. 3396 (parse_boolean): Likewise. 3397 (parse_wait_policy): Likewise. 3398 (parse_allocator): Likewise. 3399 (omp_display_env): Extended to output different variants of environment 3400 variables. 3401 (print_schedule): New helper function for omp_display_env which prints 3402 the values of run_sched_var. 3403 (print_proc_bind): New helper function for omp_display_env which prints 3404 the values of proc_bind_var. 3405 (enum gomp_parse_type): Collection of types used for parsing environment 3406 variables. 3407 (ENTRY): Preprocess string lengths of environment variables. 3408 (OMP_VAR_CNT): Preprocess table size. 3409 (OMP_HOST_VAR_CNT): Likewise. 3410 (INT_MAX_STR_LEN): Constant for the maximal number of digits of a device 3411 number. 3412 (gomp_get_icv_flag): Returns if a flag for a particular ICV is set. 3413 (gomp_set_icv_flag): Sets a flag for a particular ICV. 3414 (print_device_specific_icvs): New helper function for omp_display_env to 3415 print device specific ICV values. 3416 (get_device_num): New helper function for parse_device_specific. 3417 Extracts the device number from an environment variable name. 3418 (get_icv_member_addr): Gets the memory address for a particular member 3419 of an ICV struct. 3420 (gomp_get_initial_icv_item): Get a list item of gomp_initial_icv_list. 3421 (initialize_icvs): New function to initialize a gomp_initial_icvs 3422 struct. 3423 (add_initial_icv_to_list): Adds an ICV struct to gomp_initial_icv_list. 3424 (startswith): Checks if a string starts with a given prefix. 3425 (initialize_env): Extended to parse the new syntax of environment 3426 variables. 3427 * icv-device.c (omp_get_max_teams): Added. 3428 (ialias): Likewise. 3429 (omp_set_num_teams): Likewise. 3430 * icv.c (omp_set_num_teams): Moved to icv-device.c. 3431 (omp_get_max_teams): Likewise. 3432 (ialias): Likewise. 3433 * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Removed. 3434 (GOMP_ADDITIONAL_ICVS): New target-side struct that 3435 holds the designated ICVs of the target device. 3436 * libgomp.h (enum gomp_icvs): Collection of ICVs. 3437 (enum gomp_device_num): Definition of device numbers for _ALL, _DEV, and 3438 no suffix. 3439 (enum gomp_env_suffix): Collection of possible suffixes of environment 3440 variables. 3441 (struct gomp_initial_icvs): Contains all ICVs for which we need to store 3442 initial values. 3443 (struct gomp_default_icv):New struct to hold ICVs for which we need 3444 to store initial values. 3445 (struct gomp_icv_list): Definition of a linked list that is used for 3446 storing ICVs for the devices and also for _DEV, _ALL, and without 3447 suffix. 3448 (struct gomp_offload_icvs): New struct to hold ICVs that are copied to 3449 a device. 3450 (struct gomp_offload_icv_list): Definition of a linked list that holds 3451 device-specific ICVs that are copied to devices. 3452 (gomp_get_initial_icv_item): Get a list item of gomp_initial_icv_list. 3453 (gomp_get_icv_flag): Returns if a flag for a particular ICV is set. 3454 * libgomp.texi: Updated. 3455 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Extended to read 3456 further ICVs from the offload image. 3457 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise. 3458 * target.c (gomp_get_offload_icv_item): Get a list item of 3459 gomp_offload_icv_list. 3460 (get_gomp_offload_icvs): New. Returns the ICV values 3461 depending on the device num and the variable hierarchy. 3462 (gomp_load_image_to_device): Extended to copy further ICVs to a device. 3463 * testsuite/libgomp.c-c++-common/icv-5.c: New test. 3464 * testsuite/libgomp.c-c++-common/icv-6.c: New test. 3465 * testsuite/libgomp.c-c++-common/icv-7.c: New test. 3466 * testsuite/libgomp.c-c++-common/icv-8.c: New test. 3467 * testsuite/libgomp.c-c++-common/omp-display-env-1.c: New test. 3468 * testsuite/libgomp.c-c++-common/omp-display-env-2.c: New test. 3469 3470 2022-09-08 Jakub Jelinek <jakub (a] redhat.com> 3471 3472 * libgomp.texi (OpenMP 5.2): Mention that omp_cur_iteration is now 3473 fully supported. 3474 * testsuite/libgomp.c/doacross-4.c: New test. 3475 * testsuite/libgomp.c/doacross-5.c: New test. 3476 * testsuite/libgomp.c/doacross-6.c: New test. 3477 * testsuite/libgomp.c/doacross-7.c: New test. 3478 3479 2022-09-05 Tobias Burnus <tobias (a] codesourcery.com> 3480 3481 * libgomp.texi (OpenMP 5.2): Update doacross/omp_cur_iteration status. 3482 3483 2022-08-26 Tobias Burnus <tobias (a] codesourcery.com> 3484 3485 * libgomp.texi (OpenMP 5.0): Mark 'ancestor' as implemented but 3486 refer to 'requires'. 3487 * testsuite/libgomp.c-c++-common/reverse-offload-1-aux.c: New test. 3488 * testsuite/libgomp.c-c++-common/reverse-offload-1.c: New test. 3489 * testsuite/libgomp.fortran/reverse-offload-1-aux.f90: New test. 3490 * testsuite/libgomp.fortran/reverse-offload-1.f90: New test. 3491 3492 2022-08-17 Tobias Burnus <tobias (a] codesourcery.com> 3493 3494 PR middle-end/106548 3495 * testsuite/libgomp.c/linear-2.c: New test. 3496 3497 2022-08-17 Tobias Burnus <tobias (a] codesourcery.com> 3498 3499 * splay-tree.h: Fix splay_* macro unsetting if 3500 splay_tree_prefix is defined. 3501 3502 2022-07-29 Tobias Burnus <tobias (a] codesourcery.com> 3503 3504 * testsuite/libgomp.c-c++-common/pr106449-2.c: New test. 3505 3506 2022-07-29 Jakub Jelinek <jakub (a] redhat.com> 3507 3508 PR middle-end/106449 3509 * testsuite/libgomp.c-c++-common/pr106449.c: New test. 3510 3511 2022-07-12 Tobias Burnus <tobias (a] codesourcery.com> 3512 3513 * target.c (gomp_target_init): Added tailing '\n' to gomp_debug. 3514 3515 2022-07-12 Thomas Schwinge <thomas (a] codesourcery.com> 3516 3517 PR middle-end/101551 3518 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: XFAIL 3519 'offloading_enabled' diagnostics issue. 3520 3521 2022-07-11 Thomas Schwinge <thomas (a] codesourcery.com> 3522 3523 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Enhance 3524 '_Pragma' diagnostics verification. 3525 3526 2022-07-10 Lewis Hyatt <lhyatt (a] gmail.com> 3527 3528 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Adapt for 3529 improved warning locations. 3530 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Likewise. 3531 3532 2022-07-08 Thomas Schwinge <thomas (a] codesourcery.com> 3533 3534 * testsuite/libgomp.c-c++-common/requires-1.c: Add 'dg-note's. 3535 * testsuite/libgomp.c-c++-common/requires-2.c: Likewise. 3536 * testsuite/libgomp.c-c++-common/requires-3.c: Likewise. 3537 * testsuite/libgomp.c-c++-common/requires-7.c: Likewise. 3538 * testsuite/libgomp.fortran/requires-1.f90: Likewise. 3539 3540 2022-07-07 Thomas Schwinge <thomas (a] codesourcery.com> 3541 3542 * target.c (GOMP_offload_register, GOMP_offload_unregister): 3543 Denote as legacy entry points. 3544 * testsuite/lib/libgomp.exp 3545 (check_effective_target_offload_target_any): New proc. 3546 * testsuite/libgomp.c-c++-common/requires-1.c: Enable for 3547 'offload_target_any'. 3548 * testsuite/libgomp.c-c++-common/requires-3.c: Likewise. 3549 * testsuite/libgomp.c-c++-common/requires-7.c: Likewise. 3550 * testsuite/libgomp.fortran/requires-1.f90: Likewise. 3551 3552 2022-07-07 Thomas Schwinge <thomas (a] codesourcery.com> 3553 3554 * testsuite/libgomp.c-c++-common/requires-4.c: Enhance testing. 3555 * testsuite/libgomp.c-c++-common/requires-5.c: Likewise. 3556 3557 2022-07-07 Thomas Schwinge <thomas (a] codesourcery.com> 3558 3559 * testsuite/libgomp.c-c++-common/requires-3.c: Adjust. 3560 3561 2022-07-06 Thomas Schwinge <thomas (a] codesourcery.com> 3562 3563 * target.c (GOMP_offload_register_ver): Clarify 'target_data' -> 3564 'data'. 3565 (GOMP_offload_unregister_ver): Likewise. Fix up 'target_data'. 3566 3567 2022-07-04 Tobias Burnus <tobias (a] codesourcery.com> 3568 Jakub Jelinek <jakub (a] redhat.com> 3569 3570 * libgomp.texi (OpenMP 5.2): Mark linear-clause change as 'Y'. 3571 3572 2022-07-04 Tobias Burnus <tobias (a] codesourcery.com> 3573 Chung-Lin Tang <cltang (a] codesourcery.com> 3574 Thomas Schwinge <thomas (a] codesourcery.com> 3575 3576 * libgomp-plugin.h (GOMP_OFFLOAD_get_num_devices): Add 3577 omp_requires_mask arg. 3578 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Likewise; 3579 return -1 when device available but omp_requires_mask != 0. 3580 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_get_num_devices): Likewise. 3581 * oacc-host.c (host_get_num_devices, host_openacc_get_property): 3582 Update call. 3583 * oacc-init.c (resolve_device, acc_init_1, acc_shutdown_1, 3584 goacc_attach_host_thread_to_device, acc_get_num_devices, 3585 acc_set_device_num, get_property_any): Likewise. 3586 * target.c (omp_requires_mask): New global var. 3587 (gomp_requires_to_name): New. 3588 (GOMP_offload_register_ver): Handle passed omp_requires_mask. 3589 (gomp_target_init): Handle omp_requires_mask. 3590 * libgomp.texi (OpenMP 5.0): Update requires impl. status. 3591 (OpenMP 5.1): Add a missed item. 3592 (OpenMP 5.2): Mark linear-clause change as supported in C/C++. 3593 * testsuite/libgomp.c-c++-common/requires-1-aux.c: New test. 3594 * testsuite/libgomp.c-c++-common/requires-1.c: New test. 3595 * testsuite/libgomp.c-c++-common/requires-2-aux.c: New test. 3596 * testsuite/libgomp.c-c++-common/requires-2.c: New test. 3597 * testsuite/libgomp.c-c++-common/requires-3-aux.c: New test. 3598 * testsuite/libgomp.c-c++-common/requires-3.c: New test. 3599 * testsuite/libgomp.c-c++-common/requires-4-aux.c: New test. 3600 * testsuite/libgomp.c-c++-common/requires-4.c: New test. 3601 * testsuite/libgomp.c-c++-common/requires-5-aux.c: New test. 3602 * testsuite/libgomp.c-c++-common/requires-5.c: New test. 3603 * testsuite/libgomp.c-c++-common/requires-6.c: New test. 3604 * testsuite/libgomp.c-c++-common/requires-7-aux.c: New test. 3605 * testsuite/libgomp.c-c++-common/requires-7.c: New test. 3606 * testsuite/libgomp.fortran/requires-1-aux.f90: New test. 3607 * testsuite/libgomp.fortran/requires-1.f90: New test. 3608 3609 2022-07-01 Tobias Burnus <tobias (a] codesourcery.com> 3610 3611 * libgomp.texi (OpenMP 5.2): Mark target enter/exit data 3612 with fromto as implemented. 3613 3614 2022-06-28 Martin Liska <mliska (a] suse.cz> 3615 3616 * acinclude.m4: Fix typo in mold linker detection. 3617 * Makefile.in: Regenerate. 3618 * configure: Regenerate. 3619 3620 2022-06-21 Jakub Jelinek <jakub (a] redhat.com> 3621 Paul Iannetta <piannetta (a] kalrayinc.com> 3622 3623 PR libgomp/106045 3624 * testsuite/libgomp.c/target-31.c: Add private (i) clause. 3625 3626 2022-06-17 Martin Liska <mliska (a] suse.cz> 3627 3628 * libgomp.texi: Add table header for new features of 3629 OpenMP 5.2. 3630 3631 2022-06-15 Jakub Jelinek <jakub (a] redhat.com> 3632 3633 * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c (main): Initialize 3634 q to ddress of an automatic variable. Use -5 instead of -1 in 3635 omp_get_mapped_ptr call. Add test with omp_initial_device. 3636 * testsuite/libgomp.fortran/get-mapped-ptr-1.f90 (main): Use -5 instead 3637 of -1 in omp_get_mapped_ptr call. Add test with omp_initial_device. 3638 Renumber stop arguments afterwards. 3639 3640 2022-06-13 Jakub Jelinek <jakub (a] redhat.com> 3641 3642 * omp.h.in (omp_initial_device, omp_invalid_device): New enumerators. 3643 * omp_lib.f90.in (omp_initial_device, omp_invalid_device): New 3644 parameters. 3645 * omp_lib.h.in (omp_initial_device, omp_invalid_device): Likewise. 3646 * target.c (resolve_device): Add remapped argument, handle 3647 GOMP_DEVICE_ICV only if remapped is true (and clear remapped), 3648 for negative values, treat GOMP_DEVICE_FALLBACK as fallback only 3649 if remapped, otherwise treat omp_initial_device that way. For 3650 omp_invalid_device, always emit gomp_fatal, even when 3651 OMP_TARGET_OFFLOAD isn't mandatory. 3652 (GOMP_target, GOMP_target_ext, GOMP_target_data, GOMP_target_data_ext, 3653 GOMP_target_update, GOMP_target_update_ext, 3654 GOMP_target_enter_exit_data): Pass true as remapped argument to 3655 resolve_device. 3656 (omp_target_alloc, omp_target_free, omp_target_is_present, 3657 omp_target_memcpy_check, omp_target_associate_ptr, 3658 omp_target_disassociate_ptr, omp_get_mapped_ptr, 3659 omp_target_is_accessible): Pass false as remapped argument to 3660 resolve_device. Treat omp_initial_device the same as 3661 gomp_get_num_devices (). Don't bypass resolve_device calls if 3662 device_num is negative. 3663 (omp_pause_resource): Treat omp_initial_device the same as 3664 gomp_get_num_devices (). Call resolve_device. 3665 * icv-device.c (omp_set_default_device): Always set to device_num 3666 even when it is negative. 3667 * libgomp.texi: Document that Conforming device numbers, 3668 omp_initial_device and omp_invalid_device is implemented. 3669 * testsuite/libgomp.c/target-41.c (main): Add test with 3670 omp_initial_device. 3671 * testsuite/libgomp.c/target-45.c: New test. 3672 * testsuite/libgomp.c/target-46.c: New test. 3673 * testsuite/libgomp.c/target-47.c: New test. 3674 * testsuite/libgomp.c-c++-common/target-is-accessible-1.c (main): Add 3675 test with omp_initial_device. Use -5 instead of -1 for negative value 3676 test. 3677 * testsuite/libgomp.fortran/target-is-accessible-1.f90 (main): 3678 Likewise. Reorder stop numbers. 3679 3680 2022-06-10 Jakub Jelinek <jakub (a] redhat.com> 3681 3682 * allocator.c (gomp_init_memkind): Call dlopen with "libmemkind.so.0" 3683 rather than "libmemkind.so". 3684 3685 2022-06-10 Thomas Schwinge <thomas (a] codesourcery.com> 3686 3687 * plugin/Makefrag.am: Evaluate 'if PLUGIN_NVPTX_DYNAMIC' to true. 3688 * plugin/configfrag.ac (--with-cuda-driver) 3689 (--with-cuda-driver-include, --with-cuda-driver-lib) 3690 (CUDA_DRIVER_INCLUDE, CUDA_DRIVER_LIB, PLUGIN_NVPTX_CPPFLAGS) 3691 (PLUGIN_NVPTX_LDFLAGS, PLUGIN_NVPTX_LIBS, PLUGIN_NVPTX_DYNAMIC): 3692 Remove. 3693 * testsuite/libgomp-test-support.exp.in (cuda_driver_include) 3694 (cuda_driver_lib): Remove. 3695 * testsuite/lib/libgomp.exp (libgomp_init): Don't consider these. 3696 * Makefile.in: Regenerate. 3697 * configure: Likewise. 3698 * testsuite/Makefile.in: Likewise. 3699 3700 2022-06-09 Jakub Jelinek <jakub (a] redhat.com> 3701 3702 * config/linux/allocator.c: Fix up #include directive. 3703 3704 2022-06-09 Jakub Jelinek <jakub (a] redhat.com> 3705 3706 * allocator.c: Include dlfcn.h if LIBGOMP_USE_MEMKIND is defined. 3707 (enum gomp_memkind_kind): New type. 3708 (struct omp_allocator_data): Add memkind field if LIBGOMP_USE_MEMKIND 3709 is defined. 3710 (struct gomp_memkind_data): New type. 3711 (memkind_data, memkind_data_once): New variables. 3712 (gomp_init_memkind, gomp_get_memkind): New functions. 3713 (omp_init_allocator): Initialize data.memkind, don't fail for 3714 omp_high_bw_mem_space if libmemkind supports it. 3715 (omp_aligned_alloc, omp_free, omp_aligned_calloc, omp_realloc): Add 3716 memkind support of LIBGOMP_USE_MEMKIND is defined. 3717 * config/linux/allocator.c: New file. 3718 3719 2022-06-03 Tobias Burnus <tobias (a] codesourcery.com> 3720 3721 * libgomp.texi (OpenMP 5.2): Mark scope w/ firstprivate/allocate as Y. 3722 * testsuite/libgomp.fortran/scope-2.f90: New test. 3723 3724 2022-06-02 David Malcolm <dmalcolm (a] redhat.com> 3725 3726 * testsuite/lib/libgomp.exp: Add load_gcc_lib of scansarif.exp. 3727 3728 2022-05-31 Jakub Jelinek <jakub (a] redhat.com> 3729 3730 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add testcase for 3731 scope construct with allocate clause. 3732 * testsuite/libgomp.c-c++-common/allocate-3.c (foo): Likewise. 3733 * testsuite/libgomp.c-c++-common/scope-2.c: New test. 3734 3735 2022-05-28 Tobias Burnus <tobias (a] codesourcery.com> 3736 3737 * libgomp.texi (OpenMP 5.2): Mark 'enter' clause as supported. 3738 * testsuite/libgomp.fortran/declare-target-1.f90: Extend to test 3739 explicit 'to' and 'enter' clause. 3740 * testsuite/libgomp.fortran/declare-target-2.f90: Update accordingly. 3741 3742 2022-05-28 Jakub Jelinek <jakub (a] redhat.com> 3743 3744 PR libgomp/105745 3745 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Don't define for 3746 defined(HAVE__ALIGNED_MALLOC) case. 3747 * alloc.c (gomp_aligned_alloc): Move defined(HAVE__ALIGNED_MALLOC) 3748 handling as last option before fallback instead of first. 3749 (gomp_aligned_free): For defined(HAVE__ALIGNED_MALLOC) call 3750 _aligned_free. 3751 3752 2022-05-27 Jakub Jelinek <jakub (a] redhat.com> 3753 3754 * testsuite/libgomp.c-c++-common/target-40.c: Modify some existing to 3755 clauses to enter. 3756 * testsuite/libgomp.c/target-41.c: Likewise. 3757 3758 2022-05-27 Tobias Burnus <tobias (a] codesourcery.com> 3759 3760 * libgomp.texi (Other new OpenMP 5.1 features): Add 3761 'begin declare target'. 3762 (Other new OpenMP 5.2 features): New. 3763 3764 2022-05-25 Jakub Jelinek <jakub (a] redhat.com> 3765 3766 * task.c (gomp_task_run_post_handle_dependers): If empty_task 3767 is the last task taskwait depend depends on, wake it up. 3768 Similarly if it is the last child of a taskgroup, use atomic 3769 store instead of decrement and awak taskgroup wait if any. 3770 * testsuite/libgomp.c-c++-common/taskwait-depend-nowait-2.c: New test. 3771 3772 2022-05-24 Andrew Stubbs <ams (a] codesourcery.com> 3773 3774 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add 3775 EF_AMDGPU_MACH_AMDGCN_GFX90a. 3776 (gcn_gfx90a_s): New. 3777 (isa_hsa_name): Support gfx90a. 3778 (isa_code): Likewise. 3779 3780 2022-05-24 Tobias Burnus <tobias (a] codesourcery.com> 3781 3782 PR c/105378 3783 * libgomp.texi (OpenMP 5.1): Set 'taskwait nowait' to 'Y'. 3784 * testsuite/libgomp.fortran/taskwait-depend-nowait-1.f90: New. 3785 3786 2022-05-24 Jakub Jelinek <jakub (a] redhat.com> 3787 3788 PR c/105378 3789 * libgomp_g.h (GOMP_taskwait_depend_nowait): Declare. 3790 * libgomp.map (GOMP_taskwait_depend_nowait): Export at GOMP_5.1.1. 3791 * task.c (empty_task): New function. 3792 (gomp_task_run_post_handle_depend_hash): Declare earlier. 3793 (gomp_task_run_post_handle_depend): Declare. 3794 (GOMP_task): Optimize fn == empty_task if there is nothing to wait 3795 for. 3796 (gomp_task_run_post_handle_dependers): Optimize task->fn == empty_task. 3797 (GOMP_taskwait_depend_nowait): New function. 3798 * testsuite/libgomp.c-c++-common/taskwait-depend-nowait-1.c: New test. 3799 3800 2022-05-23 Tobias Burnus <tobias (a] codesourcery.com> 3801 3802 PR fortran/104949 3803 * target.c (gomp_map_vars_internal, copy_firstprivate_data): 3804 Support attach for GOMP_MAP_FIRSTPRIVATE. 3805 * testsuite/libgomp.fortran/target-firstprivate-1.f90: New test. 3806 * testsuite/libgomp.fortran/target-firstprivate-2.f90: New test. 3807 * testsuite/libgomp.fortran/target-firstprivate-3.f90: New test. 3808 3809 2022-05-20 Marcel Vollweiler <marcel (a] codesourcery.com> 3810 3811 * libgomp.map: Added omp_target_memcpy_async and 3812 omp_target_memcpy_rect_async. 3813 * libgomp.texi: Both functions are now supported. 3814 * omp.h.in: Added omp_target_memcpy_async and 3815 omp_target_memcpy_rect_async. 3816 * omp_lib.f90.in: Added interfaces for both new functions. 3817 * omp_lib.h.in: Likewise. 3818 * target.c (ialias_redirect): Added for GOMP_task. 3819 (omp_target_memcpy): Restructured into check and copy part. 3820 (omp_target_memcpy_check): New helper function for omp_target_memcpy and 3821 omp_target_memcpy_async that checks requirements. 3822 (omp_target_memcpy_copy): New helper function for omp_target_memcpy and 3823 omp_target_memcpy_async that performs the memcpy. 3824 (omp_target_memcpy_async_helper): New helper function that is used in 3825 omp_target_memcpy_async for the asynchronous task. 3826 (omp_target_memcpy_async): Added. 3827 (omp_target_memcpy_rect): Restructured into check and copy part. 3828 (omp_target_memcpy_rect_check): New helper function for 3829 omp_target_memcpy_rect and omp_target_memcpy_rect_async that checks 3830 requirements. 3831 (omp_target_memcpy_rect_copy): New helper function for 3832 omp_target_memcpy_rect and omp_target_memcpy_rect_async that performs 3833 the memcpy. 3834 (omp_target_memcpy_rect_async_helper): New helper function that is used 3835 in omp_target_memcpy_rect_async for the asynchronous task. 3836 (omp_target_memcpy_rect_async): Added. 3837 * task.c (ialias): Added for GOMP_task. 3838 * testsuite/libgomp.c-c++-common/target-memcpy-async-1.c: New test. 3839 * testsuite/libgomp.c-c++-common/target-memcpy-async-2.c: New test. 3840 * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-1.c: New test. 3841 * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-2.c: New test. 3842 * testsuite/libgomp.fortran/target-memcpy-async-1.f90: New test. 3843 * testsuite/libgomp.fortran/target-memcpy-async-2.f90: New test. 3844 * testsuite/libgomp.fortran/target-memcpy-rect-async-1.f90: New test. 3845 * testsuite/libgomp.fortran/target-memcpy-rect-async-2.f90: New test. 3846 3847 2022-05-18 Tobias Burnus <tobias (a] codesourcery.com> 3848 3849 * libgomp.texi (OpenMP 5.1): Set 'inoutset' to Y. 3850 (OpenMP Context Selectors): Add missing comma. 3851 * testsuite/libgomp.fortran/depend-5.f90: Add inoutset test. 3852 * testsuite/libgomp.fortran/depend-6.f90: Likewise. 3853 * testsuite/libgomp.fortran/depend-7.f90: Likewise. 3854 * testsuite/libgomp.fortran/depend-inoutset-1.f90: New test. 3855 3856 2022-05-17 Jakub Jelinek <jakub (a] redhat.com> 3857 3858 * libgomp.texi (OpenMP 5.1): Remove "Not inside target regions" 3859 comment for omp_display_env feature. 3860 3861 2022-05-17 Tobias Burnus <tobias (a] codesourcery.com> 3862 3863 * libgomp.texi (Offload-Target Specifics): New chapter; add section 3864 to document OpenMP context selectors. 3865 3866 2022-05-17 Jakub Jelinek <jakub (a] redhat.com> 3867 3868 * libgomp.h (struct gomp_task_depend_entry): Change is_in type 3869 from bool to unsigned char. 3870 * task.c (gomp_task_handle_depend): Handle GOMP_DEPEND_INOUTSET. 3871 Ignore dependencies where 3872 task->depend[i].is_in && task->depend[i].is_in == ent->is_in 3873 rather than just task->depend[i].is_in && ent->is_in. Remember 3874 whether GOMP_DEPEND_IN loop is needed and guard the loop with that 3875 conditional. 3876 (gomp_task_maybe_wait_for_dependencies): Handle GOMP_DEPEND_INOUTSET. 3877 Ignore dependencies where elem.is_in && elem.is_in == ent->is_in 3878 rather than just elem.is_in && ent->is_in. 3879 * testsuite/libgomp.c-c++-common/depend-1.c (test): Add task with 3880 inoutset depend-kind. 3881 * testsuite/libgomp.c-c++-common/depend-2.c (test): Likewise. 3882 * testsuite/libgomp.c-c++-common/depend-3.c (test): Likewise. 3883 * testsuite/libgomp.c-c++-common/depend-inoutset-1.c: New test. 3884 3885 2022-05-17 Tobias Burnus <tobias (a] codesourcery.com> 3886 3887 * libgomp.texi (OpenMP Implementation Status): Add 5.2 table. 3888 3889 2022-05-17 Tobias Burnus <tobias (a] codesourcery.com> 3890 3891 * libgomp.texi (OpenMP 5.1): Set omp_all_memory to 'Y'. 3892 * testsuite/libgomp.fortran/depend-5.f90: New test. 3893 * testsuite/libgomp.fortran/depend-6.f90: New test. 3894 * testsuite/libgomp.fortran/depend-7.f90: New test. 3895 3896 2022-05-16 Marcel Vollweiler <marcel (a] codesourcery.com> 3897 3898 * testsuite/libgomp.c++/target-has-device-addr-7.C: New test. 3899 * testsuite/libgomp.c++/target-has-device-addr-8.C: New test. 3900 * testsuite/libgomp.c++/target-has-device-addr-9.C: New test. 3901 3902 2022-05-13 Tobias Burnus <tobias (a] codesourcery.com> 3903 3904 * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test. 3905 3906 2022-05-13 Tobias Burnus <tobias (a] codesourcery.com> 3907 3908 * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test. 3909 3910 2022-05-13 Thomas Schwinge <thomas (a] codesourcery.com> 3911 3912 * plugin/Makefrag.am (libgomp_plugin_nvptx_la_CPPFLAGS) 3913 [PLUGIN_NVPTX_DYNAMIC]: Don't append '$(PLUGIN_NVPTX_CPPFLAGS)'. 3914 (libgomp_plugin_nvptx_la_LDFLAGS) [PLUGIN_NVPTX_DYNAMIC]: Don't 3915 append '$(PLUGIN_NVPTX_LDFLAGS)'. 3916 * Makefile.in: Regenerate. 3917 3918 2022-05-12 Thomas Schwinge <thomas (a] codesourcery.com> 3919 3920 * Makefile.am (libgomp_la_LIBADD): Initialize. 3921 * plugin/configfrag.ac (DL_LIBS): New. 3922 (PLUGIN_GCN_LIBS): Remove. 3923 (PLUGIN_NVPTX_LIBS): Don't set in the 'PLUGIN_NVPTX_DYNAMIC' case. 3924 * plugin/Makefrag.am (libgomp_la_LIBADD) 3925 (libgomp_plugin_gcn_la_LIBADD): Consider '$(DL_LIBS)'. 3926 (libgomp_plugin_nvptx_la_LIBADD) <PLUGIN_NVPTX_DYNAMIC>: Likewise. 3927 * Makefile.in: Regenerate. 3928 * config.h.in: Likewise. 3929 * configure: Likewise. 3930 * testsuite/Makefile.in: Likewise. 3931 3932 2022-05-12 Thomas Schwinge <thomas (a] codesourcery.com> 3933 3934 * plugin/Makefrag.am: Handle 'PLUGIN_NVPTX_DYNAMIC'. 3935 * plugin/configfrag.ac (PLUGIN_NVPTX_DYNAMIC): Change 3936 'AC_DEFINE_UNQUOTED' into 'AM_CONDITIONAL'. 3937 * plugin/plugin-nvptx.c: Split 'PLUGIN_NVPTX_DYNAMIC' into 3938 'PLUGIN_NVPTX_INCLUDE_SYSTEM_CUDA_H' and 3939 'PLUGIN_NVPTX_LINK_LIBCUDA'. 3940 * Makefile.in: Regenerate. 3941 * config.h.in: Likewise. 3942 * configure: Likewise. 3943 3944 2022-05-12 Thomas Schwinge <thomas (a] codesourcery.com> 3945 3946 * plugin/configfrag.ac: Don't 'AC_SUBST' and 'AC_DEFINE_UNQUOTED' 3947 for 'PLUGIN_GCN', 'PLUGIN_NVPTX'. 3948 * Makefile.in: Regenerate. 3949 * config.h.in: Likewise. 3950 * configure: Likewise. 3951 * testsuite/Makefile.in: Likewise. 3952 3953 2022-05-12 Jakub Jelinek <jakub (a] redhat.com> 3954 3955 * libgomp.h (struct gomp_task): Add depend_all_memory member. 3956 * task.c (gomp_init_task): Initialize depend_all_memory. 3957 (gomp_task_handle_depend): Handle omp_all_memory. 3958 (gomp_task_run_post_handle_depend_hash): Clear 3959 parent->depend_all_memory if equal to current task. 3960 (gomp_task_maybe_wait_for_dependencies): Handle omp_all_memory. 3961 * testsuite/libgomp.c-c++-common/depend-1.c: New test. 3962 * testsuite/libgomp.c-c++-common/depend-2.c: New test. 3963 * testsuite/libgomp.c-c++-common/depend-3.c: New test. 3964 3965 2022-05-11 Thomas Schwinge <thomas (a] codesourcery.com> 3966 3967 * plugin/configfrag.ac: Remove '--with-hsa-runtime', 3968 '--with-hsa-runtime-include', '--with-hsa-runtime-lib' processing. 3969 * Makefile.in: Regenerate. 3970 * configure: Likewise. 3971 * testsuite/Makefile.in: Likewise. 3972 3973 2022-05-11 Thomas Schwinge <thomas (a] codesourcery.com> 3974 3975 * plugin/Makefrag.am (libgomp_plugin_gcn_la_CPPFLAGS): Don't 3976 consider 'PLUGIN_GCN_CPPFLAGS'. 3977 (libgomp_plugin_gcn_la_LDFLAGS): Don't consider 3978 'PLUGIN_GCN_LDFLAGS'. 3979 * plugin/configfrag.ac (PLUGIN_GCN_CPPFLAGS, PLUGIN_GCN_LDFLAGS): 3980 Remove. 3981 * Makefile.in: Regenerate. 3982 * configure: Likewise. 3983 * testsuite/Makefile.in: Likewise. 3984 3985 2022-05-11 Thomas Schwinge <thomas (a] codesourcery.com> 3986 3987 * plugin/configfrag.ac (HSA_RUNTIME_CPPFLAGS) 3988 (HSA_RUNTIME_LDFLAGS): Remove. 3989 * configure: Regenerate. 3990 3991 2022-05-11 Thomas Schwinge <thomas (a] codesourcery.com> 3992 3993 * testsuite/lib/libgomp.exp (libgomp_init): Don't 3994 'append always_ld_library_path ":$hsa_runtime_lib"'. 3995 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib): Don't set. 3996 3997 2022-05-10 Thomas Schwinge <thomas (a] codesourcery.com> 3998 3999 * testsuite/libgomp.fortran/use_device_addr-5.f90: Fix up 4000 multi-device testing. 4001 4002 2022-05-06 Marcel Vollweiler <marcel (a] codesourcery.com> 4003 4004 * libgomp.map: Added omp_target_is_accessible. 4005 * libgomp.texi: Tagged omp_target_is_accessible as supported. 4006 * omp.h.in: Added omp_target_is_accessible. 4007 * omp_lib.f90.in: Added interface for omp_target_is_accessible. 4008 * omp_lib.h.in: Likewise. 4009 * target.c (omp_target_is_accessible): Added implementation of 4010 omp_target_is_accessible. 4011 * testsuite/libgomp.c-c++-common/target-is-accessible-1.c: New test. 4012 * testsuite/libgomp.fortran/target-is-accessible-1.f90: New test. 4013 4014 2022-05-05 Sandra Loosemore <sandra (a] codesourcery.com> 4015 4016 * libgomp.texi (OpenMP 5.0): Feature is now fully supported. 4017 4018 2022-05-04 Tobias Burnus <tobias (a] codesourcery.com> 4019 4020 * plugin/plugin-gcn.c (isa_matches_agent): Suggest -foffload-options. 4021 4022 2022-05-04 Tobias Burnus <tobias (a] codesourcery.com> 4023 4024 * testsuite/libgomp.fortran/use_device_addr-5.f90: New test. 4025 4026 2022-05-03 Marcel Vollweiler <marcel (a] codesourcery.com> 4027 4028 * libgomp.map: Added omp_get_mapped_ptr. 4029 * libgomp.texi: Tagged omp_get_mapped_ptr as supported. 4030 * omp.h.in: Added omp_get_mapped_ptr. 4031 * omp_lib.f90.in: Added interface for omp_get_mapped_ptr. 4032 * omp_lib.h.in: Likewise. 4033 * target.c (omp_get_mapped_ptr): Added implementation of 4034 omp_get_mapped_ptr. 4035 * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c: New test. 4036 * testsuite/libgomp.c-c++-common/get-mapped-ptr-2.c: New test. 4037 * testsuite/libgomp.c-c++-common/get-mapped-ptr-3.c: New test. 4038 * testsuite/libgomp.c-c++-common/get-mapped-ptr-4.c: New test. 4039 * testsuite/libgomp.fortran/get-mapped-ptr-1.f90: New test. 4040 * testsuite/libgomp.fortran/get-mapped-ptr-2.f90: New test. 4041 * testsuite/libgomp.fortran/get-mapped-ptr-3.f90: New test. 4042 * testsuite/libgomp.fortran/get-mapped-ptr-4.f90: New test. 4043 4044 2022-04-28 Thomas Schwinge <thomas (a] codesourcery.com> 4045 4046 PR fortran/104717 4047 * testsuite/libgomp.oacc-fortran/print-1.f90: Add OpenACC 4048 privatization scanning. For GCN offloading compilation, raise 4049 '-mgang-private-size'. 4050 4051 2022-04-26 Jakub Jelinek <jakub (a] redhat.com> 4052 4053 PR libgomp/105358 4054 * work.c (gomp_init_work_share): Don't mask of adjustment for 4055 dynamic long long realignment if struct gomp_work_share has smaller 4056 alignof than long long. 4057 * loop.c (GOMP_loop_start): Don't use inline_ordered_team_ids if 4058 struct gomp_work_share has smaller alignof than long long or if 4059 sizeof (struct gomp_work_share) is smaller than 4060 INLINE_ORDERED_TEAM_IDS_OFF. 4061 * loop_ull.c (GOMP_loop_ull_start): Likewise. 4062 * sections.c (GOMP_sections2_start): Likewise. 4063 4064 2022-04-25 Jakub Jelinek <jakub (a] redhat.com> 4065 Thomas Schwinge <thomas (a] codesourcery.com> 4066 4067 PR fortran/104717 4068 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Adjust. 4069 4070 2022-04-13 Jakub Jelinek <jakub (a] redhat.com> 4071 4072 * libgomp.texi: Fix a typo - mutexinouset -> mutexinoutset. 4073 4074 2022-04-06 Thomas Schwinge <thomas (a] codesourcery.com> 4075 4076 * plugin/cuda/cuda.h: Remove file. 4077 * plugin/plugin-nvptx.c [PLUGIN_NVPTX_DYNAMIC]: Include 4078 "cuda/cuda.h" instead of <cuda.h>. 4079 * plugin/configfrag.ac <PLUGIN_NVPTX_DYNAMIC>: Don't set 4080 'PLUGIN_NVPTX_CPPFLAGS'. 4081 * configure: Regenerate. 4082 4083 2022-04-05 Chung-Lin Tang <cltang (a] codesourcery.com> 4084 4085 * testsuite/libgomp.fortran/use_device_ptr-4.f90: New testcase. 4086 4087 2022-04-04 Tom de Vries <tdevries (a] suse.de> 4088 4089 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Use 4090 on_device_arch_nvptx instead of offload_target_nvptx. 4091 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same. 4092 4093 2022-04-01 Tom de Vries <tdevries (a] suse.de> 4094 4095 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Define 4096 and use REC_DEPTH. 4097 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same. 4098 4099 2022-04-01 Tom de Vries <tdevries (a] suse.de> 4100 4101 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: Fix 4102 num_workers check. 4103 4104 2022-03-29 Chenghua Xu <xuchenghua (a] loongson.cn> 4105 Lulu Cheng <chenglulu (a] loongson.cn> 4106 4107 * configure.tgt: Add LoongArch triplet. 4108 4109 2022-03-28 Tom de Vries <tdevries (a] suse.de> 4110 4111 * plugin/configfrag.ac: Use /$(libexecdir:\$(exec_prefix)/%=%)/ 4112 instead of /libexec/. 4113 * configure: Regenerate. 4114 4115 2022-03-25 Tom de Vries <tdevries (a] suse.de> 4116 4117 PR libgomp/105042 4118 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Reduce 4119 execution time. 4120 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Same. 4121 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Same. 4122 4123 2022-03-23 Tobias Burnus <tobias (a] codesourcery.com> 4124 4125 PR middle-end/104285 4126 * testsuite/libgomp.c++/target-same-name-2-a.C: New test. 4127 * testsuite/libgomp.c++/target-same-name-2-b.C: New test. 4128 * testsuite/libgomp.c++/target-same-name-2.C: New test. 4129 * testsuite/libgomp.c-c++-common/target-same-name-1-a.c: New test. 4130 * testsuite/libgomp.c-c++-common/target-same-name-1-b.c: New test. 4131 * testsuite/libgomp.c-c++-common/target-same-name-1.c: New test. 4132 4133 2022-03-22 Tom de Vries <tdevries (a] suse.de> 4134 4135 PR target/104916 4136 PR target/104783 4137 * testsuite/libgomp.c/pr104783-2.c: New test. 4138 4139 2022-03-18 Tobias Burnus <tobias (a] codesourcery.com> 4140 4141 PR fortran/103039 4142 * testsuite/libgomp.fortran/associate4.f90: New test. 4143 4144 2022-03-18 Tom de Vries <tdevries (a] suse.de> 4145 4146 PR target/104952 4147 * testsuite/libgomp.c/pr104952-1.c: New test. 4148 * testsuite/libgomp.c/pr104952-2.c: New test. 4149 4150 2022-03-18 Jakub Jelinek <jakub (a] redhat.com> 4151 4152 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Move seen 4153 variable next to pl variable. 4154 4155 2022-03-17 Thomas Schwinge <thomas (a] codesourcery.com> 4156 4157 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: 4158 Enhance. 4159 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise. 4160 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise. 4161 4162 2022-03-17 Thomas Schwinge <thomas (a] codesourcery.com> 4163 4164 PR middle-end/90115 4165 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Enhance. 4166 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise. 4167 4168 2022-03-16 Marcel Vollweiler <marcel (a] codesourcery.com> 4169 4170 * fortran.c (omp_set_num_teams_8_): Call omp_set_num_teams instead of 4171 omp_set_max_active_levels. 4172 * testsuite/libgomp.fortran/icv-8.f90: New test. 4173 4174 2022-03-16 Thomas Schwinge <thomas (a] codesourcery.com> 4175 4176 PR testsuite/102841 4177 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Adjust. 4178 4179 2022-03-13 Tobias Burnus <tobias (a] codesourcery.com> 4180 4181 * libgomp.texi: Fix typo. 4182 4183 2022-03-12 Thomas Schwinge <thomas (a] codesourcery.com> 4184 4185 PR middle-end/100280 4186 PR middle-end/104892 4187 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust. 4188 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise. 4189 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: 4190 Likewise. 4191 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c: 4192 Likewise. 4193 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise. 4194 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise. 4195 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: 4196 Likewise. 4197 4198 2022-03-12 Thomas Schwinge <thomas (a] codesourcery.com> 4199 4200 PR middle-end/104892 4201 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Point 4202 to PR104892. 4203 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise, 4204 enable '--param=openacc-kernels=decompose' and adjust. 4205 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c: 4206 Likewise. 4207 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise. 4208 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: 4209 Likewise. 4210 4211 2022-03-12 Thomas Schwinge <thomas (a] codesourcery.com> 4212 4213 PR middle-end/90115 4214 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Enhance. 4215 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c: Likewise. 4216 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise. 4217 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Likewise. 4218 4219 2022-03-12 Thomas Schwinge <thomas (a] codesourcery.com> 4220 4221 PR middle-end/100280 4222 PR middle-end/104086 4223 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c: 4224 Merge this... 4225 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c: 4226 ..., and this... 4227 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: ... into 4228 this, and adjust. 4229 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: 4230 Extend. 4231 4232 2022-03-10 Hafiz Abid Qadeer <abidh (a] codesourcery.com> 4233 4234 * testsuite/libgomp.fortran/allocate-1.f90: Remove pool_size 4235 trait. Test last index in w and v array. Remove redundant 4236 assignment to V(1). Move alignment checks at the end of 4237 parallel region. 4238 4239 2022-03-10 Tom de Vries <tdevries (a] suse.de> 4240 4241 * testsuite/libgomp.c/pr104783.c: New test. 4242 4243 2022-03-10 Thomas Schwinge <thomas (a] codesourcery.com> 4244 4245 PR middle-end/90115 4246 PR middle-end/102330 4247 PR middle-end/104774 4248 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: 4249 Enhance. 4250 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c: 4251 Adjust. 4252 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c: 4253 Likewise. 4254 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c: 4255 Likewise. 4256 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c: 4257 Likewise. 4258 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c: 4259 Likewise. 4260 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c: 4261 Likewise. 4262 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c: 4263 Likewise. 4264 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c: 4265 Likewise. 4266 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c: 4267 Likewise. 4268 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c: 4269 Likewise. 4270 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c: 4271 Likewise. 4272 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c: 4273 Likewise. 4274 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c: 4275 Likewise. 4276 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise. 4277 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise. 4278 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise. 4279 4280 2022-03-10 Thomas Schwinge <thomas (a] codesourcery.com> 4281 4282 PR middle-end/90115 4283 * testsuite/libgomp.oacc-fortran/routine-1.f90: Enhance. 4284 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise. 4285 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise. 4286 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise. 4287 4288 2022-03-04 Thomas Schwinge <thomas (a] codesourcery.com> 4289 4290 PR testsuite/104791 4291 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Fix 4292 expected diagnostics. 4293 4294 2022-03-04 Thomas Schwinge <thomas (a] codesourcery.com> 4295 4296 PR middle-end/104784 4297 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c: 4298 Test with '--param=openacc-kernels=decompose'. 4299 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c: 4300 Likewise. 4301 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c: 4302 Likewise. 4303 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c: 4304 Likewise. 4305 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c: 4306 Likewise. 4307 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c: 4308 Likewise. 4309 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c: 4310 Likewise. 4311 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c: 4312 Likewise. 4313 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c: 4314 Likewise. 4315 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c: 4316 Likewise. 4317 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c: 4318 Likewise. 4319 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c: 4320 Likewise. 4321 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c: 4322 Likewise. 4323 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c: 4324 Likewise. 4325 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c: 4326 Likewise. 4327 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c: 4328 Likewise. 4329 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c: 4330 Likewise. 4331 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c: 4332 Likewise. 4333 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c: 4334 Likewise. 4335 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c: 4336 Likewise. 4337 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90: 4338 Likewise. 4339 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90: 4340 Likewise. 4341 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90: 4342 Likewise. 4343 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90: 4344 Likewise. 4345 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90: 4346 Likewise. 4347 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90: 4348 Likewise. 4349 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90: 4350 Likewise. 4351 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90: 4352 Likewise. 4353 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90: 4354 Likewise. 4355 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90: 4356 Likewise. 4357 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90: 4358 Likewise. 4359 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90: 4360 Likewise. 4361 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90: 4362 Likewise. 4363 4364 2022-03-04 Thomas Schwinge <thomas (a] codesourcery.com> 4365 4366 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c: 4367 Test '-fopt-info-omp-all'. 4368 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c: 4369 Likewise. 4370 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c: 4371 Likewise. 4372 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c: 4373 Likewise. 4374 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c: 4375 Likewise. 4376 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c: 4377 Likewise. 4378 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c: 4379 Likewise. 4380 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c: 4381 Likewise. 4382 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c: 4383 Likewise. 4384 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c: 4385 Likewise. 4386 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c: 4387 Likewise. 4388 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c: 4389 Likewise. 4390 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c: 4391 Likewise. 4392 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c: 4393 Likewise. 4394 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c: 4395 Likewise. 4396 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c: 4397 Likewise. 4398 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c: 4399 Likewise. 4400 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c: 4401 Likewise. 4402 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c: 4403 Likewise. 4404 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c: 4405 Likewise. 4406 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90: 4407 Likewise. 4408 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90: 4409 Likewise. 4410 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90: 4411 Likewise. 4412 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90: 4413 Likewise. 4414 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90: 4415 Likewise. 4416 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90: 4417 Likewise. 4418 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90: 4419 Likewise. 4420 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90: 4421 Likewise. 4422 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90: 4423 Likewise. 4424 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90: 4425 Likewise. 4426 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90: 4427 Likewise. 4428 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90: 4429 Likewise. 4430 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90: 4431 Likewise. 4432 4433 2022-03-04 Thomas Schwinge <thomas (a] codesourcery.com> 4434 4435 PR middle-end/100280 4436 PR middle-end/104132 4437 PR middle-end/104133 4438 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: 4439 Extend. 4440 4441 2022-03-04 Thomas Schwinge <thomas (a] codesourcery.com> 4442 4443 PR middle-end/100280 4444 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust. 4445 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: 4446 Likewise. 4447 4448 2022-03-04 Thomas Schwinge <thomas (a] codesourcery.com> 4449 4450 PR middle-end/100280 4451 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust. 4452 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: 4453 Likewise. 4454 4455 2022-02-28 Tom de Vries <tdevries (a] suse.de> 4456 4457 * testsuite/libgomp.c/declare-variant-3-sm30.c: Add -foffload=-mptx=_. 4458 * testsuite/libgomp.c/declare-variant-3-sm35.c: Same. 4459 * testsuite/libgomp.c/declare-variant-3-sm53.c: Same. 4460 * testsuite/libgomp.c/declare-variant-3-sm70.c: Same. 4461 * testsuite/libgomp.c/declare-variant-3-sm75.c: Same. 4462 * testsuite/libgomp.c/declare-variant-3-sm80.c: Same. 4463 4464 2022-02-24 Tom de Vries <tdevries (a] suse.de> 4465 4466 * testsuite/libgomp.c/declare-variant-3-sm30.c: New test. 4467 * testsuite/libgomp.c/declare-variant-3-sm35.c: New test. 4468 * testsuite/libgomp.c/declare-variant-3-sm53.c: New test. 4469 * testsuite/libgomp.c/declare-variant-3-sm70.c: New test. 4470 * testsuite/libgomp.c/declare-variant-3-sm75.c: New test. 4471 * testsuite/libgomp.c/declare-variant-3-sm80.c: New test. 4472 * testsuite/libgomp.c/declare-variant-3.h: New header file. 4473 4474 2022-02-22 Thomas Schwinge <thomas (a] codesourcery.com> 4475 4476 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Fix OpenACC 4477 gang-redundant execution. 4478 4479 2022-02-22 Tom de Vries <tdevries (a] suse.de> 4480 4481 PR target/99555 4482 * config/nvptx/bar.c (generation_to_barrier): New function, copied 4483 from config/rtems/bar.c. 4484 (futex_wait, futex_wake): New function. 4485 (do_spin, do_wait): New function, copied from config/linux/wait.h. 4486 (gomp_barrier_wait_end, gomp_barrier_wait_last) 4487 (gomp_team_barrier_wake, gomp_team_barrier_wait_end): 4488 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): Remove 4489 and replace with include of config/linux/bar.c. 4490 * config/nvptx/bar.h (gomp_barrier_t): Add fields waiters and lock. 4491 (gomp_barrier_init): Init new fields. 4492 * testsuite/libgomp.c-c++-common/task-detach-6.c: Remove nvptx-specific 4493 workarounds. 4494 * testsuite/libgomp.c/pr99555-1.c: Same. 4495 * testsuite/libgomp.fortran/task-detach-6.f90: Same. 4496 4497 2022-02-22 Tom de Vries <tdevries (a] suse.de> 4498 4499 PR testsuite/104146 4500 * testsuite/libgomp.c++/pr96390.C: Add additional-option 4501 -foffload=-Wa,--verify for nvptx. 4502 * testsuite/libgomp.c-c++-common/pr96390.c: Same. 4503 4504 2022-02-15 Tobias Burnus <tobias (a] codesourcery.com> 4505 4506 * testsuite/libgomp.fortran/depend-4.f90: New test. 4507 4508 2022-02-10 Tobias Burnus <tobias (a] codesourcery.com> 4509 4510 PR c++/102204 4511 * testsuite/libgomp.c++/target-virtual-1.C: New test. 4512 4513 2022-02-10 Marcel Vollweiler <marcel (a] codesourcery.com> 4514 4515 * libgomp.texi: Updated entry for HAS_DEVICE_ADDR. 4516 * target.c (copy_firstprivate_data): Copy only if host address is not 4517 NULL. 4518 * testsuite/libgomp.c++/target-has-device-addr-2.C: New test. 4519 * testsuite/libgomp.c++/target-has-device-addr-4.C: New test. 4520 * testsuite/libgomp.c++/target-has-device-addr-5.C: New test. 4521 * testsuite/libgomp.c++/target-has-device-addr-6.C: New test. 4522 * testsuite/libgomp.c-c++-common/target-has-device-addr-1.c: New test. 4523 * testsuite/libgomp.c/target-has-device-addr-3.c: New test. 4524 * testsuite/libgomp.fortran/target-has-device-addr-1.f90: New test. 4525 * testsuite/libgomp.fortran/target-has-device-addr-2.f90: New test. 4526 * testsuite/libgomp.fortran/target-has-device-addr-3.f90: New test. 4527 * testsuite/libgomp.fortran/target-has-device-addr-4.f90: New test. 4528 4529 2022-02-08 Jakub Jelinek <jakub (a] redhat.com> 4530 4531 PR libgomp/104385 4532 * task.c (gomp_task_run_post_handle_dependers): If parent is NULL, 4533 clear task->parent. 4534 * testsuite/libgomp.c/pr104385.c: New test. 4535 4536 2022-02-04 Tobias Burnus <tobias (a] codesourcery.com> 4537 4538 * testsuite/libgomp.fortran/allocate-1.f90: Remove spurious 4539 STOP of previous commit. 4540 4541 2022-02-04 Tobias Burnus <tobias (a] codesourcery.com> 4542 4543 * testsuite/libgomp.fortran/allocate-1.c (is_64bit_aligned): Renamed 4544 from is_64bit_aligned_. 4545 * testsuite/libgomp.fortran/allocate-1.f90: Fix interface decl 4546 and use it, more implicit none, remove unused argument. 4547 4548 2022-02-03 David Seifert <soap (a] gentoo.org> 4549 Jakub Jelinek <jakub (a] redhat.com> 4550 4551 * configure.ac: Support --disable-werror. 4552 * configure: Regenerate. 4553 4554 2022-02-01 Tom de Vries <tdevries (a] suse.de> 4555 4556 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: Remove 4557 PR83812 workaround. 4558 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: Same. 4559 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90: Same. 4560 4561 2022-02-01 Tom de Vries <tdevries (a] suse.de> 4562 4563 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Reduce 4564 num_workers for nvidia accelerator to fix libgomp error 'insufficient 4565 resources'. 4566 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: 4567 Same. 4568 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Same. 4569 4570 2022-02-01 Tom de Vries <tdevries (a] suse.de> 4571 4572 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce 4573 recursion depth. 4574 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same. 4575 4576 2022-01-31 Martin Liska <mliska (a] suse.cz> 4577 4578 * acinclude.m4: Detect *_ld_is_mold and use it. 4579 * configure: Regenerate. 4580 4581 2022-01-27 Tobias Burnus <tobias (a] codesourcery.com> 4582 4583 * libgomp.texi (OpenMP 5.0): Update implementation status. 4584 4585 2022-01-21 Thomas Schwinge <thomas (a] codesourcery.com> 4586 4587 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Strengthen. 4588 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise. 4589 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise. 4590 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise. 4591 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise. 4592 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise. 4593 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise. 4594 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise. 4595 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise. 4596 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise. 4597 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise. 4598 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise. 4599 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise. 4600 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise. 4601 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise. 4602 4603 2022-01-19 Marcel Vollweiler <marcel (a] codesourcery.com> 4604 4605 * config/gcn/icv-device.c: Make GOMP_DEVICE_NUM_VAR public (remove 4606 "static") to make the device num available in the offload image. 4607 4608 2022-01-19 Martin Liska <mliska (a] suse.cz> 4609 Thomas Schwinge <thomas (a] codesourcery.com> 4610 4611 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update scanning 4612 patterns. 4613 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise. 4614 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: 4615 Likewise. 4616 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise. 4617 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise. 4618 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise. 4619 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise. 4620 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: 4621 Likewise. 4622 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: 4623 Likewise. 4624 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: 4625 Likewise. 4626 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: 4627 Likewise. 4628 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: 4629 Likewise. 4630 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: 4631 Likewise. 4632 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise. 4633 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise. 4634 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise. 4635 4636 2022-01-18 Martin Liska <mliska (a] suse.cz> 4637 4638 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update keyword 4639 in dg-warning. 4640 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise. 4641 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise. 4642 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise. 4643 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise. 4644 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise. 4645 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise. 4646 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Likewise. 4647 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: Likewise. 4648 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: Likewise. 4649 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: Likewise. 4650 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Likewise. 4651 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: Likewise. 4652 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise. 4653 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise. 4654 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise. 4655 4656 2022-01-17 Thomas Schwinge <thomas (a] codesourcery.com> 4657 4658 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Extend. 4659 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise. 4660 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise. 4661 4662 2022-01-17 Julian Brown <julian (a] codesourcery.com> 4663 Thomas Schwinge <thomas (a] codesourcery.com> 4664 4665 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: New test. 4666 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: New test. 4667 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: New test. 4668 4669 2022-01-16 Kwok Cheung Yeung <kcy (a] codesourcery.com> 4670 Andrew Stubbs <ams (a] codesourcery.com> 4671 4672 * plugin/plugin-gcn.c (parse_target_attributes): Automatically set 4673 the number of teams and threads if necessary. 4674 (gcn_exec): Automatically set the number of gangs and workers if 4675 necessary. 4676 4677 2022-01-13 Hafiz Abid Qadeer <abidh (a] codesourcery.com> 4678 4679 * testsuite/libgomp.fortran/allocate-1.c: New test. 4680 * testsuite/libgomp.fortran/allocate-1.f90: New test. 4681 * libgomp.texi: Remove string that says that allocate clause 4682 support is for C/C++ only. 4683 4684 2022-01-13 Thomas Schwinge <thomas (a] codesourcery.com> 4685 4686 * testsuite/libgomp.c-c++-common/on_device_arch.h 4687 (any_device_arch, any_device_arch_intel_mic): New. 4688 * testsuite/lib/libgomp.exp 4689 (check_effective_target_offload_device_any_intel_mic): New. 4690 * testsuite/libgomp.c-c++-common/target-45.c: Use it. 4691 * testsuite/libgomp.fortran/target10.f90: Likewise. 4692 4693 2022-01-13 Thomas Schwinge <thomas (a] codesourcery.com> 4694 4695 PR tree-optimization/102192 4696 * testsuite/libgomp.oacc-fortran/routine-10.f90: Document current 4697 '-Wuninitialized' diagnostics. 4698 4699 2022-01-13 Thomas Schwinge <thomas (a] codesourcery.com> 4700 4701 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Document 4702 current '-Wuninitialized' diagnostics. 4703 * testsuite/libgomp.oacc-fortran/data-5.f90: Likewise. 4704 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Likewise. 4705 * testsuite/libgomp.oacc-fortran/gemm.f90: Likewise. 4706 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Likewise. 4707 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise. 4708 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise. 4709 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: Likewise. 4710 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise. 4711 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise. 4712 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise. 4713 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: 4714 Likewise. 4715 4716 2022-01-13 Thomas Schwinge <thomas (a] codesourcery.com> 4717 4718 * testsuite/libgomp.c/address-space-1.c: Remove 'dg-xfail-run-if' 4719 for 'offload_device_intel_mic'. 4720 4721 2022-01-13 Julian Brown <julian (a] codesourcery.com> 4722 Thomas Schwinge <thomas (a] codesourcery.com> 4723 4724 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Remove GCN 4725 offloading execution XFAIL. 4726 4727 2022-01-13 Thomas Schwinge <thomas (a] codesourcery.com> 4728 4729 PR middle-end/100280 4730 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c: 4731 Update. 4732 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise. 4733 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: 4734 Likewise. 4735 4736 2022-01-13 Thomas Schwinge <thomas (a] codesourcery.com> 4737 4738 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c: 4739 Enhance. 4740 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c: 4741 Likewise. 4742 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Likewise. 4743 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise. 4744 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: Likewise. 4745 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: Likewise. 4746 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: 4747 Likewise. 4748 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise. 4749 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise. 4750 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise. 4751 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise. 4752 4753 2022-01-04 Tobias Burnus <tobias (a] codesourcery.com> 4754 4755 * testsuite/libgomp.c-c++-common/target-45.c: Iterate over all devices. 4756 * testsuite/libgomp.fortran/target10.f90: Likewise. 4757 4758 2022-01-04 Chung-Lin Tang <cltang (a] codesourcery.com> 4759 4760 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Change uses of STRINGX 4761 into XSTRING when looking for GOMP_DEVICE_NUM_VAR in offload image. 4762 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise. 4763 4764 2022-01-03 Jakub Jelinek <jakub (a] redhat.com> 4765 4766 * libgomp.texi: Bump @copying's copyright year. 4767 4768 2021-12-13 Tobias Burnus <tobias (a] codesourcery.com> 4769 4770 * libgomp.texi (OpenMP 5.1): Set Fortran support for atomic to 'Y'. 4771 * testsuite/libgomp.fortran/atomic-19.f90: New test. 4772 4773 2021-12-10 Andrew Stubbs <ams (a] codesourcery.com> 4774 4775 * plugin/plugin-gcn.c (struct gcn_image_desc): Remove global_variables. 4776 (GOMP_OFFLOAD_load_image): Locate the offload variables via the 4777 table, not individual symbols. 4778 4779 2021-12-09 Chung-Lin Tang <cltang (a] codesourcery.com> 4780 4781 * testsuite/libgomp.c++/target-lambda-1.C: Only run under 4782 "target offload_device_nonshared_as" 4783 * testsuite/libgomp.c++/target-this-3.C: Likewise. 4784 * testsuite/libgomp.c++/target-this-4.C: Likewise. 4785 4786 2021-12-08 Chung-Lin Tang <cltang (a] codesourcery.com> 4787 4788 * target.c (gomp_map_vars_existing): Make sure attached pointer is 4789 not overwritten during cross-host/device copying. 4790 (gomp_update): Likewise. 4791 (gomp_exit_data): Likewise. 4792 * testsuite/libgomp.c++/target-11.C: Adjust testcase. 4793 * testsuite/libgomp.c++/target-12.C: Likewise. 4794 * testsuite/libgomp.c++/target-15.C: Likewise. 4795 * testsuite/libgomp.c++/target-16.C: Likewise. 4796 * testsuite/libgomp.c++/target-17.C: Likewise. 4797 * testsuite/libgomp.c++/target-21.C: Likewise. 4798 * testsuite/libgomp.c++/target-23.C: Likewise. 4799 * testsuite/libgomp.c/target-23.c: Likewise. 4800 * testsuite/libgomp.c/target-29.c: Likewise. 4801 * testsuite/libgomp.c-c++-common/target-implicit-map-2.c: New testcase. 4802 4803 2021-12-08 Chung-Lin Tang <cltang (a] codesourcery.com> 4804 4805 PR middle-end/92120 4806 * libgomp.h (gomp_attach_pointer): Add bool parameter. 4807 * oacc-mem.c (acc_attach_async): Update call to gomp_attach_pointer. 4808 (goacc_enter_data_internal): Likewise. 4809 * target.c (gomp_map_vars_existing): Update assert condition to 4810 include GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION. 4811 (gomp_map_pointer): Add 'bool allow_zero_length_array_sections' 4812 parameter, add support for mapping a pointer with NULL target. 4813 (gomp_attach_pointer): Add 'bool allow_zero_length_array_sections' 4814 parameter, add support for attaching a pointer with NULL target. 4815 (gomp_map_vars_internal): Update calls to gomp_map_pointer and 4816 gomp_attach_pointer, add handling for 4817 GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION, and 4818 GOMP_MAP_POINTER_TO_ZERO_LENGTH_ARRAY_SECTION cases. 4819 * testsuite/libgomp.c++/target-23.C: New testcase. 4820 * testsuite/libgomp.c++/target-lambda-1.C: New testcase. 4821 * testsuite/libgomp.c++/target-lambda-2.C: New testcase. 4822 * testsuite/libgomp.c++/target-this-1.C: New testcase. 4823 * testsuite/libgomp.c++/target-this-2.C: New testcase. 4824 * testsuite/libgomp.c++/target-this-3.C: New testcase. 4825 * testsuite/libgomp.c++/target-this-4.C: New testcase. 4826 * testsuite/libgomp.c++/target-this-5.C: New testcase. 4827 4828 2021-12-04 Tobias Burnus <tobias (a] codesourcery.com> 4829 4830 * libgomp.texi (OpenMP 5.1): Update status. 4831 4832 2021-12-04 Tobias Burnus <tobias (a] codesourcery.com> 4833 4834 * libgomp.texi (OMP_PLACES): Extend description for OMP 5.1 changes. 4835 4836 2021-12-02 Chung-Lin Tang <cltang (a] codesourcery.com> 4837 4838 PR fortran/90030 4839 * testsuite/libgomp.oacc-fortran/pr90030.f90: New test. 4840 * testsuite/libgomp.fortran/pr90030.f90: New test. 4841 4842 2021-11-30 Kwok Cheung Yeung <kcy (a] codesourcery.com> 4843 Thomas Schwinge <thomas (a] codesourcery.com> 4844 4845 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Remove 4846 temporary skip. 4847 4848 2021-11-30 Cesar Philippidis <cesar (a] codesourcery.com> 4849 Thomas Schwinge <thomas (a] codesourcery.com> 4850 4851 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Temporarily 4852 skip. 4853 4854 2021-11-29 Richard Biener <rguenther (a] suse.de> 4855 4856 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): Remove unreachable 4857 return. 4858 4859 2021-11-24 Jakub Jelinek <jakub (a] redhat.com> 4860 4861 PR middle-end/103384 4862 * testsuite/libgomp.c/declare-variant-2.c: New test. 4863 4864 2021-11-18 David Edelsohn <dje.gcc (a] gmail.com> 4865 4866 * alloc.c (gomp_aligned_alloc): Fix typo. 4867 4868 2021-11-18 Jakub Jelinek <jakub (a] redhat.com> 4869 4870 PR libgomp/102838 4871 * libgomp.h (GOMP_USE_ALIGNED_WORK_SHARES): Define if 4872 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined and __AMDGCN__ is not. 4873 (struct gomp_work_share): Use GOMP_USE_ALIGNED_WORK_SHARES instead of 4874 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC. 4875 * work.c (alloc_work_share, gomp_work_share_start): Likewise. 4876 * team.c (gomp_new_team): If GOMP_USE_ALIGNED_WORK_SHARES, use 4877 gomp_aligned_alloc instead of team_malloc. 4878 4879 2021-11-18 Jakub Jelinek <jakub (a] redhat.com> 4880 4881 PR libgomp/102838 4882 * alloc.c (gomp_aligned_alloc): Prefer _aligned_alloc over 4883 memalign over posix_memalign over aligned_alloc over fallback 4884 with malloc instead of aligned_alloc over _aligned_alloc over 4885 posix_memalign over memalign over fallback with malloc. For 4886 aligned_alloc, round up size up to multiple of al. 4887 4888 2021-11-16 Jakub Jelinek <jakub (a] redhat.com> 4889 4890 * libgomp.texi (OpenMP 5.1): Mark thread_limit clause to target 4891 construct as implemented. 4892 4893 2021-11-15 Tobias Burnus <tobias (a] codesourcery.com> 4894 4895 * testsuite/libgomp.fortran/thread-limit-1.f90: New test. 4896 4897 2021-11-15 Jakub Jelinek <jakub (a] redhat.com> 4898 4899 * task.c (gomp_create_target_task): Copy args array as well. 4900 * target.c (gomp_target_fallback): Add args argument. 4901 Set gomp_icv (true)->thread_limit_var if thread_limit is present. 4902 (GOMP_target): Adjust gomp_target_fallback caller. 4903 (GOMP_target_ext): Likewise. 4904 (gomp_target_task_fn): Likewise. 4905 * config/nvptx/team.c (gomp_nvptx_main): Set 4906 gomp_global_icv.thread_limit_var. 4907 * testsuite/libgomp.c-c++-common/thread-limit-1.c: New test. 4908 4909 2021-11-15 Jakub Jelinek <jakub (a] redhat.com> 4910 4911 * config/nvptx/team.c (__gomp_team_num): Define as 4912 __attribute__((shared)) var. 4913 (gomp_nvptx_main): Initialize __gomp_team_num to 0. 4914 * config/nvptx/target.c (__gomp_team_num): Declare as 4915 extern __attribute__((shared)) var. 4916 (GOMP_teams4): Use __gomp_team_num as the team number instead of 4917 %ctaid.x. If first, initialize it to %ctaid.x. If num_teams_lower 4918 is bigger than num_blocks, use num_teams_lower teams and arrange for 4919 bumping of __gomp_team_num if !first and returning false once we run 4920 out of teams. 4921 * config/nvptx/teams.c (__gomp_team_num): Declare as 4922 extern __attribute__((shared)) var. 4923 (omp_get_team_num): Return __gomp_team_num value instead of %ctaid.x. 4924 4925 2021-11-15 Jakub Jelinek <jakub (a] redhat.com> 4926 4927 * testsuite/libgomp.c/teams-5.c: New test. 4928 4929 2021-11-12 Jakub Jelinek <jakub (a] redhat.com> 4930 4931 PR target/103201 4932 * config/gcn/icv-device.c (omp_get_num_teams, omp_get_team_num): Move 4933 to ... 4934 * config/gcn/teams.c: ... here. New file. 4935 4936 2021-11-12 Chung-Lin Tang <cltang (a] codesourcery.com> 4937 4938 * target.c (gomp_map_vars_existing): Add 'bool implicit' parameter, add 4939 implicit map handling to allow a "superset" existing map as valid case. 4940 (get_kind): Adjust to filter out GOMP_MAP_IMPLICIT bits in return value. 4941 (get_implicit): New function to extract implicit status. 4942 (gomp_map_fields_existing): Adjust arguments in calls to 4943 gomp_map_vars_existing, and add uses of get_implicit. 4944 (gomp_map_vars_internal): Likewise. 4945 * testsuite/libgomp.c-c++-common/target-implicit-map-1.c: New test. 4946 4947 2021-11-12 Jakub Jelinek <jakub (a] redhat.com> 4948 4949 * libgomp_g.h (GOMP_teams4): Declare. 4950 * libgomp.map (GOMP_5.1): Export GOMP_teams4. 4951 * target.c (GOMP_teams4): New function. 4952 * config/nvptx/target.c (GOMP_teams): Remove. 4953 (GOMP_teams4): New function. 4954 * config/gcn/target.c (GOMP_teams): Remove. 4955 (GOMP_teams4): New function. 4956 * testsuite/libgomp.c/teams-4.c (main): Expect exactly 2 4957 teams instead of <= 2. 4958 * testsuite/libgomp.c-c++-common/teams-2.c: New test. 4959 4960 2021-11-11 Tobias Burnus <tobias (a] codesourcery.com> 4961 4962 * testsuite/libgomp.fortran/teams-1.f90: New test. 4963 4964 2021-11-11 Jakub Jelinek <jakub (a] redhat.com> 4965 4966 * libgomp.h (struct gomp_thread): Add num_teams and team_num members. 4967 * team.c (struct gomp_thread_start_data): Likewise. 4968 (gomp_thread_start): Initialize thr->num_teams and thr->team_num. 4969 (gomp_team_start): Initialize start_data->num_teams and 4970 start_data->team_num. Update nthr->num_teams and nthr->team_num. 4971 * teams.c (gomp_num_teams, gomp_team_num): Remove. 4972 (GOMP_teams_reg): Set and restore thr->num_teams and thr->team_num 4973 instead of gomp_num_teams and gomp_team_num. 4974 (omp_get_num_teams): Use thr->num_teams + 1 instead of gomp_num_teams. 4975 (omp_get_team_num): Use thr->team_num instead of gomp_team_num. 4976 * testsuite/libgomp.c/teams-4.c: New test. 4977 4978 2021-11-11 Jakub Jelinek <jakub (a] redhat.com> 4979 4980 * testsuite/libgomp.c-c++-common/teams-1.c: New test. 4981 4982 2021-11-09 Thomas Schwinge <thomas (a] codesourcery.com> 4983 4984 * env.c (parse_gomp_openacc_dim): Restore parsing. 4985 4986 2021-10-30 Tobias Burnus <tobias (a] codesourcery.com> 4987 4988 PR middle-end/102972 4989 * testsuite/libgomp.c-c++-common/icv-3.c: Nest API calls inside 4990 parallel construct. 4991 * testsuite/libgomp.c-c++-common/icv-4.c: Likewise. 4992 * testsuite/libgomp.c/target-3.c: Likewise. 4993 * testsuite/libgomp.c/target-5.c: Likewise. 4994 * testsuite/libgomp.c/target-6.c: Likewise. 4995 * testsuite/libgomp.c/target-teams-1.c: Likewise. 4996 * testsuite/libgomp.c/teams-1.c: Likewise. 4997 * testsuite/libgomp.c/thread-limit-2.c: Likewise. 4998 * testsuite/libgomp.c/thread-limit-3.c: Likewise. 4999 * testsuite/libgomp.c/thread-limit-4.c: Likewise. 5000 * testsuite/libgomp.c/thread-limit-5.c: Likewise. 5001 * testsuite/libgomp.fortran/icv-3.f90: Likewise. 5002 * testsuite/libgomp.fortran/icv-4.f90: Likewise. 5003 * testsuite/libgomp.fortran/teams1.f90: Likewise. 5004 5005 2021-10-29 Aldy Hernandez <aldyh (a] redhat.com> 5006 5007 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for threading changes. 5008 * testsuite/libgomp.graphite/force-parallel-8.c: Same. 5009 5010 2021-10-27 Jakub Jelinek <jakub (a] redhat.com> 5011 5012 * libgomp.texi (OpenMP 5.0): Mention that Non-rectangular loop nests 5013 aren't implemented for Fortran yet. 5014 5015 2021-10-27 Jakub Jelinek <jakub (a] redhat.com> 5016 5017 * testsuite/libgomp.c/loop-26.c: New test. 5018 * testsuite/libgomp.c/loop-27.c: New test. 5019 5020 2021-10-25 Tobias Burnus <tobias (a] codesourcery.com> 5021 5022 PR testsuite/102910 5023 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Use __builtin_alloca 5024 instead of #include <alloca.h> + alloca. 5025 5026 2021-10-21 Chung-Lin Tang <cltang (a] codesourcery.com> 5027 5028 * libgomp.texi (Support of strictly structured blocks in Fortran): 5029 Adjust to 'Y'. 5030 * testsuite/libgomp.fortran/task-reduction-16.f90: Adjust testcase. 5031 5032 2021-10-20 Chung-Lin Tang <cltang (a] codesourcery.com> 5033 5034 * testsuite/libgomp.fortran/target-in-reduction-1.f90: New test. 5035 * testsuite/libgomp.fortran/target-in-reduction-2.f90: New test. 5036 5037 2021-10-20 Jakub Jelinek <jakub (a] redhat.com> 5038 5039 PR libgomp/102838 5040 * libgomp.h (struct gomp_work_share_1st_cacheline): New type. 5041 (struct gomp_work_share): Only use aligned(64) attribute if 5042 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined, otherwise just 5043 add padding before lock to ensure lock is at offset 64 bytes 5044 into the structure. 5045 (gomp_workshare_struct_check1, gomp_workshare_struct_check2): 5046 New poor man's static assertions. 5047 * work.c (gomp_work_share_start): Use gomp_aligned_alloc instead of 5048 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC. 5049 5050 2021-10-20 Aldy Hernandez <aldyh (a] redhat.com> 5051 Richard Biener <rguenther (a] suse.de> 5052 5053 * testsuite/libgomp.graphite/force-parallel-5.c: Remove xfail. 5054 5055 2021-10-18 Jakub Jelinek <jakub (a] redhat.com> 5056 5057 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Add 5058 && gomp_places_list_len < count after nfirst <= nlast loop condition. 5059 5060 2021-10-18 Tobias Burnus <tobias (a] codesourcery.com> 5061 5062 PR fortran/102086 5063 PR fortran/92189 5064 PR fortran/92621 5065 PR fortran/101308 5066 PR fortran/101309 5067 PR fortran/101635 5068 PR fortran/92482 5069 * testsuite/libgomp.fortran/optional-bind-c.f90: New test. 5070 5071 2021-10-15 Jakub Jelinek <jakub (a] redhat.com> 5072 5073 * testsuite/libgomp.c/affinity-1.c (struct places): Change name field 5074 type from char [50] to const char *. 5075 (places_array): Add a testcase for simplified syntax place followed 5076 by length or length and stride. 5077 5078 2021-10-15 Jakub Jelinek <jakub (a] redhat.com> 5079 5080 * env.c (parse_one_place): Handle non-negative-number the same 5081 as { non-negative-number }. Reject even !number:1 and 5082 !number:1:stride or !place:1 or !place:1:stride instead of just 5083 length other than 1. 5084 * libgomp.texi (OpenMP 5.1): Document OMP_PLACES syntax extensions 5085 and OMP_NUM_TEAMS/OMP_TEAMS_THREAD_LIMIT and 5086 omp_{set_num,get_max}_teams/omp_{s,g}et_teams_thread_limit features 5087 as implemented. 5088 * testsuite/libgomp.c/affinity-1.c: Add a test for the 5.1 place 5089 simplified syntax. 5090 5091 2021-10-15 Jakub Jelinek <jakub (a] redhat.com> 5092 5093 * env.c (parse_schedule): For strtoul or strtoull calls which don't 5094 clearly reject return value 0 as invalid handle the case where end 5095 pointer is the same as first argument as invalid. 5096 (parse_unsigned_long_1): Likewise. 5097 (parse_one_place): Likewise. 5098 (parse_places_var): Likewise. 5099 (parse_stacksize): Likewise. 5100 (parse_spincount): Likewise. 5101 (parse_affinity): Likewise. 5102 (parse_gomp_openacc_dim): Likewise. Avoid strict aliasing violation. 5103 Make code valid C89. 5104 * config/linux/affinity.c (gomp_affinity_find_last_cache_level): 5105 For strtoul calls which don't clearly reject return value 0 as 5106 invalid handle the case where end pointer is the same as first 5107 argument as invalid. 5108 (gomp_affinity_init_level_1): Likewise. 5109 (gomp_affinity_init_numa_domains): Likewise. 5110 * config/rtems/proc.c (parse_thread_pools): Likewise. 5111 5112 2021-10-15 Jakub Jelinek <jakub (a] redhat.com> 5113 5114 * config/linux/affinity.c (gomp_affinity_init_level_1): For level 1 5115 after creating count places clean up and return immediately. 5116 * testsuite/libgomp.c/places-6.c: New test. 5117 * testsuite/libgomp.c/places-7.c: New test. 5118 * testsuite/libgomp.c/places-8.c: New test. 5119 * testsuite/libgomp.c/places-9.c: New test. 5120 * testsuite/libgomp.c/places-10.c: New test. 5121 5122 2021-10-15 Jakub Jelinek <jakub (a] redhat.com> 5123 5124 * env.c (parse_places_var): Handle numa_domains as level 5. 5125 * config/linux/affinity.c (gomp_affinity_init_numa_domains): New 5126 function. 5127 (gomp_affinity_init_level): Use it instead of 5128 gomp_affinity_init_level_1 for level == 5. 5129 * testsuite/libgomp.c/places-5.c: New test. 5130 5131 2021-10-15 Jakub Jelinek <jakub (a] redhat.com> 5132 5133 * env.c (parse_places_var): Handle ll_caches as level 4. 5134 * config/linux/affinity.c (gomp_affinity_find_last_cache_level): New 5135 function. 5136 (gomp_affinity_init_level_1): Handle level 4 as logical cpus sharing 5137 last level cache. 5138 (gomp_affinity_init_level): Likewise. 5139 * testsuite/libgomp.c/places-1.c: New test. 5140 * testsuite/libgomp.c/places-2.c: New test. 5141 * testsuite/libgomp.c/places-3.c: New test. 5142 * testsuite/libgomp.c/places-4.c: New test. 5143 5144 2021-10-14 Kwok Cheung Yeung <kcy (a] codesourcery.com> 5145 5146 * libgomp.texi (OpenMP 5.0): Update entry for declare variant 5147 directive. 5148 5149 2021-10-14 Kwok Cheung Yeung <kcy (a] codesourcery.com> 5150 5151 * testsuite/libgomp.fortran/declare-variant-1.f90: New test. 5152 5153 2021-10-12 Julian Brown <julian (a] codesourcery.com> 5154 5155 * target.c (gomp_copy_host2dev): Release device lock on cbuf 5156 error path. 5157 5158 2021-10-12 Tobias Burnus <tobias (a] codesourcery.com> 5159 5160 * testsuite/libgomp.fortran/icv-3.f90: New. 5161 * testsuite/libgomp.fortran/icv-4.f90: New. 5162 5163 2021-10-12 Jakub Jelinek <jakub (a] redhat.com> 5164 5165 * libgomp.texi (omp_get_max_teams, omp_get_teams_thread_limit, 5166 omp_set_num_teams, omp_set_teams_thread_limit, OMP_NUM_TEAMS, 5167 OMP_TEAMS_THREAD_LIMIT): Document. 5168 5169 2021-10-12 Jakub Jelinek <jakub (a] redhat.com> 5170 5171 * libgomp.texi (omp_get_device_num): Move @node before omp_get_dynamic 5172 to avoid makeinfo warnings. 5173 5174 2021-10-12 Jakub Jelinek <jakub (a] redhat.com> 5175 5176 * testsuite/libgomp.c-c++-common/icv-3.c: New test. 5177 * testsuite/libgomp.c-c++-common/icv-4.c: New test. 5178 5179 2021-10-12 Jakub Jelinek <jakub (a] redhat.com> 5180 5181 PR libgomp/102628 5182 PR libgomp/102668 5183 * testsuite/libgomp.c-c++-common/alloc-9.c (main): Decrease 5184 allocation sizes from 420 to 320 and from 768 to 568. 5185 * testsuite/libgomp.fortran/alloc-11.f90: Likewise. 5186 * testsuite/libgomp.fortran/alloc-1.F90: Change expected alignment 5187 for cr from 16 to 4. 5188 5189 2021-10-12 Jakub Jelinek <jakub (a] redhat.com> 5190 5191 * testsuite/libgomp.c/scan-11.c: Remove option -fvect-cost-model=cheap. 5192 * testsuite/libgomp.c/scan-12.c: Likewise. 5193 * testsuite/libgomp.c/scan-13.c: Likewise. 5194 * testsuite/libgomp.c/scan-14.c: Likewise. 5195 * testsuite/libgomp.c/scan-15.c: Likewise. 5196 * testsuite/libgomp.c/scan-16.c: Likewise. 5197 * testsuite/libgomp.c/scan-17.c: Likewise. 5198 * testsuite/libgomp.c/scan-18.c: Likewise. 5199 * testsuite/libgomp.c/scan-19.c: Likewise. 5200 * testsuite/libgomp.c/scan-20.c: Likewise. 5201 * testsuite/libgomp.c/scan-21.c: Likewise. 5202 * testsuite/libgomp.c/scan-22.c: Likewise. 5203 * testsuite/libgomp.c++/scan-9.C: Likewise. 5204 * testsuite/libgomp.c++/scan-10.C: Likewise. 5205 * testsuite/libgomp.c++/scan-11.C: Likewise. 5206 * testsuite/libgomp.c++/scan-12.C: Likewise. 5207 * testsuite/libgomp.c++/scan-13.C: Likewise. 5208 * testsuite/libgomp.c++/scan-14.C: Likewise. 5209 * testsuite/libgomp.c++/scan-15.C: Likewise. 5210 * testsuite/libgomp.c++/scan-16.C: Likewise. 5211 5212 2021-10-12 Kewen Lin <linkw (a] linux.ibm.com> 5213 5214 * testsuite/libgomp.graphite/force-parallel-8.c: Add --param max-stores-to-sink=0. 5215 5216 2021-10-11 Marcel Vollweiler <marcel (a] codesourcery.com> 5217 5218 * allocator.c (omp_init_allocator): Replace omp_atv_sequential with 5219 omp_atv_serialized. 5220 * omp.h.in: Add deprecated flag for omp_atv_sequential. 5221 * omp_lib.f90.in: Add deprecated flag for omp_atv_sequential. 5222 * testsuite/libgomp.c-c++-common/alloc-10.c: New test. 5223 * testsuite/libgomp.fortran/alloc-12.f90: New test. 5224 5225 2021-10-11 Jakub Jelinek <jakub (a] redhat.com> 5226 5227 * omp.h.in (omp_set_num_teams, omp_get_max_teams, 5228 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare. 5229 * omp_lib.f90.in (omp_set_num_teams, omp_get_max_teams, 5230 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare. 5231 * omp_lib.h.in (omp_set_num_teams, omp_get_max_teams, 5232 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare. 5233 * libgomp.h (gomp_nteams_var, gomp_teams_thread_limit_var): Declare. 5234 * libgomp.map (OMP_5.1): Export omp_get_max_teams{,_}, 5235 omp_get_teams_thread_limit{,_}, omp_set_num_teams{,_,_8_} and 5236 omp_set_teams_thread_limit{,_,_8_}. 5237 * icv.c (omp_set_num_teams, omp_get_max_teams, 5238 omp_set_teams_thread_limit, omp_get_teams_thread_limit): New 5239 functions. 5240 * env.c (gomp_nteams_var, gomp_teams_thread_limit_var): Define. 5241 (omp_display_env): Print OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT. 5242 (initialize_env): Handle OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT env 5243 vars. 5244 * teams.c (GOMP_teams_reg): If thread_limit is not specified, use 5245 gomp_teams_thread_limit_var as fallback if not zero. If num_teams 5246 is not specified, use gomp_nteams_var. 5247 * fortran.c (omp_set_num_teams, omp_get_max_teams, 5248 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Add 5249 ialias_redirect. 5250 (omp_set_num_teams_, omp_set_num_teams_8_, omp_get_max_teams_, 5251 omp_set_teams_thread_limit_, omp_set_teams_thread_limit_8_, 5252 omp_get_teams_thread_limit_): New functions. 5253 5254 2021-10-09 liuhongt <hongtao.liu (a] intel.com> 5255 5256 * testsuite/libgomp.c++/scan-10.C: Add option -fvect-cost-model=cheap. 5257 * testsuite/libgomp.c++/scan-11.C: Ditto. 5258 * testsuite/libgomp.c++/scan-12.C: Ditto. 5259 * testsuite/libgomp.c++/scan-13.C: Ditto. 5260 * testsuite/libgomp.c++/scan-14.C: Ditto. 5261 * testsuite/libgomp.c++/scan-15.C: Ditto. 5262 * testsuite/libgomp.c++/scan-16.C: Ditto. 5263 * testsuite/libgomp.c++/scan-9.C: Ditto. 5264 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: Ditto. 5265 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: Ditto. 5266 * testsuite/libgomp.c/scan-11.c: Ditto. 5267 * testsuite/libgomp.c/scan-12.c: Ditto. 5268 * testsuite/libgomp.c/scan-13.c: Ditto. 5269 * testsuite/libgomp.c/scan-14.c: Ditto. 5270 * testsuite/libgomp.c/scan-15.c: Ditto. 5271 * testsuite/libgomp.c/scan-16.c: Ditto. 5272 * testsuite/libgomp.c/scan-17.c: Ditto. 5273 * testsuite/libgomp.c/scan-18.c: Ditto. 5274 * testsuite/libgomp.c/scan-19.c: Ditto. 5275 * testsuite/libgomp.c/scan-20.c: Ditto. 5276 * testsuite/libgomp.c/scan-21.c: Ditto. 5277 * testsuite/libgomp.c/scan-22.c: Ditto. 5278 5279 2021-10-09 Jakub Jelinek <jakub (a] redhat.com> 5280 5281 * libgomp.texi (OpenMP 5.1): Mention implemented support for 5282 structured block sequences in C/C++. Mention support for 5283 unconstrained/reproducible modifiers on order clause. 5284 Mention partial (C/C++ only) support of extentensions to atomics 5285 construct. Mention partial (C/C++ on clause only) support of 5286 align/allocator modifiers on allocate clause. 5287 5288 2021-10-02 Tobias Burnus <tobias (a] codesourcery.com> 5289 5290 * testsuite/libgomp.fortran/order-reproducible-1.f90: New test 5291 based on libgomp.c-c++-common/order-reproducible-1.c. 5292 * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise. 5293 * testsuite/libgomp.fortran/my-usleep.c: New test. 5294 5295 2021-10-01 Tobias Burnus <tobias (a] codesourcery.com> 5296 5297 * testsuite/libgomp.fortran/alloc-10.f90: Fix alignment check. 5298 * testsuite/libgomp.fortran/alloc-7.f90: Fix array access. 5299 * testsuite/libgomp.fortran/alloc-8.f90: Likewise. 5300 * testsuite/libgomp.fortran/alloc-11.f90: New test for omp_realloc, 5301 based on libgomp.c-c++-common/alloc-9.c. 5302 5303 2021-10-01 Jakub Jelinek <jakub (a] redhat.com> 5304 5305 * testsuite/libgomp.c-c++-common/order-reproducible-1.c: New test. 5306 * testsuite/libgomp.c-c++-common/order-reproducible-2.c: New test. 5307 5308 2021-10-01 Jakub Jelinek <jakub (a] redhat.com> 5309 5310 * affinity-fmt.c (omp_get_team_num, omp_get_num_teams): Add 5311 ialias_redirect. 5312 * env.c (handle_omp_display_env): Use ialias_call. 5313 * icv-device.c: Move ialias right below each function. 5314 (omp_get_device_num): Use ialias_call. 5315 * fortran.c (omp_fulfill_event): Add ialias_redirect. 5316 * icv.c (omp_get_active_level): Add ialias_redirect. 5317 5318 2021-10-01 Jakub Jelinek <jakub (a] redhat.com> 5319 5320 * omp.h.in (omp_aligned_alloc, omp_aligned_calloc): Add 5321 __alloc_align__ (1) attribute. 5322 * testsuite/libgomp.c-c++-common/alloc-9.c: New test. 5323 5324 2021-09-30 Tobias Burnus <tobias (a] codesourcery.com> 5325 5326 * testsuite/libgomp.fortran/alloc-7.f90: Add dg-prune-output 5327 for -fintrinsic-modules-path= warning of the C compiler. 5328 * testsuite/libgomp.fortran/alloc-9.f90: Likewise. 5329 * testsuite/libgomp.fortran/alloc-10.f90: Likewise. 5330 5331 2021-09-30 Tobias Burnus <tobias (a] codesourcery.com> 5332 5333 * libgomp.texi (OpenMP 5.1): Set implementation status to Y for 5334 omp_aligned_{,c}alloc and omp_{c,re}alloc routines. 5335 * omp_lib.f90.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc, 5336 omp_realloc): Add. 5337 * omp_lib.h.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc, 5338 omp_realloc): Add. 5339 * testsuite/libgomp.fortran/alloc-10.f90: New test. 5340 * testsuite/libgomp.fortran/alloc-6.f90: New test. 5341 * testsuite/libgomp.fortran/alloc-7.c: New test. 5342 * testsuite/libgomp.fortran/alloc-7.f90: New test. 5343 * testsuite/libgomp.fortran/alloc-8.f90: New test. 5344 * testsuite/libgomp.fortran/alloc-9.f90: New test. 5345 5346 2021-09-30 Jakub Jelinek <jakub (a] redhat.com> 5347 5348 * omp.h.in (omp_aligned_alloc, omp_calloc, omp_aligned_calloc, 5349 omp_realloc): New prototypes. 5350 (omp_alloc): Move after omp_free prototype, add __malloc__ (omp_free) 5351 attribute. 5352 * allocator.c: Include string.h. 5353 (omp_aligned_alloc): No longer static, add ialias. Add new_alignment 5354 variable and use it instead of alignment so that when retrying the old 5355 alignment is used again. Don't retry if new alignment is the same 5356 as old alignment, unless allocator had pool size. 5357 (omp_alloc, GOMP_alloc, GOMP_free): Use ialias_call. 5358 (omp_aligned_calloc, omp_calloc, omp_realloc): New functions. 5359 * libgomp.map (OMP_5.0.2): Export omp_aligned_alloc, omp_calloc, 5360 omp_aligned_calloc and omp_realloc. 5361 * testsuite/libgomp.c-c++-common/alloc-4.c (main): Add 5362 omp_aligned_alloc, omp_calloc and omp_aligned_calloc tests. 5363 * testsuite/libgomp.c-c++-common/alloc-5.c: New test. 5364 * testsuite/libgomp.c-c++-common/alloc-6.c: New test. 5365 * testsuite/libgomp.c-c++-common/alloc-7.c: New test. 5366 * testsuite/libgomp.c-c++-common/alloc-8.c: New test. 5367 5368 2021-09-28 Tobias Burnus <tobias (a] codesourcery.com> 5369 5370 PR libgomp/96661 5371 * configure.ac: Only check for int-type = 2*size_t support when 5372 building with Fortran support. 5373 * configure: Regenerate. 5374 5375 2021-09-28 Thomas Schwinge <thomas (a] codesourcery.com> 5376 5377 * testsuite/libgomp.oacc-fortran/if-1.f90: Adjust. 5378 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise. 5379 5380 2021-09-27 Aldy Hernandez <aldyh (a] redhat.com> 5381 5382 * team.c: Initialize start_data. 5383 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust. 5384 * testsuite/libgomp.graphite/force-parallel-8.c: Adjust. 5385 5386 2021-09-27 Tobias Burnus <tobias (a] codesourcery.com> 5387 5388 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Change 5389 dg-message back to dg-note. 5390 5391 2021-09-27 Tobias Burnus <tobias (a] codesourcery.com> 5392 5393 PR fortran/94070 5394 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Update 5395 expected dg-note output. 5396 5397 2021-09-22 Tobias Burnus <tobias (a] codesourcery.com> 5398 5399 PR fortran/55534 5400 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Revert 5401 r12-3722 by removing -Wno-missing-include-dirs. 5402 * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS): Likewise. 5403 5404 2021-09-22 Jakub Jelinek <jakub (a] redhat.com> 5405 5406 * testsuite/libgomp.c-c++-common/allocate-2.c: New test. 5407 * testsuite/libgomp.c-c++-common/allocate-3.c: New test. 5408 5409 2021-09-21 Tobias Burnus <tobias (a] codesourcery.com> 5410 5411 PR fortran/55534 5412 * testsuite/libgomp.fortran/fortran.exp: Add -Wno-missing-include-dirs 5413 to ALWAYS_CFLAGS. 5414 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 5415 5416 2021-09-18 Jakub Jelinek <jakub (a] redhat.com> 5417 5418 * testsuite/libgomp.c++/default-1.C: New test. 5419 * testsuite/libgomp.c-c++-common/default-1.c: New test. 5420 * libgomp.texi (OpenMP 5.1): Mark "private and firstprivate argument 5421 to default clause in C and C++" as implemented. 5422 5423 2021-09-17 Julian Brown <julian (a] codesourcery.com> 5424 5425 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Update. 5426 5427 2021-09-17 Julian Brown <julian (a] codesourcery.com> 5428 5429 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: New test. 5430 5431 2021-09-17 Jakub Jelinek <jakub (a] redhat.com> 5432 5433 * libgomp.texi (OpenMP 5.1): Spelling fix, 5434 declare variante -> declare variant. 5435 5436 2021-09-17 Jakub Jelinek <jakub (a] redhat.com> 5437 5438 * testsuite/libgomp.c-c++-common/atomic-19.c: Drop c effective target. 5439 Use /* */ comments instead of //. 5440 * testsuite/libgomp.c-c++-common/atomic-20.c: Likewise. 5441 * testsuite/libgomp.c-c++-common/atomic-21.c: Likewise. 5442 * testsuite/libgomp.c++/atomic-16.C: New test. 5443 * testsuite/libgomp.c++/atomic-17.C: New test. 5444 5445 2021-09-10 Jakub Jelinek <jakub (a] redhat.com> 5446 5447 * testsuite/libgomp.c-c++-common/atomic-19.c: New test. 5448 * testsuite/libgomp.c-c++-common/atomic-20.c: New test. 5449 * testsuite/libgomp.c-c++-common/atomic-21.c: New test. 5450 5451 2021-09-07 Tobias Burnus <tobias (a] codesourcery.com> 5452 5453 * libgomp.texi (OpenMP Implementation Status): Extend 5454 OpenMP 5.0 section. 5455 (OpenACC Profiling Interface): Fix typo. 5456 5457 2021-09-07 Tobias Burnus <tobias (a] codesourcery.com> 5458 5459 * libgomp.texi (Enabling OpenMP): Refer to OMP spec in general 5460 not to 4.5; link to new section. 5461 (OpenMP Implementation Status): New. 5462 5463 2021-09-06 Thomas Schwinge <thomas (a] codesourcery.com> 5464 5465 * testsuite/libgomp.c/target-43.c: '-latomic' for nvptx offloading. 5466 5467 2021-09-03 Tobias Burnus <tobias (a] codesourcery.com> 5468 5469 * testsuite/libgomp.c-c++-common/error-1.c: Use \r\n not \n\r in 5470 dg-output. 5471 * testsuite/libgomp.fortran/error-1.f90: Likewise. 5472 5473 2021-08-23 Thomas Schwinge <thomas (a] codesourcery.com> 5474 Jakub Jelinek <jakub (a] redhat.com> 5475 5476 * testsuite/libgomp.c/address-space-1.c: New file. 5477 5478 2021-08-23 Thomas Schwinge <thomas (a] codesourcery.com> 5479 5480 * testsuite/lib/libgomp.exp 5481 (check_effective_target_offload_target_intelmic): Remove 'proc'. 5482 (check_effective_target_offload_device_intel_mic): New 'proc'. 5483 * testsuite/libgomp.c-c++-common/on_device_arch.h 5484 (device_arch_intel_mic, on_device_arch_intel_mic): New. 5485 * testsuite/libgomp.c-c++-common/target-45.c: Use that for 5486 'dg-xfail-run-if'. 5487 * testsuite/libgomp.fortran/target10.f90: Likewise. 5488 5489 2021-08-23 Tobias Burnus <tobias (a] codesourcery.com> 5490 5491 * testsuite/libgomp.fortran/taskloop-4-a.f90: New test. 5492 * testsuite/libgomp.fortran/taskloop-4.f90: New test. 5493 * testsuite/libgomp.fortran/taskloop-5-a.f90: New test. 5494 * testsuite/libgomp.fortran/taskloop-5.f90: New test. 5495 5496 2021-08-23 Jakub Jelinek <jakub (a] redhat.com> 5497 5498 * taskloop.c (GOMP_taskloop): Handle GOMP_TASK_FLAG_STRICT. 5499 * testsuite/libgomp.c-c++-common/taskloop-4.c (main): Fix up comment. 5500 * testsuite/libgomp.c-c++-common/taskloop-5.c: New test. 5501 5502 2021-08-22 Thomas Schwinge <thomas (a] codesourcery.com> 5503 5504 * config/nvptx/error.c (fwrite, exit): Override, too. 5505 * testsuite/libgomp.c-c++-common/error-1.c: Add a minimum amount 5506 of offloading testing. 5507 * testsuite/libgomp.fortran/error-1.f90: Likewise. 5508 5509 2021-08-20 Tobias Burnus <tobias (a] codesourcery.com> 5510 5511 * testsuite/libgomp.fortran/error-1.f90: New test. 5512 5513 2021-08-20 Jakub Jelinek <jakub (a] redhat.com> 5514 5515 * libgomp.map (GOMP_5.1): Add GOMP_error and GOMP_warning. 5516 * libgomp_g.h (GOMP_warning, GOMP_error): Declare. 5517 * error.c (GOMP_warning, GOMP_error): New functions. 5518 * testsuite/libgomp.c-c++-common/error-1.c: New test. 5519 5520 2021-08-18 Tobias Burnus <tobias (a] codesourcery.com> 5521 5522 * omp_lib.f90.in (omp_alloc, omp_free, omp_target_alloc, 5523 omp_target_free. omp_target_is_present, omp_target_memcpy, 5524 omp_target_memcpy_rect, omp_target_associate_ptr, 5525 omp_target_disassociate_ptr): Add interface. 5526 * omp_lib.h.in (omp_alloc, omp_free, omp_target_alloc, 5527 omp_target_free. omp_target_is_present, omp_target_memcpy, 5528 omp_target_memcpy_rect, omp_target_associate_ptr, 5529 omp_target_disassociate_ptr): Add interface. 5530 * testsuite/libgomp.fortran/alloc-1.F90: Remove local 5531 interface block for omp_alloc + omp_free. 5532 * testsuite/libgomp.fortran/alloc-4.f90: Likewise. 5533 * testsuite/libgomp.fortran/refcount-1.f90: New test. 5534 * testsuite/libgomp.fortran/target-12.f90: New test. 5535 5536 2021-08-18 Jakub Jelinek <jakub (a] redhat.com> 5537 5538 * testsuite/libgomp.c-c++-common/nothing-1.c: New test. 5539 5540 2021-08-17 Tobias Burnus <tobias (a] codesourcery.com> 5541 5542 * testsuite/libgomp.fortran/scope-1.f90: New test. 5543 * testsuite/libgomp.fortran/task-reduction-16.f90: New test. 5544 5545 2021-08-17 Jakub Jelinek <jakub (a] redhat.com> 5546 5547 * Makefile.am (libgomp_la_SOURCES): Add scope.c 5548 * Makefile.in: Regenerated. 5549 * libgomp_g.h (GOMP_scope_start): Declare. 5550 * libgomp.map: Add GOMP_scope_start@@GOMP_5.1. 5551 * scope.c: New file. 5552 * testsuite/libgomp.c-c++-common/scope-1.c: New test. 5553 * testsuite/libgomp.c-c++-common/task-reduction-16.c: New test. 5554 5555 2021-08-16 Thomas Schwinge <thomas (a] codesourcery.com> 5556 5557 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Address 5558 '?:' issues. 5559 5560 2021-08-16 Tobias Burnus <tobias (a] codesourcery.com> 5561 5562 * testsuite/libgomp.fortran/masked-1.f90: New test. 5563 5564 2021-08-13 Thomas Schwinge <thomas (a] codesourcery.com> 5565 5566 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Adjust. 5567 5568 2021-08-12 Jakub Jelinek <jakub (a] redhat.com> 5569 5570 * testsuite/libgomp.c-c++-common/masked-1.c: New test. 5571 5572 2021-08-12 Tobias Burnus <tobias (a] codesourcery.com> 5573 5574 * env.c (parse_bind_var): Accept 'primary' as alias for 5575 'master'. 5576 (omp_display_env): Add TODO comment to 5577 change 'master' to 'primary' in proc_bind for OpenMP 5.1. 5578 * libgomp.texi: Change 'master thread' to 'primary thread' 5579 in line with OpenMP 5.1. 5580 (omp_get_proc_bind): Add omp_proc_bind_primary and note that 5581 omp_proc_bind_master is an alias of it. 5582 (OMP_PROC_BIND): Mention 'PRIMARY'. 5583 * omp.h.in (__GOMP_DEPRECATED_5_1): Define. 5584 (omp_proc_bind_primary): Add. 5585 (omp_proc_bind_master): Deprecate for OpenMP 5.1. 5586 * omp_lib.f90.in (omp_proc_bind_primary): Add. 5587 (omp_proc_bind_master): Deprecate for OpenMP 5.1. 5588 * omp_lib.h.in (omp_proc_bind_primary): Add. 5589 * testsuite/libgomp.c/affinity-1.c: Check that 5590 'primary' works and is identical to 'master'. 5591 5592 2021-08-09 Julian Brown <julian (a] codesourcery.com> 5593 Kwok Cheung Yeung <kcy (a] codesourcery.com> 5594 Thomas Schwinge <thomas (a] codesourcery.com> 5595 5596 * plugin/plugin-gcn.c (gcn_exec): Change default number of workers to 5597 16. 5598 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c 5599 [acc_device_radeon]: Update. 5600 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c 5601 [ACC_DEVICE_TYPE_radeon]: Likewise. 5602 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c 5603 [acc_device_radeon]: Likewise. 5604 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c 5605 [ACC_DEVICE_TYPE_radeon]: Likewise. 5606 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: XFAIL for 5607 'openacc_radeon_accel_selected' and '-O0'. 5608 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise. 5609 5610 2021-08-05 Chung-Lin Tang <cltang (a] codesourcery.com> 5611 5612 * icv-device.c (omp_get_device_num): New API function, host side. 5613 * fortran.c (omp_get_device_num_): New interface function. 5614 * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Define macro symbol. 5615 * libgomp.map (OMP_5.0.2): New version space with omp_get_device_num, 5616 omp_get_device_num_. 5617 * libgomp.texi (omp_get_device_num): Add documentation for new API 5618 function. 5619 * omp.h.in (omp_get_device_num): Add declaration. 5620 * omp_lib.f90.in (omp_get_device_num): Likewise. 5621 * omp_lib.h.in (omp_get_device_num): Likewise. 5622 * target.c (gomp_load_image_to_device): If additional entry for device 5623 number exists at end of returned entries from 'load_image_func' hook, 5624 copy the assigned device number over to the device variable. 5625 * config/gcn/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global. 5626 (omp_get_device_num): New API function, device side. 5627 * plugin/plugin-gcn.c ("symcat.h"): Add include. 5628 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR 5629 at end of returned 'target_table' entries. 5630 * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global. 5631 (omp_get_device_num): New API function, device side. 5632 * plugin/plugin-nvptx.c ("symcat.h"): Add include. 5633 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR 5634 at end of returned 'target_table' entries. 5635 * testsuite/lib/libgomp.exp 5636 (check_effective_target_offload_target_intelmic): New function for 5637 testing for intelmic offloading. 5638 * testsuite/libgomp.c-c++-common/target-45.c: New test. 5639 * testsuite/libgomp.fortran/target10.f90: New test. 5640 5641 2021-07-30 Thomas Schwinge <thomas (a] codesourcery.com> 5642 Ulrich Drepper <drepper (a] redhat.com> 5643 5644 * fortran.c (omp_display_env_, omp_display_env_8_): Only 5645 '#ifndef LIBGOMP_OFFLOADED_ONLY'. 5646 5647 2021-07-29 Thomas Schwinge <thomas (a] codesourcery.com> 5648 Julian Brown <julian (a] codesourcery.com> 5649 Kwok Cheung Yeung <kcy (a] codesourcery.com> 5650 5651 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: 5652 's%oaccdevlow%oaccloops%g'. 5653 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise. 5654 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise. 5655 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c: 5656 Likewise. 5657 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: 5658 Likewise. 5659 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: 5660 Likewise. 5661 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: 5662 Likewise. 5663 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: 5664 Likewise. 5665 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: 5666 Likewise. 5667 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: 5668 Likewise. 5669 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: 5670 Likewise. 5671 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise. 5672 5673 2021-07-29 Aldy Hernandez <aldyh (a] redhat.com> 5674 5675 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for 5676 threader. 5677 * testsuite/libgomp.graphite/force-parallel-8.c: Same. 5678 5679 2021-07-27 Ulrich Drepper <drepper (a] gmail.com> 5680 5681 * env.c (wait_policy, stacksize): New static variables, 5682 move out of handle_omp_display_env. 5683 (omp_display_env): New function. The meat of the old 5684 handle_omp_display_env function. 5685 (handle_omp_display_env): Change to not take parameters 5686 and instead use the global variables. Only perform 5687 parsing, defer to omp_display_env for the implementation. 5688 (initialize_env): Remove local variables wait_policy and 5689 stacksize. Don't pass parameters to handle_omp_display_env. 5690 * fortran.c: Add ialias_redirect for omp_display_env. 5691 (omp_display_env_, omp_display_env_8_): New functions. 5692 * libgomp.map (OMP_5.1): New version. Add omp_display_env, 5693 omp_display_env_, and omp_display_env_8_. 5694 * omp.h.in: Declare omp_display_env. 5695 * omp_lib.f90.in: Likewise. 5696 * omp_lib.h.in: Likewise. 5697 5698 2021-07-27 Thomas Schwinge <thomas (a] codesourcery.com> 5699 Julian Brown <julian (a] codesourcery.com> 5700 5701 * target.c (gomp_coalesce_buf_add): Update comment. 5702 (gomp_copy_host2dev, gomp_map_vars_internal): Don't expect to see 5703 'aq && cbuf'. 5704 (gomp_map_vars_internal): Only 'if (!aq)', do 5705 'gomp_coalesce_buf_add'. 5706 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Remove 5707 XFAIL. 5708 5709 2021-07-27 Julian Brown <julian (a] codesourcery.com> 5710 Thomas Schwinge <thomas (a] codesourcery.com> 5711 5712 * libgomp.h (gomp_copy_host2dev): Update prototype. 5713 * oacc-mem.c (memcpy_tofrom_device, update_dev_host): Add new 5714 argument to gomp_copy_host2dev (false). 5715 * plugin/plugin-gcn.c (struct copy_data): Remove free_src field. 5716 (copy_data): Don't free src. 5717 (queue_push_copy): Remove free_src handling. 5718 (GOMP_OFFLOAD_dev2dev): Update call to queue_push_copy. 5719 (GOMP_OFFLOAD_openacc_async_host2dev): Remove source-data 5720 snapshotting. 5721 (GOMP_OFFLOAD_openacc_async_dev2host): Update call to 5722 queue_push_copy. 5723 * target.c (goacc_device_copy_async): Add SRCADDR_ORIG parameter. 5724 (gomp_copy_host2dev): Add EPHEMERAL parameter. Snapshot source 5725 data when true, and set up deferred freeing of temporary buffer. 5726 (gomp_copy_dev2host): Update call to goacc_device_copy_async. 5727 (gomp_map_vars_existing, gomp_map_pointer, gomp_attach_pointer) 5728 (gomp_detach_pointer, gomp_map_vars_internal, gomp_update): Update 5729 calls to gomp_copy_host2dev with appropriate ephemeral argument. 5730 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: Remove 5731 XFAIL. 5732 5733 2021-07-27 Thomas Schwinge <thomas (a] codesourcery.com> 5734 Tom de Vries <tom (a] codesourcery.com> 5735 5736 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: New file. 5737 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Likewise. 5738 5739 2021-07-27 Thomas Schwinge <thomas (a] codesourcery.com> 5740 5741 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Clarify 5742 sequencing of 'async' data copying vs. profiling events. 5743 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: 5744 Likewise. 5745 5746 2021-07-27 Thomas Schwinge <thomas (a] codesourcery.com> 5747 Julian Brown <julian (a] codesourcery.com> 5748 5749 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: Fix OpenACC 5750 'async'/'wait' issue. 5751 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: Likewise. 5752 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: Likewise. 5753 * testsuite/libgomp.oacc-fortran/lib-16.f90: Likewise. 5754 5755 2021-07-21 Thomas Schwinge <thomas (a] codesourcery.com> 5756 Joseph Myers <joseph (a] codesourcery.com> 5757 Cesar Philippidis <cesar (a] codesourcery.com> 5758 5759 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c: New 5760 file. 5761 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: 5762 Likewise. 5763 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2_2.c: 5764 Likewise. 5765 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise. 5766 5767 2021-07-20 Thomas Schwinge <thomas (a] codesourcery.com> 5768 5769 PR target/101484 5770 * configure.tgt [amdgcn*-*-*] (XCFLAGS): Add 5771 '-Wno-error=array-bounds'. 5772 * config/gcn/team.c: Remove '-Werror=array-bounds' work-around. 5773 * libgomp.h [__AMDGCN__]: Likewise. 5774 5775 2021-07-19 Thomas Schwinge <thomas (a] codesourcery.com> 5776 5777 PR target/101484 5778 * config/gcn/team.c: Apply '-Werror=array-bounds' work-around. 5779 * libgomp.h [__AMDGCN__]: Likewise. 5780 5781 2021-07-13 Jakub Jelinek <jakub (a] redhat.com> 5782 Florian Weimer <fweimer (a] redhat.com> 5783 5784 * config/linux/sem.h: Don't include limits.h. 5785 (SEM_WAIT): Define to -__INT_MAX__ - 1 instead of INT_MIN. 5786 * config/linux/affinity.c: Include limits.h. 5787 5788 2021-07-01 Jakub Jelinek <jakub (a] redhat.com> 5789 5790 PR middle-end/94366 5791 * testsuite/libgomp.c-c++-common/pr94366.c: New test. 5792 5793 2021-06-29 Tobias Burnus <tobias (a] codesourcery.com> 5794 5795 PR other/67300 5796 * testsuite/libgomp.c-c++-common/reduction-16.c: Replace 5797 -foffload=nvptx-none= by -foffload-options=nvptx-none= to 5798 avoid disabling other offload targets. 5799 * testsuite/libgomp.c-c++-common/reduction-5.c: Likewise. 5800 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise. 5801 * testsuite/libgomp.c/target-44.c: Likewise. 5802 5803 2021-06-29 Tobias Burnus <tobias (a] codesourcery.com> 5804 5805 * testsuite/libgomp.fortran/defaultmap-8.f90 (bar): Determine whether 5806 target has shared memory and disable some scalar pointer/allocatable 5807 checks if not as firstprivate does not work. 5808 5809 2021-06-25 Chung-Lin Tang <cltang (a] codesourcery.com> 5810 5811 PR testsuite/101114 5812 * testsuite/libgomp.c-c++-common/struct-elem-5.c: 5813 Add "target offload_device_nonshared_as" condition for enabling test. 5814 5815 2021-06-24 Jakub Jelinek <jakub (a] redhat.com> 5816 5817 * testsuite/libgomp.c-c++-common/target-in-reduction-1.c: New test. 5818 * testsuite/libgomp.c-c++-common/target-in-reduction-2.c: New test. 5819 * testsuite/libgomp.c++/target-in-reduction-1.C: New test. 5820 * testsuite/libgomp.c++/target-in-reduction-2.C: New test. 5821 5822 2021-06-23 Jakub Jelinek <jakub (a] redhat.com> 5823 5824 PR middle-end/101167 5825 * testsuite/libgomp.c-c++-common/task-reduction-15.c: New test. 5826 5827 2021-06-17 Chung-Lin Tang <cltang (a] codesourcery.com> 5828 5829 * hashtab.h (htab_clear): New function with initialization code 5830 factored out from... 5831 (htab_create): ...here, adjust to use htab_clear function. 5832 * libgomp.h (REFCOUNT_SPECIAL): New symbol to denote range of 5833 special refcount values, add comments. 5834 (REFCOUNT_INFINITY): Adjust definition to use REFCOUNT_SPECIAL. 5835 (REFCOUNT_LINK): Likewise. 5836 (REFCOUNT_STRUCTELEM): New special refcount range for structure 5837 element siblings. 5838 (REFCOUNT_STRUCTELEM_P): Macro for testing for structure element 5839 sibling maps. 5840 (REFCOUNT_STRUCTELEM_FLAG_FIRST): Flag to indicate first sibling. 5841 (REFCOUNT_STRUCTELEM_FLAG_LAST): Flag to indicate last sibling. 5842 (REFCOUNT_STRUCTELEM_FIRST_P): Macro to test _FIRST flag. 5843 (REFCOUNT_STRUCTELEM_LAST_P): Macro to test _LAST flag. 5844 (struct splay_tree_key_s): Add structelem_refcount and 5845 structelem_refcount_ptr fields into a union with dynamic_refcount. 5846 Add comments. 5847 (gomp_map_vars): Delete declaration. 5848 (gomp_map_vars_async): Likewise. 5849 (gomp_unmap_vars): Likewise. 5850 (gomp_unmap_vars_async): Likewise. 5851 (goacc_map_vars): New declaration. 5852 (goacc_unmap_vars): Likewise. 5853 * oacc-mem.c (acc_map_data): Adjust to use goacc_map_vars. 5854 (goacc_enter_datum): Likewise. 5855 (goacc_enter_data_internal): Likewise. 5856 * oacc-parallel.c (GOACC_parallel_keyed): Adjust to use goacc_map_vars 5857 and goacc_unmap_vars. 5858 (GOACC_data_start): Adjust to use goacc_map_vars. 5859 (GOACC_data_end): Adjust to use goacc_unmap_vars. 5860 * target.c (hash_entry_type): New typedef. 5861 (htab_alloc): New function hook for hashtab.h. 5862 (htab_free): Likewise. 5863 (htab_hash): Likewise. 5864 (htab_eq): Likewise. 5865 (hashtab.h): Add file include. 5866 (gomp_increment_refcount): New function. 5867 (gomp_decrement_refcount): Likewise. 5868 (gomp_map_vars_existing): Add refcount_set parameter, adjust to use 5869 gomp_increment_refcount. 5870 (gomp_map_fields_existing): Add refcount_set parameter, adjust calls 5871 to gomp_map_vars_existing. 5872 (gomp_map_vars_internal): Add refcount_set parameter, add local openmp_p 5873 variable to guard OpenMP specific paths, adjust calls to 5874 gomp_map_vars_existing, add structure element sibling splay_tree_key 5875 sequence creation code, adjust Fortran map case to avoid increment 5876 under OpenMP. 5877 (gomp_map_vars): Adjust to static, add refcount_set parameter, manage 5878 local refcount_set if caller passed in NULL, adjust call to 5879 gomp_map_vars_internal. 5880 (gomp_map_vars_async): Adjust and rename into... 5881 (goacc_map_vars): ...this new function, adjust call to 5882 gomp_map_vars_internal. 5883 (gomp_remove_splay_tree_key): New function with code factored out from 5884 gomp_remove_var_internal. 5885 (gomp_remove_var_internal): Add code to handle removing multiple 5886 splay_tree_key sequence for structure elements, adjust code to use 5887 gomp_remove_splay_tree_key for splay-tree key removal. 5888 (gomp_unmap_vars_internal): Add refcount_set parameter, adjust to use 5889 gomp_decrement_refcount. 5890 (gomp_unmap_vars): Adjust to static, add refcount_set parameter, manage 5891 local refcount_set if caller passed in NULL, adjust call to 5892 gomp_unmap_vars_internal. 5893 (gomp_unmap_vars_async): Adjust and rename into... 5894 (goacc_unmap_vars): ...this new function, adjust call to 5895 gomp_unmap_vars_internal. 5896 (GOMP_target): Manage refcount_set and adjust calls to gomp_map_vars and 5897 gomp_unmap_vars. 5898 (GOMP_target_ext): Likewise. 5899 (gomp_target_data_fallback): Adjust call to gomp_map_vars. 5900 (GOMP_target_data): Likewise. 5901 (GOMP_target_data_ext): Likewise. 5902 (GOMP_target_end_data): Adjust call to gomp_unmap_vars. 5903 (gomp_exit_data): Add refcount_set parameter, adjust to use 5904 gomp_decrement_refcount, adjust to queue splay-tree keys for removal 5905 after main loop. 5906 (GOMP_target_enter_exit_data): Manage refcount_set and adjust calls to 5907 gomp_map_vars and gomp_exit_data. 5908 (gomp_target_task_fn): Likewise. 5909 * testsuite/libgomp.c-c++-common/refcount-1.c: New testcase. 5910 * testsuite/libgomp.c-c++-common/struct-elem-1.c: New testcase. 5911 * testsuite/libgomp.c-c++-common/struct-elem-2.c: New testcase. 5912 * testsuite/libgomp.c-c++-common/struct-elem-3.c: New testcase. 5913 * testsuite/libgomp.c-c++-common/struct-elem-4.c: New testcase. 5914 * testsuite/libgomp.c-c++-common/struct-elem-5.c: New testcase. 5915 5916 2021-06-15 Tobias Burnus <tobias (a] codesourcery.com> 5917 5918 PR fortran/92568 5919 * testsuite/libgomp.fortran/defaultmap-8.f90: New test. 5920 5921 2021-06-10 Andrew Stubbs <ams (a] codesourcery.com> 5922 Thomas Schwinge <thomas (a] codesourcery.com> 5923 5924 * libgomp.map (GOACC_2.0.2): New symbol version. 5925 * libgomp_g.h (GOACC_enter_data, GOACC_exit_data) New prototypes. 5926 * oacc-mem.c (GOACC_enter_data, GOACC_exit_data) New functions. 5927 5928 2021-06-10 Thomas Schwinge <thomas (a] codesourcery.com> 5929 Andrew Stubbs <ams (a] codesourcery.com> 5930 5931 * oacc-mem.c (goacc_enter_exit_data_internal): New function, 5932 extracted from... 5933 (GOACC_enter_exit_data): ... here. 5934 (GOACC_declare): Use it. 5935 5936 2021-06-10 Thomas Schwinge <thomas (a] codesourcery.com> 5937 5938 * oacc-parallel.c (GOACC_declare): Move... 5939 * oacc-mem.c: ... here. 5940 * libgomp_g.h: Adjust. 5941 5942 2021-06-10 Andrew Stubbs <ams (a] codesourcery.com> 5943 Thomas Schwinge <thomas (a] codesourcery.com> 5944 5945 * oacc-parallel.c (GOACC_declare): Clean up 'GOMP_MAP_POINTER' 5946 handling. 5947 5948 2021-06-10 Jakub Jelinek <jakub (a] redhat.com> 5949 5950 PR tree-optimization/100981 5951 * testsuite/libgomp.fortran/pr100981-2.f90 (cdcdot): Initialize 5952 dsdotr and dsdoti to 0. 5953 5954 2021-06-09 H.J. Lu <hjl.tools (a] gmail.com> 5955 5956 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -march=i486 5957 if atomic compare-and-swap is supported on 'int'. 5958 5959 2021-06-09 Richard Biener <rguenther (a] suse.de> 5960 5961 PR tree-optimization/100981 5962 * testsuite/libgomp.fortran/pr100981-2.f90: New testcase. 5963 5964 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com> 5965 5966 * plugin/plugin-gcn.c (gcn_exec): Force 'num_workers (1)' 5967 unconditionally. 5968 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: 5969 Update. 5970 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise. 5971 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise. 5972 5973 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com> 5974 5975 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Enable for all but 5976 '-DACC_MEM_SHARED=0'. 5977 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise. 5978 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise. 5979 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise. 5980 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise. 5981 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. 5982 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise. 5983 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise. 5984 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. 5985 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise. 5986 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise. 5987 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise. 5988 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise. 5989 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise. 5990 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise. 5991 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Add 5992 'acc_device_radeon' testing. 5993 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise. 5994 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise. 5995 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise. 5996 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Enable for all. 5997 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise. 5998 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise. 5999 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise. 6000 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise. 6001 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise. 6002 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise. 6003 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Improve checking 6004 for non-'openacc_nvidia_accel_selected'. 6005 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise. 6006 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Clarify that "Not 6007 all implement this checking". 6008 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise. 6009 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise. 6010 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise. 6011 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise. 6012 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise. 6013 6014 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com> 6015 6016 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Simplify. 6017 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: Update. 6018 6019 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com> 6020 6021 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Fix 6022 for 'acc_device_radeon'. 6023 6024 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com> 6025 6026 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Enhance 6027 for non-'acc_device_nvidia'. 6028 6029 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com> 6030 6031 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Add 6032 'acc_device_radeon' testing. 6033 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise. 6034 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise. 6035 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise. 6036 6037 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com> 6038 6039 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Don't 6040 require 'openacc_nvidia_accel_selected'. Fix up for 6041 'ACC_DEVICE_TYPE_radeon'. 6042 6043 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com> 6044 6045 * testsuite/libgomp.oacc-c++/declare-1.C: Don't require 6046 'openacc_nvidia_accel_selected'. 6047 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise. 6048 6049 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com> 6050 6051 * testsuite/lib/libgomp.exp 6052 (check_effective_target_openacc_radeon_accel_selected): 6053 Streamline. 6054 6055 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com> 6056 6057 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Revert 6058 PR80547 workaround. 6059 6060 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com> 6061 6062 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c 6063 <acc_device_nvidia>: Update comment. 6064 6065 2021-05-28 Tobias Burnus <tobias (a] codesourcery.com> 6066 6067 * testsuite/libgomp.fortran/depend-iterator-2.f90: New test. 6068 6069 2021-05-27 Jakub Jelinek <jakub (a] redhat.com> 6070 6071 * testsuite/lib/libgomp.exp (check_effective_target_openacc_cuda, 6072 check_effective_target_openacc_cublas, 6073 check_effective_target_openacc_cudart): New. 6074 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Require effective 6075 target openacc_cublas. 6076 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise. 6077 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise. 6078 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Require effective 6079 target openacc_cuda. 6080 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise. 6081 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise. 6082 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise. 6083 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise. 6084 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise. 6085 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise. 6086 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise. 6087 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise. 6088 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Likewise. 6089 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise. 6090 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise. 6091 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise. 6092 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise. 6093 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise. 6094 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise. 6095 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise. 6096 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Require effective 6097 targets openacc_cublas and openacc_cudart. 6098 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise. 6099 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise. 6100 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise. 6101 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise. 6102 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: 6103 Require effective target openacc_cudart. 6104 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Add -DUSE_CUDA_H 6105 for effective target openacc_cuda and add && defined USE_CUDA_H to 6106 preprocessor conditionals. Guard -lcuda also on openacc_cuda 6107 effective target. 6108 6109 2021-05-26 Jakub Jelinek <jakub (a] redhat.com> 6110 6111 PR libgomp/100573 6112 * config/nvptx/target.c (GOMP_target_ext, GOMP_target_data_ext, 6113 GOMP_target_end_data, GOMP_target_update_ext, 6114 GOMP_target_enter_exit_data): New dummy entrypoints. 6115 * config/gcn/target.c (GOMP_target_ext, GOMP_target_data_ext, 6116 GOMP_target_end_data, GOMP_target_update_ext, 6117 GOMP_target_enter_exit_data): Likewise. 6118 * testsuite/libgomp.c-c++-common/for-3.c (DO_PRAGMA, OMPTEAMS, 6119 OMPFROM, OMPTO): Define. 6120 (main): Remove #pragma omp target teams around all the tests. 6121 * testsuite/libgomp.c-c++-common/target-41.c: New test. 6122 * testsuite/libgomp.c-c++-common/target-42.c: New test. 6123 6124 2021-05-25 Jakub Jelinek <jakub (a] redhat.com> 6125 6126 PR middle-end/99928 6127 * testsuite/libgomp.c-c++-common/reduction-17.c: New test. 6128 6129 2021-05-24 Tobias Burnus <tobias (a] codesourcery.com> 6130 6131 PR fortran/86470 6132 * testsuite/libgomp.fortran/class-firstprivate-1.f90: New test. 6133 * testsuite/libgomp.fortran/class-firstprivate-2.f90: New test. 6134 * testsuite/libgomp.fortran/class-firstprivate-3.f90: New test. 6135 6136 2021-05-22 Thomas Schwinge <thomas (a] codesourcery.com> 6137 6138 PR testsuite/90115 6139 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Prune 6140 uninteresting/varying diagnostics. 6141 6142 2021-05-21 Thomas Schwinge <thomas (a] codesourcery.com> 6143 6144 PR middle-end/90115 6145 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Update. 6146 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise. 6147 6148 2021-05-21 Thomas Schwinge <thomas (a] codesourcery.com> 6149 6150 PR middle-end/90115 6151 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: New 6152 file. 6153 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update. 6154 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Likewise. 6155 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: 6156 Likewise. 6157 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c: 6158 Likewise. 6159 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c: 6160 Likewise. 6161 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c: 6162 Likewise. 6163 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c: 6164 Likewise. 6165 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c: 6166 Likewise. 6167 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c: 6168 Likewise. 6169 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c: 6170 Likewise. 6171 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c: 6172 Likewise. 6173 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c: 6174 Likewise. 6175 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c: 6176 Likewise. 6177 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c: 6178 Likewise. 6179 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c: 6180 Likewise. 6181 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c: 6182 Likewise. 6183 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c: 6184 Likewise. 6185 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c: 6186 Likewise. 6187 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c: 6188 Likewise. 6189 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c: 6190 Likewise. 6191 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c: 6192 Likewise. 6193 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c: 6194 Likewise. 6195 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c: 6196 Likewise. 6197 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise. 6198 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise. 6199 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise. 6200 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise. 6201 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise. 6202 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise. 6203 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise. 6204 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise. 6205 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise. 6206 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise. 6207 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise. 6208 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise. 6209 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise. 6210 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise. 6211 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: 6212 Likewise. 6213 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c: 6214 Likewise. 6215 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: 6216 Likewise. 6217 * testsuite/libgomp.oacc-c-c++-common/private-variables.c: 6218 Likewise. 6219 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise. 6220 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: 6221 Likewise. 6222 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise. 6223 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise. 6224 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise. 6225 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise. 6226 * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise. 6227 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise. 6228 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90: 6229 Likewise. 6230 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90: 6231 Likewise. 6232 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90: 6233 Likewise. 6234 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90: 6235 Likewise. 6236 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90: 6237 Likewise. 6238 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90: 6239 Likewise. 6240 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90: 6241 Likewise. 6242 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90: 6243 Likewise. 6244 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90: 6245 Likewise. 6246 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90: 6247 Likewise. 6248 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90: 6249 Likewise. 6250 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90: 6251 Likewise. 6252 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90: 6253 Likewise. 6254 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise. 6255 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise. 6256 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90: 6257 Likewise. 6258 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90: 6259 Likewise. 6260 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise. 6261 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise. 6262 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise. 6263 6264 2021-05-21 Julian Brown <julian (a] codesourcery.com> 6265 Chung-Lin Tang <cltang (a] codesourcery.com> 6266 Thomas Schwinge <thomas (a] codesourcery.com> 6267 6268 PR middle-end/90115 6269 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c: New 6270 test. 6271 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90: 6272 Likewise. 6273 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90: 6274 Likewise. 6275 6276 2021-05-21 Thomas Schwinge <thomas (a] codesourcery.com> 6277 6278 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Don't skip 6279 for nvptx offloading. 6280 6281 2021-05-21 Tobias Burnus <tobias (a] codesourcery.com> 6282 6283 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: New. 6284 6285 2021-05-19 Thomas Schwinge <thomas (a] codesourcery.com> 6286 6287 PR target/83812 6288 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: New. 6289 6290 2021-05-19 Julian Brown <julian (a] codesourcery.com> 6291 6292 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: New. 6293 6294 2021-05-18 Thomas Schwinge <thomas (a] codesourcery.com> 6295 6296 * testsuite/lib/libgomp.exp 6297 (check_effective_target_offload_target_nvptx): Don't shadow global 6298 'offload_targets' variable. 6299 6300 2021-05-18 Thomas Schwinge <thomas (a] codesourcery.com> 6301 6302 * testsuite/libgomp.c-c++-common/reduction-5.c: Restrict 6303 '-latomic' to nvptx offloading compilation. 6304 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise. 6305 6306 2021-05-18 Thomas Schwinge <thomas (a] codesourcery.com> 6307 6308 * testsuite/libgomp.c/target-44.c: Restrict '-latomic' to nvptx 6309 offloading compilation. 6310 6311 2021-05-17 Kwok Cheung Yeung <kcy (a] codesourcery.com> 6312 6313 * task.c (omp_fulfill_event): Call gomp_team_barrier_set_task_pending 6314 if new tasks generated. 6315 * testsuite/libgomp.c-c++-common/task-detach-13.c: New. 6316 6317 2021-05-14 Tobias Burnus <tobias (a] codesourcery.com> 6318 6319 * testsuite/libgomp.fortran/parallel-master.f90: New test. 6320 6321 2021-05-13 Martin Liska <mliska (a] suse.cz> 6322 6323 PR testsuite/100569 6324 * testsuite/libgomp.c/omp-nested-3.c: Prune new LTO warning. 6325 * testsuite/libgomp.c/pr46032-2.c: Likewise. 6326 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c: Likewise. 6327 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c: Likewise. 6328 6329 2021-05-12 Tobias Burnus <tobias (a] codesourcery.com> 6330 6331 * testsuite/libgomp.c-c++-common/task-detach-12.c: New test. 6332 * testsuite/libgomp.fortran/task-detach-12.f90: New test. 6333 6334 2021-05-11 Jakub Jelinek <jakub (a] redhat.com> 6335 6336 PR middle-end/100471 6337 * taskloop.c (GOMP_taskloop): If GOMP_TASK_FLAG_REDUCTION and not 6338 GOMP_TASK_FLAG_NOGROUP, when doing early return clear the task 6339 reduction pointer. 6340 * testsuite/libgomp.c/task-reduction-4.c: New test. 6341 6342 2021-05-07 Tobias Burnus <tobias (a] codesourcery.com> 6343 Tom de Vries <tdevries (a] suse.de> 6344 6345 * testsuite/libgomp.c-c++-common/reduction-5.c: New test, testing 6346 complex/floating-point || + && reduction with 'omp target'. 6347 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise. 6348 6349 2021-05-04 Tobias Burnus <tobias (a] codesourcery.com> 6350 6351 * testsuite/libgomp.c-c++-common/reduction-1.c: New test. 6352 * testsuite/libgomp.c-c++-common/reduction-2.c: New test. 6353 * testsuite/libgomp.c-c++-common/reduction-3.c: New test. 6354 * testsuite/libgomp.c-c++-common/reduction-4.c: New file. 6355 6356 2021-05-04 Tobias Burnus <tobias (a] codesourcery.com> 6357 6358 PR testsuite/100397 6359 * testsuite/libgomp.fortran/depobj-1.f90 (dep2, dep3): Move var 6360 declaration to scope of non-'depend'-guarded assignment to avoid races. 6361 6362 2021-05-03 Tom de Vries <tdevries (a] suse.de> 6363 6364 PR target/100321 6365 * testsuite/libgomp.c/target-44.c: New test. 6366 6367 2021-04-30 Roman Zhuykov <zhroma (a] ispras.ru> 6368 6369 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-3.c: New test. 6370 6371 2021-04-29 Tom de Vries <tdevries (a] suse.de> 6372 6373 * testsuite/libgomp.c/pr81778.c: New test. 6374 6375 2021-04-29 Tom de Vries <tdevries (a] suse.de> 6376 6377 PR target/100232 6378 * testsuite/libgomp.c/target-43.c: New file. 6379 6380 2021-04-28 Jakub Jelinek <jakub (a] redhat.com> 6381 Tobias Burnus <tobias (a] codesourcery.com> 6382 6383 * configure.ac (OFFLOAD_DEFAULTED): AC_DEFINE if offload-defaulted. 6384 * target.c (gomp_load_plugin_for_device): If set and if a plugin 6385 can't be dlopened, silently assume it has no devices. 6386 * Makefile.in: Regenerate. 6387 * config.h.in: Regenerate. 6388 * configure: Regenerate. 6389 6390 2021-04-26 Tobias Burnus <tobias (a] codesourcery.com> 6391 6392 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: 6393 Use [Ww]arning in dg-bogus as FE diagnostic and default 6394 diagnostic differ and the result depends on ENABLE_OFFLOAD. 6395 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise. 6396 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise. 6397 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise. 6398 6399 2021-04-26 Tobias Burnus <tobias (a] codesourcery.com> 6400 6401 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: 6402 Correct spelling in dg-bogus to match -Wopenacc-parallelism. 6403 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise. 6404 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise. 6405 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise. 6406 6407 2021-04-26 Thomas Schwinge <thomas (a] codesourcery.com> 6408 Nathan Sidwell <nathan (a] codesourcery.com> 6409 Tom de Vries <vries (a] codesourcery.com> 6410 Julian Brown <julian (a] codesourcery.com> 6411 Kwok Cheung Yeung <kcy (a] codesourcery.com> 6412 6413 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Specify 6414 '-Wopenacc-parallelism', and match diagnostics, as appropriate. 6415 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise. 6416 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise. 6417 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise. 6418 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise. 6419 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: 6420 Likewise. 6421 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise. 6422 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise. 6423 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise. 6424 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: 6425 Likewise. 6426 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise. 6427 * testsuite/libgomp.oacc-c-c++-common/private-variables.c: 6428 Likewise. 6429 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise. 6430 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise. 6431 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise. 6432 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise. 6433 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise. 6434 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: 6435 Likewise. 6436 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise. 6437 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise. 6438 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise. 6439 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise. 6440 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise. 6441 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise. 6442 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise. 6443 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise. 6444 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise. 6445 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. 6446 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise. 6447 6448 2021-04-26 Thomas Schwinge <thomas (a] codesourcery.com> 6449 6450 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Don't 6451 compile with '-w'. 6452 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise. 6453 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: 6454 Likewise. 6455 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise. 6456 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: Likewise. 6457 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise. 6458 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise. 6459 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise. 6460 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. 6461 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise. 6462 6463 2021-04-22 Richard Biener <rguenther (a] suse.de> 6464 6465 * testsuite/libgomp.c-c++-common/reduction-16.c: Use -latomic 6466 only on nvptx-none. 6467 6468 2021-04-21 Tobias Burnus <tobias (a] codesourcery.com> 6469 6470 * testsuite/libgomp.fortran/depobj-1.f90: Use omp_lib's 6471 omp_depend_kind instead of defining it as 16. 6472 6473 2021-04-21 Tobias Burnus <tobias (a] codesourcery.com> 6474 6475 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type): 6476 New, based on check_effective_target_offload_target_nvptx. 6477 (check_effective_target_offload_target_nvptx): Call it. 6478 (check_effective_target_offload_target_amdgcn): New. 6479 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: 6480 Require target offload_target_nvptx || offload_target_amdgcn. 6481 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: Likewise. 6482 * testsuite/libgomp.c/pr86416-1.c: Likewise. 6483 * testsuite/libgomp.c/pr86416-2.c: Likewise. 6484 6485 2021-04-21 Tobias Burnus <tobias (a] codesourcery.com> 6486 6487 * testsuite/libgomp.fortran/depobj-1.f90: New test. 6488 6489 2021-04-19 Thomas Schwinge <thomas (a] codesourcery.com> 6490 6491 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c: 6492 '-fopenacc-kernels=[...]' -> '--param=openacc-kernels=[...]'. 6493 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c: 6494 Likewise. 6495 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: 6496 Likewise. 6497 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise. 6498 6499 2021-04-15 Thomas Schwinge <thomas (a] codesourcery.com> 6500 6501 PR target/99555 6502 * testsuite/lib/libgomp.exp 6503 (check_effective_target_offload_device_nvptx): New. 6504 * testsuite/libgomp.c/pr99555-1.c <nvptx offload device>: Until 6505 resolved, make sure that we exit quickly, with error status, 6506 XFAILed. 6507 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise. 6508 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise. 6509 6510 2021-04-14 Jakub Jelinek <jakub (a] redhat.com> 6511 6512 PR testsuite/100071 6513 * testsuite/libgomp.fortran/alloc-1.F90: Call c_f_pointer after last 6514 cp = omp_alloc with cp, p arguments instead of cq, q and call 6515 c_f_pointer after last cq = omp_alloc with cq, q. 6516 6517 2021-04-11 Hafiz Abid Qadeer <abidh (a] codesourcery.com> 6518 6519 PR middle-end/98088 6520 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Add check 6521 for loop with GT/GE condition. 6522 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise. 6523 6524 2021-04-09 Thomas Schwinge <thomas (a] codesourcery.com> 6525 6526 PR middle-end/84991 6527 PR middle-end/84992 6528 PR middle-end/90779 6529 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: New. 6530 6531 2021-04-09 Jakub Jelinek <jakub (a] redhat.com> 6532 6533 PR libgomp/99984 6534 * team.c (gomp_thread_start): Call pthread_setspecific for 6535 !(defined HAVE_TLS || defined USE_EMUTLS) only after local_thr 6536 has been initialized to avoid false positive warning. 6537 6538 2021-03-29 Tobias Burnus <tobias (a] codesourcery.com> 6539 6540 PR target/99555 6541 * testsuite/lib/on_device_arch.c: Move to ... 6542 * testsuite/libgomp.c-c++-common/on_device_arch.h: ... here. 6543 * testsuite/libgomp.fortran/on_device_arch.c: New file; 6544 #include on_device_arch.h. 6545 * testsuite/libgomp.c-c++-common/task-detach-6.c: #include 6546 on_device_arch.h instead of using dg-additional-source. 6547 * testsuite/libgomp.c/pr99555-1.c: Likewise. 6548 * testsuite/libgomp.fortran/task-detach-6.f90: Update to use 6549 on_device_arch.c without relative paths. 6550 6551 2021-03-25 Thomas Schwinge <thomas (a] codesourcery.com> 6552 6553 * plugin/plugin-gcn.c (init_environment_variables): Don't prepend 6554 the 'HSA_RUNTIME_LIB' path to 'libhsa-runtime64.so'. 6555 * plugin/configfrag.ac (HSA_RUNTIME_LIB): Clean up. 6556 * config.h.in: Regenerate. 6557 * configure: Likewise. 6558 6559 2021-03-25 Thomas Schwinge <thomas (a] codesourcery.com> 6560 6561 PR target/99555 6562 * testsuite/lib/on_device_arch.c: New file. 6563 * testsuite/libgomp.c/pr99555-1.c: Likewise. 6564 * testsuite/libgomp.c-c++-common/task-detach-6.c: Until resolved, 6565 skip for nvptx offloading, with error status. 6566 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise. 6567 6568 2021-03-25 Thomas Schwinge <thomas (a] codesourcery.com> 6569 6570 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: 6571 OpenACC 'serial' construct diagnostic for nvptx offloading. 6572 6573 2021-03-15 Tobias Burnus <tobias (a] codesourcery.com> 6574 6575 PR c++/99509 6576 * testsuite/libgomp.c-c++-common/declare_target-1.c: New test. 6577 6578 2021-03-12 Tobias Burnus <tobias (a] codesourcery.com> 6579 6580 PR fortran/98858 6581 * testsuite/libgomp.fortran/use_device_ptr-3.f90: New test. 6582 6583 2021-03-04 Jakub Jelinek <jakub (a] redhat.com> 6584 6585 * configure.ac: Add AC_CHECK_SIZEOF([void *]). 6586 * plugin/configfrag.ac: Check $ac_cv_sizeof_void_p value instead of 6587 checking of -m32 or -mx32 options on the command line. 6588 * config.h.in: Regenerated. 6589 * configure: Regenerated. 6590 6591 2021-02-27 Iain Sandoe <iain (a] sandoe.co.uk> 6592 6593 * testsuite/libgomp.c-c++-common/pr96390.c: Require alias 6594 support from the target. 6595 6596 2021-02-25 Kwok Cheung Yeung <kcy (a] codesourcery.com> 6597 Jakub Jelinek <jakub (a] redhat.com> 6598 6599 PR libgomp/98738 6600 * libgomp.h (enum gomp_task_kind): Add GOMP_TASK_DETACHED. 6601 (struct gomp_task): Replace detach and completion_sem fields with 6602 union containing completion_sem and detach_team. Add deferred_p 6603 field. 6604 (struct gomp_team): Remove task_detach_queue. 6605 * task.c: Include assert.h. 6606 (gomp_init_task): Initialize deferred_p and completion_sem fields. 6607 Rearrange initialization order of fields. 6608 (task_fulfilled_p): Delete. 6609 (GOMP_task): Use address of task as the event handle. Remove 6610 initialization of detach field. Initialize deferred_p field. 6611 Use automatic local for completion_sem. Initialize detach_team field 6612 for deferred tasks. 6613 (gomp_barrier_handle_tasks): Remove handling of task_detach_queue. 6614 Set kind of suspended detach task to GOMP_TASK_DETACHED and 6615 decrement task_running_count. Move finish_cancelled block out of 6616 else branch. Relocate call to gomp_team_barrier_done. 6617 (GOMP_taskwait): Handle tasks with completion events that have not 6618 been fulfilled. 6619 (GOMP_taskgroup_end): Likewise. 6620 (omp_fulfill_event): Use address of task as event handle. Post to 6621 completion_sem for undeferred tasks. Clear detach_team if task 6622 has not finished. For finished tasks, handle post-execution tasks, 6623 call gomp_team_barrier_wake if necessary, and free task. 6624 * team.c (gomp_new_team): Remove initialization of task_detach_queue. 6625 (free_team): Remove free of task_detach_queue. 6626 * testsuite/libgomp.c-c++-common/task-detach-1.c: Fix formatting. 6627 * testsuite/libgomp.c-c++-common/task-detach-2.c: Fix formatting. 6628 * testsuite/libgomp.c-c++-common/task-detach-3.c: Fix formatting. 6629 * testsuite/libgomp.c-c++-common/task-detach-4.c: Fix formatting. 6630 * testsuite/libgomp.c-c++-common/task-detach-5.c: Fix formatting. 6631 Change data-sharing of detach events on enclosing parallel to private. 6632 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise. Remove 6633 taskwait directive. 6634 * testsuite/libgomp.c-c++-common/task-detach-7.c: New. 6635 * testsuite/libgomp.c-c++-common/task-detach-8.c: New. 6636 * testsuite/libgomp.c-c++-common/task-detach-9.c: New. 6637 * testsuite/libgomp.c-c++-common/task-detach-10.c: New. 6638 * testsuite/libgomp.c-c++-common/task-detach-11.c: New. 6639 * testsuite/libgomp.fortran/task-detach-1.f90: Fix formatting. 6640 * testsuite/libgomp.fortran/task-detach-2.f90: Fix formatting. 6641 * testsuite/libgomp.fortran/task-detach-3.f90: Fix formatting. 6642 * testsuite/libgomp.fortran/task-detach-4.f90: Fix formatting. 6643 * testsuite/libgomp.fortran/task-detach-5.f90: Fix formatting. 6644 Change data-sharing of detach events on enclosing parallel to private. 6645 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise. Remove 6646 taskwait directive. 6647 * testsuite/libgomp.fortran/task-detach-7.f90: New. 6648 * testsuite/libgomp.fortran/task-detach-8.f90: New. 6649 * testsuite/libgomp.fortran/task-detach-9.f90: New. 6650 * testsuite/libgomp.fortran/task-detach-10.f90: New. 6651 * testsuite/libgomp.fortran/task-detach-11.f90: New. 6652 6653 2021-02-22 Tobias Burnus <tobias (a] codesourcery.com> 6654 6655 PR fortran/99171 6656 * testsuite/libgomp.fortran/dummy-procs-1.f90: New test. 6657 6658 2021-02-17 Julian Brown <julian (a] codesourcery.com> 6659 6660 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Remove 6661 expected errors. 6662 6663 2021-02-17 Julian Brown <julian (a] codesourcery.com> 6664 6665 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: New test. 6666 * testsuite/libgomp.oacc-fortran/update-dt-array.f90: Likewise. 6667 6668 2021-02-11 Uro Bizjak <ubizjak (a] gmail.com> 6669 6670 * config/linux/x86/futex.h (__futex_wait): 6671 Revert output type back to long. 6672 (__futex_wake): Ditto. 6673 (futex_wait): Update for revert. 6674 (futex_wake): Ditto. 6675 6676 2021-02-11 Uro Bizjak <ubizjak (a] gmail.com> 6677 6678 * config/linux/x86/futex.h (__futex_wait): New static inline 6679 wrapper function. Correct output type to int and 6680 timeout type to void *. 6681 (__futex_wake): New static inline wrapper function. 6682 Correct output type to int. 6683 (futex_wait): Use __futex_wait. 6684 (futex_wake): Use __futex_wake. 6685 6686 2021-02-10 Julian Brown <julian (a] codesourcery.com> 6687 6688 PR fortran/98979 6689 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Add expected 6690 errors. 6691 6692 2021-02-04 Julian Brown <julian (a] codesourcery.com> 6693 6694 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: New test. 6695 6696 2021-02-03 Andrew Stubbs <ams (a] codesourcery.com> 6697 6698 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add 6699 EF_AMDGPU_MACH_AMDGCN_GFX908. 6700 (gcn_gfx908_s): New constant string. 6701 (isa_hsa_name): Add gfx908. 6702 (isa_code): Add gfx908. 6703 6704 2021-01-25 Kwok Cheung Yeung <kcy (a] codesourcery.com> 6705 6706 * libgomp.texi (omp_fulfill_event): New entry. 6707 6708 2021-01-20 Jakub Jelinek <jakub (a] redhat.com> 6709 6710 * task.c (GOMP_task): Rename priority argument to priority_arg, 6711 add priority automatic variable and modify that variable. Instead of 6712 clearing detach argument when GOMP_TASK_FLAG_DETACH bit is not set, 6713 check flags for that bit. 6714 6715 2021-01-19 Tobias Burnus <tobias (a] codesourcery.com> 6716 6717 PR fortran/98476 6718 * testsuite/libgomp.fortran/is_device_ptr-1.f90: New test. 6719 6720 2021-01-18 Andreas Schwab <schwab (a] suse.de> 6721 6722 * configure.tgt (riscv64*-*-linux*): Add linux to config_path. 6723 6724 2021-01-18 Sebastian Huber <sebastian.huber (a] embedded-brains.de> 6725 6726 * config/rtems/sem.h (gomp_sem_getcount): New function. 6727 6728 2021-01-18 Jakub Jelinek <jakub (a] redhat.com> 6729 6730 * config/linux/sem.h (gomp_sem_getcount): New function. 6731 * config/posix/sem.h (gomp_sem_getcount): New function. 6732 * config/posix/sem.c (gomp_sem_getcount): New function. 6733 * config/accel/sem.h (gomp_sem_getcount): New function. 6734 * task.c (task_fulfilled_p): Use gomp_sem_getcount. 6735 (omp_fulfill_event): Likewise. 6736 6737 2021-01-16 Kwok Cheung Yeung <kcy (a] codesourcery.com> 6738 6739 * fortran.c (omp_fulfill_event_): New. 6740 * libgomp.h (struct gomp_task): Add detach and completion_sem fields. 6741 (struct gomp_team): Add task_detach_queue and task_detach_count 6742 fields. 6743 * libgomp.map (OMP_5.0.1): Add omp_fulfill_event and omp_fulfill_event_. 6744 * libgomp_g.h (GOMP_task): Add extra argument. 6745 * omp.h.in (enum omp_event_handle_t): New. 6746 (omp_fulfill_event): New. 6747 * omp_lib.f90.in (omp_event_handle_kind): New. 6748 (omp_fulfill_event): New. 6749 * omp_lib.h.in (omp_event_handle_kind): New. 6750 (omp_fulfill_event): Declare. 6751 * priority_queue.c (priority_tree_find): New. 6752 (priority_list_find): New. 6753 (priority_queue_find): New. 6754 * priority_queue.h (priority_queue_predicate): New. 6755 (priority_queue_find): New. 6756 * task.c (gomp_init_task): Initialize detach field. 6757 (task_fulfilled_p): New. 6758 (GOMP_task): Add detach argument. Ignore detach argument if 6759 GOMP_TASK_FLAG_DETACH not set in flags. Initialize completion_sem 6760 field. Copy address of completion_sem into detach argument and 6761 into the start of the data record. Wait for detach event if task 6762 not deferred. 6763 (gomp_barrier_handle_tasks): Queue tasks with unfulfilled events. 6764 Remove completed tasks and requeue dependent tasks. 6765 (omp_fulfill_event): New. 6766 * team.c (gomp_new_team): Initialize task_detach_queue and 6767 task_detach_count fields. 6768 (free_team): Free task_detach_queue field. 6769 * testsuite/libgomp.c-c++-common/task-detach-1.c: New testcase. 6770 * testsuite/libgomp.c-c++-common/task-detach-2.c: New testcase. 6771 * testsuite/libgomp.c-c++-common/task-detach-3.c: New testcase. 6772 * testsuite/libgomp.c-c++-common/task-detach-4.c: New testcase. 6773 * testsuite/libgomp.c-c++-common/task-detach-5.c: New testcase. 6774 * testsuite/libgomp.c-c++-common/task-detach-6.c: New testcase. 6775 * testsuite/libgomp.fortran/task-detach-1.f90: New testcase. 6776 * testsuite/libgomp.fortran/task-detach-2.f90: New testcase. 6777 * testsuite/libgomp.fortran/task-detach-3.f90: New testcase. 6778 * testsuite/libgomp.fortran/task-detach-4.f90: New testcase. 6779 * testsuite/libgomp.fortran/task-detach-5.f90: New testcase. 6780 * testsuite/libgomp.fortran/task-detach-6.f90: New testcase. 6781 6782 2021-01-15 Jakub Jelinek <jakub (a] redhat.com> 6783 6784 PR target/70454 6785 * configure.tgt: For i?86 and x86_64 determine if -march=i486 needs to 6786 be added through preprocessor check on 6787 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4. 6788 6789 2021-01-14 Thomas Schwinge <thomas (a] codesourcery.com> 6790 6791 PR libgomp/65099 6792 * plugin/configfrag.ac (PLUGIN_NVPTX): Restrict to supported 6793 configurations. 6794 * configure: Regenerate. 6795 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Remove 64-bit 6796 check. 6797 6798 2021-01-05 Samuel Thibault <samuel.thibault (a] ens-lyon.org> 6799 6800 * configure: Re-generate. 6801 6802 2021-01-05 Samuel Thibault <samuel.thibault (a] ens-lyon.org> 6803 6804 * configure: Re-generate. 6805 6806 2021-01-05 Julian Brown <julian (a] codesourcery.com> 6807 6808 * plugin/plugin-nvptx.c (SOFTSTACK_CACHE_LIMIT): New define. 6809 (struct ptx_device): Add omp_stacks struct. 6810 (nvptx_open_device): Initialise cached-stacks housekeeping info. 6811 (nvptx_close_device): Free cached stacks block and mutex. 6812 (nvptx_stacks_free): New function. 6813 (nvptx_alloc): Add SUPPRESS_ERRORS parameter. 6814 (GOMP_OFFLOAD_alloc): Add strategies for freeing soft-stacks block. 6815 (nvptx_stacks_alloc): Rename to... 6816 (nvptx_stacks_acquire): This. Cache stacks block between runs if same 6817 size or smaller is required. 6818 (nvptx_stacks_free): Remove. 6819 (GOMP_OFFLOAD_run): Call nvptx_stacks_acquire and lock stacks block 6820 during kernel execution. 6821 6822 2021-01-01 Jakub Jelinek <jakub (a] redhat.com> 6823 6824 * libgomp.texi: Bump @copying's copyright year. 6825 6826 2020-12-28 Gerald Pfeifer <gerald (a] pfeifer.com> 6827 6828 * libgomp.texi (Top): Avoid bad "up" link. 6829 6830 2020-12-18 Jakub Jelinek <jakub (a] redhat.com> 6831 6832 * testsuite/libgomp.c/task-6.c: New test. 6833 6834 2020-12-09 Andrew Stubbs <ams (a] codesourcery.com> 6835 6836 * plugin/plugin-gcn.c: Include hsa_ext_amd.h. 6837 (HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT): Delete redundant definition. 6838 6839 2020-12-08 Tobias Burnus <tobias (a] codesourcery.com> 6840 6841 * testsuite/libgomp.fortran/scan-1.f90: New test. 6842 6843 2020-12-05 Iain Sandoe <iain (a] sandoe.co.uk> 6844 6845 PR target/97865 6846 * configure: Regenerate. 6847 6848 2020-11-29 John David Anglin <danglin (a] gcc.gnu.org> 6849 6850 * configure: Regenerate. 6851 6852 2020-11-25 Thomas Schwinge <thomas (a] codesourcery.com> 6853 6854 * testsuite/libgomp.oacc-c++/cache-1.C: New. 6855 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Update. 6856 6857 2020-11-25 Andrew Stubbs <ams (a] codesourcery.com> 6858 6859 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Adjust 6860 expected results. 6861 6862 2020-11-24 Andrew Stubbs <ams (a] codesourcery.com> 6863 6864 * plugin/plugin-gcn.c: Don't redefine relocations if elf.h has them. 6865 (reserved): Delete unused define. 6866 6867 2020-11-24 Thomas Schwinge <thomas (a] codesourcery.com> 6868 6869 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Avoid 6870 Tcl 8.5-specific behavior. 6871 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise. 6872 6873 2020-11-18 Kwok Cheung Yeung <kcy (a] codesourcery.com> 6874 6875 * env.c (gomp_global_icv): Remove nest_var field. Add 6876 max_active_levels_var field. 6877 (gomp_max_active_levels_var): Remove. 6878 (parse_boolean): Return true on success. 6879 (handle_omp_display_env): Express OMP_NESTED in terms of 6880 max_active_levels_var. Change format specifier for 6881 max_active_levels_var. 6882 (initialize_env): Set max_active_levels_var from 6883 OMP_MAX_ACTIVE_LEVELS, OMP_NESTED, OMP_NUM_THREADS and 6884 OMP_PROC_BIND. 6885 * icv.c (omp_set_nested): Express in terms of 6886 max_active_levels_var. 6887 (omp_get_nested): Likewise. 6888 (omp_set_max_active_levels): Use max_active_levels_var field instead 6889 of gomp_max_active_levels_var. 6890 (omp_get_max_active_levels): Likewise. 6891 * libgomp.h (struct gomp_task_icv): Remove nest_var field. Add 6892 max_active_levels_var field. 6893 (gomp_supported_active_levels): Set to UCHAR_MAX. 6894 (gomp_max_active_levels_var): Delete. 6895 * libgomp.texi (omp_get_nested): Update documentation. 6896 (omp_set_nested): Likewise. 6897 (OMP_MAX_ACTIVE_LEVELS): Likewise. 6898 (OMP_NESTED): Likewise. 6899 (OMP_NUM_THREADS): Likewise. 6900 (OMP_PROC_BIND): Likewise. 6901 * parallel.c (gomp_resolve_num_threads): Replace reference 6902 to nest_var with max_active_levels_var. Use max_active_levels_var 6903 field instead of gomp_max_active_levels_var. 6904 6905 2020-11-18 Tobias Burnus <tobias (a] codesourcery.com> 6906 6907 * testsuite/libgomp.c/usleep.h (fallback_usleep): Renamed from 6908 nvptx_usleep; use also for device={arch(gcn)}. 6909 6910 2020-11-14 Jakub Jelinek <jakub (a] redhat.com> 6911 6912 * testsuite/libgomp.c-c++-common/allocate-1.c (struct S): New type. 6913 (foo): Add tests for non-VLA private and firstprivate clauses on 6914 omp task. 6915 (bar): Likewise. Remove taking of address from private/firstprivate 6916 variables. 6917 * testsuite/libgomp.c++/allocate-1.C (struct S): New type. 6918 (foo): Add p, q, px and s arguments. Add tests for array reductions 6919 and for non-VLA private and firstprivate clauses on omp task. 6920 (bar): Removed. 6921 (main): Adjust foo caller. Don't call bar. 6922 6923 2020-11-13 Gerg Barany <gergo (a] codesourcery.com> 6924 Thomas Schwinge <thomas (a] codesourcery.com> 6925 6926 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c: 6927 New. 6928 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c: 6929 Likewise. 6930 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: 6931 Likewise. 6932 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust. 6933 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise. 6934 6935 2020-11-13 Gerg Barany <gergo (a] codesourcery.com> 6936 Thomas Schwinge <thomas (a] codesourcery.com> 6937 6938 PR fortran/94358 6939 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: New. 6940 6941 2020-11-13 Jakub Jelinek <jakub (a] redhat.com> 6942 6943 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add tests 6944 for array reductions. 6945 (main): Adjust foo callers. 6946 6947 2020-11-12 Jakub Jelinek <jakub (a] redhat.com> 6948 6949 * libgomp.map (GOMP_alloc, GOMP_free): Export at GOMP_5.0.1. 6950 * omp.h.in (omp_alloc): Add malloc and alloc_size attributes. 6951 * libgomp_g.h (GOMP_alloc, GOMP_free): Declare. 6952 * allocator.c (omp_aligned_alloc): New for now static function, 6953 add alignment argument and handle it. 6954 (omp_alloc): Reimplement using omp_aligned_alloc. 6955 (GOMP_alloc, GOMP_free): New functions. 6956 (omp_free): Add ialias. 6957 * testsuite/libgomp.c-c++-common/allocate-1.c: New test. 6958 * testsuite/libgomp.c++/allocate-1.C: New test. 6959 6960 2020-11-12 Thomas Schwinge <thomas (a] codesourcery.com> 6961 6962 PR fortran/97782 6963 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Adjust. 6964 6965 2020-11-10 Chung-Lin Tang <cltang (a] codesourcery.com> 6966 6967 * libgomp.h (enum gomp_map_vars_kind): Adjust enum values to be bit-flag 6968 usable. 6969 * oacc-mem.c (acc_map_data): Adjust gomp_map_vars argument flags to 6970 'GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_ENTER_DATA'. 6971 (goacc_enter_datum): Likewise for call to gomp_map_vars_async. 6972 (goacc_enter_data_internal): Likewise. 6973 * target.c (gomp_map_vars_internal): 6974 Change checks of GOMP_MAP_VARS_ENTER_DATA to use bit-and (&). Adjust use 6975 of gomp_attach_pointer for OpenMP cases. 6976 (gomp_exit_data): Add handling of GOMP_MAP_DETACH. 6977 (GOMP_target_enter_exit_data): Add handling of GOMP_MAP_ATTACH. 6978 * testsuite/libgomp.c-c++-common/ptr-attach-1.c: New testcase. 6979 6980 2020-11-05 Ulrich Drepper <drepper (a] redhat.com> 6981 Kwok Cheung Yeung <kcy (a] codesourcery.com> 6982 6983 * Makefile.am (%.mod): Add -cpp and -fopenmp to compile flags. 6984 * Makefile.in: Regenerate. 6985 * fortran.c: Wrap uses of omp_set_nested and omp_get_nested with 6986 pragmas to ignore -Wdeprecated-declarations warnings. 6987 * icv.c: Likewise. 6988 * omp.h.in (__GOMP_DEPRECATED_5_0): Define. 6989 Mark omp_lock_hint_* enum values, omp_lock_hint_t, omp_set_nested, 6990 and omp_get_nested with __GOMP_DEPRECATED_5_0. 6991 * omp_lib.f90.in: Mark omp_get_nested and omp_set_nested as 6992 deprecated. 6993 * testsuite/libgomp.c++/affinity-1.C: Add -Wno-deprecated-declarations 6994 to test options. 6995 * testsuite/libgomp.c/affinity-1.c: Likewise. 6996 * testsuite/libgomp.c/affinity-2.c: Likewise. 6997 * testsuite/libgomp.c/appendix-a/a.15.1.c: Likewise. 6998 * testsuite/libgomp.c/lib-1.c: Likewise. 6999 * testsuite/libgomp.c/nested-1.c: Likewise. 7000 * testsuite/libgomp.c/nested-2.c: Likewise. 7001 * testsuite/libgomp.c/nested-3.c: Likewise. 7002 * testsuite/libgomp.c/pr32362-1.c: Likewise. 7003 * testsuite/libgomp.c/pr32362-2.c: Likewise. 7004 * testsuite/libgomp.c/pr32362-3.c: Likewise. 7005 * testsuite/libgomp.c/pr35549.c: Likewise. 7006 * testsuite/libgomp.c/pr42942.c: Likewise. 7007 * testsuite/libgomp.c/pr61200.c: Likewise. 7008 * testsuite/libgomp.c/sort-1.c: Likewise. 7009 * testsuite/libgomp.c/target-5.c: Likewise. 7010 * testsuite/libgomp.c/target-6.c: Likewise. 7011 * testsuite/libgomp.c/teams-1.c: Likewise. 7012 * testsuite/libgomp.c/thread-limit-1.c: Likewise. 7013 * testsuite/libgomp.c/thread-limit-2.c: Likewise. 7014 * testsuite/libgomp.c/thread-limit-4.c: Likewise. 7015 * testsuite/libgomp.fortran/affinity1.f90: Likewise. 7016 * testsuite/libgomp.fortran/lib1.f90: Likewise. 7017 * testsuite/libgomp.fortran/lib2.f: Likewise. 7018 * testsuite/libgomp.fortran/nested1.f90: Likewise. 7019 * testsuite/libgomp.fortran/teams1.f90: Likewise. 7020 7021 2020-11-02 Thomas Schwinge <thomas (a] codesourcery.com> 7022 7023 PR target/85486 7024 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Simplify and enhance. 7025 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise. 7026 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise. 7027 7028 2020-11-02 Thomas Schwinge <thomas (a] codesourcery.com> 7029 7030 PR testsuite/80219 7031 PR testsuite/85303 7032 * testsuite/lib/libgomp.exp (libgomp_init): Set 7033 'gcc_warning_prefix', 'gcc_error_prefix'. 7034 7035 2020-10-30 Jakub Jelinek <jakub (a] redhat.com> 7036 7037 * target.c (gomp_map_vars_internal): Use FIELD_TGT_EMPTY macro 7038 even in field_tgt_clear initializer. 7039 7040 2020-10-28 Jakub Jelinek <jakub (a] redhat.com> 7041 7042 * testsuite/libgomp.c/target-42.c: New test. 7043 7044 2020-10-28 Jakub Jelinek <jakub (a] redhat.com> 7045 Tom de Vries <tdevries (a] suse.de> 7046 7047 PR testsuite/81690 7048 * testsuite/libgomp.c/usleep.h: New file. 7049 * testsuite/libgomp.c/target-32.c: Include usleep.h. 7050 (main): Use tgt_usleep instead of usleep. 7051 * testsuite/libgomp.c/thread-limit-2.c: Include usleep.h. 7052 (main): Use tgt_usleep instead of usleep. 7053 7054 2020-10-28 Jakub Jelinek <jakub (a] redhat.com> 7055 7056 PR lto/96680 7057 * testsuite/libgomp.c/declare-variant-1.c: New test. 7058 7059 2020-10-22 Jakub Jelinek <jakub (a] redhat.com> 7060 7061 * testsuite/libgomp.c/target-41.c: New test. 7062 7063 2020-10-22 Jakub Jelinek <jakub (a] redhat.com> 7064 7065 * icv.c (omp_get_initial_device): Remove including corresponding 7066 ialias. 7067 * icv-device.c (omp_get_initial_device): New function. Return 7068 gomp_get_num_devices (). Add ialias. 7069 * target.c (resolve_device): Don't fail with 7070 OMP_TARGET_OFFLOAD=mandatory if device_id is equal to 7071 gomp_get_num_devices (). 7072 (omp_target_alloc, omp_target_free, omp_target_is_present, 7073 omp_target_memcpy, omp_target_memcpy_rect, omp_target_associate_ptr, 7074 omp_target_disassociate_ptr, omp_pause_resource): Use 7075 gomp_get_num_devices () instead of GOMP_DEVICE_HOST_FALLBACK on the 7076 first use in the functions, in uses dominated by the 7077 gomp_get_num_devices call use num_devices_openmp instead. 7078 * libgomp.texi (omp_get_initial_device): Document. 7079 * config/gcn/icv-device.c (omp_get_initial_device): New function. 7080 Add ialias. 7081 * config/nvptx/icv-device.c (omp_get_initial_device): Likewise. 7082 * testsuite/libgomp.c/target-40.c: New test. 7083 7084 2020-10-21 Jakub Jelinek <jakub (a] redhat.com> 7085 7086 * env.c (parse_target_offload): Change new_offload var type to int, 7087 preinitialize to -1, remove found var and test new_offload != -1 7088 instead of found. 7089 7090 2020-10-20 Jakub Jelinek <jakub (a] redhat.com> 7091 7092 * target.c (gomp_target_init): Inside of the function, use automatic 7093 variables corresponding to num_devices, num_devices_openmp and devices 7094 global variables and update the globals only at the end of the 7095 function. 7096 7097 2020-10-20 Kwok Cheung Yeung <kcy (a] codesourcery.com> 7098 7099 * env.c (gomp_target_offload_var): New. 7100 (parse_target_offload): New. 7101 (handle_omp_display_env): Print value of OMP_TARGET_OFFLOAD. 7102 (initialize_env): Parse OMP_TARGET_OFFLOAD. 7103 * libgomp.h (gomp_target_offload_t): New. 7104 (gomp_target_offload_var): New. 7105 * libgomp.texi (OMP_TARGET_OFFLOAD): New section. 7106 * target.c (resolve_device): Generate error if device not found and 7107 offloading is mandatory. 7108 (gomp_target_fallback): Generate error if offloading is mandatory. 7109 (GOMP_target): Add argument in call to gomp_target_fallback. 7110 (GOMP_target_ext): Likewise. 7111 (gomp_target_data_fallback): Generate error if offloading is mandatory. 7112 (GOMP_target_data): Add argument in call to gomp_target_data_fallback. 7113 (GOMP_target_data_ext): Likewise. 7114 (gomp_target_task_fn): Add argument in call to gomp_target_fallback. 7115 (gomp_target_init): Return early if offloading is disabled. 7116 7117 2020-10-15 Kwok Cheung Yeung <kcy (a] codesourcery.com> 7118 7119 * libgomp.texi (omp_get_max_active_levels): Modify description. 7120 (omp_get_supported_active_levels): Make descriptions consistent. 7121 7122 2020-10-14 Jakub Jelinek <jakub (a] redhat.com> 7123 7124 * libgomp.texi (omp_get_supported_active_levels): Fix a typo. 7125 7126 2020-10-13 Kwok Cheung Yeung <kcy (a] codesourcery.com> 7127 7128 * env.c (gomp_max_active_levels_var): Initialize to 7129 gomp_supported_active_levels. 7130 (initialize_env): Limit gomp_max_active_levels_var to be at most 7131 equal to gomp_supported_active_levels. 7132 * fortran.c (omp_get_supported_active_levels): Add ialias_redirect. 7133 (omp_get_supported_active_levels_): New. 7134 * icv.c (omp_set_max_active_levels): Limit gomp_max_active_levels_var 7135 to at most equal to gomp_supported_active_levels. 7136 (omp_get_supported_active_levels): New. 7137 * libgomp.h (gomp_supported_active_levels): New. 7138 * libgomp.map (OMP_5.0.1): Add omp_get_supported_active_levels and 7139 omp_get_supported_active_levels_. 7140 * libgomp.texi (omp_get_supported_active_levels): New. 7141 (omp_set_max_active_levels): Update. Add reference to 7142 omp_get_supported_active_levels. 7143 * omp.h.in (omp_get_supported_active_levels): New. 7144 * omp_lib.f90.in (omp_get_supported_active_levels): New. 7145 * omp_lib.h.in (omp_get_supported_active_levels): New. 7146 * testsuite/libgomp.c/lib-2.c (main): Check omp_get_max_active_levels 7147 against omp_get_supported_active_levels. 7148 * testsuite/libgomp.fortran/lib4.f90 (lib4): Likewise. 7149 7150 2020-10-11 Clement Chigot <clement.chigot (a] atos.net> 7151 7152 * config/t-aix: Delete and recreate libgomp before creating 7153 FAT library. 7154 7155 2020-10-08 Tom de Vries <tdevries (a] suse.de> 7156 7157 PR libgomp/81802 7158 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_run): Report launch 7159 dimensions. 7160 7161 2020-10-06 Tom de Vries <tdevries (a] suse.de> 7162 7163 * testsuite/libgomp.oacc-fortran/declare-5.f90: Add xfail for PR92790. 7164 7165 2020-10-06 Tom de Vries <tdevries (a] suse.de> 7166 7167 PR middle-end/90861 7168 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Remove xfail. 7169 7170 2020-10-05 Tom de Vries <tdevries (a] suse.de> 7171 7172 PR fortran/95654 7173 * testsuite/libgomp.fortran/pr95654.f90: New test. 7174 7175 2020-10-02 Tobias Burnus <tobias (a] codesourcery.com> 7176 7177 * Makefile.in: Regenerate with automake 1.15.1. 7178 * aclocal.m4: Likewise. 7179 * configure: Likewise. 7180 * testsuite/Makefile.in: Likewise. 7181 7182 2020-09-30 Andrew Stubbs <ams (a] codesourcery.com> 7183 7184 * parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx 7185 and amdgcn targets. 7186 7187 2020-09-30 Tobias Burnus <tobias (a] codesourcery.com> 7188 7189 * testsuite/libgomp.fortran/declare-target-3.f90: New test. 7190 7191 2020-09-29 Andrew Stubbs <ams (a] codesourcery.com> 7192 7193 * config/gcn/bar.c (gomp_barrier_wait_end): Skip the barrier if the 7194 total number of threads is one. 7195 (gomp_team_barrier_wake): Likewise. 7196 (gomp_team_barrier_wait_end): Likewise. 7197 (gomp_team_barrier_wait_cancel_end): Likewise. 7198 * config/nvptx/bar.c (gomp_barrier_wait_end): Likewise. 7199 (gomp_team_barrier_wake): Likewise. 7200 (gomp_team_barrier_wait_end): Likewise. 7201 (gomp_team_barrier_wait_cancel_end): Likewise. 7202 * testsuite/libgomp.c-c++-common/nested-parallel-unbalanced.c: New test. 7203 7204 2020-09-28 Tobias Burnus <tobias (a] codesourcery.com> 7205 7206 PR middle-end/96390 7207 * testsuite/libgomp.c++/pr96390.C: New test. 7208 * testsuite/libgomp.c-c++-common/pr96390.c: New test. 7209 7210 2020-09-27 Clement Chigot <clement.chigot (a] atos.net> 7211 7212 * config/t-aix: Use $(AR) without -X32_64. 7213 7214 2020-09-25 Jakub Jelinek <jakub (a] redhat.com> 7215 7216 * testsuite/libgomp.c/loop-25.c: New test. 7217 7218 2020-09-22 Tobias Burnus <tobias (a] codesourcery.com> 7219 7220 PR fortran/95654 7221 * testsuite/libgomp.fortran/pr66199-5.f90: Make stop codes unique. 7222 7223 2020-09-22 Tom de Vries <tdevries (a] suse.de> 7224 7225 * plugin/plugin-nvptx.c (link_ptx): Print elog if cuLinkComplete call 7226 fails. 7227 7228 2020-09-16 Nathan Sidwell <nathan (a] acm.org> 7229 7230 * testsuite/libgomp.c++/udr-3.C: Add missing ctor. 7231 7232 2020-09-15 Tobias Burnus <tobias (a] codesourcery.com> 7233 7234 PR fortran/96668 7235 * target.c (gomp_map_vars_internal): Initialize has_nullptr. 7236 7237 2020-09-15 Tobias Burnus <tobias (a] codesourcery.com> 7238 7239 PR fortran/96668 7240 * libgomp.h (struct target_var_desc): Add has_null_ptr_assoc member. 7241 * target.c (gomp_map_vars_existing): Add always_to_flag flag. 7242 (gomp_map_vars_existing): Update call to it. 7243 (gomp_map_fields_existing): Likewise 7244 (gomp_map_vars_internal): Update PSET handling such that if a nullptr is 7245 now allocated or if GOMP_MAP_POINTER is used PSET is updated and pointer 7246 remapped. 7247 (GOMP_target_enter_exit_data): Hanlde GOMP_MAP_ALWAYS_POINTER like 7248 GOMP_MAP_POINTER. 7249 * testsuite/libgomp.fortran/map-alloc-ptr-1.f90: New test. 7250 * testsuite/libgomp.fortran/map-alloc-ptr-2.f90: New test. 7251 7252 2020-09-14 Tom de Vries <tdevries (a] suse.de> 7253 7254 * config/nvptx/atomic.c: New file. Add 7255 __sync_val_compare_and_swap_16. 7256 * testsuite/libgomp.c-c++-common/reduction-16.c: Add -latomic for 7257 target offload_target_nvptx. 7258 7259 2020-09-08 Julian Brown <julian (a] codesourcery.com> 7260 7261 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: Remove 7262 iteration-ordering assumptions. 7263 7264 2020-09-08 Julian Brown <julian (a] codesourcery.com> 7265 7266 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Fix race condition. 7267 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise. 7268 7269 2020-08-20 Chung-Lin Tang <cltang (a] codesourcery.com> 7270 7271 * plugin/plugin-nvptx.c (nvptx_free): 7272 Change "GOMP_PLUGIN_acc_thread () == NULL" test into check of 7273 CUDA_ERROR_NOT_PERMITTED status for cuMemGetAddressRange. Adjust 7274 comments. 7275 7276 2020-08-20 Tobias Burnus <tobias (a] codesourcery.com> 7277 7278 * testsuite/libgomp.fortran/lastprivate-conditional-10.f90: New test. 7279 7280 2020-08-13 Kwok Cheung Yeung <kcy (a] codesourcery.com> 7281 7282 * testsuite/libgomp.c-c++-common/reduction-16.c: New. 7283 7284 2020-08-13 Jakub Jelinek <jakub (a] redhat.com> 7285 7286 * testsuite/libgomp.c/loop-22.c (main): Add some further tests. 7287 * testsuite/libgomp.c/loop-23.c (main): Likewise. 7288 * testsuite/libgomp.c/loop-24.c: New test. 7289 7290 2020-08-08 Jakub Jelinek <jakub (a] redhat.com> 7291 Tobias Burnus <tobias (a] codesourcery.com> 7292 7293 PR fortran/93553 7294 * testsuite/libgomp.fortran/pr93553.f90: New test. 7295 7296 2020-08-05 Jakub Jelinek <jakub (a] redhat.com> 7297 7298 * testsuite/libgomp.c/loop-22.c: New test. 7299 * testsuite/libgomp.c/loop-23.c: New test. 7300 7301 2020-08-05 Jakub Jelinek <jakub (a] redhat.com> 7302 7303 PR middle-end/96459 7304 * testsuite/libgomp.c/teams-3.c: New test. 7305 * testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing 7306 if not defined yet. 7307 (N(test)): Use it before all N(f*) calls. 7308 * testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define. 7309 (main): Don't call all test_* functions from within 7310 #pragma omp teams reduction(|:err), call them directly. 7311 7312 2020-08-04 Tom de Vries <tdevries (a] suse.de> 7313 7314 PR target/96428 7315 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test. 7316 * testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test. 7317 7318 2020-08-03 Julian Brown <julian (a] codesourcery.com> 7319 Thomas Schwinge <thomas (a] codesourcery.com> 7320 7321 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Don't run for 7322 shared-memory devices. Extend with further checking. 7323 7324 2020-08-03 Martin Jambor <mjambor (a] suse.cz> 7325 7326 * plugin/Makefrag.am: Remove configuration of HSA plugin. 7327 * aclocal.m4: Regenerated. 7328 * Makefile.in: Regenerated. 7329 * config.h.in: Regenerated. 7330 * configure: Regenerated. 7331 * plugin/configfrag.ac: Likewise. 7332 * plugin/hsa_ext_finalize.h: Removed. 7333 * plugin/plugin-hsa.c: Likewise. 7334 * testsuite/Makefile.in: Regenerated. 7335 * testsuite/lib/libgomp.exp 7336 (offload_target_to_openacc_device_type): Remove hsa case. 7337 (check_effective_target_hsa_offloading_selected_nocache): Removed 7338 (check_effective_target_hsa_offloading_selected): Likewise. 7339 (libgomp_init): Do not add -Wno-hsa to additional_flags. 7340 * testsuite/libgomp.hsa.c/alloca-1.c: Removed test. 7341 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise. 7342 * testsuite/libgomp.hsa.c/bits-insns.c: Likewise. 7343 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise. 7344 * testsuite/libgomp.hsa.c/c.exp: Likewise. 7345 * testsuite/libgomp.hsa.c/complex-1.c: Likewise. 7346 * testsuite/libgomp.hsa.c/complex-align-2.c: Likewise. 7347 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise. 7348 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise. 7349 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise. 7350 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise. 7351 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise. 7352 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise. 7353 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise. 7354 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise. 7355 * testsuite/libgomp.hsa.c/pr69568.c: Likewise. 7356 * testsuite/libgomp.hsa.c/pr82416.c: Likewise. 7357 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise. 7358 * testsuite/libgomp.hsa.c/staticvar.c: Likewise. 7359 * testsuite/libgomp.hsa.c/switch-1.c: Likewise. 7360 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise. 7361 * testsuite/libgomp.hsa.c/switch-sbr-2.c: Likewise. 7362 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise. 7363 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise. 7364 7365 2020-07-27 Julian Brown <julian (a] codesourcery.com> 7366 Thomas Schwinge <thomas (a] codesourcery.com> 7367 7368 * libgomp.h (struct target_var_desc): Rename do_detach field to 7369 is_attach. 7370 * oacc-mem.c (goacc_exit_datum_1): Add assert. Don't set finalize for 7371 GOMP_MAP_FORCE_DETACH. Update checking to use is_attach field. 7372 (goacc_enter_data_internal): Don't affect reference counts 7373 for attach mappings. 7374 (goacc_exit_data_internal): Don't affect reference counts for detach 7375 mappings. 7376 * target.c (gomp_map_vars_existing): Don't affect reference counts for 7377 attach mappings. 7378 (gomp_map_vars_internal): Set renamed is_attach flag unconditionally to 7379 mark attach mappings. 7380 (gomp_unmap_vars_internal): Use is_attach flag to prevent affecting 7381 reference count for attach mappings. 7382 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-1.c: New test. 7383 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test. 7384 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test. 7385 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Mark 7386 test as shouldfail. 7387 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust to fail 7388 gracefully in no-finalize mode. 7389 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-3.c: New file. 7390 7391 2020-07-24 Thomas Schwinge <thomas (a] codesourcery.com> 7392 7393 * testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after 7394 use. 7395 * testsuite/libgomp.oacc-c/c.exp: Likewise. 7396 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 7397 7398 2020-07-23 Julian Brown <julian (a] codesourcery.com> 7399 Thomas Schwinge <thomas (a] codesourcery.com> 7400 7401 * target.c (gomp_unmap_vars_internal): Remove unnecessary forcing of 7402 finalization for detach operation. 7403 * testsuite/libgomp.oacc-c-c++-common/structured-detach-underflow.c: 7404 New test. 7405 7406 2020-07-23 Tobias Burnus <tobias (a] codesourcery.com> 7407 7408 * configure.ac: Add OMP_DEPEND_KIND and OMP_INT128_SIZE. 7409 * libgomp_f.h.in (omp_check_defines): Check whether 7410 sizeof of determined Fortran kind and C typedef match. 7411 * omp_lib.f90.in: Add omp_depened_kind. 7412 * omp_lib.h.in: Likewise; fix omp_alloctrait_key_kind. 7413 * configure: Regenerate. 7414 * Makefile.in: Regenerate. 7415 * testsuite/Makefile.in: Regenerate. 7416 7417 2020-07-22 Tobias Burnus <tobias (a] codesourcery.com> 7418 7419 * testsuite/libgomp.c-c++-common/critical-hint-1.c: New; moved from 7420 gcc/testsuite/c-c++-common/gomp/. 7421 * testsuite/libgomp.c-c++-common/critical-hint-2.c: Likewise. 7422 * testsuite/libgomp.fortran/critical-hint-1.f90: New; moved 7423 from gcc/testsuite/gfortran.dg/gomp/. 7424 * testsuite/libgomp.fortran/critical-hint-2.f90: Likewise. 7425 7426 2020-07-22 Tobias Burnus <tobias (a] codesourcery.com> 7427 7428 * omp_lib.f90.in: Add omp_sync_hint_* and omp_sync_hint_kind. 7429 * omp_lib.h.in: Likewise. 7430 7431 2020-07-18 H.J. Lu <hjl.tools (a] gmail.com> 7432 7433 PR target/95620 7434 * testsuite/libgomp.c/pr95620.c: New test. 7435 7436 2020-07-16 Julian Brown <julian (a] codesourcery.com> 7437 Thomas Schwinge <thomas (a] codesourcery.com> 7438 7439 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test. 7440 * testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test. 7441 7442 2020-07-15 Tobias Burnus <tobias (a] codesourcery.com> 7443 7444 * testsuite/libgomp.fortran/alloc-1.F90: Use c_size_t to 7445 avoid conversion on 32bit systems from 32bit to 64bit due 7446 to -fdefault-integer-8. 7447 7448 2020-07-15 Tobias Burnus <tobias (a] codesourcery.com> 7449 7450 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused 7451 variables; add character(kind=4) tests; update TODO comment. 7452 7453 2020-07-15 Tobias Burnus <tobias (a] codesourcery.com> 7454 7455 * allocator.c: Add ialias for omp_init_allocator and 7456 omp_destroy_allocator. 7457 * configure.ac: Set INTPTR_T_KIND. 7458 * configure: Regenerate. 7459 * Makefile.in: Regenerate. 7460 * testsuite/Makefile.in: Regenerate. 7461 * fortran.c (omp_init_allocator_, omp_destroy_allocator_, 7462 omp_set_default_allocator_, omp_get_default_allocator_): New 7463 functions and ialias_redirect. 7464 * icv.c: Add ialias for omp_set_default_allocator and 7465 omp_get_default_allocator. 7466 * libgomp.map (OMP_5.0.1): Add omp_init_allocator_, 7467 omp_destroy_allocator_, omp_set_default_allocator_ and 7468 omp_get_default_allocator_. 7469 * omp_lib.f90.in: Add allocator traits parameters, declare 7470 allocator routines and add related kind parameters. 7471 * omp_lib.h.in: Likewise. 7472 * testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof. 7473 * testsuite/libgomp.fortran/alloc-1.F90: New test. 7474 * testsuite/libgomp.fortran/alloc-2.F90: New test. 7475 * testsuite/libgomp.fortran/alloc-3.F: New test. 7476 * testsuite/libgomp.fortran/alloc-4.f90: New test. 7477 * testsuite/libgomp.fortran/alloc-5.f90: New test. 7478 7479 2020-07-14 Tom de Vries <tom (a] codesourcery.com> 7480 Cesar Philippidis <cesar (a] codesourcery.com> 7481 Thomas Schwinge <thomas (a] codesourcery.com> 7482 Kwok Cheung Yeung <kcy (a] codesourcery.com> 7483 7484 * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread): 7485 New variable. 7486 (acc_init_1): Set acc_init_thread to pthread_self (). Set 7487 acc_init_state to initializing at the start, and to initialized at the 7488 end. 7489 (self_initializing_p): New function. 7490 (acc_get_device_type): Return acc_device_none if called by thread that 7491 is currently executing acc_init_1. 7492 * libgomp.texi (acc_get_device_type): Update documentation. 7493 (Implementation Status and Implementation-Defined Behavior): Likewise. 7494 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New. 7495 7496 2020-07-14 David Edelsohn <dje.gcc (a] gmail.com> 7497 7498 * config/t-aix: Set BITS from compiler cpp macro. 7499 7500 2020-07-14 Tobias Burnus <tobias (a] codesourcery.com> 7501 7502 * testsuite/libgomp.fortran/struct-elem-map-1.f90: New test. 7503 7504 2020-07-14 Tobias Burnus <tobias (a] codesourcery.com> 7505 7506 PR fortran/67311 7507 * testsuite/libgomp.fortran/target-map-1.f90: New test. 7508 7509 2020-07-14 Jakub Jelinek <jakub (a] redhat.com> 7510 7511 * testsuite/libgomp.c/loop-21.c: New test. 7512 7513 2020-07-13 Julian Brown <julian (a] codesourcery.com> 7514 Thomas Schwinge <thomas (a] codesourcery.com> 7515 7516 * testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test. 7517 7518 2020-07-10 Julian Brown <julian (a] codesourcery.com> 7519 Thomas Schwinge <thomas (a] codesourcery.com> 7520 7521 * libgomp.h (struct splay_tree_key_s): Change virtual_refcount to 7522 dynamic_refcount. 7523 (struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA. 7524 * oacc-mem.c (acc_map_data): Substitute virtual_refcount for 7525 dynamic_refcount. 7526 (acc_unmap_data): Update comment. 7527 (goacc_map_var_existing, goacc_enter_datum): Adjust for 7528 dynamic_refcount semantics. 7529 (goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking. 7530 Adjust for dynamic_refcount semantics. 7531 (goacc_enter_data_internal): Implement "present" case of dynamic 7532 memory-map handling here. Update "non-present" case for 7533 dynamic_refcount semantics. 7534 (goacc_exit_data_internal): Use goacc_exit_datum_1. 7535 * target.c (gomp_map_vars_internal): Remove 7536 GOMP_MAP_VARS_OPENACC_ENTER_DATA handling. Update for dynamic_refcount 7537 handling. 7538 (gomp_unmap_vars_internal): Remove virtual_refcount handling. 7539 (gomp_load_image_to_device): Substitute dynamic_refcount for 7540 virtual_refcount. 7541 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs. 7542 * testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test. 7543 * testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test. 7544 * testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test. 7545 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and 7546 trace output. 7547 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove 7548 trace output. 7549 * testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New 7550 test. 7551 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c: 7552 Remove stale comment. 7553 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs. 7554 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise. 7555 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise. 7556 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise. 7557 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise. 7558 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL. 7559 7560 2020-07-10 Julian Brown <julian (a] codesourcery.com> 7561 Thomas Schwinge <thomas (a] codesourcery.com> 7562 7563 * oacc-mem.c (goacc_map_var_existing): New function. 7564 (goacc_enter_datum): Use above function. 7565 (goacc_exit_datum_1): New function. 7566 (goacc_exit_datum): Use above function. 7567 7568 2020-07-09 Julian Brown <julian (a] codesourcery.com> 7569 Thomas Schwinge <thomas (a] codesourcery.com> 7570 7571 PR middle-end/95270 7572 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test. 7573 * testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test. 7574 7575 2020-07-09 Julian Brown <julian (a] codesourcery.com> 7576 7577 * oacc-mem.c (find_group_last): Group data-movement clauses 7578 (GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent 7579 GOMP_MAP_ATTACH. Allow standalone GOMP_MAP_ATTACH also. 7580 7581 2020-07-09 Jakub Jelinek <jakub (a] redhat.com> 7582 7583 * testsuite/libgomp.c/loop-19.c: New test. 7584 * testsuite/libgomp.c/loop-20.c: New test. 7585 7586 2020-07-09 Jakub Jelinek <jakub (a] redhat.com> 7587 7588 * omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from 7589 2 to -1. Add omp_atv_serialized and define omp_atv_sequential using 7590 it. Remove __omp_alloctrait_value_max__. 7591 * allocator.c (omp_init_allocator): Handle omp_atv_default for 7592 omp_atk_alignment and omp_atk_pool_size. 7593 7594 2020-07-03 Thomas Schwinge <thomas (a] codesourcery.com> 7595 7596 * oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom 7597 behavior for 'GOMP_MAP_FORCE_FROM'. 7598 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL. 7599 7600 2020-07-03 Thomas Schwinge <thomas (a] codesourcery.com> 7601 7602 * oacc-mem.c (goacc_exit_data_internal): Remove 7603 'GOMP_MAP_ALWAYS_FROM' handling. 7604 7605 2020-06-30 Thomas Schwinge <thomas (a] codesourcery.com> 7606 7607 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile 7608 'scan-assembler' with 'scan-offload-rtl'. 7609 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise. 7610 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise. 7611 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise. 7612 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise. 7613 7614 2020-06-30 Thomas Schwinge <thomas (a] codesourcery.com> 7615 7616 * target.c (gomp_map_vars_existing): Assert 'kind != 7617 GOMP_MAP_ATTACH'. 7618 (gomp_map_vars_internal): Clean up. 7619 7620 2020-06-27 Jakub Jelinek <jakub (a] redhat.com> 7621 7622 * testsuite/libgomp.c/loop-17.c: New test. 7623 * testsuite/libgomp.c/loop-18.c: New test. 7624 7625 2020-06-26 Marek Polacek <polacek (a] redhat.com> 7626 7627 * testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14. 7628 7629 2020-06-23 Alexandre Oliva <oliva (a] adacore.com> 7630 7631 * testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp. 7632 * testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps. 7633 7634 2020-06-22 David Edelsohn <dje.gcc (a] gmail.com> 7635 7636 * Makefile.am: Use -include. 7637 * Makefile.in: Regenerate. 7638 7639 2020-06-21 David Edelsohn <dje.gcc (a] gmail.com> 7640 7641 * Makefile.am (tmake_file): Build and install AIX-style FAT libraries. 7642 * Makefile.in: Regenerate 7643 * configure.ac (tmake_file): Substitute. 7644 * configure: Regenerate. 7645 * configure.tgt (powerpc-ibm-aix*): Define tmake_file. 7646 * config/t-aix: New file. 7647 7648 2020-06-17 Thomas Schwinge <thomas (a] codesourcery.com> 7649 7650 PR lto/94848 7651 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add 7652 'dg-do run'. 7653 7654 2020-06-17 Andrew Stubbs <ams (a] codesourcery.com> 7655 7656 * plugin/plugin-gcn.c (init_environment_variables): Use ".so.1" 7657 variant for HSA_RUNTIME_LIB name. 7658 (find_executable_symbol_1): Delete. 7659 (find_executable_symbol): Delete. 7660 (init_kernel_properties): Add ".kd" suffix to symbol names. 7661 (find_load_offset): Delete. 7662 (create_and_finalize_hsa_program): Remove relocation handling. 7663 7664 2020-06-16 Tobias Burnus <tobias (a] codesourcery.com> 7665 7666 * testsuite/libgomp.oacc-fortran/routine-10.f90: New test. 7667 7668 2020-06-08 Tobias Burnus <tobias (a] codesourcery.com> 7669 7670 PR lto/94848 7671 PR middle-end/95551 7672 * testsuite/libgomp.fortran/target-var.f90: New test. 7673 7674 2020-06-05 Thomas Schwinge <thomas (a] codesourcery.com> 7675 Julian Brown <julian (a] codesourcery.com> 7676 7677 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain 7678 special handling. 7679 7680 2020-06-05 Thomas Schwinge <thomas (a] codesourcery.com> 7681 Julian Brown <julian (a] codesourcery.com> 7682 7683 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: 7684 Simplify. 7685 7686 2020-06-05 Julian Brown <julian (a] codesourcery.com> 7687 7688 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test. 7689 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test. 7690 7691 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com> 7692 7693 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: 7694 Evaluate 'copyfrom' individually for each entry. 7695 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update. 7696 7697 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com> 7698 7699 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: 7700 Evaluate 'finalize' individually for each entry. 7701 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file. 7702 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove 7703 file. 7704 7705 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com> 7706 7707 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof' 7708 usage. 7709 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise. 7710 7711 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com> 7712 Julian Brown <julian (a] codesourcery.com> 7713 7714 * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped' 7715 checking. 7716 (acc_unmap_data, goacc_exit_data_internal): Restore 7717 'is_tgt_unmapped' checking. 7718 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New 7719 file. 7720 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust. 7721 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise. 7722 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise. 7723 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise. 7724 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise. 7725 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise. 7726 7727 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com> 7728 Julian Brown <julian (a] codesourcery.com> 7729 7730 * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'. 7731 7732 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com> 7733 7734 PR libgomp/92854 7735 * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting. 7736 7737 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com> 7738 7739 PR libgomp/92854 7740 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some 7741 more. 7742 7743 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com> 7744 Julian Brown <julian (a] codesourcery.com> 7745 7746 * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from 7747 'gomp_map_vars'. 7748 (acc_map_data): Clean up accordingly. 7749 7750 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com> 7751 7752 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior 7753 of over-eager 'finalize' clause. 7754 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New 7755 file. 7756 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise. 7757 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise. 7758 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise. 7759 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise. 7760 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise. 7761 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise. 7762 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise. 7763 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise. 7764 7765 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com> 7766 7767 * oacc-mem.c (goacc_exit_data_internal): Unlock on error path. 7768 7769 2020-06-04 Julian Brown <julian (a] codesourcery.com> 7770 7771 * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on 7772 error path. 7773 (goacc_detach_internal): Likewise. 7774 7775 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com> 7776 7777 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before 7778 the checkpoint. 7779 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise. 7780 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise. 7781 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise. 7782 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise. 7783 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise. 7784 7785 2020-06-02 Jakub Jelinek <jakub (a] redhat.com> 7786 7787 * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not 7788 defined. 7789 7790 2020-05-30 Jakub Jelinek <jakub (a] redhat.com> 7791 7792 * testsuite/libgomp.c-c++-common/alloc-4.c: New test. 7793 7794 2020-05-30 Jakub Jelinek <jakub (a] redhat.com> 7795 7796 * allocator.c (omp_alloc): For size == 0, return NULL early. 7797 7798 2020-05-29 H.J. Lu <hjl.tools (a] gmail.com> 7799 7800 PR bootstrap/95413 7801 * configure: Regenerated. 7802 7803 2020-05-23 Thomas Koenig <tkoenig (a] gcc.gnu.org> 7804 7805 PR libfortran/95191 7806 * testsuite/libgomp.fortran/async_io_9.f90: New test. 7807 7808 2020-05-19 Jakub Jelinek <jakub (a] redhat.com> 7809 7810 * omp.h.in (omp_uintptr_t): New typedef. 7811 (__GOMP_UINTPTR_T_ENUM): Define. 7812 (omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t, 7813 omp_alloctrait_value_t, omp_alloctrait_t): New typedefs. 7814 (__GOMP_DEFAULT_NULL_ALLOCATOR): Define. 7815 (omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator, 7816 omp_get_default_allocator, omp_alloc, omp_free): Declare. 7817 * libgomp.h (struct gomp_team_state): Add def_allocator field. 7818 (gomp_def_allocator): Declare. 7819 * libgomp.map (OMP_5.0.1): Export omp_set_default_allocator, 7820 omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator, 7821 omp_alloc and omp_free. 7822 * team.c (gomp_team_start): Copy over ts.def_allocator. 7823 * env.c (gomp_def_allocator): New variable. 7824 (parse_wait_policy): Adjust function comment. 7825 (parse_allocator): New function. 7826 (handle_omp_display_env): Print OMP_ALLOCATOR. 7827 (initialize_env): Call parse_allocator. 7828 * Makefile.am (libgomp_la_SOURCES): Add allocator.c. 7829 * allocator.c: New file. 7830 * icv.c (omp_set_default_allocator, omp_get_default_allocator): New 7831 functions. 7832 * testsuite/libgomp.c-c++-common/alloc-1.c: New test. 7833 * testsuite/libgomp.c-c++-common/alloc-2.c: New test. 7834 * testsuite/libgomp.c-c++-common/alloc-3.c: New test. 7835 * Makefile.in: Regenerated. 7836 7837 2020-05-15 H.J. Lu <hongjiu.lu (a] intel.com> 7838 7839 PR bootstrap/95147 7840 * configure: Regenerated. 7841 7842 2020-05-14 Thomas Koenig <tkoenig (a] gcc.gnu.org> 7843 7844 PR libfortran/95119 7845 * testsuite/libgomp.fortran/close_errors_1.f90: New test. 7846 7847 2020-05-14 H.J. Lu <hongjiu.lu (a] intel.com> 7848 7849 * configure: Regenerated. 7850 7851 2020-05-14 Jakub Jelinek <jakub (a] redhat.com> 7852 7853 * testsuite/libgomp.c-c++-common/target-40.c: New test. 7854 7855 2020-05-13 Tobias Burnus <tobias (a] codesourcery.com> 7856 7857 PR fortran/94690 7858 * testsuite/libgomp.fortran/pr66199-3.f90: New. 7859 * testsuite/libgomp.fortran/pr66199-4.f90: New. 7860 * testsuite/libgomp.fortran/pr66199-5.f90: New. 7861 * testsuite/libgomp.fortran/pr66199-6.f90: New. 7862 * testsuite/libgomp.fortran/pr66199-7.f90: New. 7863 * testsuite/libgomp.fortran/pr66199-8.f90: New. 7864 * testsuite/libgomp.fortran/pr66199-9.f90: New. 7865 7866 2020-05-12 Jakub Jelinek <jakub (a] redhat.com> 7867 7868 * testsuite/libgomp.c/target-39.c: New test. 7869 7870 2020-04-29 Thomas Schwinge <thomas (a] codesourcery.com> 7871 7872 * config/accel/openacc.f90 (acc_device_current): Set to '-1'. 7873 * openacc.f90 (acc_device_current): Likewise. 7874 * openacc.h (acc_device_current): Likewise. 7875 * openacc_lib.h (acc_device_current): Likewise. 7876 7877 PR target/94282 7878 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove 7879 'dg-allow-blank-lines-in-output'. 7880 7881 * oacc-init.c (get_openacc_name): Handle 'gcn'. 7882 * testsuite/lib/libgomp.exp 7883 (offload_target_to_openacc_device_type) [amdgcn*]: Return 7884 'radeon'. Adjust all users. 7885 (check_effective_target_openacc_amdgcn_accel_present): Rename 7886 to... 7887 (check_effective_target_openacc_radeon_accel_present): ... this. 7888 Adjust all users. 7889 (check_effective_target_openacc_amdgcn_accel_selected): Rename to... 7890 (check_effective_target_openacc_radeon_accel_selected): ... this. 7891 Adjust all users. 7892 7893 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add 7894 'dg-do run'. 7895 7896 2020-04-23 Andrew Stubbs <ams (a] codesourcery.com> 7897 7898 PR other/94629 7899 7900 * plugin/plugin-gcn.c (init_hsa_context): Check return value from 7901 hsa_iterate_agents. 7902 (GOMP_OFFLOAD_init_device): Check return values from both calls to 7903 hsa_agent_iterate_regions. 7904 7905 2020-04-20 Thomas Schwinge <thomas (a] codesourcery.com> 7906 7907 PR middle-end/94635 7908 * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do 7909 run'. 7910 7911 2020-04-20 Tobias Burnus <tobias (a] codesourcery.com> 7912 7913 PR middle-end/94120 7914 * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)' 7915 test case. 7916 7917 2020-04-17 Tobias Burnus <tobias (a] codesourcery.com> 7918 7919 PR middle-end/94635 7920 * testsuite/libgomp.fortran/target-enter-data-2.F90: New. 7921 7922 2020-04-13 Thomas Schwinge <thomas (a] codesourcery.com> 7923 7924 PR libgomp/92843 7925 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c: 7926 Rename to... 7927 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c: 7928 ... this. 7929 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c: 7930 Rename to... 7931 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c: 7932 ... this. 7933 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c: 7934 Rename to... 7935 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c: 7936 ... this. 7937 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c: 7938 Rename to... 7939 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c: 7940 ... this. 7941 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c: 7942 Rename to... 7943 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c: 7944 ... this. 7945 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c: 7946 Rename to... 7947 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c: 7948 ... this. 7949 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c: 7950 Rename to... 7951 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c: 7952 ... this. 7953 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c: 7954 Rename to... 7955 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c: 7956 ... this. 7957 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c: 7958 Rename to... 7959 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c: 7960 ... this. 7961 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c: 7962 Rename to... 7963 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c: 7964 ... this. 7965 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c: 7966 Rename to... 7967 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c: 7968 ... this. 7969 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c: 7970 Rename to... 7971 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c: 7972 ... this. 7973 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c: 7974 Rename to... 7975 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c: 7976 ... this. 7977 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c: 7978 Rename to... 7979 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c: 7980 ... this. 7981 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c: 7982 Rename to... 7983 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c: 7984 ... this. 7985 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:: 7986 Rename to... 7987 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c: 7988 ... this. 7989 7990 2020-04-10 Julian Brown <julian (a] codesourcery.com> 7991 Thomas Schwinge <thomas (a] codesourcery.com> 7992 7993 PR libgomp/92843 7994 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c: 7995 New file. 7996 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c: 7997 Likewise. 7998 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c: 7999 Likewise. 8000 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c: 8001 Likewise. 8002 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c: 8003 Likewise. 8004 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c: 8005 Likewise. 8006 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c: 8007 Likewise. 8008 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c: 8009 Likewise. 8010 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c: 8011 Likewise. 8012 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c: 8013 Likewise. 8014 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c: 8015 Likewise. 8016 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c: 8017 Likewise. 8018 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c: 8019 Likewise. 8020 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c: 8021 Likewise. 8022 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c: 8023 Likewise. 8024 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c: 8025 Likewise. 8026 8027 2020-04-10 Thomas Schwinge <thomas (a] codesourcery.com> 8028 8029 * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do 8030 run'. 8031 8032 2020-04-08 Tobias Burnus <tobias (a] codesourcery.com> 8033 8034 PR middle-end/94120 8035 * libgomp.oacc-c++/declare-pr94120.C: New. 8036 8037 2020-04-06 Maciej W. Rozycki <macro (a] wdc.com> 8038 8039 * configure.ac: Add testsuite/libgomp-site-extra.exp to output 8040 files. 8041 * configure: Regenerate. 8042 * testsuite/libgomp-site-extra.exp.in: New file. 8043 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove 8044 variable. 8045 * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New 8046 variable. 8047 * testsuite/Makefile.in: Regenerate. 8048 8049 2020-04-03 Thomas Schwinge <thomas (a] codesourcery.com> 8050 8051 PR tree-optimization/89713 8052 PR c/94392 8053 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect 8054 'bar.sync'. 8055 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise. 8056 8057 2020-03-31 Tobias Burnus <tobias (a] codesourcery.com> 8058 8059 * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER. 8060 * testsuite/libgomp.fortran/target-enter-data-1.f90: New. 8061 8062 2020-03-24 Tobias Burnus <tobias (a] codesourcery.com> 8063 8064 PR libgomp/81689 8065 * testsuite/libgomp.c/target-link-1.c: Remove xfail. 8066 8067 2020-03-20 Tobias Burnus <tobias (a] codesourcery.com> 8068 8069 PR libgomp/94251 8070 * target.c (gomp_load_image_to_device): Fix link 8071 variable handling. 8072 8073 2020-03-19 Jakub Jelinek <jakub (a] redhat.com> 8074 8075 PR c++/93931 8076 * testsuite/libgomp.c++/pr93931.C: New test. 8077 8078 2020-03-19 Tobias Burnus <tobias (a] codesourcery.com> 8079 8080 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add 8081 dg-allow-blank-lines-in-output. 8082 8083 2020-03-18 Julian Brown <julian (a] codesourcery.com> 8084 Tobias Burnus <tobias (a] codesourcery.com> 8085 8086 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make 8087 it work concurrently. 8088 8089 2020-03-18 Tobias Burnus <tobias (a] codesourcery.com> 8090 8091 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add 8092 #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn. 8093 * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise. 8094 8095 2020-03-14 Jakub Jelinek <jakub (a] redhat.com> 8096 8097 PR middle-end/93566 8098 * testsuite/libgomp.c/pr93566.c: New test. 8099 8100 2020-02-21 Frederik Harwath <frederik (a] codesourcery.com> 8101 8102 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to 8103 changes from 2020-02-19, i.e. use integer(c_size_t) instead of 8104 integer(acc_device_property) for the type of the return value of 8105 acc_get_property. 8106 8107 2020-02-19 Tobias Burnus <tobias (a] codesourcery.com> 8108 8109 * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h. 8110 * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current. 8111 (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup. 8112 * libgomp.texi (Enabling OpenACC): No longer mark as experimental. 8113 (acc_set_device_num): Fix Fortran argument name, use same name for C. 8114 (acc_get_property): Update Fortran interface to post-OpenACC 3.0 8115 corrections; add note about the previous interface and named constant. 8116 (OpenACC library and environment variables): Fix two typos. 8117 * openacc.f90: Use for all procedures the argument names from the spec 8118 as for _h they are user visible. 8119 (openacc_kinds): Rename acc_device_property to 8120 acc_device_property_kinds and change value to int32 ; and update users. 8121 Re-add acc_device_property for for backward compatibility. 8122 (acc_get_property_string_h): Clean up as acc_device_property_kind 8123 changed. 8124 (acc_get_property_h): Likewise and return c_size_t instead of 8125 acc_device_property. 8126 (openacc): Also export acc_device_property_kinds. 8127 (acc_async_test_h, acc_async_test_all_h, acc_on_device_h, 8128 acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value 8129 handling; check against /= 0 instead of == 1 to match C. 8130 * openacc_lib.h: Use for all procedures the argument names from the spec 8131 as for _h they are user visible. Place !GCC$ into the first column to 8132 be active also for fixed-form souce form. 8133 (acc_device_current, acc_device_property_kind, acc_device_property, 8134 acc_property_memory, acc_property_free_memory, acc_property_name, 8135 acc_property_vendor, acc_property_driver): New named constants. 8136 (acc_get_property, acc_get_property_string): New generic interface. 8137 8138 2020-02-13 Frederik Harwath <frederik (a] codesourcery.com> 8139 8140 PR libgomp/93481 8141 * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub. 8142 * target.c (gomp_load_plugin_for_device): Make "async_run" loading 8143 optional. 8144 (gomp_target_task_fn): Assert "devicep->async_run_func". 8145 (clear_unsupported_flags): New function to remove unsupported flags 8146 (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored. 8147 (GOMP_target_ext): Apply clear_unsupported_flags to flags. 8148 * testsuite/libgomp.c/target-33.c: 8149 Remove xfail for offload_target_nvptx. 8150 * testsuite/libgomp.c/target-34.c: Likewise. 8151 8152 2020-02-10 Frederik Harwath <frederik (a] codesourcery.com> 8153 8154 * testsuite/libgomp.c/target-33.c: Add xfail for execution on 8155 offload_target_nvptx, cf. https://gcc.gnu.org/PR81688. 8156 * testsuite/libgomp.c/target-34.c: Likewise. 8157 * testsuite/libgomp.c/target-link-1.c: Add xfail for 8158 offload_target_nvptx, cf. https://gcc.gnu.org/PR81689. 8159 8160 2020-02-09 Jakub Jelinek <jakub (a] redhat.com> 8161 8162 * testsuite/libgomp.c/target-38.c: New test. 8163 8164 2020-02-06 Jakub Jelinek <jakub (a] redhat.com> 8165 8166 PR libgomp/93515 8167 * testsuite/libgomp.c-c++-common/pr93515.c: New test. 8168 8169 2020-02-05 Tobias Burnus <tobias (a] codesourcery.com> 8170 8171 * testsuite/lib/libgomp.exp 8172 (check_effective_target_offload_target_nvptx): Pass flags as 'options' 8173 and not as 'source' argument to libgomp_target_compile. 8174 8175 2020-02-03 Andrew Stubbs <ams (a] codesourcery.com> 8176 8177 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove. 8178 (gcn_gfx801_s): Remove. 8179 (isa_hsa_name): Remove gfx801. 8180 (isa_gcc_name): Remove gfx801/carizzo. 8181 (isa_code): Remove gfx801. 8182 8183 2020-02-03 Julian Brown <julian (a] codesourcery.com> 8184 Tobias Burnus <tobias (a] codesourcery.com> 8185 8186 * libgomp.texi (OpenACC Runtime Library Routines): Document *_async 8187 and *_finalize variants; document acc_attach and acc_detach; update 8188 references from OpenACC 2.0 to 2.6. 8189 * openacc.f90 (openacc_version): Update to 201711. 8190 * openacc_lib.h (openacc_version): Update to 201711. 8191 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected 8192 openacc_version to 201711. 8193 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise. 8194 8195 2020-01-31 Kwok Cheung Yeung <kcy (a] codesourcery.com> 8196 8197 * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count 8198 and vgpr_count fields. 8199 (struct kernel_info): Add a field for a hsa_kernel_description. 8200 (run_kernel): Reduce the number of threads/workers if the requested 8201 number would require too many VGPRs. 8202 (init_basic_kernel_info): Initialize description field with 8203 the hsa_kernel_description entry for the kernel. 8204 8205 2020-01-29 Tobias Burnus <tobias (a] codesourcery.com> 8206 8207 PR bootstrap/93409 8208 * plugin/configfrag.ac (enable_offload_targets): Skip 8209 HSA and GCN plugin besides -m32 also for -mx32. 8210 * configure: Regenerate. 8211 8212 2020-01-29 Frederik Harwath <frederik (a] codesourcery.com> 8213 8214 * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon. 8215 8216 2020-01-29 Frederik Harwath <frederik (a] codesourcery.com> 8217 8218 * plugin-gcn.c (struct agent_info): Add fields "name" and 8219 "vendor_name" ... 8220 (GOMP_OFFLOAD_init_device): ... and init from here. 8221 (struct hsa_context_info): Add field "driver_version_s" ... 8222 (init_hsa_contest): ... and init from here. 8223 (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper 8224 implementation. 8225 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: 8226 Enable test execution for amdgcn and host offloading targets. 8227 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise. 8228 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c 8229 (expect_device_properties): Split function into ... 8230 (expect_device_string_properties): ... this new function ... 8231 (expect_device_memory): ... and this new function. 8232 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c: 8233 Add test. 8234 8235 2020-01-28 Julian Brown <julian (a] codesourcery.com> 8236 8237 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here. 8238 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed 8239 component/non-component variable refs in a single directive. 8240 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise. 8241 8242 2020-01-24 Maciej W. Rozycki <macro (a] wdc.com> 8243 8244 * configure.ac: Handle `--with-toolexeclibdir='. 8245 * Makefile.in: Regenerate. 8246 * aclocal.m4: Regenerate. 8247 * configure: Regenerate. 8248 * testsuite/Makefile.in: Regenerate. 8249 8250 2020-01-24 Frederik Harwath <frederik (a] codesourcery.com> 8251 8252 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c 8253 (expect_device_properties): Remove "expected_free_mem" argument, 8254 change "expected_total_mem" argument type to size_t; 8255 change types of acc_get_property results to size_t, 8256 adapt format strings. 8257 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: 8258 Use %zu instead of %zd to print size_t values. 8259 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and 8260 rename to ... 8261 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this. 8262 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and 8263 rename to ... 8264 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this. 8265 8266 2020-01-23 Andrew Stubbs <ams (a] codesourcery.com> 8267 8268 * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for 8269 the device id. 8270 8271 2020-01-20 Andrew Stubbs <ams (a] codesourcery.com> 8272 8273 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn. 8274 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main): 8275 Adjust test dimensions for amdgcn. 8276 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust 8277 gang/worker/vector expectations dynamically. 8278 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c 8279 (main): Likewise. 8280 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise. 8281 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise. 8282 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise. 8283 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise. 8284 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise. 8285 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise. 8286 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise. 8287 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise. 8288 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c 8289 (acc_gang): Recognise acc_device_radeon. 8290 (acc_worker): Likewise. 8291 (acc_vector): Likewise. 8292 (main): Set expectations for amdgcn. 8293 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c 8294 (main): Adjust gang/worker/vector expectations dynamically. 8295 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise. 8296 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise. 8297 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise. 8298 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations 8299 for amdgcn. 8300 8301 2020-01-17 Andrew Stubbs <ams (a] codesourcery.com> 8302 8303 * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to 8304 acc_device_radeon. 8305 (openacc): Likewise. 8306 * openacc.f90 (openacc_kinds): Likewise. 8307 (openacc): Likewise. 8308 * openacc.h (acc_device_t): Likewise. 8309 * openacc_lib.h: Likewise. 8310 * testsuite/lib/libgomp.exp 8311 (check_effective_target_openacc_amdgcn_accel_present): Likewise. 8312 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c 8313 (cb_compute_construct_end): Likewise. 8314 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c 8315 (cb_enqueue_launch_start): Likewise. 8316 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c 8317 (cb_enter_data_end): Likewise. 8318 (cb_exit_data_start): Likewise. 8319 (cb_exit_data_end): Likewise. 8320 (cb_compute_construct_end): Likewise. 8321 (cb_enqueue_launch_start): Likewise. 8322 (cb_enqueue_launch_end): Likewise. 8323 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c 8324 (main): Likewise. 8325 8326 2020-01-10 Thomas Schwinge <thomas (a] codesourcery.com> 8327 8328 * libgomp-plugin.h (enum goacc_property): New. Adjust all users 8329 to use this instead of 'enum gomp_device_property'. 8330 (GOMP_OFFLOAD_get_property): Rename to... 8331 (GOMP_OFFLOAD_openacc_get_property): ... this. Adjust all users. 8332 * libgomp.h (struct gomp_device_descr): Move 8333 'GOMP_OFFLOAD_openacc_get_property'... 8334 (struct acc_dispatch_t): ... here. Adjust all users. 8335 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove. 8336 8337 * target.c (gomp_map_vars_internal) 8338 <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code 8339 paths. 8340 8341 2020-01-10 Jakub Jelinek <jakub (a] redhat.com> 8342 8343 PR libgomp/93219 8344 * libgomp.h (gomp_print_string): Change return type from void to int. 8345 * affinity-fmt.c (gomp_print_string): Likewise. Return true if 8346 not all characters have been written. 8347 8348 2020-01-08 Tobias Burnus <tobias (a] codesourcery.com> 8349 8350 * libgomp.texi: Fix typos, use https. 8351 8352 2020-01-03 Tobias Burnus <tobias (a] codesourcery.com> 8353 8354 * testsuite/libgomp.fortran/optional-map.f90: Add test for 8355 unallocated/disassociated actual arguments to nonallocatable/nonpointer 8356 dummy arguments; those are/shall be regarded as absent arguments. 8357 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto. 8358 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New. 8359 8360 2020-01-01 Jakub Jelinek <jakub (a] redhat.com> 8361 8362 Update copyright years. 8363 8364 * libgomp.texi: Bump @copying's copyright year. 8365 8366 2019-12-31 Ayush Mittal <ayush.m (a] samsung.com> 8367 8368 PR libgomp/93065 8369 * oacc-init.c (goacc_runtime_deinitialize): New function. 8370 8371 2019-12-28 Jakub Jelinek <jakub (a] redhat.com> 8372 8373 PR bootstrap/93074 8374 * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare. 8375 (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2. 8376 8377 2019-12-22 Maciej W. Rozycki <macro (a] codesourcery.com> 8378 Frederik Harwath <frederik (a] codesourcery.com> 8379 Thomas Schwinge <tschwinge (a] codesourcery.com> 8380 8381 * libgomp.h (gomp_device_descr): Add `get_property_func' member. 8382 * libgomp-plugin.h (gomp_device_property_value): New union. 8383 (gomp_device_property_value): New prototype. 8384 * openacc.h (acc_device_t): Add `acc_device_current' enumeration 8385 constant. 8386 (acc_device_property_t): New enum. 8387 (acc_get_property, acc_get_property_string): New prototypes. 8388 * oacc-init.c (acc_get_device_type): Also assert that result 8389 is not `acc_device_current'. 8390 (get_property_any, acc_get_property, acc_get_property_string): 8391 New functions. 8392 * openacc.f90 (openacc_kinds): Add `acc_device_current' and 8393 `acc_property_memory', `acc_property_free_memory', 8394 `acc_property_name', `acc_property_vendor' and 8395 `acc_property_driver' constants. Add `acc_device_property' data 8396 type. 8397 (openacc_internal): Add `acc_get_property' and 8398 `acc_get_property_string' interfaces. Add `acc_get_property_h', 8399 `acc_get_property_string_h', `acc_get_property_l' and 8400 `acc_get_property_string_l'. 8401 * oacc-host.c (host_get_property): New function. 8402 (host_dispatch): Wire it. 8403 * target.c (gomp_load_plugin_for_device): Handle `get_property'. 8404 * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_', 8405 `acc_get_property_string' and `acc_get_property_string_h_' symbols. 8406 * libgomp.texi (OpenACC Runtime Library Routines): Add 8407 `acc_get_property'. 8408 (acc_get_property): New node. 8409 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New 8410 function (stub). 8411 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function. 8412 * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName', 8413 `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo' 8414 calls. 8415 (GOMP_OFFLOAD_get_property): New function. 8416 (struct ptx_device): Add new field "name". 8417 (cuda_driver_version_s): Add new static variable ... 8418 (nvptx_init): ... and init from here. 8419 8420 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test. 8421 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test. 8422 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test. 8423 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file 8424 with test helper functions. 8425 8426 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test. 8427 8428 2019-12-22 Maciej W. Rozycki <macro (a] wdc.com> 8429 8430 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New 8431 variable. 8432 8433 2019-12-21 Thomas Schwinge <thomas (a] codesourcery.com> 8434 8435 * target.c (gomp_map_vars_internal): Restore 'omp declare target 8436 link' handling. 8437 8438 2019-12-19 Julian Brown <julian (a] codesourcery.com> 8439 8440 * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test. 8441 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test. 8442 * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test. 8443 8444 2019-12-19 Julian Brown <julian (a] codesourcery.com> 8445 Cesar Philippidis <cesar (a] codesourcery.com> 8446 8447 * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test. 8448 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test. 8449 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test. 8450 * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test. 8451 * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test. 8452 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test. 8453 * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test. 8454 * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test. 8455 * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test. 8456 * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test. 8457 * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test. 8458 * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test. 8459 * testsuite/libgomp.oacc-fortran/update-2.f90: New test. 8460 8461 2019-12-19 Julian Brown <julian (a] codesourcery.com> 8462 8463 * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test. 8464 * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test. 8465 * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test. 8466 * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test. 8467 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test. 8468 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test. 8469 * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test. 8470 * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test. 8471 * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test. 8472 * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test. 8473 * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test. 8474 * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test. 8475 8476 2019-12-19 Julian Brown <julian (a] codesourcery.com> 8477 8478 * libgomp.h (struct target_var_desc): Add do_detach flag. 8479 * oacc-init.c (acc_shutdown_1): Free aux block if present. 8480 * oacc-mem.c (find_group_last): Add SIZES parameter. Support 8481 struct components. Tidy up and add some new checks. 8482 (goacc_enter_data_internal): Update call to find_group_last. 8483 (goacc_exit_data_internal): Support detach operations and 8484 GOMP_MAP_STRUCT. 8485 (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or 8486 GOMP_MAP_FORCE_PRESENT in finalization detection code. Handle 8487 attach/detach in enter/exit data detection code. 8488 * target.c (gomp_map_vars_existing): Initialise do_detach field of 8489 tgt_var_desc. 8490 (gomp_map_vars_internal): Support attach. 8491 (gomp_unmap_vars_internal): Support detach. 8492 8493 2019-12-19 Julian Brown <julian (a] codesourcery.com> 8494 Thomas Schwinge <thomas (a] codesourcery.com> 8495 8496 * libgomp.h (struct splay_tree_aux): Add attach_count field. 8497 (gomp_attach_pointer, gomp_detach_pointer): Add prototypes. 8498 * libgomp.map (OACC_2.6): New section. Add acc_attach, 8499 acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize, 8500 acc_detach_finalize_async. 8501 * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal, 8502 acc_detach, acc_detach_async, acc_detach_finalize, 8503 acc_detach_finalize_async): New functions. 8504 * openacc.h (acc_attach, acc_attach_async, acc_detach, 8505 (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add 8506 prototypes. 8507 * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions. 8508 (gomp_remove_var_internal): Free attachment counts if present. 8509 * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test. 8510 * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test. 8511 8512 2019-12-19 Julian Brown <julian (a] codesourcery.com> 8513 Cesar Philippidis <cesar (a] codesourcery.com> 8514 8515 * libgomp.h (gomp_map_val): Add prototype. 8516 * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of 8517 open-coding device-address calculation. 8518 * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in 8519 non-present case. 8520 8521 2019-12-19 Julian Brown <julian (a] codesourcery.com> 8522 8523 * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount 8524 field for virtual_refcount. 8525 (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA. 8526 (gomp_free_memmap): Remove prototype. 8527 * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var 8528 instead of calling gomp_free_memmap. 8529 * oacc-mem.c (acc_map_data): Use virtual_refcount instead of 8530 dynamic_refcount. 8531 (acc_unmap_data): Open code instead of forcing target_mem_desc's 8532 to_free field to NULL then calling gomp_unmap_vars. Handle 8533 REFCOUNT_INFINITY on target blocks. 8534 (goacc_enter_data): Rename to... 8535 (goacc_enter_datum): ...this. Remove MAPNUM parameter and special 8536 handling for mapping groups. Use virtual_refcount instead of 8537 dynamic_refcount. Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for 8538 map_map_vars_async call. Re-do lookup for target pointer return value. 8539 (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call 8540 renamed goacc_enter_datum function. 8541 (goacc_exit_data): Rename to... 8542 (goacc_exit_datum): ...this. Update for virtual_refcount semantics. 8543 (acc_delete, acc_delete_async, acc_delete_finalize, 8544 acc_delete_finalize_async, acc_copyout, acc_copyout_async, 8545 acc_copyout_finalize, acc_copyout_finalize_async): Call renamed 8546 goacc_exit_datum function. 8547 (gomp_acc_remove_pointer, find_pointer): Remove functions. 8548 (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal): 8549 New functions. 8550 (GOACC_enter_exit_data): Use goacc_enter_data_internal and 8551 goacc_exit_data_internal helper functions. 8552 * target.c (gomp_map_vars_internal): Handle 8553 GOMP_MAP_VARS_OPENACC_ENTER_DATA. Update for virtual_refcount 8554 semantics. 8555 (gomp_unmap_vars_internal): Update for virtual_refcount semantics. 8556 (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise 8557 virtual_refcount field instead of dynamic_refcount. 8558 (gomp_free_memmap): Remove function. 8559 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test. 8560 * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test. 8561 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL. 8562 8563 2019-12-19 Julian Brown <julian (a] codesourcery.com> 8564 Thomas Schwinge <thomas (a] codesourcery.com> 8565 8566 * libgomp.h (struct splay_tree_aux): New. 8567 (struct splay_tree_key_s): Replace link_key field with aux pointer. 8568 * target.c (gomp_map_vars_internal): Adjust for link_key being moved 8569 to aux struct. 8570 (gomp_remove_var_internal): Free aux block if present. 8571 (gomp_load_image_to_device): Zero-initialise aux field instead of 8572 link_key field. 8573 (omp_target_associate_pointer): Zero-initialise aux field. 8574 8575 2019-12-18 Jakub Jelinek <jakub (a] redhat.com> 8576 8577 PR middle-end/86416 8578 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than 8579 q or none. 8580 * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than 8581 L or none. 8582 8583 2019-12-19 Julian Brown <julian (a] codesourcery.com> 8584 Maciej W. Rozycki <macro (a] codesourcery.com> 8585 Tobias Burnus <tobias (a] codesourcery.com> 8586 Thomas Schwinge <thomas (a] codesourcery.com> 8587 8588 * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC. 8589 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test. 8590 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test. 8591 * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test. 8592 * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test. 8593 * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test. 8594 * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test. 8595 * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test. 8596 * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test. 8597 8598 2019-12-18 Thomas Schwinge <thomas (a] codesourcery.com> 8599 8600 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be 8601 called... 8602 (goacc_insert_pointer): ... from here, "present" case. 8603 (goacc_insert_pointer): Inline function into... 8604 (GOACC_enter_exit_data): ... here, and simplify. 8605 8606 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be 8607 called... 8608 (goacc_insert_pointer): ... from here, "not present" case. 8609 8610 * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust 8611 all users. 8612 8613 * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call 8614 'goacc_enter_data', 'goacc_exit_data'. 8615 8616 * oacc-mem.c (delete_copyout): Refactor into... 8617 (goacc_exit_data): ... this. Adjust all users. 8618 8619 * oacc-mem.c (present_create_copy): Refactor into... 8620 (goacc_enter_data): ... this. Adjust all users. 8621 8622 * target.c (gomp_unmap_vars_internal): Add a safeguard to 8623 'gomp_remove_var'. 8624 8625 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM' 8626 like 'GOMP_MAP_FROM'. 8627 8628 PR libgomp/92726 8629 PR libgomp/92970 8630 PR libgomp/92984 8631 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host' 8632 fails. 8633 (GOACC_enter_exit_data): Simplify accordingly. 8634 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file, 8635 subsuming... 8636 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file... 8637 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this 8638 file. 8639 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file, 8640 subsuming... 8641 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file... 8642 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this 8643 file. 8644 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file, 8645 subsuming... 8646 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file. 8647 8648 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data' 8649 'finalize' handling. 8650 8651 PR libgomp/92848 8652 * oacc-mem.c (acc_map_data, present_create_copy) 8653 (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'. 8654 (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust. 8655 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove. 8656 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file 8657 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise. 8658 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise. 8659 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise. 8660 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c: 8661 Remove "XFAIL"s. 8662 8663 * target.c (gomp_unmap_tgt): Make it 'static'. 8664 * libgomp.h (gomp_unmap_tgt): Remove. 8665 8666 2019-12-18 Tobias Burnus <tobias (a] codesourcery.com> 8667 8668 PR middle-end/86416 8669 * testsuite/libgomp.c/pr86416-1.c: New. 8670 * testsuite/libgomp.c/pr86416-2.c: New. 8671 8672 2019-12-17 Tobias Burnus <tobias (a] codesourcery.com> 8673 8674 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark 8675 all symbols as public except for the 'use , only' imported symbol, 8676 which is private. 8677 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark 8678 all symbols from module openacc_kinds as PUBLIC 8679 * openacc.f90: Add comment with crossref to that file and openmp_lib.h; 8680 fix comment typo. 8681 * openacc_lib.h (acc_device_gcn): Add this PARAMETER. 8682 8683 2019-12-13 Julian Brown <julian (a] codesourcery.com> 8684 8685 PR libgomp/92881 8686 8687 * libgomp.h (gomp_remove_var_async): Add prototype. 8688 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of 8689 gomp_remove_var. 8690 * target.c (gomp_unref_tgt): Change return type to bool, indicating 8691 whether target_mem_desc was unmapped. 8692 (gomp_unref_tgt_void): New. 8693 (gomp_remove_var): Reimplement in terms of... 8694 (gomp_remove_var_internal): ...this new helper function. 8695 (gomp_remove_var_async): New, implemented using above helper function. 8696 (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of 8697 gomp_unref_tgt. 8698 8699 2019-12-13 Andrew Stubbs <ams (a] codesourcery.com> 8700 8701 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn. 8702 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise. 8703 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise. 8704 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise. 8705 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: 8706 Likewise. 8707 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN. 8708 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise. 8709 8710 2019-12-13 Tobias Burnus <tobias (a] codesourcery.com> 8711 8712 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols 8713 as public except for the 'use , only' imported symbol, which is 8714 private. 8715 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark 8716 all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC 8717 attributes for acc_copyout_finalize and acc_delete_finalize. 8718 8719 2019-12-11 Jakub Jelinek <jakub (a] redhat.com> 8720 8721 PR fortran/92899 8722 * testsuite/libgomp.fortran/atomic1.f90: New test. 8723 8724 2019-12-11 Thomas Schwinge <thomas (a] codesourcery.com> 8725 8726 PR libgomp/92843 8727 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic 8728 reference counting for structured 'REFCOUNT_INFINITY'. Add some 8729 assertions. 8730 (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly. 8731 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file. 8732 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC. 8733 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise. 8734 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise. 8735 8736 * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move... 8737 * oacc-mem.c: ... here. 8738 (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to 8739 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'. 8740 * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer): 8741 Remove. 8742 * libgomp_g.h: Update. 8743 8744 * oacc-parallel.c (GOACC_wait, goacc_wait): Move... 8745 * oacc-async.c: ... here. 8746 * oacc-int.h (goacc_wait): Declare. 8747 * libgomp_g.h: Update 8748 8749 PR libgomp/92854 8750 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c: 8751 New file. 8752 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c: 8753 Likewise. 8754 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c: 8755 Likewise. 8756 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c: 8757 Likewise. 8758 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c: 8759 Likewise. 8760 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c: 8761 Likewise. 8762 8763 2019-12-11 Thomas Schwinge <thomas (a] codesourcery.com> 8764 Julian Brown <julian (a] codesourcery.com> 8765 8766 * target.c (gomp_load_image_to_device, omp_target_associate_ptr): 8767 Initialize 'dynamic_refcount' whenever we initialize 'refcount'. 8768 8769 2019-12-11 Tobias Burnus <tobias (a] codesourcery.com> 8770 8771 * omp_lib.h.in: Fix spelling of function declaration 8772 omp_get_cancell(l)ation. 8773 * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all): 8774 Fix typos. 8775 * env.c: Fix comment typos. 8776 * oacc-host.c: Likewise. 8777 * ordered.c: Likewise. 8778 * task.c: Likewise. 8779 * team.c: Likewise. 8780 * config/gcn/task.c: Likewise. 8781 * config/gcn/team.c: Likewise. 8782 * config/nvptx/task.c: Likewise. 8783 * config/nvptx/team.c: Likewise. 8784 * plugin/plugin-gcn.c: Likewise. 8785 * testsuite/libgomp.fortran/jacobi.f: Likewise. 8786 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise. 8787 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise. 8788 8789 2019-12-11 Tobias Burnus <tobias (a] codesourcery.com> 8790 8791 * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'. 8792 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove 8793 unnecessary 'dg-additional-options "-w"'. 8794 8795 2019-12-09 Thomas Schwinge <thomas (a] codesourcery.com> 8796 Julian Brown <julian (a] codesourcery.com> 8797 8798 PR libgomp/92116 8799 PR libgomp/92877 8800 8801 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users. 8802 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member. 8803 Adjust all users. 8804 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c: 8805 Remove XFAIL. 8806 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c: 8807 Likewise. 8808 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file. 8809 8810 2019-12-09 Thomas Schwinge <thomas (a] codesourcery.com> 8811 8812 PR libgomp/92503 8813 * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'. 8814 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New 8815 file. 8816 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c: 8817 Likewise. 8818 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c: 8819 Likewise. 8820 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c: 8821 Likewise. 8822 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c: 8823 Likewise. 8824 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c: 8825 Likewise. 8826 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust. 8827 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise. 8828 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise. 8829 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise. 8830 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise. 8831 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise. 8832 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise. 8833 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise. 8834 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise. 8835 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise. 8836 8837 PR libgomp/92840 8838 * oacc-mem.c (acc_map_data): Clarify reference counting behavior. 8839 (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'. 8840 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c: 8841 New file. 8842 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c: 8843 Likewise. 8844 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c: 8845 Likewise. 8846 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust. 8847 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust. 8848 8849 PR libgomp/92511 8850 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove 8851 this file... 8852 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and 8853 this file... 8854 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this 8855 file... 8856 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this 8857 file... 8858 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c: 8859 ... with their content moved into, and extended in this new file. 8860 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c: 8861 New file. 8862 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c: 8863 Likewise. 8864 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c: 8865 Likewise. 8866 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c: 8867 Likewise. 8868 8869 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file. 8870 8871 PR libgomp/92854 8872 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file. 8873 8874 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file. 8875 8876 * target.c (gomp_exit_data): Use 'gomp_remove_var'. 8877 8878 2019-12-09 Tobias Burnus <tobias (a] codesourcery.com> 8879 8880 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes 8881 unique. 8882 * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto. 8883 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto. 8884 * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto. 8885 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: 8886 Ditto. 8887 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto. 8888 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto. 8889 8890 2019-12-06 Kwok Cheung Yeung <kcy (a] codesourcery.com> 8891 8892 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro. 8893 8894 2019-12-06 Tobias Burnus <tobias (a] codesourcery.com> 8895 Kwok Cheung Yeung <kcy (a] codesourcery.com> 8896 8897 * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return 8898 if input it a NULL pointer. 8899 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on 8900 diagnostic of NULL pointer. 8901 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto. 8902 * testsuite/libgomp.fortran/optional-map.f90: New. 8903 * testsuite/libgomp.fortran/use_device_addr-1.f90 8904 (test_dummy_opt_callee_1_absent): New. 8905 (test_dummy_opt_call_1): Call it. 8906 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise. 8907 * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise. 8908 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise. 8909 * testsuite/libgomp.oacc-fortran/optional-cache.f95: New. 8910 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New. 8911 * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New. 8912 * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New. 8913 * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New. 8914 * testsuite/libgomp.oacc-fortran/optional-declare.f90: New. 8915 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New. 8916 * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New. 8917 * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New. 8918 * testsuite/libgomp.oacc-fortran/optional-private.f90: New. 8919 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New. 8920 * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New. 8921 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New. 8922 8923 2019-12-05 Tobias Burnus <tobias (a] codesourcery.com> 8924 8925 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't 8926 expect dg-output of 'Error termination.' for GCN. 8927 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise. 8928 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise. 8929 8930 2019-12-04 Jakub Jelinek <jakub (a] redhat.com> 8931 8932 PR fortran/92756 8933 * testsuite/libgomp.fortran/teams1.f90: New test. 8934 * testsuite/libgomp.fortran/teams2.f90: New test. 8935 8936 2019-12-03 Frederik Harwath <frederik (a] codesourcery.com> 8937 8938 * oacc-init.c (acc_known_device_type): Add function. 8939 (unknown_device_type_error): Add function. 8940 (name_of_acc_device_t): Change to call unknown_device_type_error 8941 on unknown type. 8942 (resolve_device): Use acc_known_device_type. 8943 (acc_init): Fail if acc_device_t argument is not valid. 8944 (acc_shutdown): Likewise. 8945 (acc_get_num_devices): Likewise. 8946 (acc_set_device_type): Likewise. 8947 (acc_get_device_num): Likewise. 8948 (acc_set_device_num): Likewise. 8949 (acc_on_device): Add comment that argument validity is not checked. 8950 8951 2019-12-03 Andrew Stubbs <ams (a] codesourcery.com> 8952 8953 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type): 8954 Recognize amdgcn. 8955 (check_effective_target_openacc_amdgcn_accel_present): New proc. 8956 (check_effective_target_openacc_amdgcn_accel_selected): New proc. 8957 * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn. 8958 * testsuite/libgomp.oacc-c/c.exp: Likewise. 8959 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 8960 8961 2019-12-03 Szabolcs Nagy <szabolcs.nagy (a] arm.com> 8962 8963 PR libgomp/91938 8964 * configure.tgt: Avoid IE tls on *-*-musl*. 8965 8966 2019-11-29 Tobias Burnus <tobias (a] codesourcery.com> 8967 8968 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by 8969 adding a common-block test case. 8970 8971 2019-11-29 Jakub Jelinek <jakub (a] redhat.com> 8972 8973 PR c++/60228 8974 * testsuite/libgomp.c++/udr-20.C: New test. 8975 * testsuite/libgomp.c++/udr-21.C: New test. 8976 8977 2019-11-27 Thomas Schwinge <thomas (a] codesourcery.com> 8978 8979 * testsuite/lib/libgomp.exp 8980 (check_effective_target_offload_target_nvptx): New proc. 8981 * testsuite/libgomp.fortran/target-print-1.f90: Use it with 8982 'dg-skip-if'. 8983 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise. 8984 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file. 8985 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise. 8986 8987 2019-11-21 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 8988 8989 * testsuite/libgomp.c/pr39591-1.c: Rename err to e. 8990 * testsuite/libgomp.c/pr39591-2.c: Likewise. 8991 * testsuite/libgomp.c/pr39591-3.c: Likewise. 8992 * testsuite/libgomp.c/private-1.c: Likewise. 8993 * testsuite/libgomp.c/task-1.c: Likewise. 8994 * testsuite/libgomp.c/task-5.c: Renamed err to serr. 8995 8996 2019-11-20 Julian Brown <julian (a] codesourcery.com> 8997 8998 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock 8999 aq->mutex here. 9000 (queue_push_launch): Lock aq->mutex before calling 9001 wait_for_queue_nonfull. 9002 (queue_push_callback): Likewise. 9003 (queue_push_asyncwait): Likewise. 9004 (queue_push_placeholder): Likewise. 9005 9006 2019-11-20 Julian Brown <julian (a] codesourcery.com> 9007 9008 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New. 9009 (copy_data, GOMP_OFFLOAD_host2dev): Use above function. 9010 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy 9011 return code. 9012 9013 2019-11-20 Julian Brown <julian (a] codesourcery.com> 9014 9015 PR libgomp/92511 9016 9017 * oacc-mem.c (present_create_copy): Fix device pointer return value in 9018 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free 9019 in non-present/create case. 9020 (delete_copyout): Change error condition to fail only on copies outside 9021 of mapped block. Adjust error message accordingly. 9022 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test. 9023 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test. 9024 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error 9025 message. 9026 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. 9027 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now. 9028 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise. 9029 9030 2019-11-20 Maciej W. Rozycki <macro (a] wdc.com> 9031 9032 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find 9033 libatomic in build-tree testing. 9034 9035 2019-11-18 Maciej W. Rozycki <macro (a] wdc.com> 9036 9037 * testsuite/Makefile.in: Regenerate. 9038 9039 2019-11-15 Andrew Stubbs <ams (a] codesourcery.com> 9040 9041 * testsuite/libgomp.c/target-print-1.c: New file. 9042 * testsuite/libgomp.fortran/target-print-1.f90: New file. 9043 * testsuite/libgomp.oacc-c/print-1.c: New file. 9044 * testsuite/libgomp.oacc-fortran/print-1.f90: New file. 9045 9046 2019-11-13 Andrew Stubbs <ams (a] codesourcery.com> 9047 Kwok Cheung Yeung <kcy (a] codesourcery.com> 9048 Julian Brown <julian (a] codesourcery.com> 9049 Tom de Vries <tom (a] codesourcery.com> 9050 9051 * plugin/Makefrag.am: Add amdgcn plugin support. 9052 * plugin/configfrag.ac: Likewise. 9053 * plugin/plugin-gcn.c: New file. 9054 * configure: Regenerate. 9055 * Makefile.in: Regenerate. 9056 * testsuite/Makefile.in: Regenerate. 9057 9058 2019-11-13 Andrew Stubbs <ams (a] codesourcery.com> 9059 9060 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena 9061 and use team_malloc variants. 9062 (gomp_gcn_exit_kernel): Use team_free. 9063 * libgomp.h (TEAM_ARENA_SIZE): Define. 9064 (TEAM_ARENA_START): Define. 9065 (TEAM_ARENA_FREE): Define. 9066 (TEAM_ARENA_END): Define. 9067 (team_malloc): New function. 9068 (team_malloc_cleared): New function. 9069 (team_free): New function. 9070 * team.c (gomp_new_team): Initialize and use team_malloc. 9071 (free_team): Use team_free. 9072 (gomp_free_thread): Use team_free. 9073 (gomp_pause_host): Use team_free. 9074 * work.c (gomp_init_work_share): Use team_malloc. 9075 (gomp_fini_work_share): Use team_free. 9076 9077 2019-11-13 Andrew Stubbs <ams (a] codesourcery.com> 9078 Kwok Cheung Yeung <kcy (a] codesourcery.com> 9079 Julian Brown <julian (a] codesourcery.com> 9080 Tom de Vries <tom (a] codesourcery.com> 9081 9082 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c. 9083 * Makefile.in: Regenerate. 9084 * config.h.in (PLUGIN_GCN): Add new undef. 9085 * config/accel/openacc.f90 (acc_device_gcn): New parameter. 9086 * config/gcn/affinity-fmt.c: New file. 9087 * config/gcn/bar.c: New file. 9088 * config/gcn/bar.h: New file. 9089 * config/gcn/doacross.h: New file. 9090 * config/gcn/icv-device.c: New file. 9091 * config/gcn/oacc-target.c: New file. 9092 * config/gcn/simple-bar.h: New file. 9093 * config/gcn/target.c: New file. 9094 * config/gcn/task.c: New file. 9095 * config/gcn/team.c: New file. 9096 * config/gcn/time.c: New file. 9097 * configure.ac: Add amdgcn*-*-*. 9098 * configure: Regenerate. 9099 * configure.tgt: Add amdgcn*-*-*. 9100 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN. 9101 * libgomp.h (gcn_thrs): Add amdgcn variant. 9102 (set_gcn_thrs): Likewise. 9103 (gomp_thread): Likewise. 9104 * oacc-int.h (goacc_thread): Likewise. 9105 * oacc-target.c: New file. 9106 * openacc.f90 (acc_device_gcn): New parameter. 9107 * openacc.h (acc_device_t): Add acc_device_gcn. 9108 * team.c (gomp_free_pool_helper): Add amdgcn support. 9109 9110 2019-11-13 Andrew Stubbs <ams (a] codesourcery.com> 9111 Julian Brown <julian (a] codesourcery.com> 9112 9113 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int 9114 parameter. 9115 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the 9116 queue constructor. 9117 * oacc-host.c (host_openacc_async_construct): Add device parameter. 9118 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add 9119 device parameter. 9120 9121 2019-11-13 Andrew Stubbs <ams (a] codesourcery.com> 9122 9123 * configure.tgt (nvptx*-*-*): Add "accel" directory. 9124 * config/nvptx/libgomp-plugin.c: Move ... 9125 * config/accel/libgomp-plugin.c: ... to here. 9126 * config/nvptx/lock.c: Move ... 9127 * config/accel/lock.c: ... to here. 9128 * config/nvptx/mutex.c: Move ... 9129 * config/accel/mutex.c: ... to here. 9130 * config/nvptx/mutex.h: Move ... 9131 * config/accel/mutex.h: ... to here. 9132 * config/nvptx/oacc-async.c: Move ... 9133 * config/accel/oacc-async.c: ... to here. 9134 * config/nvptx/oacc-cuda.c: Move ... 9135 * config/accel/oacc-cuda.c: ... to here. 9136 * config/nvptx/oacc-host.c: Move ... 9137 * config/accel/oacc-host.c: ... to here. 9138 * config/nvptx/oacc-init.c: Move ... 9139 * config/accel/oacc-init.c: ... to here. 9140 * config/nvptx/oacc-mem.c: Move ... 9141 * config/accel/oacc-mem.c: ... to here. 9142 * config/nvptx/oacc-plugin.c: Move ... 9143 * config/accel/oacc-plugin.c: ... to here. 9144 * config/nvptx/omp-lock.h: Move ... 9145 * config/accel/omp-lock.h: ... to here. 9146 * config/nvptx/openacc.f90: Move ... 9147 * config/accel/openacc.f90: ... to here. 9148 * config/nvptx/pool.h: Move ... 9149 * config/accel/pool.h: ... to here. 9150 * config/nvptx/proc.c: Move ... 9151 * config/accel/proc.c: ... to here. 9152 * config/nvptx/ptrlock.c: Move ... 9153 * config/accel/ptrlock.c: ... to here. 9154 * config/nvptx/ptrlock.h: Move ... 9155 * config/accel/ptrlock.h: ... to here. 9156 * config/nvptx/sem.c: Move ... 9157 * config/accel/sem.c: ... to here. 9158 * config/nvptx/sem.h: Move ... 9159 * config/accel/sem.h: ... to here. 9160 * config/nvptx/thread-stacksize.h: Move ... 9161 * config/accel/thread-stacksize.h: ... to here. 9162 9163 2019-11-12 Maciej W. Rozycki <macro (a] codesourcery.com> 9164 Tobias Burnus <tobias (a] codesourcery.com> 9165 Frederik Harwath <frederik (a] codesourcery.com> 9166 Thomas Schwinge <thomas (a] codesourcery.com> 9167 9168 libgomp/ 9169 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test. 9170 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test. 9171 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test. 9172 9173 2019-11-11 Tobias Burnus <tobias (a] codesourcery.com> 9174 Kwok Cheung Yeung <kcy (a] codesourcery.com> 9175 9176 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend. 9177 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New. 9178 9179 2019-11-11 Thomas Schwinge <thomas (a] codesourcery.com> 9180 9181 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'. 9182 9183 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do 9184 run'. 9185 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise. 9186 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise. 9187 9188 2019-11-06 Thomas Schwinge <thomas (a] codesourcery.com> 9189 9190 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: 9191 Add expected warnings about missing reduction clauses. 9192 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: 9193 Likewise. 9194 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: 9195 Likewise. 9196 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: 9197 Likewise. 9198 9199 2019-11-04 Tobias Burnus <tobias (a] codesourcery.com> 9200 9201 * testsuite/libgomp.fortran/pr66199-1.f90: Remove 9202 'dg-do run' (implies torture test) as 'dg-options "O2"' is used. 9203 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto. 9204 * testsuite/libgomp.fortran/taskloop2.f90: Ditto. 9205 * testsuite/libgomp.fortran/taskloop3.f90: Ditto. 9206 * testsuite/libgomp.fortran/taskloop4.f90: Ditto. 9207 9208 2019-11-04 Tobias Burnus <tobias (a] codesourcery.com> 9209 9210 PR fortran/92305 9211 * testsuite/libgomp.fortran/allocatable2.f90: Use 9212 unique numbers with 'stop'. 9213 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto. 9214 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto. 9215 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto. 9216 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto. 9217 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto. 9218 9219 2019-11-01 Tobias Burnus <tobias (a] codesourcery.com> 9220 9221 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1, 9222 test_dummy_opt_nullptr_callee_1): Add present but unallocated test. 9223 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise. 9224 * testsuite/libgomp.fortran/use_device_addr-3.f90: New. 9225 * testsuite/libgomp.fortran/use_device_addr-4.f90: New. 9226 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New. 9227 9228 2019-10-30 Tobias Burnus <tobias (a] codesourcery.com> 9229 9230 * testsuite/libgomp.fortran/target9.f90: New. 9231 9232 2019-10-30 Tobias Burnus <tobias (a] codesourcery.com> 9233 9234 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'. 9235 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto. 9236 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto. 9237 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto. 9238 * testsuite/libgomp.fortran/allocatable1.f90: Ditto. 9239 * testsuite/libgomp.fortran/allocatable10.f90: Ditto. 9240 * testsuite/libgomp.fortran/allocatable11.f90: Ditto. 9241 * testsuite/libgomp.fortran/allocatable12.f90: Ditto. 9242 * testsuite/libgomp.fortran/allocatable2.f90: Ditto. 9243 * testsuite/libgomp.fortran/allocatable3.f90: Ditto. 9244 * testsuite/libgomp.fortran/allocatable4.f90: Ditto. 9245 * testsuite/libgomp.fortran/allocatable5.f90: Ditto. 9246 * testsuite/libgomp.fortran/allocatable6.f90: Ditto. 9247 * testsuite/libgomp.fortran/allocatable7.f90: Ditto. 9248 * testsuite/libgomp.fortran/allocatable8.f90: Ditto. 9249 * testsuite/libgomp.fortran/allocatable9.f90: Ditto. 9250 * testsuite/libgomp.fortran/associate1.f90: Ditto. 9251 * testsuite/libgomp.fortran/associate2.f90: Ditto. 9252 * testsuite/libgomp.fortran/associate3.f90: Ditto. 9253 * testsuite/libgomp.fortran/async_io_4.f90: Ditto. 9254 * testsuite/libgomp.fortran/async_io_5.f90: Ditto. 9255 * testsuite/libgomp.fortran/async_io_6.f90: Ditto. 9256 * testsuite/libgomp.fortran/async_io_7.f90: Ditto. 9257 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto. 9258 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto. 9259 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto. 9260 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto. 9261 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto. 9262 * testsuite/libgomp.fortran/character1.f90: Ditto. 9263 * testsuite/libgomp.fortran/character2.f90: Ditto. 9264 * testsuite/libgomp.fortran/collapse1.f90: Ditto. 9265 * testsuite/libgomp.fortran/collapse2.f90: Ditto. 9266 * testsuite/libgomp.fortran/collapse3.f90: Ditto. 9267 * testsuite/libgomp.fortran/collapse4.f90: Ditto. 9268 * testsuite/libgomp.fortran/crayptr1.f90: Ditto. 9269 * testsuite/libgomp.fortran/crayptr2.f90: Ditto. 9270 * testsuite/libgomp.fortran/crayptr3.f90: Ditto. 9271 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto. 9272 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto. 9273 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto. 9274 * testsuite/libgomp.fortran/depend-1.f90: Ditto. 9275 * testsuite/libgomp.fortran/depend-2.f90: Ditto. 9276 * testsuite/libgomp.fortran/depend-3.f90: Ditto. 9277 * testsuite/libgomp.fortran/do1.f90: Ditto. 9278 * testsuite/libgomp.fortran/do2.f90: Ditto. 9279 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto. 9280 * testsuite/libgomp.fortran/doacross1.f90: Ditto. 9281 * testsuite/libgomp.fortran/doacross2.f90: Ditto. 9282 * testsuite/libgomp.fortran/doacross3.f90: Ditto. 9283 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto. 9284 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto. 9285 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto. 9286 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto. 9287 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto. 9288 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto. 9289 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto. 9290 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto. 9291 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto. 9292 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto. 9293 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto. 9294 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto. 9295 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto. 9296 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto. 9297 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto. 9298 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto. 9299 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto. 9300 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto. 9301 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto. 9302 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto. 9303 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto. 9304 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto. 9305 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto. 9306 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto. 9307 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto. 9308 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto. 9309 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto. 9310 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto. 9311 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto. 9312 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto. 9313 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto. 9314 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto. 9315 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto. 9316 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto. 9317 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto. 9318 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto. 9319 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto. 9320 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto. 9321 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto. 9322 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto. 9323 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto. 9324 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto. 9325 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto. 9326 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto. 9327 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto. 9328 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto. 9329 * testsuite/libgomp.fortran/lib1.f90: Ditto. 9330 * testsuite/libgomp.fortran/lib4.f90: Ditto. 9331 * testsuite/libgomp.fortran/lock-1.f90: Ditto. 9332 * testsuite/libgomp.fortran/lock-2.f90: Ditto. 9333 * testsuite/libgomp.fortran/nested1.f90: Ditto. 9334 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto. 9335 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto. 9336 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto. 9337 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto. 9338 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto. 9339 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto. 9340 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto. 9341 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto. 9342 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto. 9343 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto. 9344 * testsuite/libgomp.fortran/omp_cond1.f: Ditto. 9345 * testsuite/libgomp.fortran/omp_cond2.f: Ditto. 9346 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto. 9347 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto. 9348 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto. 9349 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto. 9350 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto. 9351 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto. 9352 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto. 9353 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto. 9354 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto. 9355 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto. 9356 * testsuite/libgomp.fortran/pointer1.f90: Ditto. 9357 * testsuite/libgomp.fortran/pointer2.f90: Ditto. 9358 * testsuite/libgomp.fortran/pr25219.f90: Ditto. 9359 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto. 9360 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto. 9361 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto. 9362 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto. 9363 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto. 9364 * testsuite/libgomp.fortran/pr28390.f: Ditto. 9365 * testsuite/libgomp.fortran/pr29629.f90: Ditto. 9366 * testsuite/libgomp.fortran/pr32550.f90: Ditto. 9367 * testsuite/libgomp.fortran/pr33880.f90: Ditto. 9368 * testsuite/libgomp.fortran/pr34020.f90: Ditto. 9369 * testsuite/libgomp.fortran/pr35130.f90: Ditto. 9370 * testsuite/libgomp.fortran/pr42162.f90: Ditto. 9371 * testsuite/libgomp.fortran/pr46753.f90: Ditto. 9372 * testsuite/libgomp.fortran/pr48894.f90: Ditto. 9373 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto. 9374 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto. 9375 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto. 9376 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto. 9377 * testsuite/libgomp.fortran/pr65597.f90: Ditto. 9378 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto. 9379 * testsuite/libgomp.fortran/pr71014.f90: Ditto. 9380 * testsuite/libgomp.fortran/pr81304.f90: Ditto. 9381 * testsuite/libgomp.fortran/pr81841.f90: Ditto. 9382 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto. 9383 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto. 9384 * testsuite/libgomp.fortran/procptr1.f90: Ditto. 9385 * testsuite/libgomp.fortran/recursion1.f90: Ditto. 9386 * testsuite/libgomp.fortran/reduction1.f90: Ditto. 9387 * testsuite/libgomp.fortran/reduction2.f90: Ditto. 9388 * testsuite/libgomp.fortran/reduction3.f90: Ditto. 9389 * testsuite/libgomp.fortran/reduction4.f90: Ditto. 9390 * testsuite/libgomp.fortran/reduction5.f90: Ditto. 9391 * testsuite/libgomp.fortran/reduction6.f90: Ditto. 9392 * testsuite/libgomp.fortran/reference1.f90: Ditto. 9393 * testsuite/libgomp.fortran/reference2.f90: Ditto. 9394 * testsuite/libgomp.fortran/retval1.f90: Ditto. 9395 * testsuite/libgomp.fortran/retval2.f90: Ditto. 9396 * testsuite/libgomp.fortran/sharing1.f90: Ditto. 9397 * testsuite/libgomp.fortran/sharing2.f90: Ditto. 9398 * testsuite/libgomp.fortran/simd1.f90: Ditto. 9399 * testsuite/libgomp.fortran/simd2.f90: Ditto. 9400 * testsuite/libgomp.fortran/simd3.f90: Ditto. 9401 * testsuite/libgomp.fortran/simd4.f90: Ditto. 9402 * testsuite/libgomp.fortran/simd5.f90: Ditto. 9403 * testsuite/libgomp.fortran/simd6.f90: Ditto. 9404 * testsuite/libgomp.fortran/simd7.f90: Ditto. 9405 * testsuite/libgomp.fortran/stack.f90: Ditto. 9406 * testsuite/libgomp.fortran/strassen.f90: Ditto. 9407 * testsuite/libgomp.fortran/tabs1.f90: Ditto. 9408 * testsuite/libgomp.fortran/tabs2.f: Ditto. 9409 * testsuite/libgomp.fortran/target1.f90: Ditto. 9410 * testsuite/libgomp.fortran/target2.f90: Ditto. 9411 * testsuite/libgomp.fortran/target3.f90: Ditto. 9412 * testsuite/libgomp.fortran/target4.f90: Ditto. 9413 * testsuite/libgomp.fortran/target5.f90: Ditto. 9414 * testsuite/libgomp.fortran/target6.f90: Ditto. 9415 * testsuite/libgomp.fortran/target7.f90: Ditto. 9416 * testsuite/libgomp.fortran/target8.f90: Ditto. 9417 * testsuite/libgomp.fortran/task1.f90: Ditto. 9418 * testsuite/libgomp.fortran/task2.f90: Ditto. 9419 * testsuite/libgomp.fortran/task3.f90: Ditto. 9420 * testsuite/libgomp.fortran/task4.f90: Ditto. 9421 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto. 9422 * testsuite/libgomp.fortran/taskloop1.f90: Ditto. 9423 * testsuite/libgomp.fortran/taskloop2.f90: Ditto. 9424 * testsuite/libgomp.fortran/taskloop3.f90: Ditto. 9425 * testsuite/libgomp.fortran/taskloop4.f90: Ditto. 9426 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto. 9427 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto. 9428 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto. 9429 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto. 9430 * testsuite/libgomp.fortran/udr1.f90: Ditto. 9431 * testsuite/libgomp.fortran/udr10.f90: Ditto. 9432 * testsuite/libgomp.fortran/udr11.f90: Ditto. 9433 * testsuite/libgomp.fortran/udr12.f90: Ditto. 9434 * testsuite/libgomp.fortran/udr13.f90: Ditto. 9435 * testsuite/libgomp.fortran/udr14.f90: Ditto. 9436 * testsuite/libgomp.fortran/udr15.f90: Ditto. 9437 * testsuite/libgomp.fortran/udr2.f90: Ditto. 9438 * testsuite/libgomp.fortran/udr3.f90: Ditto. 9439 * testsuite/libgomp.fortran/udr4.f90: Ditto. 9440 * testsuite/libgomp.fortran/udr5.f90: Ditto. 9441 * testsuite/libgomp.fortran/udr6.f90: Ditto. 9442 * testsuite/libgomp.fortran/udr7.f90: Ditto. 9443 * testsuite/libgomp.fortran/udr8.f90: Ditto. 9444 * testsuite/libgomp.fortran/udr9.f90: Ditto. 9445 * testsuite/libgomp.fortran/vla1.f90: Ditto. 9446 * testsuite/libgomp.fortran/vla2.f90: Ditto. 9447 * testsuite/libgomp.fortran/vla3.f90: Ditto. 9448 * testsuite/libgomp.fortran/vla4.f90: Ditto. 9449 * testsuite/libgomp.fortran/vla5.f90: Ditto. 9450 * testsuite/libgomp.fortran/vla6.f90: Ditto. 9451 * testsuite/libgomp.fortran/vla7.f90: Ditto. 9452 * testsuite/libgomp.fortran/vla8.f90: Ditto. 9453 * testsuite/libgomp.fortran/workshare1.f90: Ditto. 9454 * testsuite/libgomp.fortran/workshare2.f90: Ditto. 9455 9456 2019-10-30 Tobias Burnus <tobias (a] codesourcery.com> 9457 9458 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort. 9459 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: 9460 Ditto; add 'dg-do run' for torture testing. 9461 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'. 9462 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto. 9463 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto. 9464 * testsuite/libgomp.fortran/pr25219.f90: Ditto. 9465 * testsuite/libgomp.fortran/pr28390.f: Ditto. 9466 * testsuite/libgomp.fortran/pr35130.f90: Ditto. 9467 * testsuite/libgomp.fortran/pr90779.f90: Ditto. 9468 * testsuite/libgomp.fortran/task2.f90: Ditto. 9469 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto. 9470 * testsuite/libgomp.fortran/taskloop1.f90: Ditto. 9471 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto. 9472 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto. 9473 * testsuite/libgomp.fortran/workshare1.f90: Ditto. 9474 * testsuite/libgomp.fortran/workshare2.f90: Ditto. 9475 9476 2019-10-28 Tobias Burnus <tobias (a] codesourcery.com> 9477 9478 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'. 9479 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto. 9480 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto. 9481 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto. 9482 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto. 9483 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto. 9484 * testsuite/libgomp.oacc-fortran/common-block-1.f90: 9485 Use 'stop' not abort(). 9486 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto. 9487 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto. 9488 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto. 9489 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto. 9490 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto. 9491 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto. 9492 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto. 9493 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto. 9494 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto. 9495 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto. 9496 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto. 9497 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto. 9498 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto. 9499 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto. 9500 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto. 9501 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto. 9502 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95: 9503 Ditto. 9504 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90: 9505 Ditto. 9506 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90: 9507 Ditto. 9508 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90: 9509 Ditto. 9510 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90: 9511 Ditto. 9512 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90: 9513 Ditto. 9514 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90: 9515 Ditto. 9516 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90: 9517 Ditto. 9518 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90: 9519 Ditto. 9520 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90: 9521 Ditto. 9522 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90: 9523 Ditto. 9524 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90: 9525 Ditto. 9526 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90: 9527 Ditto. 9528 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90: 9529 Ditto. 9530 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto. 9531 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto. 9532 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto. 9533 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto. 9534 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90: 9535 Likewise and also add 'dg-do run'. 9536 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90: 9537 Ditto. 9538 9539 2019-10-25 Cesar Philippidis <cesar (a] codesourcery.com> 9540 Tobias Burnus <tobias (a] codesourcery.com> 9541 9542 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test. 9543 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test. 9544 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test. 9545 9546 2019-10-14 Jakub Jelinek <jakub (a] redhat.com> 9547 9548 PR libgomp/92081 9549 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather 9550 than 0. 9551 9552 2019-10-11 Tobias Burnus <tobias (a] codesourcery.com> 9553 9554 * testsuite/libgomp.fortran/use_device_addr-1.f90: New. 9555 * testsuite/libgomp.fortran/use_device_addr-2.f90: New. 9556 9557 2019-10-09 Thomas Schwinge <thomas (a] codesourcery.com> 9558 9559 PR middle-end/92036 9560 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New 9561 file. 9562 9563 2019-10-09 Tobias Burnus <tobias (a] codesourcery.com> 9564 9565 PR testsuite/91884 9566 * testsuite/libgomp.fortran/fortran.exp: Conditionally 9567 add -lquadmath. 9568 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto. 9569 9570 2019-10-09 Jakub Jelinek <jakub (a] redhat.com> 9571 9572 PR libgomp/92028 9573 * target.c (gomp_map_vars_internal): Readd the previous 9574 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop, 9575 though do that just in the !not_found_cnt case. 9576 9577 2019-10-08 Tobias Burnus <tobias (a] codesourcery.com> 9578 9579 * gfortran.dg/gomp/target-simd.f90: New. 9580 9581 2019-10-02 Julian Brown <julian (a] codesourcery.com> 9582 Cesar Philippidis <cesar (a] codesourcery.com> 9583 9584 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define. 9585 * target.c (FIELD_TGT_EMPTY): Define. 9586 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write 9587 as switch instead of list of ifs. 9588 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros. 9589 9590 2019-10-02 Andreas Tobler <andreast (a] gcc.gnu.org> 9591 9592 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h 9593 include. Replace alloca () with __builtin_alloca (). 9594 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise. 9595 9596 2019-10-01 Jakub Jelinek <jakub (a] redhat.com> 9597 9598 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h). 9599 * libgomp.h: Include <stdint.h> instead of "gstdint.h". 9600 * oacc-parallel.c: Don't include "libgomp_g.h". 9601 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h". 9602 * plugin/plugin-nvptx.c: Don't include "gstdint.h". 9603 * aclocal.m4: Regenerated. 9604 * config.h.in: Regenerated. 9605 * configure: Regenerated. 9606 * Makefile.in: Regenerated. 9607 9608 2019-09-30 Kwok Cheung Yeung <kcy (a] codesourcery.com> 9609 9610 * libgomp_g.h: Include stdint.h instead of gstdint.h. 9611 9612 2019-09-27 Maciej W. Rozycki <macro (a] wdc.com> 9613 9614 * configure: Regenerate. 9615 9616 2019-09-13 Tobias Burnus <tobias (a] codesourcery.com> 9617 9618 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure 9619 string is initialized. 9620 9621 2019-09-06 Florian Weimer <fweimer (a] redhat.com> 9622 9623 * configure: Regenerate. 9624 9625 2019-09-03 Chung-Lin Tang <cltang (a] codesourcery.com> 9626 9627 PR other/79543 9628 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version 9629 scanning to conform to the GNU Coding Standards. 9630 * configure: Regenerate. 9631 9632 2019-08-28 Jakub Jelinek <jakub (a] redhat.com> 9633 9634 PR libgomp/91530 9635 * testsuite/libgomp.c/scan-21.c: New test. 9636 * testsuite/libgomp.c/scan-22.c: New test. 9637 9638 2019-08-27 Jakub Jelinek <jakub (a] redhat.com> 9639 9640 PR libgomp/91530 9641 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime 9642 targets. 9643 * testsuite/libgomp.c/scan-12.c: Likewise. 9644 * testsuite/libgomp.c/scan-13.c: Likewise. 9645 * testsuite/libgomp.c/scan-14.c: Likewise. 9646 * testsuite/libgomp.c/scan-15.c: Likewise. 9647 * testsuite/libgomp.c/scan-16.c: Likewise. 9648 * testsuite/libgomp.c/scan-17.c: Likewise. 9649 * testsuite/libgomp.c/scan-18.c: Likewise. 9650 * testsuite/libgomp.c/scan-19.c: Likewise. 9651 * testsuite/libgomp.c/scan-20.c: Likewise. 9652 * testsuite/libgomp.c++/scan-9.C: Likewise. 9653 * testsuite/libgomp.c++/scan-10.C: Likewise. 9654 * testsuite/libgomp.c++/scan-11.C: Likewise. 9655 * testsuite/libgomp.c++/scan-12.C: Likewise. 9656 * testsuite/libgomp.c++/scan-14.C: Likewise. 9657 * testsuite/libgomp.c++/scan-15.C: Likewise. 9658 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime 9659 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times. 9660 * testsuite/libgomp.c++/scan-16.C: Likewise. 9661 9662 2019-08-17 Thomas Koenig <tkoenig (a] gcc.gnu.org> 9663 9664 PR fortran/91473 9665 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add 9666 -std=legacy so invalid code in the test case is accepted. 9667 9668 2019-08-12 Thomas Koenig <tkoenig (a] gcc.gnu.org> 9669 9670 PR fortran/91422 9671 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array 9672 dimension. 9673 9674 2019-08-08 Jakub Jelinek <jakub (a] redhat.com> 9675 9676 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR 9677 perform the lookup in the first loop only if !not_found_cnt, otherwise 9678 perform lookups for it in the second loop guarded with 9679 if (not_found_cnt || has_firstprivate). 9680 * testsuite/libgomp.c/target-37.c: New test. 9681 * testsuite/libgomp.c++/target-22.C: New test. 9682 9683 2019-08-07 Jakub Jelinek <jakub (a] redhat.com> 9684 9685 * testsuite/libgomp.c/target-18.c (struct S): New type. 9686 (foo): Use use_device_addr clause instead of use_device_ptr clause 9687 where required by OpenMP 5.0, add further tests for both use_device_ptr 9688 and use_device_addr clauses. 9689 * testsuite/libgomp.c++/target-9.C (struct S): New type. 9690 (foo): Use use_device_addr clause instead of use_device_ptr clause 9691 where required by OpenMP 5.0, add further tests for both use_device_ptr 9692 and use_device_addr clauses. Add t and u arguments. 9693 (main): Adjust caller. 9694 9695 2019-08-06 Jakub Jelinek <jakub (a] redhat.com> 9696 9697 * testsuite/libgomp.c++/loop-13.C: New test. 9698 * testsuite/libgomp.c++/loop-14.C: New test. 9699 * testsuite/libgomp.c++/loop-15.C: New test. 9700 9701 2019-07-31 Jakub Jelinek <jakub (a] redhat.com> 9702 9703 PR middle-end/91301 9704 * testsuite/libgomp.c++/for-27.C: New test. 9705 9706 2019-07-23 Steven G. Kargl <kargl (a] gcc.gnu.org> 9707 9708 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage. 9709 * testsuite/libgomp.fortran/reduction5.f90: Ditto. 9710 9711 2019-07-20 Jakub Jelinek <jakub (a] redhat.com> 9712 9713 * testsuite/libgomp.c-c++-common/loop-1.c: New test. 9714 9715 2019-07-08 Jakub Jelinek <jakub (a] redhat.com> 9716 9717 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86. 9718 * testsuite/libgomp.c++/scan-16.C: Likewise. 9719 9720 2019-07-06 Jakub Jelinek <jakub (a] redhat.com> 9721 9722 * testsuite/libgomp.c/scan-19.c: New test. 9723 * testsuite/libgomp.c/scan-20.c: New test. 9724 9725 * testsuite/libgomp.c/scan-11.c: New test. 9726 * testsuite/libgomp.c/scan-12.c: New test. 9727 * testsuite/libgomp.c/scan-13.c: New test. 9728 * testsuite/libgomp.c/scan-14.c: New test. 9729 * testsuite/libgomp.c/scan-15.c: New test. 9730 * testsuite/libgomp.c/scan-16.c: New test. 9731 * testsuite/libgomp.c/scan-17.c: New test. 9732 * testsuite/libgomp.c/scan-18.c: New test. 9733 * testsuite/libgomp.c++/scan-9.C: New test. 9734 * testsuite/libgomp.c++/scan-10.C: New test. 9735 * testsuite/libgomp.c++/scan-11.C: New test. 9736 * testsuite/libgomp.c++/scan-12.C: New test. 9737 * testsuite/libgomp.c++/scan-13.C: New test. 9738 * testsuite/libgomp.c++/scan-14.C: New test. 9739 * testsuite/libgomp.c++/scan-15.C: New test. 9740 * testsuite/libgomp.c++/scan-16.C: New test. 9741 9742 2019-07-04 Jakub Jelinek <jakub (a] redhat.com> 9743 9744 * testsuite/libgomp.c/scan-9.c: New test. 9745 * testsuite/libgomp.c/scan-10.c: New test. 9746 9747 2019-07-03 Jakub Jelinek <jakub (a] redhat.com> 9748 9749 * testsuite/libgomp.c++/scan-1.C: New test. 9750 * testsuite/libgomp.c++/scan-2.C: New test. 9751 * testsuite/libgomp.c++/scan-3.C: New test. 9752 * testsuite/libgomp.c++/scan-4.C: New test. 9753 * testsuite/libgomp.c++/scan-5.C: New test. 9754 * testsuite/libgomp.c++/scan-6.C: New test. 9755 * testsuite/libgomp.c++/scan-7.C: New test. 9756 * testsuite/libgomp.c++/scan-8.C: New test. 9757 * testsuite/libgomp.c/scan-1.c: New test. 9758 * testsuite/libgomp.c/scan-2.c: New test. 9759 * testsuite/libgomp.c/scan-3.c: New test. 9760 * testsuite/libgomp.c/scan-4.c: New test. 9761 * testsuite/libgomp.c/scan-5.c: New test. 9762 * testsuite/libgomp.c/scan-6.c: New test. 9763 * testsuite/libgomp.c/scan-7.c: New test. 9764 * testsuite/libgomp.c/scan-8.c: New test. 9765 9766 2019-06-18 Thomas Schwinge <thomas (a] codesourcery.com> 9767 9768 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file. 9769 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: 9770 Likewise. 9771 9772 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results 9773 check. 9774 9775 2019-06-18 Cesar Philippidis <cesar (a] codesourcery.com> 9776 9777 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New 9778 file. 9779 9780 2019-06-18 Thomas Schwinge <thomas (a] codesourcery.com> 9781 9782 PR fortran/90743 9783 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping 9784 case. 9785 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file. 9786 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise. 9787 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise. 9788 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise. 9789 9790 PR testsuite/90861 9791 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update. 9792 9793 PR middle-end/90862 9794 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update. 9795 9796 2019-06-16 Tom de Vries <tdevries (a] suse.de> 9797 9798 PR tree-optimization/89376 9799 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test. 9800 9801 2019-06-15 Tom de Vries <tdevries (a] suse.de> 9802 9803 PR tree-optimization/89713 9804 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync. 9805 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same. 9806 9807 2019-06-15 Jakub Jelinek <jakub (a] redhat.com> 9808 9809 PR middle-end/90779 9810 * testsuite/libgomp.c/pr90779.c: New test. 9811 * testsuite/libgomp.fortran/pr90779.f90: New test. 9812 9813 2019-06-15 Tom de Vries <tdevries (a] suse.de> 9814 9815 PR tree-optimization/90009 9816 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test. 9817 9818 2019-06-13 Feng Xue <fxue (a] os.amperecomputing.com> 9819 9820 PR tree-optimization/89713 9821 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test. 9822 9823 2019-06-11 Jakub Jelinek <jakub (a] redhat.com> 9824 9825 PR target/90811 9826 * testsuite/libgomp.c/pr90811.c: New test. 9827 9828 2019-06-05 Jakub Jelinek <jakub (a] redhat.com> 9829 9830 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test. 9831 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test. 9832 9833 2019-06-04 Jakub Jelinek <jakub (a] redhat.com> 9834 9835 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test. 9836 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test. 9837 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test. 9838 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test. 9839 9840 2019-05-30 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 9841 9842 * configure.ac: Call AX_COUNT_CPUS. 9843 Substitute CPU_COUNT. 9844 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor 9845 count fallback. 9846 * aclocal.m4: Regenerate. 9847 * configure: Regenerate. 9848 * Makefile.in, testsuite/Makefile.in: Regenerate. 9849 9850 2019-05-29 Jakub Jelinek <jakub (a] redhat.com> 9851 9852 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename 9853 to ... 9854 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this. 9855 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test. 9856 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test. 9857 9858 2019-05-27 Jakub Jelinek <jakub (a] redhat.com> 9859 9860 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test. 9861 9862 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test. 9863 9864 PR libgomp/90641 9865 * work.c (gomp_init_work_share): Instead of aligning final ordered 9866 value to multiples of long long alignment, align to that the 9867 first part (ordered team ids) and if inline_ordered_team_ids 9868 is not on a long long alignment boundary within the structure, 9869 use __alignof__ (long long) - 1 pad size always. 9870 * loop.c (GOMP_loop_start): Fix *mem computation if 9871 inline_ordered_team_ids is not aligned on long long alignment boundary 9872 within the structure. 9873 * loop-ull.c (GOMP_loop_ull_start): Likewise. 9874 * sections.c (GOMP_sections2_start): Likewise. 9875 9876 2019-05-24 Jakub Jelinek <jakub (a] redhat.com> 9877 9878 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test. 9879 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test. 9880 9881 PR libgomp/90585 9882 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if 9883 HAVE_INTTYPES_H is defined. 9884 (print_uint64_t): New typedef. 9885 (PRIu64): Define if HAVE_INTTYPES_H is not defined. 9886 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of 9887 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t. 9888 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t 9889 before casting to void *. 9890 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h. 9891 * oacc-mem.c: Don't include config.h nor stdint.h. 9892 * target.c: Don't include config.h. 9893 * oacc-cuda.c: Likewise. 9894 * oacc-host.c: Don't include stdint.h. 9895 9896 2019-05-20 Jakub Jelinek <jakub (a] redhat.com> 9897 9898 PR libgomp/90527 9899 * alloc.c (_GNU_SOURCE): Define. 9900 9901 2019-05-17 Thomas Schwinge <thomas (a] codesourcery.com> 9902 9903 * acc_prof.h: New file. 9904 * oacc-profiling.c: Likewise. 9905 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES): 9906 Add these, respectively. 9907 * Makefile.in: Regenerate. 9908 * env.c (initialize_env): Call goacc_profiling_initialize. 9909 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread) 9910 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions. 9911 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread) 9912 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare. 9913 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup, 9914 acc_prof_register, acc_prof_unregister, and acc_register_library. 9915 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and 9916 GOMP_PLUGIN_goacc_thread. 9917 * oacc-int.h (struct goacc_thread): Add prof_info, api_info, 9918 prof_callbacks_enabled members. 9919 (goacc_prof_enabled, goacc_profiling_initialize) 9920 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p) 9921 (goacc_profiling_dispatch): Declare. 9922 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P) 9923 (GOACC_PROFILING_SETUP_P): Define. 9924 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait) 9925 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for 9926 OpenACC Profiling Interface. 9927 * oacc-cuda.c (acc_get_current_cuda_device) 9928 (acc_get_current_cuda_context, acc_get_cuda_stream) 9929 (acc_set_cuda_stream): Likewise. 9930 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device) 9931 (acc_init, acc_set_device_type, acc_get_device_type) 9932 (acc_get_device_num, goacc_lazy_initialize): Likewise. 9933 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device) 9934 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data) 9935 (acc_unmap_data, present_create_copy, delete_copyout) 9936 (update_dev_host): Likewise. 9937 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start) 9938 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait): 9939 Likewise. 9940 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free) 9941 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec): 9942 Likewise. 9943 * libgomp.texi: Update. 9944 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New 9945 file. 9946 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise. 9947 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: 9948 Likewise. 9949 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: 9950 Likewise. 9951 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c: 9952 Likewise. 9953 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c: 9954 Likewise. 9955 9956 2019-05-13 Chung-Lin Tang <cltang (a] codesourcery.com> 9957 9958 * libgomp-plugin.h (struct goacc_asyncqueue): Declare. 9959 (struct goacc_asyncqueue_list): Likewise. 9960 (goacc_aq): Likewise. 9961 (goacc_aq_list): Likewise. 9962 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove. 9963 (GOMP_OFFLOAD_openacc_async_test): Remove. 9964 (GOMP_OFFLOAD_openacc_async_test_all): Remove. 9965 (GOMP_OFFLOAD_openacc_async_wait): Remove. 9966 (GOMP_OFFLOAD_openacc_async_wait_async): Remove. 9967 (GOMP_OFFLOAD_openacc_async_wait_all): Remove. 9968 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove. 9969 (GOMP_OFFLOAD_openacc_async_set_async): Remove. 9970 (GOMP_OFFLOAD_openacc_exec): Adjust declaration. 9971 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise. 9972 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise. 9973 (GOMP_OFFLOAD_openacc_async_exec): Declare. 9974 (GOMP_OFFLOAD_openacc_async_construct): Declare. 9975 (GOMP_OFFLOAD_openacc_async_destruct): Declare. 9976 (GOMP_OFFLOAD_openacc_async_test): Declare. 9977 (GOMP_OFFLOAD_openacc_async_synchronize): Declare. 9978 (GOMP_OFFLOAD_openacc_async_serialize): Declare. 9979 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare. 9980 (GOMP_OFFLOAD_openacc_async_host2dev): Declare. 9981 (GOMP_OFFLOAD_openacc_async_dev2host): Declare. 9982 9983 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct. 9984 (gomp_acc_insert_pointer): Adjust declaration. 9985 (gomp_copy_host2dev): New declaration. 9986 (gomp_copy_dev2host): Likewise. 9987 (gomp_map_vars_async): Likewise. 9988 (gomp_unmap_tgt): Likewise. 9989 (gomp_unmap_vars_async): Likewise. 9990 (gomp_fini_device): Likewise. 9991 9992 * oacc-async.c (get_goacc_thread): New function. 9993 (get_goacc_thread_device): New function. 9994 (lookup_goacc_asyncqueue): New function. 9995 (get_goacc_asyncqueue): New function. 9996 (acc_async_test): Adjust code to use new async design. 9997 (acc_async_test_all): Likewise. 9998 (acc_wait): Likewise. 9999 (acc_wait_async): Likewise. 10000 (acc_wait_all): Likewise. 10001 (acc_wait_all_async): Likewise. 10002 (goacc_async_free): New function. 10003 (goacc_init_asyncqueues): Likewise. 10004 (goacc_fini_asyncqueues): Likewise. 10005 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async 10006 design. 10007 (acc_set_cuda_stream): Likewise. 10008 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'. 10009 (host_openacc_register_async_cleanup): Remove. 10010 (host_openacc_async_exec): New function. 10011 (host_openacc_async_test): Adjust parameters. 10012 (host_openacc_async_test_all): Remove. 10013 (host_openacc_async_wait): Remove. 10014 (host_openacc_async_wait_async): Remove. 10015 (host_openacc_async_wait_all): Remove. 10016 (host_openacc_async_wait_all_async): Remove. 10017 (host_openacc_async_set_async): Remove. 10018 (host_openacc_async_synchronize): New function. 10019 (host_openacc_async_serialize): New function. 10020 (host_openacc_async_host2dev): New function. 10021 (host_openacc_async_dev2host): New function. 10022 (host_openacc_async_queue_callback): New function. 10023 (host_openacc_async_construct): New function. 10024 (host_openacc_async_destruct): New function. 10025 (struct gomp_device_descr host_dispatch): Remove initialization of old 10026 interface, add initialization of new async sub-struct. 10027 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device. 10028 (goacc_attach_host_thread_to_device): Remove old async code usage. 10029 * oacc-int.h (goacc_init_asyncqueues): New declaration. 10030 (goacc_fini_asyncqueues): Likewise. 10031 (goacc_async_copyout_unmap_vars): Likewise. 10032 (goacc_async_free): Likewise. 10033 (get_goacc_asyncqueue): Likewise. 10034 (lookup_goacc_asyncqueue): Likewise. 10035 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async 10036 design. 10037 (present_create_copy): Adjust code to use new async design. 10038 (delete_copyout): Likewise. 10039 (update_dev_host): Likewise. 10040 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new 10041 async design. 10042 (gomp_acc_remove_pointer): Adjust code to use new async design. 10043 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async 10044 design. 10045 (GOACC_enter_exit_data): Likewise. 10046 (goacc_wait): Likewise. 10047 (GOACC_update): Likewise. 10048 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail 10049 when called, warn as obsolete in comment. 10050 * target.c (goacc_device_copy_async): New function. 10051 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter, 10052 add goacc_device_copy_async case. 10053 (gomp_copy_dev2host): Likewise. 10054 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code. 10055 (gomp_map_pointer): Likewise. 10056 (gomp_map_fields_existing): Likewise. 10057 (gomp_map_vars_internal): New always_inline function, renamed from 10058 gomp_map_vars. 10059 (gomp_map_vars): Implement by calling gomp_map_vars_internal. 10060 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal, 10061 passing goacc_asyncqueue argument. 10062 (gomp_unmap_tgt): Remove static, add attribute_hidden. 10063 (gomp_unref_tgt): New function. 10064 (gomp_unmap_vars_internal): New always_inline function, renamed from 10065 gomp_unmap_vars. 10066 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal. 10067 (gomp_unmap_vars_async): Implement by calling 10068 gomp_unmap_vars_internal, passing goacc_asyncqueue argument. 10069 (gomp_fini_device): New function. 10070 (gomp_exit_data): Adjust gomp_copy_dev2host call. 10071 (gomp_load_plugin_for_device): Remove old interface, adjust to load 10072 new async interface. 10073 (gomp_target_fini): Adjust code to call gomp_fini_device. 10074 10075 * plugin/plugin-nvptx.c (struct cuda_map): Remove. 10076 (struct ptx_stream): Remove. 10077 (struct nvptx_thread): Remove current_stream field. 10078 (cuda_map_create): Remove. 10079 (cuda_map_destroy): Remove. 10080 (map_init): Remove. 10081 (map_fini): Remove. 10082 (map_pop): Remove. 10083 (map_push): Remove. 10084 (struct goacc_asyncqueue): Define. 10085 (struct nvptx_callback): Define. 10086 (struct ptx_free_block): Define. 10087 (struct ptx_device): Remove null_stream, active_streams, async_streams, 10088 stream_lock, and next fields. 10089 (enum ptx_event_type): Remove. 10090 (struct ptx_event): Remove. 10091 (ptx_event_lock): Remove. 10092 (ptx_events): Remove. 10093 (init_streams_for_device): Remove. 10094 (fini_streams_for_device): Remove. 10095 (select_stream_for_async): Remove. 10096 (nvptx_init): Remove ptx_events and ptx_event_lock references. 10097 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED 10098 case. 10099 (nvptx_open_device): Add free_blocks initialization, remove 10100 init_streams_for_device call. 10101 (nvptx_close_device): Remove fini_streams_for_device call, add 10102 free_blocks destruct code. 10103 (event_gc): Remove. 10104 (event_add): Remove. 10105 (nvptx_exec): Adjust parameters and code. 10106 (nvptx_free): Likewise. 10107 (nvptx_host2dev): Remove. 10108 (nvptx_dev2host): Remove. 10109 (nvptx_set_async): Remove. 10110 (nvptx_async_test): Remove. 10111 (nvptx_async_test_all): Remove. 10112 (nvptx_wait): Remove. 10113 (nvptx_wait_async): Remove. 10114 (nvptx_wait_all): Remove. 10115 (nvptx_wait_all_async): Remove. 10116 (nvptx_get_cuda_stream): Remove. 10117 (nvptx_set_cuda_stream): Remove. 10118 (GOMP_OFFLOAD_alloc): Adjust code. 10119 (GOMP_OFFLOAD_free): Likewise. 10120 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove. 10121 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code. 10122 (GOMP_OFFLOAD_openacc_async_test_all): Remove. 10123 (GOMP_OFFLOAD_openacc_async_wait): Remove. 10124 (GOMP_OFFLOAD_openacc_async_wait_async): Remove. 10125 (GOMP_OFFLOAD_openacc_async_wait_all): Remove. 10126 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove. 10127 (GOMP_OFFLOAD_openacc_async_set_async): Remove. 10128 (cuda_free_argmem): New function. 10129 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function. 10130 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code. 10131 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code. 10132 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code. 10133 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function. 10134 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function. 10135 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement. 10136 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function. 10137 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function. 10138 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function. 10139 (cuda_callback_wrapper): New function. 10140 (cuda_memcpy_sanity_check): New function. 10141 (GOMP_OFFLOAD_host2dev): Remove and re-implement. 10142 (GOMP_OFFLOAD_dev2host): Remove and re-implement. 10143 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function. 10144 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function. 10145 10146 2019-05-07 Thomas Schwinge <thomas (a] codesourcery.com> 10147 10148 PR target/87835 10149 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update. 10150 10151 2019-05-06 Thomas Schwinge <thomas (a] codesourcery.com> 10152 10153 * oacc-parallel.c: Add comments to legacy entry points (GCC 5). 10154 10155 2019-03-27 Kevin Buettner <kevinb (a] redhat.com> 10156 10157 * team.c (gomp_team_start): Initialize pool->threads[0]. 10158 10159 2019-02-22 Thomas Schwinge <thomas (a] codesourcery.com> 10160 10161 * testsuite/libgomp.oacc-c++/c++.exp: Specify 10162 "-foffload=$offload_target". 10163 * testsuite/libgomp.oacc-c/c.exp: Likewise. 10164 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 10165 * testsuite/lib/libgomp.exp 10166 (check_effective_target_openacc_nvidia_accel_configured): Remove, 10167 as (conceptually) merged into 10168 check_effective_target_openacc_nvidia_accel_selected. Adjust all 10169 users. 10170 10171 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets. 10172 * testsuite/libgomp-test-support.exp.in: Adjust. 10173 * testsuite/lib/libgomp.exp: Likewise. Don't populate 10174 openacc_device_types_s. 10175 (offload_target_to_openacc_device_type): New proc. 10176 * testsuite/libgomp.oacc-c++/c++.exp: Adjust. 10177 * testsuite/libgomp.oacc-c/c.exp: Likewise. 10178 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 10179 * Makefile.in: Regenerate. 10180 * configure: Likewise. 10181 * testsuite/Makefile.in: Likewise. 10182 10183 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins 10184 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS 10185 instead of OFFLOAD_TARGETS. 10186 * target.c (gomp_target_init): Adjust. 10187 * testsuite/libgomp-test-support.exp.in: Likewise. 10188 * testsuite/lib/libgomp.exp: Likewise. Populate 10189 openacc_device_types_s instead of offload_targets_s_openacc. 10190 (check_effective_target_openacc_nvidia_accel_selected) 10191 (check_effective_target_openacc_host_selected): Adjust. 10192 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. 10193 * testsuite/libgomp.oacc-c/c.exp: Likewise. 10194 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 10195 * Makefile.in: Regenerate. 10196 * config.h.in: Likewise. 10197 * configure: Likewise. 10198 * testsuite/Makefile.in: Likewise. 10199 10200 * testsuite/lib/libgomp.exp: Error out for unknown offload target. 10201 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if 10202 "offloading: supported, but hardware not accessible". 10203 * testsuite/libgomp.oacc-c/c.exp: Likewise. 10204 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 10205 10206 2019-02-19 Chung-Lin Tang <cltang (a] codesourcery.com> 10207 10208 PR c/87924 10209 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to 10210 goacc_wait(). 10211 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call 10212 and related adjustment. 10213 10214 2019-01-30 Jakub Jelinek <jakub (a] redhat.com> 10215 10216 PR c++/88988 10217 * testsuite/libgomp.c++/pr88988.C: New test. 10218 10219 2019-01-28 Jakub Jelinek <jakub (a] redhat.com> 10220 10221 PR middle-end/89002 10222 * testsuite/libgomp.c/pr89002.c: New test. 10223 10224 2019-01-28 Richard Biener <rguenther (a] suse.de> 10225 10226 PR testsuite/89064 10227 PR tree-optimization/86865 10228 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL. 10229 10230 2019-01-24 Tom de Vries <tdevries (a] suse.de> 10231 10232 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices 10233 once instantiated_devices drops to 0. 10234 10235 2019-01-23 Tom de Vries <tdevries (a] suse.de> 10236 10237 PR target/PR88946 10238 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for 10239 cuMemFree. 10240 (nvptx_exec): Don't call map_push if mapnum == 0. 10241 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test. 10242 10243 2019-01-23 Tom de Vries <tdevries (a] suse.de> 10244 10245 PR target/88941 10246 PR target/88939 10247 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case. 10248 (map_fini): Remove "assert (!s->map->active)". 10249 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test. 10250 10251 2019-01-23 Tom de Vries <tdevries (a] suse.de> 10252 10253 PR target/87835 10254 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element. 10255 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test. 10256 10257 2019-01-15 Tom de Vries <tdevries (a] suse.de> 10258 10259 PR target/80547 10260 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c: 10261 New test. 10262 10263 2019-01-12 Tom de Vries <tdevries (a] suse.de> 10264 10265 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test. 10266 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test. 10267 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test. 10268 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test. 10269 10270 2019-01-12 Tom de Vries <tdevries (a] suse.de> 10271 10272 * plugin/plugin-nvptx.c (nvptx_exec): Update error message. 10273 10274 2019-01-12 Tom de Vries <tdevries (a] suse.de> 10275 10276 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test. 10277 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test. 10278 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test. 10279 10280 2019-01-12 Tom de Vries <tdevries (a] suse.de> 10281 10282 PR target/85486 10283 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test. 10284 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test. 10285 10286 2019-01-12 Tom de Vries <tdevries (a] suse.de> 10287 10288 PR target/85381 10289 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test. 10290 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test. 10291 10292 2019-01-12 Tom de Vries <tdevries (a] suse.de> 10293 10294 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test. 10295 * testsuite/libgomp.oacc-fortran/gemm.f90: New test. 10296 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test. 10297 10298 2019-01-12 Tom de Vries <tdevries (a] suse.de> 10299 10300 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test. 10301 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test. 10302 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test. 10303 10304 2019-01-12 Tom de Vries <tdevries (a] suse.de> 10305 10306 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware 10307 resources diagnostic. 10308 10309 2019-01-12 Tom de Vries <tdevries (a] suse.de> 10310 10311 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect 10312 vector length to be 128. 10313 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector 10314 length 2097152 to be reduced to 1024 instead of 32. 10315 10316 2019-01-11 Thomas Schwinge <thomas (a] codesourcery.com> 10317 James Norris <jnorris (a] codesourcery.com> 10318 10319 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime 10320 Library Routines", and "Environment Variables". 10321 10322 2019-01-11 Tom de Vries <tdevries (a] suse.de> 10323 10324 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and 10325 num_workers 16. 10326 10327 2019-01-11 Tom de Vries <tdevries (a] suse.de> 10328 10329 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove 10330 -foffload=-w. 10331 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same. 10332 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same. 10333 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same. 10334 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same. 10335 10336 2019-01-11 Tom de Vries <tdevries (a] suse.de> 10337 10338 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New 10339 test. 10340 10341 2019-01-10 Nathan Sidwell <nathan (a] acm.org> 10342 Julian Brown <julian (a] codesourcery.com> 10343 10344 PR lto/71959 10345 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New. 10346 * testsuite/libgomp.oacc-c++/pr71959.C: New. 10347 10348 2019-01-09 Sebastian Huber <sebastian.huber (a] embedded-brains.de> 10349 10350 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy 10351 and paste code. 10352 10353 2019-01-09 Sebastian Huber <sebastian.huber (a] embedded-brains.de> 10354 10355 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c, 10356 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to 10357 write. 10358 10359 2019-01-09 Tom de Vries <tdevries (a] suse.de> 10360 10361 PR target/88756 10362 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use 10363 #define instead of "const int". 10364 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same. 10365 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same. 10366 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same. 10367 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same. 10368 10369 2019-01-09 Tom de Vries <tdevries (a] suse.de> 10370 10371 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least 10372 one worker. 10373 10374 2019-01-07 Tom de Vries <tdevries (a] suse.de> 10375 10376 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix 10377 GOMP_OPENACC_DIM argument. 10378 10379 2019-01-03 Tom de Vries <tdevries (a] suse.de> 10380 10381 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test. 10382 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test. 10383 10384 2019-01-01 Jakub Jelinek <jakub (a] redhat.com> 10385 10386 Update copyright years. 10387 10388 2019-01-01 Jakub Jelinek <jakub (a] redhat.com> 10389 10390 * libgomp.texi: Bump @copying's copyright year. 10391 10392 2018-12-28 Thomas Schwinge <thomas (a] codesourcery.com> 10393 10394 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel) 10395 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update) 10396 (GOACC_declare): Redefine the "device" argument to "flags". 10397 10398 2018-12-28 Thomas Schwinge <thomas (a] codesourcery.com> 10399 Cesar Philippidis <cesar (a] codesourcery.com> 10400 10401 * target.c (struct gomp_coalesce_chunk): New structure. 10402 (struct gomp_coalesce_buf): Update the chunks member to use that 10403 type. Adjust all users. 10404 10405 2018-12-19 Tom de Vries <tdevries (a] suse.de> 10406 10407 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test. 10408 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test. 10409 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test. 10410 10411 2018-12-19 Tom de Vries <tdevries (a] suse.de> 10412 10413 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp. 10414 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from 10415 gcc/testsuite/gcc.dg/goacc. 10416 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same. 10417 10418 2018-12-14 Thomas Schwinge <thomas (a] codesourcery.com> 10419 Chung-Lin Tang <cltang (a] codesourcery.com> 10420 10421 * oacc-mem.c (acc_present_or_create): Remove definition and change 10422 to alias of acc_create. 10423 (acc_present_or_copyin): Remove definition and change to alias of 10424 acc_copyin. 10425 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead 10426 of acc_present_or_create. 10427 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove. 10428 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise. 10429 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise. 10430 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise. 10431 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise. 10432 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise. 10433 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise. 10434 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise. 10435 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise. 10436 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise. 10437 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise. 10438 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise. 10439 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise. 10440 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise. 10441 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise. 10442 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise. 10443 10444 2018-12-14 Thomas Schwinge <thomas (a] codesourcery.com> 10445 10446 PR libgomp/88495 10447 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse 10448 "identical parameters". 10449 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update. 10450 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove. 10451 10452 PR libgomp/88484 10453 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0". 10454 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file. 10455 10456 PR libgomp/88407 10457 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait) 10458 (nvptx_wait_async): Unseen async-argument is a no-op. 10459 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update. 10460 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise. 10461 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise. 10462 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise. 10463 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise. 10464 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into... 10465 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update. 10466 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into... 10467 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update 10468 10469 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise. 10470 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise. 10471 10472 2018-12-14 Chung-Lin Tang <cltang (a] codesourcery.com> 10473 10474 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust. 10475 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise. 10476 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise. 10477 10478 2018-12-14 Thomas Schwinge <thomas (a] codesourcery.com> 10479 10480 PR libgomp/88370 10481 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream) 10482 (acc_set_cuda_stream): Clarify. 10483 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use 10484 "async_valid_p". 10485 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async == 10486 acc_async_sync". 10487 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file. 10488 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise. 10489 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update. 10490 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise. 10491 10492 2018-12-14 Tom de Vries <tdevries (a] suse.de> 10493 10494 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test. 10495 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test. 10496 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test. 10497 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test. 10498 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test. 10499 10500 2018-12-13 Tom de Vries <tdevries (a] suse.de> 10501 10502 * affinity-fmt.c (gomp_print_string): New function, factored out of ... 10503 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ... 10504 * fortran.c (omp_display_affinity_): ... here. 10505 * libgomp.h (gomp_print_string): Declare. 10506 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c, 10507 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to 10508 write. 10509 10510 2018-12-13 Jakub Jelinek <jakub (a] redhat.com> 10511 10512 PR libgomp/88460 10513 * testsuite/libgomp.c++/for-24.C (results): Include it in 10514 omp declare target region. 10515 (main): Use map (always, tofrom: results) instead of 10516 map (tofrom: results). 10517 10518 2018-12-12 Jakub Jelinek <jakub (a] redhat.com> 10519 10520 PR fortran/88463 10521 * testsuite/libgomp.fortran/pr88463-1.f90: New test. 10522 * testsuite/libgomp.fortran/pr88463-2.f90: New test. 10523 10524 * testsuite/libgomp.c-c++-common/for-16.c: New test. 10525 10526 2018-12-12 Andreas Schwab <schwab (a] suse.de> 10527 10528 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as 10529 clobbered. 10530 10531 2018-12-09 Thomas Koenig <tkoenig (a] gcc.gnu.org> 10532 10533 PR fortran/88411 10534 * testsuite/libgomp.fortran/async_io_8.f90: New test. 10535 10536 2018-12-09 Thomas Schwinge <thomas (a] codesourcery.com> 10537 Jakub Jelinek <jakub (a] redhat.com> 10538 10539 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of 10540 devicep->host2dev_func. 10541 10542 2018-12-08 Jakub Jelinek <jakub (a] redhat.com> 10543 10544 PR libgomp/87995 10545 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require 10546 tls_runtime effective target. 10547 (t): New threadprivate variable. 10548 (main): Set t in threads which execute iterations of the worksharing 10549 loop. Propagate that to the task after the loop and don't abort 10550 if the current taskgroup hasn't been cancelled. 10551 10552 2018-12-02 Jakub Jelinek <jakub (a] redhat.com> 10553 10554 * testsuite/libgomp.c/task-reduction-3.c: New test. 10555 10556 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test. 10557 10558 2018-11-30 Cesar Philippidis <cesar (a] codesourcery.com> 10559 10560 PR libgomp/88288 10561 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs. 10562 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test. 10563 10564 2018-11-30 Thomas Schwinge <thomas (a] codesourcery.com> 10565 10566 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file. 10567 10568 2018-10-19 Richard Biener <rguenther (a] suse.de> 10569 10570 PR tree-optimization/88182 10571 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp. 10572 10573 2018-11-26 Jakub Jelinek <jakub (a] redhat.com> 10574 10575 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu. 10576 (RUNTEST): Don't define. 10577 (RUNTESTDEFAULTFLAGS): Add. 10578 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals. 10579 (distclean-am): Depend on distclean-DEJAGNU. 10580 (check-am): If -j% option is present in MFLAGS and if 10581 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8. 10582 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU. 10583 * testsuite/Makefile.in: Regenerated. 10584 10585 2018-11-26 Richard Biener <rguenther (a] suse.de> 10586 10587 PR tree-optimization/88182 10588 * testsuite/libgomp.c++/pr88182.C: New testcase. 10589 10590 2018-11-20 Jakub Jelinek <jakub (a] redhat.com> 10591 10592 PR bootstrap/88106 10593 * config/mingw32/affinity-fmt.c: New file. 10594 10595 2018-11-09 Jakub Jelinek <jakub (a] redhat.com> 10596 10597 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H. 10598 (gomp_display_affinity): Use __builtin_choose_expr to handle 10599 properly handle argument having integral, or pointer or some other 10600 type. If inttypes.h is available and PRIx64 is defined, use PRIx64 10601 with uint64_t type instead of %llx and unsigned long long. 10602 10603 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test. 10604 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test. 10605 10606 2018-11-08 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 10607 10608 * affinity.c: Include <string.h>, <stdio.h>. 10609 (gomp_display_affinity_place): Remove cpusetp. 10610 * teams.c: Include <limits.h>. 10611 10612 2018-11-08 Jakub Jelinek <jakub (a] redhat.com> 10613 10614 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add 10615 in_reduction clause for s[0]. 10616 10617 * affinity.c (gomp_display_affinity_place): New function. 10618 * affinity-fmt.c: New file. 10619 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions. 10620 * config/linux/affinity.c (gomp_display_affinity_place): New function. 10621 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num): 10622 Move these functions to ... 10623 * config/nvptx/teams.c: ... here. New file. 10624 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all): 10625 New functions. 10626 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New 10627 functions. 10628 * configure.ac: Check for aligned_alloc, posix_memalign, memalign 10629 and _aligned_malloc. 10630 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests. 10631 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux. 10632 * env.c (gomp_display_affinity_var, gomp_affinity_format_var, 10633 gomp_affinity_format_len): New variables. 10634 (parse_schedule): Parse monotonic and nonmonotonic modifiers in 10635 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules. 10636 (handle_omp_display_env): Display monotonic/nonmonotonic schedule 10637 modifiers. Display (non-default) chunk sizes. Print 10638 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT. 10639 (initialize_env): Don't call pthread_attr_setdetachstate. Handle 10640 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars. 10641 * fortran.c: Include stdio.h and string.h. 10642 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect. 10643 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit. 10644 (omp_set_affinity_format_, omp_get_affinity_format_, 10645 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_, 10646 omp_pause_resource_all_): New functions. 10647 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in 10648 switch. 10649 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these 10650 functions to ... 10651 * teams.c: ... here. New file. 10652 * libgomp_g.h: Include gstdint.h. 10653 (GOMP_loop_nonmonotonic_runtime_start, 10654 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start, 10655 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next, 10656 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start, 10657 GOMP_parallel_loop_nonmonotonic_runtime, 10658 GOMP_parallel_loop_maybe_nonmonotonic_runtime, 10659 GOMP_loop_ull_nonmonotonic_runtime_start, 10660 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start, 10661 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next, 10662 GOMP_loop_ull_maybe_nonmonotonic_runtime_next, 10663 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions, 10664 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register, 10665 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap, 10666 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start, 10667 GOMP_teams_reg): Declare. 10668 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless 10669 gomp_aligned_alloc uses fallback implementation. 10670 (gomp_aligned_alloc, gomp_aligned_free): Declare. 10671 (enum gomp_schedule_type): Add GFS_MONOTONIC. 10672 (struct gomp_doacross_work_share): Add extra field. 10673 (struct gomp_work_share): Add task_reductions field. 10674 (struct gomp_taskgroup): Add workshare and reductions fields. 10675 (GOMP_NEEDS_THREAD_HANDLE): Define if needed. 10676 (gomp_thread_handle): New typedef. 10677 (gomp_display_affinity_place, gomp_set_affinity_format, 10678 gomp_display_string, gomp_display_affinity, 10679 gomp_display_affinity_thread): Declare. 10680 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument. 10681 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start, 10682 gomp_workshare_task_reduction_register): Declare. 10683 (gomp_team_start): Add taskgroup argument. 10684 (gomp_pause_host): Declare. 10685 (gomp_init_work_share, gomp_work_share_start): Change bool argument 10686 to size_t. 10687 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions. 10688 * libgomp.map (GOMP_5.0): Export GOMP_loop_start, 10689 GOMP_loop_ordered_start, GOMP_loop_doacross_start, 10690 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start, 10691 GOMP_loop_ull_doacross_start, 10692 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start, 10693 GOMP_loop_maybe_nonmonotonic_runtime_next, 10694 GOMP_loop_maybe_nonmonotonic_runtime_start, 10695 GOMP_loop_nonmonotonic_runtime_next, 10696 GOMP_loop_nonmonotonic_runtime_start, 10697 GOMP_loop_ull_maybe_nonmonotonic_runtime_next, 10698 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, 10699 GOMP_loop_ull_nonmonotonic_runtime_next, 10700 GOMP_loop_ull_nonmonotonic_runtime_start, 10701 GOMP_parallel_loop_maybe_nonmonotonic_runtime, 10702 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions, 10703 GOMP_taskgroup_reduction_register, 10704 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap, 10705 GOMP_teams_reg and GOMP_taskwait_depend. 10706 (OMP_5.0): Export omp_pause_resource{,_all}{,_}, 10707 omp_{capture,display}_affinity{,_}, and 10708 omp_[gs]et_affinity_format{,_}. 10709 * loop.c: Include string.h. 10710 (GOMP_loop_runtime_next): Add ialias. 10711 (GOMP_taskgroup_reduction_register): Add ialias_redirect. 10712 (gomp_loop_static_start, gomp_loop_dynamic_start, 10713 gomp_loop_guided_start, gomp_loop_ordered_static_start, 10714 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start, 10715 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start, 10716 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start 10717 or gomp_doacross_init callers. 10718 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start, 10719 GOMP_loop_doacross_start): New functions. 10720 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start, 10721 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start): 10722 Mask off GFS_MONOTONIC bit. 10723 (GOMP_loop_maybe_nonmonotonic_runtime_next, 10724 GOMP_loop_maybe_nonmonotonic_runtime_start, 10725 GOMP_loop_nonmonotonic_runtime_next, 10726 GOMP_loop_nonmonotonic_runtime_start, 10727 GOMP_parallel_loop_maybe_nonmonotonic_runtime, 10728 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper 10729 functions. 10730 (gomp_parallel_loop_start): Pass NULL as taskgroup to 10731 gomp_team_start. 10732 * loop_ull.c: Include string.h. 10733 (GOMP_loop_ull_runtime_next): Add ialias. 10734 (GOMP_taskgroup_reduction_register): Add ialias_redirect. 10735 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start, 10736 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start, 10737 gomp_loop_ull_ordered_dynamic_start, 10738 gomp_loop_ull_ordered_guided_start, 10739 gomp_loop_ull_doacross_static_start, 10740 gomp_loop_ull_doacross_dynamic_start, 10741 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start 10742 and gomp_doacross_ull_init callers. 10743 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start, 10744 GOMP_loop_ull_doacross_start): New functions. 10745 (GOMP_loop_ull_runtime_start, 10746 GOMP_loop_ull_ordered_runtime_start, 10747 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit. 10748 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next, 10749 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, 10750 GOMP_loop_ull_nonmonotonic_runtime_next, 10751 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise. 10752 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c. 10753 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic. 10754 (omp_pause_resource_t, omp_depend_t): New typedefs. 10755 (enum omp_lock_hint_t): Renamed to ... 10756 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_* 10757 enumerators using numbers and omp_lock_hint_* as their aliases. 10758 (omp_lock_hint_t): New typedef. Rename to ... 10759 (omp_sync_hint_t): ... this. 10760 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use 10761 omp_sync_hint_t instead of omp_lock_hint_t. 10762 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format, 10763 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity): 10764 Declare. 10765 (omp_target_is_present, omp_target_disassociate_ptr): 10766 Change first argument from void * to const void *. 10767 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument 10768 from void * to const void *. 10769 (omp_target_associate_ptr): Change first and second arguments from 10770 void * to const void *. 10771 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft, 10772 omp_pause_hard): New parameters. 10773 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format, 10774 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity): 10775 New interfaces. 10776 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft, 10777 omp_pause_hard): New parameters. 10778 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format, 10779 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity): 10780 New externals. 10781 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add 10782 EXTRA argument. If not needed to prepare array, if extra is 0, 10783 clear ws->doacross, otherwise allocate just doacross structure and 10784 extra payload. If array is needed, allocate also extra payload. 10785 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post, 10786 GOMP_doacross_ull_wait): Handle doacross->array == NULL like 10787 doacross == NULL. 10788 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to 10789 gomp_team_start. 10790 (GOMP_parallel): Likewise. Formatting fix. 10791 (GOMP_parallel_reductions): New function. 10792 (GOMP_cancellation_point): If taskgroup has workshare 10793 flag set, check cancelled of prev taskgroup if any. 10794 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled 10795 on prev taskgroup if any. 10796 * sections.c: Include string.h. 10797 (GOMP_taskgroup_reduction_register): Add ialias_redirect. 10798 (GOMP_sections_start): Adjust gomp_work_share_start caller. 10799 (GOMP_sections2_start): New function. 10800 (GOMP_parallel_sections_start, GOMP_parallel_sections): 10801 Pass NULL as taskgroup to gomp_team_start. 10802 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust 10803 gomp_work_share_start callers. 10804 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data): 10805 If taskgroup has workshare flag set, check cancelled on prev 10806 taskgroup if any. Guard all cancellation tests with 10807 gomp_cancel_var test. 10808 (omp_target_is_present, omp_target_disassociate_ptr): 10809 Change ptr argument from void * to const void *. 10810 (omp_target_memcpy): Change src argument from void * to const void *. 10811 (omp_target_memcpy_rect): Likewise. 10812 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts 10813 instead of char * where needed. 10814 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments 10815 from void * to const void *. 10816 (omp_pause_resource, omp_pause_resource_all): New functions. 10817 * task.c (gomp_task_handle_depend): Handle new depend array format 10818 in addition to the old. Handle mutexinoutset kinds the same as 10819 inout for now, handle unspecified kinds. 10820 (gomp_create_target_task): If taskgroup has workshare flag set, check 10821 cancelled on prev taskgroup if any. Guard all cancellation tests with 10822 gomp_cancel_var test. Handle new depend array format count in 10823 addition to the old. 10824 (GOMP_task): Likewise. Adjust function comment. 10825 (gomp_task_run_pre): If taskgroup has workshare flag set, check 10826 cancelled on prev taskgroup if any. Guard all cancellation tests with 10827 gomp_cancel_var test. 10828 (GOMP_taskwait_depend): New function. 10829 (gomp_task_maybe_wait_for_dependencies): Handle new depend array 10830 format in addition to the old. Handle mutexinoutset kinds the same as 10831 inout for now, handle unspecified kinds. Fix a function comment typo. 10832 (gomp_taskgroup_init): New function. 10833 (GOMP_taskgroup_start): Use it. 10834 (gomp_reduction_register, gomp_create_artificial_team, 10835 GOMP_taskgroup_reduction_register, 10836 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap, 10837 gomp_parallel_reduction_register, 10838 gomp_workshare_task_reduction_register, 10839 gomp_workshare_taskgroup_start, 10840 GOMP_workshare_task_reduction_unregister): New functions. 10841 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set, 10842 check cancelled on prev taskgroup if any. Guard all cancellation 10843 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag 10844 by calling GOMP_taskgroup_reduction_register. 10845 * team.c (gomp_thread_attr): Remove comment. 10846 (struct gomp_thread_start_data): Add handle field. 10847 (gomp_thread_start): Call pthread_detach. 10848 (gomp_new_team): Adjust gomp_init_work_share caller. 10849 (gomp_free_pool_helper): Call pthread_detach. 10850 (gomp_team_start): Add taskgroup argument, initialize implicit 10851 tasks' taskgroup field to that. Don't call 10852 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var. 10853 (gomp_team_end): Determine nesting by thr->ts.level != 0 10854 rather than thr->ts.team != NULL. 10855 (gomp_pause_pool_helper, gomp_pause_host): New functions. 10856 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of 10857 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined. 10858 (gomp_init_work_share): Change ORDERED argument from bool to size_t, 10859 if more than 1 allocate also extra payload at the end of array. Never 10860 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead. 10861 (gomp_work_share_start): Change ORDERED argument from bool to size_t, 10862 return true instead of ws. 10863 * Makefile.in: Regenerated. 10864 * configure: Regenerated. 10865 * config.h.in: Regenerated. 10866 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier 10867 in some cases. 10868 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test. 10869 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test. 10870 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test. 10871 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test. 10872 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test. 10873 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test. 10874 * testsuite/libgomp.c-c++-common/depobj-1.c: New test. 10875 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test. 10876 * testsuite/libgomp.c-c++-common/for-10.c: New test. 10877 * testsuite/libgomp.c-c++-common/for-11.c: New test. 10878 * testsuite/libgomp.c-c++-common/for-12.c: New test. 10879 * testsuite/libgomp.c-c++-common/for-13.c: New test. 10880 * testsuite/libgomp.c-c++-common/for-14.c: New test. 10881 * testsuite/libgomp.c-c++-common/for-15.c: New test. 10882 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined, 10883 define a different N(test), don't define N(f0) to N(f14), but instead 10884 define N(f20) to N(f34) using != comparisons. 10885 * testsuite/libgomp.c-c++-common/for-7.c: New test. 10886 * testsuite/libgomp.c-c++-common/for-8.c: New test. 10887 * testsuite/libgomp.c-c++-common/for-9.c: New test. 10888 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test. 10889 * testsuite/libgomp.c-c++-common/pause-1.c: New test. 10890 * testsuite/libgomp.c-c++-common/pause-2.c: New test. 10891 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test. 10892 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test. 10893 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test. 10894 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test. 10895 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test. 10896 * testsuite/libgomp.c-c++-common/simd-1.c: New test. 10897 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test. 10898 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test. 10899 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test. 10900 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test. 10901 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test. 10902 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test. 10903 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test. 10904 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test. 10905 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test. 10906 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test. 10907 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test. 10908 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test. 10909 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test. 10910 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test. 10911 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test. 10912 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test. 10913 * testsuite/libgomp.c++/depend-1.C: New test. 10914 * testsuite/libgomp.c++/depend-iterator-1.C: New test. 10915 * testsuite/libgomp.c++/depobj-1.C: New test. 10916 * testsuite/libgomp.c++/for-16.C: New test. 10917 * testsuite/libgomp.c++/for-21.C: New test. 10918 * testsuite/libgomp.c++/for-22.C: New test. 10919 * testsuite/libgomp.c++/for-23.C: New test. 10920 * testsuite/libgomp.c++/for-24.C: New test. 10921 * testsuite/libgomp.c++/for-25.C: New test. 10922 * testsuite/libgomp.c++/for-26.C: New test. 10923 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test. 10924 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test. 10925 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test. 10926 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test. 10927 * testsuite/libgomp.c++/task-reduction-10.C: New test. 10928 * testsuite/libgomp.c++/task-reduction-11.C: New test. 10929 * testsuite/libgomp.c++/task-reduction-12.C: New test. 10930 * testsuite/libgomp.c++/task-reduction-13.C: New test. 10931 * testsuite/libgomp.c++/task-reduction-14.C: New test. 10932 * testsuite/libgomp.c++/task-reduction-15.C: New test. 10933 * testsuite/libgomp.c++/task-reduction-16.C: New test. 10934 * testsuite/libgomp.c++/task-reduction-17.C: New test. 10935 * testsuite/libgomp.c++/task-reduction-18.C: New test. 10936 * testsuite/libgomp.c++/task-reduction-19.C: New test. 10937 * testsuite/libgomp.c/task-reduction-1.c: New test. 10938 * testsuite/libgomp.c++/task-reduction-1.C: New test. 10939 * testsuite/libgomp.c/task-reduction-2.c: New test. 10940 * testsuite/libgomp.c++/task-reduction-2.C: New test. 10941 * testsuite/libgomp.c++/task-reduction-3.C: New test. 10942 * testsuite/libgomp.c++/task-reduction-4.C: New test. 10943 * testsuite/libgomp.c++/task-reduction-5.C: New test. 10944 * testsuite/libgomp.c++/task-reduction-6.C: New test. 10945 * testsuite/libgomp.c++/task-reduction-7.C: New test. 10946 * testsuite/libgomp.c++/task-reduction-8.C: New test. 10947 * testsuite/libgomp.c++/task-reduction-9.C: New test. 10948 * testsuite/libgomp.c/teams-1.c: New test. 10949 * testsuite/libgomp.c/teams-2.c: New test. 10950 * testsuite/libgomp.c/thread-limit-4.c: New test. 10951 * testsuite/libgomp.c/thread-limit-5.c: New test. 10952 * testsuite/libgomp.fortran/display-affinity-1.f90: New test. 10953 10954 2018-11-06 Chung-Lin Tang <cltang (a] codesourcery.com> 10955 10956 * oacc-mem.c (memcpy_tofrom_device): New function, combined from 10957 acc_memcpy_to/from_device functions, now with async parameter. 10958 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device. 10959 (acc_memcpy_from_device): Likewise. 10960 (acc_memcpy_to_device_async): New API function. 10961 (acc_memcpy_from_device_async): Likewise. 10962 (present_create_copy): Add async parameter and async setting/unsetting. 10963 (acc_create): Adjust present_create_copy call. 10964 (acc_copyin): Likewise. 10965 (acc_present_or_create): Likewise. 10966 (acc_present_or_copyin): Likewise. 10967 (acc_create_async): New API function. 10968 (acc_copyin_async): New API function. 10969 (delete_copyout): Add async parameter and async setting/unsetting. 10970 (acc_delete): Adjust delete_copyout call. 10971 (acc_copyout): Likewise. 10972 (acc_delete_async): New API function. 10973 (acc_copyout_async): Likewise. 10974 (update_dev_host): Add async parameter and async setting/unsetting. 10975 (acc_update_device): Adjust update_dev_host call. 10976 (acc_update_self): Likewise. 10977 (acc_update_device_async): New API function. 10978 (acc_update_self_async): Likewise. 10979 * openacc.h (acc_copyin_async): Declare new API function. 10980 (acc_create_async): Likewise. 10981 (acc_copyout_async): Likewise. 10982 (acc_delete_async): Likewise. 10983 (acc_update_device_async): Likewise. 10984 (acc_update_self_async): Likewise. 10985 (acc_memcpy_to_device_async): Likewise. 10986 (acc_memcpy_from_device_async): Likewise. 10987 * openacc_lib.h (acc_copyin_async_32_h): New subroutine. 10988 (acc_copyin_async_64_h): New subroutine. 10989 (acc_copyin_async_array_h): New subroutine. 10990 (acc_create_async_32_h): New subroutine. 10991 (acc_create_async_64_h): New subroutine. 10992 (acc_create_async_array_h): New subroutine. 10993 (acc_copyout_async_32_h): New subroutine. 10994 (acc_copyout_async_64_h): New subroutine. 10995 (acc_copyout_async_array_h): New subroutine. 10996 (acc_delete_async_32_h): New subroutine. 10997 (acc_delete_async_64_h): New subroutine. 10998 (acc_delete_async_array_h): New subroutine. 10999 (acc_update_device_async_32_h): New subroutine. 11000 (acc_update_device_async_64_h): New subroutine. 11001 (acc_update_device_async_array_h): New subroutine. 11002 (acc_update_self_async_32_h): New subroutine. 11003 (acc_update_self_async_64_h): New subroutine. 11004 (acc_update_self_async_array_h): New subroutine. 11005 * openacc.f90 (acc_copyin_async_32_h): New subroutine. 11006 (acc_copyin_async_64_h): New subroutine. 11007 (acc_copyin_async_array_h): New subroutine. 11008 (acc_create_async_32_h): New subroutine. 11009 (acc_create_async_64_h): New subroutine. 11010 (acc_create_async_array_h): New subroutine. 11011 (acc_copyout_async_32_h): New subroutine. 11012 (acc_copyout_async_64_h): New subroutine. 11013 (acc_copyout_async_array_h): New subroutine. 11014 (acc_delete_async_32_h): New subroutine. 11015 (acc_delete_async_64_h): New subroutine. 11016 (acc_delete_async_array_h): New subroutine. 11017 (acc_update_device_async_32_h): New subroutine. 11018 (acc_update_device_async_64_h): New subroutine. 11019 (acc_update_device_async_array_h): New subroutine. 11020 (acc_update_self_async_32_h): New subroutine. 11021 (acc_update_self_async_64_h): New subroutine. 11022 (acc_update_self_async_array_h): New subroutine. 11023 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*, 11024 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*, 11025 acc_delete_finalize_async*, acc_memcpy_from_device_async*, 11026 acc_memcpy_to_device_async*, acc_update_device_async*, and 11027 acc_update_self_async* entries. 11028 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test. 11029 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test. 11030 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test. 11031 11032 2018-10-31 Joseph Myers <joseph (a] codesourcery.com> 11033 11034 PR bootstrap/82856 11035 * Makefile.am: Include multilib.am 11036 (AUTOMAKE_OPTIONS): Add info-in-builddir. 11037 (CLEANFILES): Remove libgomp.info. 11038 * configure.ac: Remove AC_PREREQ. 11039 * testsuite/Makefile.am (RUNTEST): Remove quotes. 11040 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: 11041 Regenerate. 11042 11043 2018-10-29 Joseph Myers <joseph (a] codesourcery.com> 11044 Julian Brown <julian (a] codesourcery.com> 11045 11046 * testsuite/libgomp.oacc-c++/this.C: New. 11047 11048 2018-09-18 Cesar Philippidis <cesar (a] codesourcery.com> 11049 11050 * plugin/plugin-nvptx.c (struct cuda_map): New. 11051 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev, 11052 h_tail with (cuda_map *) map. 11053 (cuda_map_create): New function. 11054 (cuda_map_destroy): New function. 11055 (map_init): Update to use a linked list of cuda_map objects. 11056 (map_fini): Likewise. 11057 (map_pop): Likewise. 11058 (map_push): Likewise. Return CUdeviceptr instead of void. 11059 (init_streams_for_device): Remove stales references to ptx_stream 11060 members. 11061 (select_stream_for_async): Likewise. 11062 (nvptx_exec): Update call to map_init. 11063 11064 2018-09-09 Cesar Philippidis <cesar (a] codesourcery.com> 11065 Julian Brown <julian (a] codesourcery.com> 11066 11067 PR middle-end/86336 11068 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL. 11069 11070 2018-08-21 Nicolas Koenig <koenigni (a] gcc.gnu.org> 11071 Thomas Koenig <tkoenig (a] gcc.gnu.org> 11072 11073 PR fortran/25829 11074 * testsuite/libgomp.fortran/async_io_1.f90: New test. 11075 * testsuite/libgomp.fortran/async_io_2.f90: New test. 11076 * testsuite/libgomp.fortran/async_io_3.f90: New test. 11077 * testsuite/libgomp.fortran/async_io_4.f90: New test. 11078 * testsuite/libgomp.fortran/async_io_5.f90: New test. 11079 * testsuite/libgomp.fortran/async_io_6.f90: New test. 11080 * testsuite/libgomp.fortran/async_io_7.f90: New test. 11081 11082 2018-08-13 Cesar Philippidis <cesar (a] codesourcery.com> 11083 Tom de Vries <tdevries (a] suse.de> 11084 11085 PR target/85590 11086 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef. 11087 (cuOccupancyMaxPotentialBlockSize): Declare. 11088 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New 11089 CUDA_ONE_CALL_MAYBE_NULL. 11090 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define 11091 CUoccupancyB2DSize and declare 11092 cuOccupancyMaxPotentialBlockSize. 11093 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the 11094 default num_gangs and num_workers when the driver supports it. 11095 11096 2018-08-08 Tom de Vries <tdevries (a] suse.de> 11097 11098 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using 11099 CUDA_ONE_CALL_MAYBE_NULL. 11100 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare. 11101 (cuLinkAddData_v2, cuLinkCreate_v2): Declare. 11102 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions 11103 are not found. 11104 11105 2018-08-08 Tom de Vries <tdevries (a] suse.de> 11106 11107 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL. 11108 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not 11109 present. 11110 11111 2018-08-08 Tom de Vries <tdevries (a] suse.de> 11112 11113 * plugin/plugin-nvptx.c 11114 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define. 11115 (nvptx_open_device): Use 11116 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR. 11117 11118 2018-08-08 Tom de Vries <tdevries (a] suse.de> 11119 11120 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ... 11121 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000. 11122 11123 2018-08-07 Tom de Vries <tdevries (a] suse.de> 11124 11125 * plugin/plugin-nvptx.c (DO_PRAGMA): Define. 11126 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL. 11127 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to 11128 corresponding call in CUDA_ONE_CALL. Add def/undef of 11129 CUDA_ONE_CALL_MAYBE_NULL. 11130 (CUDA_CALL_EXISTS): Define. 11131 11132 2018-08-07 Tom de Vries <tdevries (a] suse.de> 11133 11134 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put 11135 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the 11136 corresponding undefs right after. 11137 11138 2018-08-04 Tom de Vries <tdevries (a] suse.de> 11139 11140 * plugin/configfrag.ac: For --without-cuda-driver, set 11141 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle 11142 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no. 11143 * configure: Regenerate. 11144 11145 2018-08-02 Tom de Vries <tdevries (a] suse.de> 11146 11147 PR target/86660 11148 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions. 11149 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same. 11150 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C: 11151 Same. 11152 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same. 11153 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same. 11154 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same. 11155 11156 2018-08-01 Cesar Philippidis <cesar (a] codesourcery.com> 11157 Thomas Schwinge <thomas (a] codesourcery.com> 11158 11159 * config/nvptx/oacc-parallel.c: Truncate. 11160 11161 2018-08-01 Cesar Philippidis <cesar (a] codesourcery.com> 11162 James Norris <jnorris (a] codesourcery.com> 11163 11164 * plugin/plugin-nvptx.c (struct map): Removed. 11165 (map_init, map_pop): Remove use of struct map. 11166 (map_push): Likewise and change argument list. 11167 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New 11168 11169 2018-08-01 Tom de Vries <tdevries (a] suse.de> 11170 11171 * plugin/cuda-lib.def: New file. Factor out of ... 11172 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here. 11173 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of 11174 using CUDA_CALLS. 11175 11176 2018-07-31 Andre Vieira <andre.simoesdiasvieira (a] arm.com> 11177 11178 Revert 'AsyncI/O patch committed'. 11179 2018-07-25 Nicolas Koenig <koenigni (a] gcc.gnu.org> 11180 Thomas Koenig <tkoenig (a] gcc.gnu.org> 11181 11182 PR fortran/25829 11183 * testsuite/libgomp.fortran/async_io_1.f90: New test. 11184 * testsuite/libgomp.fortran/async_io_2.f90: New test. 11185 * testsuite/libgomp.fortran/async_io_3.f90: New test. 11186 * testsuite/libgomp.fortran/async_io_4.f90: New test. 11187 * testsuite/libgomp.fortran/async_io_5.f90: New test. 11188 * testsuite/libgomp.fortran/async_io_6.f90: New test. 11189 * testsuite/libgomp.fortran/async_io_7.f90: New test. 11190 11191 2018-07-30 Tom de Vries <tdevries (a] suse.de> 11192 11193 * plugin/plugin-nvptx.c (MIN, MAX): Redefine. 11194 (nvptx_exec): Ensure worker and vector default dims don't exceed 11195 targ_fn->max_threads_per_block. 11196 11197 2018-07-30 Tom de Vries <tdevries (a] suse.de> 11198 11199 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field. 11200 (nvptx_open_device): Init default_dims for device. 11201 (nvptx_exec): Use default_dims from device. 11202 11203 2018-07-26 Jakub Jelinek <jakub (a] redhat.com> 11204 11205 PR testsuite/86660 11206 * testsuite/libgomp.c++/for-15.C (results): Include it in 11207 omp declare target region. 11208 (main): Use map (always, tofrom: results) instead of 11209 map (tofrom: results). 11210 11211 PR middle-end/86660 11212 * testsuite/libgomp.c/pr86660.c: New test. 11213 11214 2018-07-26 Cesar Philippidis <cesar (a] codesourcery.com> 11215 Tom de Vries <tdevries (a] suse.de> 11216 11217 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have 11218 sufficient resources to launch a kernel, and give a hint on how to fix 11219 it. 11220 11221 2018-07-26 Cesar Philippidis <cesar (a] codesourcery.com> 11222 Tom de Vries <tdevries (a] suse.de> 11223 11224 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size, 11225 max_threads_per_block and max_threads_per_multiprocessor fields. 11226 (nvptx_open_device): Initialize new fields. 11227 (nvptx_exec): Use num_sms, and new fields. 11228 11229 2018-07-26 Tom de Vries <tdevries (a] suse.de> 11230 11231 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls 11232 to correct locations. Remove xfail. 11233 11234 2018-07-26 Tom de Vries <tdevries (a] suse.de> 11235 11236 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with 11237 acc_wait. Move acc_async_test calls to correct locations. Remove 11238 xfail. 11239 11240 2018-07-25 Nicolas Koenig <koenigni (a] gcc.gnu.org> 11241 Thomas Koenig <tkoenig (a] gcc.gnu.org> 11242 11243 PR fortran/25829 11244 * testsuite/libgomp.fortran/async_io_1.f90: New test. 11245 * testsuite/libgomp.fortran/async_io_2.f90: New test. 11246 * testsuite/libgomp.fortran/async_io_3.f90: New test. 11247 * testsuite/libgomp.fortran/async_io_4.f90: New test. 11248 * testsuite/libgomp.fortran/async_io_5.f90: New test. 11249 * testsuite/libgomp.fortran/async_io_6.f90: New test. 11250 * testsuite/libgomp.fortran/async_io_7.f90: New test. 11251 11252 2018-07-17 Jakub Jelinek <jakub (a] redhat.com> 11253 11254 PR middle-end/86542 11255 * testsuite/libgomp.c++/pr86542.C: New test. 11256 11257 PR middle-end/86539 11258 * testsuite/libgomp.c++/pr86539.C: New test. 11259 11260 2018-07-11 Jakub Jelinek <jakub (a] redhat.com> 11261 11262 PR c++/86443 11263 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable. 11264 (results): Make sure the variable is not inside declare target region. 11265 (qux): Remove unused function. 11266 11267 2018-07-10 Jakub Jelinek <jakub (a] redhat.com> 11268 11269 PR c++/86443 11270 * testsuite/libgomp.c++/for-15.C: New test. 11271 11272 2018-06-26 Jakub Jelinek <jakub (a] redhat.com> 11273 11274 PR c++/86291 11275 * testsuite/libgomp.c++/pr86291.C: New test. 11276 11277 2018-06-24 Gerald Pfeifer <gerald (a] pfeifer.com> 11278 11279 * libgomp.texi (Top): Move www.openmp.org to https. 11280 (Enabling OpenMP): Ditto. 11281 (omp_get_active_level): Ditto. 11282 (omp_get_ancestor_thread_num): Ditto. 11283 (omp_get_cancellation): Ditto. 11284 (omp_get_default_device): Ditto. 11285 (omp_get_dynamic): Ditto. 11286 (omp_get_level): Ditto. 11287 (omp_get_max_active_levels): Ditto. 11288 (omp_get_max_task_priority): Ditto. 11289 (omp_get_max_threads): Ditto. 11290 (omp_get_nested): Ditto. 11291 (omp_get_num_devices): Ditto. 11292 (omp_get_num_procs): Ditto. 11293 (omp_get_num_teams): Ditto. 11294 (omp_get_num_threads): Ditto. 11295 (omp_get_proc_bind): Ditto. 11296 (omp_get_schedule): Ditto. 11297 (omp_get_team_num): Ditto. 11298 (omp_get_team_size): Ditto. 11299 (omp_get_thread_limit): Ditto. 11300 (omp_get_thread_num): Ditto. 11301 (omp_in_parallel): Ditto. 11302 (omp_in_final): Ditto. 11303 (omp_is_initial_device): Ditto. 11304 (omp_set_default_device): Ditto. 11305 (omp_set_dynamic): Ditto. 11306 (omp_set_max_active_levels): Ditto. 11307 (omp_set_nested): Ditto. 11308 (omp_set_num_threads): Ditto. 11309 (omp_set_schedule): Ditto. 11310 (omp_init_lock): Ditto. 11311 (omp_set_lock): Ditto. 11312 (omp_test_lock): Ditto. 11313 (omp_unset_lock): Ditto. 11314 (omp_destroy_lock): Ditto. 11315 (omp_init_nest_lock): Ditto. 11316 (omp_set_nest_lock): Ditto. 11317 (omp_test_nest_lock): Ditto. 11318 (omp_unset_nest_lock): Ditto. 11319 (omp_destroy_nest_lock): Ditto. 11320 (omp_get_wtick): Ditto. 11321 (omp_get_wtime): Ditto. 11322 (OMP_CANCELLATION): Ditto. 11323 (OMP_DISPLAY_ENV): Ditto. 11324 (OMP_DEFAULT_DEVICE): Ditto. 11325 (OMP_DYNAMIC): Ditto. 11326 (OMP_MAX_ACTIVE_LEVELS): Ditto. 11327 (OMP_MAX_TASK_PRIORITY): Ditto. 11328 (OMP_NESTED): Ditto. 11329 (OMP_NUM_THREADS): Ditto. 11330 (OMP_PROC_BIND): Ditto. 11331 (OMP_PLACES): Ditto. 11332 (OMP_STACKSIZE): Ditto. 11333 (OMP_SCHEDULE): Ditto. 11334 (OMP_THREAD_LIMIT): Ditto. 11335 (OMP_WAIT_POLICY): Ditto. 11336 11337 2018-06-22 Cesar Philippidis <cesar (a] codesourcery.com> 11338 James Norris <jnorris (a] codesourcery.com> 11339 Julian Brown <julian (a] codesourcery.com> 11340 Thomas Schwinge <thomas (a] codesourcery.com> 11341 Tom de Vries <tom (a] codesourcery.com> 11342 11343 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2". 11344 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update. 11345 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise. 11346 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise. 11347 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise. 11348 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise. 11349 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file. 11350 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise. 11351 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise. 11352 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: 11353 Likewise. 11354 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c: 11355 Likewise. 11356 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c: 11357 Likewise. 11358 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: 11359 Likewise. 11360 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: 11361 Likewise. 11362 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c: 11363 Likewise. 11364 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c: 11365 Likewise. 11366 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c: 11367 Likewise. 11368 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c: 11369 Likewise. 11370 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c: 11371 Likewise. 11372 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c: 11373 Likewise. 11374 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c: 11375 Likewise. 11376 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c: 11377 Likewise. 11378 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c: 11379 Likewise. 11380 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c: 11381 Likewise. 11382 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c: 11383 Likewise. 11384 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c: 11385 Likewise. 11386 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c: 11387 Likewise. 11388 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c: 11389 Likewise. 11390 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c: 11391 Likewise. 11392 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c: 11393 Likewise. 11394 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c: 11395 Likewise. 11396 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c: 11397 Likewise. 11398 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c: 11399 Likewise. 11400 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c: 11401 Likewise. 11402 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c: 11403 Likewise. 11404 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c: 11405 Likewise. 11406 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise. 11407 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise. 11408 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise. 11409 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise. 11410 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise. 11411 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise. 11412 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise. 11413 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise. 11414 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90: 11415 Likewise. 11416 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90: 11417 Likewise. 11418 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise. 11419 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise. 11420 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: 11421 Likewise. 11422 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise. 11423 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise. 11424 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95: 11425 Likewise. 11426 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90: 11427 Likewise. 11428 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90: 11429 Likewise. 11430 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90: 11431 Likewise. 11432 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90: 11433 Likewise. 11434 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90: 11435 Likewise. 11436 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90: 11437 Likewise. 11438 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90: 11439 Likewise. 11440 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90: 11441 Likewise. 11442 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90: 11443 Likewise. 11444 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90: 11445 Likewise. 11446 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90: 11447 Likewise. 11448 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90: 11449 Likewise. 11450 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90: 11451 Likewise. 11452 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: 11453 Likewise. 11454 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise. 11455 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise. 11456 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise. 11457 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise. 11458 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise. 11459 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise. 11460 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise. 11461 11462 2018-06-20 Chung-Lin Tang <cltang (a] codesourcery.com> 11463 Thomas Schwinge <thomas (a] codesourcery.com> 11464 Cesar Philippidis <cesar (a] codesourcery.com> 11465 11466 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member. 11467 (gomp_acc_remove_pointer): Update declaration. 11468 (gomp_acc_declare_allocate): Declare. 11469 (gomp_remove_var): Declare. 11470 * libgomp.map (OACC_2.5): Define. 11471 * oacc-mem.c (acc_map_data): Update refcount. 11472 (acc_unmap_data): Likewise. 11473 (present_create_copy): Likewise. 11474 (acc_create): Add FLAG_PRESENT when calling present_create_copy. 11475 (acc_copyin): Likewise. 11476 (FLAG_FINALIZE): Define. 11477 (delete_copyout): Update dynamic refcounts, add support for FINALIZE. 11478 (acc_delete_finalize): New function. 11479 (acc_delete_finalize_async): New function. 11480 (acc_copyout_finalize): New function. 11481 (acc_copyout_finalize_async): New function. 11482 (gomp_acc_insert_pointer): Update refcounts. 11483 (gomp_acc_remove_pointer): Return if data is not present on the 11484 accelerator. 11485 * oacc-parallel.c (find_pset): Rename to find_pointer. 11486 (find_pointer): Add support for GOMP_MAP_POINTER. 11487 (handle_ftn_pointers): New function. 11488 (GOACC_parallel_keyed): Update refcounts of variables. 11489 (GOACC_enter_exit_data): Add support for finalized data mappings. 11490 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling 11491 of fortran arrays. 11492 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}. 11493 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support 11494 for GOMP_MAP_FORCE_FROM. 11495 * openacc.f90 (module openacc_internal): Add 11496 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and 11497 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for 11498 acc_copyout_finalize and acc_delete_finalize. 11499 (acc_copyout_finalize_32_h): New subroutine. 11500 (acc_copyout_finalize_64_h): New subroutine. 11501 (acc_copyout_finalize_array_h): New subroutine. 11502 (acc_delete_finalize_32_h): New subroutine. 11503 (acc_delete_finalize_64_h): New subroutine. 11504 (acc_delete_finalize_array_h): New subroutine. 11505 * openacc.h (acc_copyout_finalize): Declare. 11506 (acc_copyout_finalize_async): Declare. 11507 (acc_delete_finalize): Declare. 11508 (acc_delete_finalize_async): Declare. 11509 * openacc_lib.h (acc_copyout_finalize): New interface. 11510 (acc_delete_finalize): New interface. 11511 * target.c (gomp_map_vars): Update dynamic_refcount. 11512 (gomp_remove_var): New function. 11513 (gomp_unmap_vars): Use it. 11514 (gomp_unload_image_from_device): Likewise. 11515 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test 11516 case to utilize OpenACC 2.5 data clause semantics. 11517 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise. 11518 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise. 11519 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise. 11520 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise. 11521 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise. 11522 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise. 11523 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise. 11524 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise. 11525 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise. 11526 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise. 11527 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise. 11528 * testsuite/libgomp.oacc-fortran/data-5.f90: New test. 11529 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to 11530 utilize OpenACC 2.5 data clause semantics. 11531 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise. 11532 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise. 11533 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise. 11534 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise. 11535 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise. 11536 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise. 11537 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise. 11538 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise. 11539 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise. 11540 11541 2018-05-21 Janus Weil <janus (a] gcc.gnu.org> 11542 11543 PR fortran/85841 11544 PR testsuite/85865 11545 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy". 11546 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto. 11547 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto. 11548 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto. 11549 * testsuite/libgomp.fortran/task2.f90: Ditto. 11550 * testsuite/libgomp.fortran/vla1.f90: Ditto. 11551 * testsuite/libgomp.fortran/vla2.f90: Ditto. 11552 * testsuite/libgomp.fortran/vla3.f90: Ditto. 11553 * testsuite/libgomp.fortran/vla4.f90: Ditto. 11554 * testsuite/libgomp.fortran/vla5.f90: Ditto. 11555 * testsuite/libgomp.fortran/vla6.f90: Ditto. 11556 * testsuite/libgomp.fortran/vla8.f90: Ditto. 11557 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto. 11558 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto. 11559 11560 2018-05-18 Cesar Philippidis <cesar (a] codesourcery.com> 11561 11562 PR c++/85782 11563 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test. 11564 11565 2018-05-09 Tom de Vries <tom (a] codesourcery.com> 11566 11567 PR libgomp/82901 11568 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument 11569 to GOACC_enter_exit_data. 11570 11571 2018-05-09 Tom de Vries <tom (a] codesourcery.com> 11572 11573 PR libgomp/83792 11574 * oacc-int.h (async_valid_stream_id_p, async_valid_p) 11575 (async_synchronous_p): New function. 11576 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use 11577 async_valid_p. 11578 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use 11579 async_valid_stream_id_p. 11580 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p. 11581 * oacc-parallel.c (GOACC_parallel_keyed): Same. 11582 11583 2018-05-07 Tom de Vries <tom (a] codesourcery.com> 11584 11585 PR testsuite/85677 11586 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level 11587 include directory in ALWAYS_CFLAGS out of $blddir != "" condition. 11588 11589 2018-05-03 Tom de Vries <tom (a] codesourcery.com> 11590 11591 PR testsuite/85106 11592 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to 11593 extra_tool_flags if it contains an -foffload=-fdump-* flag. 11594 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp. 11595 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump. 11596 11597 2018-05-02 Tom de Vries <tom (a] codesourcery.com> 11598 11599 PR libgomp/85411 11600 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of 11601 GOMP_OPENACC_DIM ... 11602 * env.c (parse_gomp_openacc_dim): ... here. New function. 11603 (initialize_env): Call parse_gomp_openacc_dim. 11604 (goacc_default_dims): Define. 11605 * libgomp.h (goacc_default_dims): Declare. 11606 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function. 11607 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare. 11608 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add 11609 GOMP_PLUGIN_acc_default_dim. 11610 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test. 11611 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test. 11612 11613 2018-05-02 Tom de Vries <tom (a] codesourcery.com> 11614 11615 PR testsuite/83791 11616 * testsuite/libgomp.c++/udr-9.C: Update. 11617 * testsuite/libgomp.c++/atomic-16.C: Remove. 11618 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove. 11619 * testsuite/libgomp.c++/loop-13.C: Remove. 11620 * testsuite/libgomp.c++/loop-14.C: Remove. 11621 * testsuite/libgomp.c++/loop-15.C: Remove. 11622 * testsuite/libgomp.c++/monotonic-1.C: Remove. 11623 * testsuite/libgomp.c++/monotonic-2.C: Remove. 11624 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove. 11625 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove. 11626 * testsuite/libgomp.c++/ordered-1.C: Remove. 11627 * testsuite/libgomp.c++/pr45784.C: Remove. 11628 * testsuite/libgomp.c++/pr64824.C: Remove. 11629 * testsuite/libgomp.c++/pr64868.C: Remove. 11630 * testsuite/libgomp.c++/pr66199-1.C: Remove. 11631 * testsuite/libgomp.c++/pr66199-2.C: Remove. 11632 * testsuite/libgomp.c++/pr66199-3.C: Remove. 11633 * testsuite/libgomp.c++/pr66199-4.C: Remove. 11634 * testsuite/libgomp.c++/pr66199-5.C: Remove. 11635 * testsuite/libgomp.c++/pr66199-6.C: Remove. 11636 * testsuite/libgomp.c++/pr66199-7.C: Remove. 11637 * testsuite/libgomp.c++/pr66199-8.C: Remove. 11638 * testsuite/libgomp.c++/pr66199-9.C: Remove. 11639 * testsuite/libgomp.c++/pr69389.C: Remove. 11640 * testsuite/libgomp.c++/simd10.C: Remove. 11641 * testsuite/libgomp.c++/simd11.C: Remove. 11642 * testsuite/libgomp.c++/simd12.C: Remove. 11643 * testsuite/libgomp.c++/simd13.C: Remove. 11644 * testsuite/libgomp.c++/target-1.C: Remove. 11645 * testsuite/libgomp.c++/target-3.C: Remove. 11646 * testsuite/libgomp.c++/target-4.C: Remove. 11647 * testsuite/libgomp.c++/target-5.C: Remove. 11648 * testsuite/libgomp.c++/taskgroup-1.C: Remove. 11649 * testsuite/libgomp.c++/taskloop-1.C: Remove. 11650 * testsuite/libgomp.c++/taskloop-2.C: Remove. 11651 * testsuite/libgomp.c++/taskloop-3.C: Remove. 11652 * testsuite/libgomp.c++/taskloop-4.C: Remove. 11653 * testsuite/libgomp.c++/udr-9.C: Remove. 11654 * testsuite/libgomp.c++/for-10.C: Remove. 11655 * testsuite/libgomp.c++/for-11.C: Remove. 11656 * testsuite/libgomp.c++/for-12.C: Remove. 11657 * testsuite/libgomp.c++/for-13.C: Remove. 11658 * testsuite/libgomp.c++/for-14.C: Remove. 11659 * testsuite/libgomp.c++/for-9.C: Remove. 11660 * testsuite/libgomp.c/atomic-18.c: Move ... 11661 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here. 11662 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ... 11663 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here. 11664 * testsuite/libgomp.c/loop-13.c: Move ... 11665 * testsuite/libgomp.c-c++-common/loop-13.c: ... here. 11666 * testsuite/libgomp.c/loop-14.c: Move ... 11667 * testsuite/libgomp.c-c++-common/loop-14.c: ... here. 11668 * testsuite/libgomp.c/loop-15.c: Remove. 11669 * testsuite/libgomp.c-c++-common/loop-15.c: New test. 11670 * testsuite/libgomp.c/monotonic-1.c: Move ... 11671 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here. 11672 * testsuite/libgomp.c/monotonic-2.c: Move ... 11673 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here. 11674 * testsuite/libgomp.c/nonmonotonic-1.c: Move ... 11675 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here. 11676 * testsuite/libgomp.c/nonmonotonic-2.c: Move ... 11677 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here. 11678 * testsuite/libgomp.c/ordered-4.c: Move ... 11679 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here. 11680 * testsuite/libgomp.c/pr45784.c: Move ... 11681 * testsuite/libgomp.c-c++-common/pr45784.c: ... here. 11682 * testsuite/libgomp.c/pr64824.c: Move ... 11683 * testsuite/libgomp.c-c++-common/pr64824.c: ... here. 11684 * testsuite/libgomp.c/pr64868.c: Move ... 11685 * testsuite/libgomp.c-c++-common/pr64868.c: ... here. 11686 * testsuite/libgomp.c/pr66199-1.c: Move ... 11687 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here. 11688 * testsuite/libgomp.c/pr66199-2.c: Move ... 11689 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here. 11690 * testsuite/libgomp.c/pr66199-3.c: Move ... 11691 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here. 11692 * testsuite/libgomp.c/pr66199-4.c: Move ... 11693 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here. 11694 * testsuite/libgomp.c/pr66199-5.c: Move ... 11695 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here. 11696 * testsuite/libgomp.c/pr66199-6.c: Move ... 11697 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here. 11698 * testsuite/libgomp.c/pr66199-7.c: Move ... 11699 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here. 11700 * testsuite/libgomp.c/pr66199-8.c: Move ... 11701 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here. 11702 * testsuite/libgomp.c/pr66199-9.c: Move ... 11703 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here. 11704 * testsuite/libgomp.c/pr69389.c: Move ... 11705 * testsuite/libgomp.c-c++-common/pr69389.c: ... here. 11706 * testsuite/libgomp.c/simd-14.c: Move ... 11707 * testsuite/libgomp.c-c++-common/simd-14.c: ... here. 11708 * testsuite/libgomp.c/simd-15.c: Move ... 11709 * testsuite/libgomp.c-c++-common/simd-15.c: ... here. 11710 * testsuite/libgomp.c/simd-16.c: Move ... 11711 * testsuite/libgomp.c-c++-common/simd-16.c: ... here. 11712 * testsuite/libgomp.c/simd-17.c: Move ... 11713 * testsuite/libgomp.c-c++-common/simd-17.c: ... here. 11714 * testsuite/libgomp.c/target-1.c: Move ... 11715 * testsuite/libgomp.c-c++-common/target-1.c: ... here. 11716 * testsuite/libgomp.c/target-10.c: Move ... 11717 * testsuite/libgomp.c-c++-common/target-10.c: ... here. 11718 * testsuite/libgomp.c/target-13.c: Move ... 11719 * testsuite/libgomp.c-c++-common/target-13.c: ... here. 11720 * testsuite/libgomp.c/target-2.c: Move ... 11721 * testsuite/libgomp.c-c++-common/target-2.c: ... here. 11722 * testsuite/libgomp.c/taskgroup-1.c: Move ... 11723 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here. 11724 * testsuite/libgomp.c/taskloop-1.c: Move ... 11725 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here. 11726 * testsuite/libgomp.c/taskloop-2.c: Move ... 11727 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here. 11728 * testsuite/libgomp.c/taskloop-3.c: Move ... 11729 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here. 11730 * testsuite/libgomp.c/taskloop-4.c: Move ... 11731 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here. 11732 * testsuite/libgomp.c/udr-1.c: Move ... 11733 * testsuite/libgomp.c-c++-common/udr-1.c: ... here. 11734 * testsuite/libgomp.c/for-1.c: Move ... 11735 * testsuite/libgomp.c-c++-common/for-1.c: ... here. 11736 * testsuite/libgomp.c/for-1.h: Move ... 11737 * testsuite/libgomp.c-c++-common/for-1.h: ... here. 11738 * testsuite/libgomp.c/for-2.c: Move ... 11739 * testsuite/libgomp.c-c++-common/for-2.c: ... here. 11740 * testsuite/libgomp.c/for-2.h: Move ... 11741 * testsuite/libgomp.c-c++-common/for-2.h: ... here. 11742 * testsuite/libgomp.c/for-3.c: Move ... 11743 * testsuite/libgomp.c-c++-common/for-3.c: ... here. 11744 * testsuite/libgomp.c/for-4.c: Move ... 11745 * testsuite/libgomp.c-c++-common/for-4.c: ... here. 11746 * testsuite/libgomp.c/for-5.c: Move ... 11747 * testsuite/libgomp.c-c++-common/for-5.c: ... here. 11748 * testsuite/libgomp.c/for-6.c: Move ... 11749 * testsuite/libgomp.c-c++-common/for-6.c: ... here. 11750 11751 2018-05-02 Tom de Vries <tom (a] codesourcery.com> 11752 11753 PR libgomp/82428 11754 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use 11755 __builtin_goacc_parlevel_{id,size}. 11756 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same. 11757 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same. 11758 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same. 11759 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same. 11760 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same. 11761 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same. 11762 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same. 11763 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same. 11764 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same. 11765 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same. 11766 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same. 11767 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same. 11768 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same. 11769 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same. 11770 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same. 11771 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same. 11772 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same. 11773 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same. 11774 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same. 11775 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same. 11776 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same. 11777 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same. 11778 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same. 11779 11780 2018-05-02 Tom de Vries <tom (a] codesourcery.com> 11781 11782 PR testsuite/85106 11783 * testsuite/lib/libgomp.exp: Include scanltranstree.exp. 11784 11785 2018-05-02 Tom de Vries <tom (a] codesourcery.com> 11786 11787 PR testsuite/85106 11788 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp. 11789 11790 2018-04-29 Julian Brown <julian (a] codesourcery.com> 11791 Tom de Vries <tom (a] codesourcery.com> 11792 11793 PR testsuite/85527 11794 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow 11795 arbitrary order for iterations of atomic subtract check. 11796 11797 2018-04-28 Tom de Vries <tom (a] codesourcery.com> 11798 11799 PR testsuite/85527 11800 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store 11801 atomic capture results obtained in parallel loop to an array, instead of 11802 to a scalar. 11803 11804 2018-04-26 Tom de Vries <tom (a] codesourcery.com> 11805 11806 PR libgomp/84020 11807 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL. 11808 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define. 11809 (process_GOMP_NVPTX_JIT): New function. 11810 (link_ptx): Use process_GOMP_NVPTX_JIT. 11811 11812 2018-04-26 Richard Biener <rguenther (a] suse.de> 11813 Tom de Vries <tom (a] codesourcery.com> 11814 11815 PR lto/85422 11816 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test. 11817 11818 2018-04-26 Tom de Vries <tom (a] codesourcery.com> 11819 11820 PR target/85519 11821 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce 11822 recursion depth from 25 to 23. 11823 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same. 11824 11825 2018-04-24 H.J. Lu <hongjiu.lu (a] intel.com> 11826 11827 * configure: Regenerated. 11828 11829 2018-04-20 Nathan Sidwell <nathan (a] codesourcery.com> 11830 Tom de Vries <tom (a] codesourcery.com> 11831 11832 PR target/85445 11833 * testsuite/libgomp.oacc-c++/ref-1.C: New. 11834 11835 2018-04-19 Thomas Schwinge <thomas (a] codesourcery.com> 11836 11837 PR libgomp/85463 11838 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file. 11839 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise. 11840 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise. 11841 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise. 11842 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise. 11843 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise. 11844 11845 PR libfortran/85166 11846 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call 11847 abort". 11848 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise. 11849 11850 2018-04-19 Jakub Jelinek <jakub (a] redhat.com> 11851 11852 * configure: Regenerated. 11853 11854 2018-04-18 David Malcolm <dmalcolm (a] redhat.com> 11855 11856 PR jit/85384 11857 * configure: Regenerate. 11858 11859 2018-04-16 Cesar Philippidis <cesar (a] codesourcery.com> 11860 Tom de Vries <tom (a] codesourcery.com> 11861 11862 PR middle-end/84955 11863 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test. 11864 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test. 11865 11866 2018-04-12 Thomas Koenig <tkoenig (a] gcc.gnu.org> 11867 11868 PR fortran/83064 11869 PR testsuite/85346 11870 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified 11871 test from gfortran.dg to here. 11872 11873 2018-04-12 Cesar Philippidis <cesar (a] codesourcery.com> 11874 11875 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346. 11876 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise. 11877 11878 2018-04-12 Cesar Philippidis <cesar (a] codesourcery.com> 11879 11880 PR middle-end/84955 11881 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test. 11882 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test. 11883 11884 2018-04-05 Tom de Vries <tom (a] codesourcery.com> 11885 11886 PR target/85204 11887 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test. 11888 11889 2018-03-26 Tom de Vries <tom (a] codesourcery.com> 11890 11891 PR tree-optimization/85063 11892 * testsuite/libgomp.c/switch-conversion-2.c: New test. 11893 * testsuite/libgomp.c/switch-conversion.c: New test. 11894 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test. 11895 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test. 11896 11897 2018-03-25 Thomas Koenig <tkoenig (a] gcc.gnu.org> 11898 11899 PR fortran/84381 11900 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard 11901 call abort by STOP n. 11902 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise. 11903 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise. 11904 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise. 11905 * testsuite/libgomp.fortran/allocatable1.f90: Likewise. 11906 * testsuite/libgomp.fortran/allocatable10.f90: Likewise. 11907 * testsuite/libgomp.fortran/allocatable11.f90: Likewise. 11908 * testsuite/libgomp.fortran/allocatable12.f90: Likewise. 11909 * testsuite/libgomp.fortran/allocatable2.f90: Likewise. 11910 * testsuite/libgomp.fortran/allocatable3.f90: Likewise. 11911 * testsuite/libgomp.fortran/allocatable4.f90: Likewise. 11912 * testsuite/libgomp.fortran/allocatable5.f90: Likewise. 11913 * testsuite/libgomp.fortran/allocatable6.f90: Likewise. 11914 * testsuite/libgomp.fortran/allocatable7.f90: Likewise. 11915 * testsuite/libgomp.fortran/allocatable8.f90: Likewise. 11916 * testsuite/libgomp.fortran/allocatable9.f90: Likewise. 11917 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. 11918 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise. 11919 * testsuite/libgomp.fortran/associate1.f90: Likewise. 11920 * testsuite/libgomp.fortran/associate2.f90: Likewise. 11921 * testsuite/libgomp.fortran/associate3.f90: Likewise. 11922 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise. 11923 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise. 11924 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise. 11925 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise. 11926 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise. 11927 * testsuite/libgomp.fortran/character1.f90: Likewise. 11928 * testsuite/libgomp.fortran/character2.f90: Likewise. 11929 * testsuite/libgomp.fortran/collapse1.f90: Likewise. 11930 * testsuite/libgomp.fortran/collapse2.f90: Likewise. 11931 * testsuite/libgomp.fortran/collapse3.f90: Likewise. 11932 * testsuite/libgomp.fortran/collapse4.f90: Likewise. 11933 * testsuite/libgomp.fortran/crayptr1.f90: Likewise. 11934 * testsuite/libgomp.fortran/crayptr2.f90: Likewise. 11935 * testsuite/libgomp.fortran/crayptr3.f90: Likewise. 11936 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise. 11937 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise. 11938 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise. 11939 * testsuite/libgomp.fortran/depend-1.f90: Likewise. 11940 * testsuite/libgomp.fortran/depend-2.f90: Likewise. 11941 * testsuite/libgomp.fortran/depend-3.f90: Likewise. 11942 * testsuite/libgomp.fortran/do1.f90: Likewise. 11943 * testsuite/libgomp.fortran/do2.f90: Likewise. 11944 * testsuite/libgomp.fortran/doacross1.f90: Likewise. 11945 * testsuite/libgomp.fortran/doacross2.f90: Likewise. 11946 * testsuite/libgomp.fortran/doacross3.f90: Likewise. 11947 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise. 11948 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise. 11949 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise. 11950 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise. 11951 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise. 11952 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise. 11953 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise. 11954 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise. 11955 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise. 11956 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise. 11957 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise. 11958 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise. 11959 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise. 11960 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise. 11961 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise. 11962 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise. 11963 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise. 11964 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise. 11965 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise. 11966 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise. 11967 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise. 11968 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise. 11969 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise. 11970 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise. 11971 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise. 11972 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise. 11973 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise. 11974 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise. 11975 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise. 11976 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise. 11977 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise. 11978 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise. 11979 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise. 11980 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise. 11981 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise. 11982 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise. 11983 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise. 11984 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise. 11985 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise. 11986 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise. 11987 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise. 11988 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise. 11989 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise. 11990 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise. 11991 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise. 11992 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise. 11993 * testsuite/libgomp.fortran/lib1.f90: Likewise. 11994 * testsuite/libgomp.fortran/lib2.f: Likewise. 11995 * testsuite/libgomp.fortran/lib3.f: Likewise. 11996 * testsuite/libgomp.fortran/lib4.f90: Likewise. 11997 * testsuite/libgomp.fortran/lock-1.f90: Likewise. 11998 * testsuite/libgomp.fortran/lock-2.f90: Likewise. 11999 * testsuite/libgomp.fortran/nested1.f90: Likewise. 12000 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise. 12001 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise. 12002 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise. 12003 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise. 12004 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise. 12005 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise. 12006 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise. 12007 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise. 12008 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise. 12009 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise. 12010 * testsuite/libgomp.fortran/omp_cond1.f: Likewise. 12011 * testsuite/libgomp.fortran/omp_cond2.f: Likewise. 12012 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise. 12013 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise. 12014 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise. 12015 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise. 12016 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise. 12017 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise. 12018 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise. 12019 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise. 12020 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise. 12021 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise. 12022 * testsuite/libgomp.fortran/pointer1.f90: Likewise. 12023 * testsuite/libgomp.fortran/pointer2.f90: Likewise. 12024 * testsuite/libgomp.fortran/pr25162.f: Likewise. 12025 * testsuite/libgomp.fortran/pr25219.f90: Likewise. 12026 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise. 12027 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise. 12028 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise. 12029 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise. 12030 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise. 12031 * testsuite/libgomp.fortran/pr28390.f: Likewise. 12032 * testsuite/libgomp.fortran/pr29629.f90: Likewise. 12033 * testsuite/libgomp.fortran/pr32550.f90: Likewise. 12034 * testsuite/libgomp.fortran/pr33880.f90: Likewise. 12035 * testsuite/libgomp.fortran/pr34020.f90: Likewise. 12036 * testsuite/libgomp.fortran/pr35130.f90: Likewise. 12037 * testsuite/libgomp.fortran/pr42162.f90: Likewise. 12038 * testsuite/libgomp.fortran/pr46753.f90: Likewise. 12039 * testsuite/libgomp.fortran/pr48894.f90: Likewise. 12040 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise. 12041 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise. 12042 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise. 12043 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise. 12044 * testsuite/libgomp.fortran/pr65597.f90: Likewise. 12045 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise. 12046 * testsuite/libgomp.fortran/pr71014.f90: Likewise. 12047 * testsuite/libgomp.fortran/pr81304.f90: Likewise. 12048 * testsuite/libgomp.fortran/pr81841.f90: Likewise. 12049 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise. 12050 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise. 12051 * testsuite/libgomp.fortran/procptr1.f90: Likewise. 12052 * testsuite/libgomp.fortran/recursion1.f90: Likewise. 12053 * testsuite/libgomp.fortran/reduction1.f90: Likewise. 12054 * testsuite/libgomp.fortran/reduction2.f90: Likewise. 12055 * testsuite/libgomp.fortran/reduction3.f90: Likewise. 12056 * testsuite/libgomp.fortran/reduction4.f90: Likewise. 12057 * testsuite/libgomp.fortran/reduction5.f90: Likewise. 12058 * testsuite/libgomp.fortran/reduction6.f90: Likewise. 12059 * testsuite/libgomp.fortran/reference1.f90: Likewise. 12060 * testsuite/libgomp.fortran/reference2.f90: Likewise. 12061 * testsuite/libgomp.fortran/retval1.f90: Likewise. 12062 * testsuite/libgomp.fortran/retval2.f90: Likewise. 12063 * testsuite/libgomp.fortran/sharing1.f90: Likewise. 12064 * testsuite/libgomp.fortran/sharing2.f90: Likewise. 12065 * testsuite/libgomp.fortran/simd1.f90: Likewise. 12066 * testsuite/libgomp.fortran/simd2.f90: Likewise. 12067 * testsuite/libgomp.fortran/simd3.f90: Likewise. 12068 * testsuite/libgomp.fortran/simd4.f90: Likewise. 12069 * testsuite/libgomp.fortran/simd5.f90: Likewise. 12070 * testsuite/libgomp.fortran/simd6.f90: Likewise. 12071 * testsuite/libgomp.fortran/simd7.f90: Likewise. 12072 * testsuite/libgomp.fortran/stack.f90: Likewise. 12073 * testsuite/libgomp.fortran/strassen.f90: Likewise. 12074 * testsuite/libgomp.fortran/tabs1.f90: Likewise. 12075 * testsuite/libgomp.fortran/tabs2.f: Likewise. 12076 * testsuite/libgomp.fortran/target1.f90: Likewise. 12077 * testsuite/libgomp.fortran/target2.f90: Likewise. 12078 * testsuite/libgomp.fortran/target3.f90: Likewise. 12079 * testsuite/libgomp.fortran/target4.f90: Likewise. 12080 * testsuite/libgomp.fortran/target5.f90: Likewise. 12081 * testsuite/libgomp.fortran/target6.f90: Likewise. 12082 * testsuite/libgomp.fortran/target7.f90: Likewise. 12083 * testsuite/libgomp.fortran/target8.f90: Likewise. 12084 * testsuite/libgomp.fortran/task1.f90: Likewise. 12085 * testsuite/libgomp.fortran/task2.f90: Likewise. 12086 * testsuite/libgomp.fortran/task3.f90: Likewise. 12087 * testsuite/libgomp.fortran/task4.f90: Likewise. 12088 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise. 12089 * testsuite/libgomp.fortran/taskloop1.f90: Likewise. 12090 * testsuite/libgomp.fortran/taskloop2.f90: Likewise. 12091 * testsuite/libgomp.fortran/taskloop3.f90: Likewise. 12092 * testsuite/libgomp.fortran/taskloop4.f90: Likewise. 12093 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. 12094 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise. 12095 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise. 12096 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise. 12097 * testsuite/libgomp.fortran/udr1.f90: Likewise. 12098 * testsuite/libgomp.fortran/udr10.f90: Likewise. 12099 * testsuite/libgomp.fortran/udr11.f90: Likewise. 12100 * testsuite/libgomp.fortran/udr12.f90: Likewise. 12101 * testsuite/libgomp.fortran/udr13.f90: Likewise. 12102 * testsuite/libgomp.fortran/udr14.f90: Likewise. 12103 * testsuite/libgomp.fortran/udr15.f90: Likewise. 12104 * testsuite/libgomp.fortran/udr2.f90: Likewise. 12105 * testsuite/libgomp.fortran/udr3.f90: Likewise. 12106 * testsuite/libgomp.fortran/udr4.f90: Likewise. 12107 * testsuite/libgomp.fortran/udr5.f90: Likewise. 12108 * testsuite/libgomp.fortran/udr6.f90: Likewise. 12109 * testsuite/libgomp.fortran/udr7.f90: Likewise. 12110 * testsuite/libgomp.fortran/udr8.f90: Likewise. 12111 * testsuite/libgomp.fortran/udr9.f90: Likewise. 12112 * testsuite/libgomp.fortran/vla1.f90: Likewise. 12113 * testsuite/libgomp.fortran/vla2.f90: Likewise. 12114 * testsuite/libgomp.fortran/vla3.f90: Likewise. 12115 * testsuite/libgomp.fortran/vla4.f90: Likewise. 12116 * testsuite/libgomp.fortran/vla5.f90: Likewise. 12117 * testsuite/libgomp.fortran/vla6.f90: Likewise. 12118 * testsuite/libgomp.fortran/vla7.f90: Likewise. 12119 * testsuite/libgomp.fortran/vla8.f90: Likewise. 12120 * testsuite/libgomp.fortran/workshare1.f90: Likewise. 12121 * testsuite/libgomp.fortran/workshare2.f90: Likewise. 12122 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise. 12123 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise. 12124 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise. 12125 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise. 12126 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise. 12127 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise. 12128 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise. 12129 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise. 12130 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise. 12131 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise. 12132 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise. 12133 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise. 12134 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise. 12135 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise. 12136 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise. 12137 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise. 12138 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise. 12139 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise. 12140 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise. 12141 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise. 12142 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise. 12143 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise. 12144 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise. 12145 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise. 12146 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise. 12147 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise. 12148 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise. 12149 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise. 12150 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise. 12151 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise. 12152 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise. 12153 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise. 12154 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise. 12155 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise. 12156 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise. 12157 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise. 12158 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise. 12159 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise. 12160 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise. 12161 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise. 12162 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise. 12163 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise. 12164 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise. 12165 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise. 12166 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise. 12167 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise. 12168 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise. 12169 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise. 12170 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise. 12171 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise. 12172 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise. 12173 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise. 12174 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise. 12175 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise. 12176 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise. 12177 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise. 12178 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise. 12179 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise. 12180 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise. 12181 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise. 12182 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise. 12183 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise. 12184 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise. 12185 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise. 12186 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise. 12187 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise. 12188 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise. 12189 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise. 12190 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise. 12191 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise. 12192 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise. 12193 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise. 12194 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise. 12195 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise. 12196 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise. 12197 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise. 12198 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise. 12199 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise. 12200 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise. 12201 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. 12202 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise. 12203 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise. 12204 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise. 12205 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise. 12206 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise. 12207 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise. 12208 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise. 12209 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise. 12210 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise. 12211 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise. 12212 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise. 12213 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise. 12214 12215 2018-03-20 Richard Biener <rguenther (a] suse.de> 12216 12217 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one 12218 parallelizable loop. 12219 12220 2018-02-19 Igor Tsimbalist <igor.v.tsimbalist (a] intel.com> 12221 12222 PR target/84148 12223 * configure: Regenerate. 12224 12225 2018-02-16 Jakub Jelinek <jakub (a] redhat.com> 12226 12227 PR fortran/84418 12228 * libgomp.fortran/pr84418-1.f90: New test. 12229 * libgomp.fortran/pr84418-2.f90: New test. 12230 12231 2018-02-14 Jakub Jelinek <jakub (a] redhat.com> 12232 12233 PR fortran/84313 12234 * testsuite/libgomp.fortran/threadprivate4.f90: Add 12235 -std=f2003 -fall-intrinsics into dg-additional-options. 12236 12237 2018-02-08 Martin Jambor <mjambor (a] suse.cz> 12238 12239 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target 12240 clonable. 12241 12242 2018-02-08 Martin Jambor <mjambor (a] suse.cz> 12243 12244 * testsuite/libgomp.hsa.c/staticvar.c: New test. 12245 12246 2018-02-07 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 12247 12248 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort) 12249 [__cplusplus]: Declare extern "C". 12250 12251 2018-02-07 Tom de Vries <tom (a] codesourcery.com> 12252 12253 PR libgomp/84217 12254 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test. 12255 12256 2018-01-29 Christoph Spiel <cspiel (a] freenet.de> 12257 Jakub Jelinek <jakub (a] redhat.com> 12258 12259 PR libgomp/84096 12260 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t 12261 instead of omp_lock_t. 12262 12263 2018-01-25 Tom de Vries <tom (a] codesourcery.com> 12264 12265 PR target/84028 12266 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test. 12267 12268 2018-01-24 Tom de Vries <tom (a] codesourcery.com> 12269 12270 PR target/83589 12271 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test. 12272 12273 2018-01-24 Tom de Vries <tom (a] codesourcery.com> 12274 12275 PR target/81352 12276 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test. 12277 12278 2018-01-19 Tom de Vries <tom (a] codesourcery.com> 12279 Cesar Philippidis <cesar (a] codesourcery.com> 12280 12281 PR target/83920 12282 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test. 12283 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test. 12284 12285 2018-01-03 Jakub Jelinek <jakub (a] redhat.com> 12286 12287 Update copyright years. 12288 12289 * libgomp.texi: Bump @copying's copyright year. 12290 12291 2017-12-30 Tom de Vries <tom (a] codesourcery.com> 12292 12293 PR libgomp/83046 12294 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test. 12295 * testsuite/libgomp.c-c++-common/pr83046.c: New test. 12296 12297 2017-12-27 Tom de Vries <tom (a] codesourcery.com> 12298 12299 PR c++/83046 12300 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static) 12301 (test_nonstatic): Fix return type to workaround PR83046. 12302 12303 2017-12-05 Jakub Jelinek <jakub (a] redhat.com> 12304 12305 PR testsuite/83281 12306 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use 12307 j suffix instead of i. 12308 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main): 12309 Likewise. 12310 12311 2017-12-01 Cesar Philippidis <cesar (a] codesourcery.com> 12312 12313 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing 12314 call to acc_wait (1). 12315 12316 2017-11-24 Jakub Jelinek <jakub (a] redhat.com> 12317 12318 PR fortran/81304 12319 * testsuite/libgomp.fortran/pr81304.f90: New test. 12320 12321 2017-11-23 Jakub Jelinek <jakub (a] redhat.com> 12322 12323 PR fortran/81841 12324 * libgomp.fortran/pr81841.f90: New test. 12325 12326 2017-11-22 Jakub Jelinek <jakub (a] redhat.com> 12327 12328 PR libgomp/83106 12329 * target.c (gomp_target_init): Compute lengths just once and 12330 use them in both malloc size and subsequent copying. 12331 12332 2017-11-17 Igor Tsimbalist <igor.v.tsimbalist (a] intel.com> 12333 12334 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS. 12335 * acinclude.m4: Add cet.m4. 12336 * configure: Regenerate. 12337 * Makefile.in: Likewise. 12338 * testsuite/Makefile.in: Likewise. 12339 12340 2017-11-15 Tom de Vries <tom (a] codesourcery.com> 12341 12342 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied 12343 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int. 12344 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied 12345 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int. 12346 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied 12347 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int. 12348 12349 2017-11-14 Tom de Vries <tom (a] codesourcery.com> 12350 12351 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for 12352 non-nvidia devices. 12353 12354 2017-11-07 Jakub Jelinek <jakub (a] redhat.com> 12355 12356 PR c++/82835 12357 * testsuite/libgomp.c++/pr82835.C: New test. 12358 12359 2017-11-06 Martin Liska <mliska (a] suse.cz> 12360 12361 * testsuite/libgomp.c++/loop-2.C: Return a value 12362 for functions with non-void return type, or change type to void, 12363 or add -Wno-return-type for test. 12364 * testsuite/libgomp.c++/loop-4.C: Likewise. 12365 * testsuite/libgomp.c++/parallel-1.C: Likewise. 12366 * testsuite/libgomp.c++/shared-1.C: Likewise. 12367 * testsuite/libgomp.c++/single-1.C: Likewise. 12368 * testsuite/libgomp.c++/single-2.C: Likewise. 12369 12370 2017-10-31 Tom de Vries <tom (a] codesourcery.com> 12371 12372 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after 12373 "do {} while (false)". 12374 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon 12375 after HSA_DEBUG call. 12376 12377 2017-10-28 Jakub Jelinek <jakub (a] redhat.com> 12378 12379 * target.c (struct gomp_coalesce_buf): New type. 12380 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define. 12381 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions. 12382 (gomp_copy_host2dev): Add CBUF argument, if copying into 12383 the cached ranges, memcpy into buffer instead of copying 12384 into device. 12385 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing): 12386 Add CBUF argument, pass it through to other calls. 12387 (gomp_map_vars): Aggregate copies from host to device if small enough 12388 and with small enough gaps in between into memcpy into a buffer and 12389 fewer host to device copies from the buffer. 12390 (gomp_update): Adjust gomp_copy_host2dev caller. 12391 12392 2017-10-17 Thomas Schwinge <thomas (a] codesourcery.com> 12393 12394 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do 12395 run" directive. 12396 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise. 12397 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise. 12398 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise. 12399 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise. 12400 12401 2017-10-16 Tom de Vries <tom (a] codesourcery.com> 12402 12403 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require 12404 openacc_nvidia_accel_selected. 12405 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same. 12406 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same. 12407 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same. 12408 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same 12409 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same. 12410 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require 12411 openacc_nvidia_accel_selected. Skip for shared memory device. 12412 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same. 12413 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same. 12414 12415 2017-10-09 Martin Jambor <mjambor (a] suse.cz> 12416 12417 PR hsa/82416 12418 * testsuite/libgomp.hsa.c/pr82416.c: New test. 12419 12420 2017-10-07 Tom de Vries <tom (a] codesourcery.com> 12421 12422 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate): 12423 Remove acc_device_nvidia references. 12424 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction): 12425 Same. 12426 12427 2017-10-05 Tom de Vries <tom (a] codesourcery.com> 12428 12429 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove 12430 vector_length(32) clause from acc parallel directive. 12431 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same. 12432 12433 2017-10-04 Tom de Vries <tom (a] codesourcery.com> 12434 12435 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c 12436 (main): Reduce sum of arr elements. Assert that hres is exactly 12437 representable in 32-bit floating point. 12438 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c 12439 (main): Reduce sum of arr elements. Assert that hres and hmres are 12440 exactly representable in 32-bit floating point. 12441 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same. 12442 12443 2017-09-28 Tom de Vries <tom (a] codesourcery.com> 12444 12445 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option 12446 setting. 12447 * testsuite/libgomp.c++/pr69393.C: Same. 12448 * testsuite/libgomp.c++/taskloop-1.C: Same. 12449 * testsuite/libgomp.c++/taskloop-3.C: Same. 12450 * testsuite/libgomp.c++/taskloop-4.C: Same. 12451 * testsuite/libgomp.c/for-4.c: Same. 12452 * testsuite/libgomp.c/pr66199-3.c: Same. 12453 * testsuite/libgomp.c/pr66199-4.c: Same. 12454 * testsuite/libgomp.c/pr66199-6.c: Same. 12455 * testsuite/libgomp.c/taskloop-1.c: Same. 12456 * testsuite/libgomp.c/taskloop-3.c: Same. 12457 * testsuite/libgomp.c/taskloop-4.c: Same. 12458 * testsuite/libgomp.fortran/aligned1.f03: Same. 12459 * testsuite/libgomp.fortran/condinc1.f: Same. 12460 * testsuite/libgomp.fortran/condinc3.f90: Same. 12461 * testsuite/libgomp.fortran/crayptr1.f90: Same. 12462 * testsuite/libgomp.fortran/crayptr2.f90: Same. 12463 * testsuite/libgomp.fortran/crayptr3.f90: Same. 12464 * testsuite/libgomp.fortran/omp_cond1.f: Same. 12465 * testsuite/libgomp.fortran/omp_cond3.F90: Same. 12466 * testsuite/libgomp.fortran/pr66199-1.f90: Same. 12467 * testsuite/libgomp.fortran/pr66199-2.f90: Same. 12468 * testsuite/libgomp.fortran/recursion1.f90: Same. 12469 * testsuite/libgomp.fortran/target2.f90: Same. 12470 * testsuite/libgomp.fortran/target5.f90: Same. 12471 * testsuite/libgomp.fortran/task3.f90: Same. 12472 12473 2017-09-28 Tom de Vries <tom (a] codesourcery.com> 12474 12475 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove 12476 vector_length(32) clause from acc parallel directive. 12477 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same. 12478 12479 2017-09-27 Tom de Vries <tom (a] codesourcery.com> 12480 12481 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main): 12482 Remove acc_device_nvidia references. 12483 12484 2017-09-16 Tom de Vries <tom (a] codesourcery.com> 12485 12486 PR c/81875 12487 * testsuite/libgomp.c-c++-common/pr81875.c: New test. 12488 12489 2017-09-14 Tom de Vries <tom (a] codesourcery.com> 12490 12491 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove. 12492 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ... 12493 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here. 12494 * testsuite/libgomp.c/c.exp: Include test-cases from 12495 libgomp.c-c++-common. 12496 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c 12497 files. 12498 12499 2017-09-14 Jakub Jelinek <jakub (a] redhat.com> 12500 12501 PR c++/81314 12502 * testsuite/libgomp.c++/pr81314.C: New test. 12503 12504 2017-09-03 Gerald Pfeifer <gerald (a] pfeifer.com> 12505 12506 * libgomp.texi (Top): www.openacc.org now uses https. 12507 (Enabling OpenACC): Ditto. 12508 (acc_get_num_devices): Ditto. 12509 (acc_set_device_type): Ditto. 12510 (acc_get_device_type): Ditto. 12511 (acc_set_device_num): Ditto. 12512 (acc_get_device_num): Ditto. 12513 (acc_async_test): Ditto. 12514 (acc_async_test_all): Ditto. 12515 (acc_wait): Ditto. 12516 (acc_wait_all): Ditto. 12517 (acc_wait_all_async): Ditto. 12518 (acc_wait_async): Ditto. 12519 (acc_init): Ditto. 12520 (acc_shutdown): Ditto. 12521 (acc_on_device): Ditto. 12522 (acc_malloc): Ditto. 12523 (acc_free): Ditto. 12524 (acc_copyin): Ditto. 12525 (acc_present_or_copyin): Ditto. 12526 (acc_create): Ditto. 12527 (acc_present_or_create): Ditto. 12528 (acc_copyout): Ditto. 12529 (acc_delete): Ditto. 12530 (acc_update_device): Ditto. 12531 (acc_update_self): Ditto. 12532 (acc_map_data): Ditto. 12533 (acc_unmap_data): Ditto. 12534 (acc_deviceptr): Ditto. 12535 (acc_hostptr): Ditto. 12536 (acc_is_present): Ditto. 12537 (acc_memcpy_to_device): Ditto. 12538 (acc_memcpy_from_device): Ditto. 12539 (acc_get_current_cuda_device): Ditto. 12540 (acc_get_current_cuda_context): Ditto. 12541 (acc_get_cuda_stream): Ditto. 12542 (acc_set_cuda_stream): Ditto. 12543 (ACC_DEVICE_TYPE): Ditto. 12544 (ACC_DEVICE_NUM): Ditto. 12545 (OpenACC Library Interoperability): Ditto. 12546 12547 2017-08-09 Jakub Jelinek <jakub (a] redhat.com> 12548 12549 PR c/81687 12550 * testsuite/libgomp.c/pr81687-1.c: New test. 12551 * testsuite/libgomp.c/pr81687-2.c: New test. 12552 12553 2017-08-07 Jakub Jelinek <jakub (a] redhat.com> 12554 12555 PR c/69389 12556 * testsuite/libgomp.c/pr69389.c: New test. 12557 * testsuite/libgomp.c++/pr69389.C: New test. 12558 12559 2017-08-07 Tom de Vries <tom (a] codesourcery.com> 12560 12561 PR middle-end/78266 12562 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test. 12563 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail. 12564 12565 2017-07-27 Jakub Jelinek <jakub (a] redhat.com> 12566 12567 PR c/45784 12568 * testsuite/libgomp.c/pr45784.c: New test. 12569 * testsuite/libgomp.c++/pr45784.C: New test. 12570 12571 2017-07-19 Tom de Vries <tom (a] codesourcery.com> 12572 12573 * testsuite/libgomp.oacc-c/vec.c: New test. 12574 12575 2017-07-03 Tom de Vries <tom (a] codesourcery.com> 12576 12577 * plugin/plugin-hsa.c: Fix secure_getenv.h include. 12578 12579 2017-06-27 Tom de Vries <tom (a] codesourcery.com> 12580 12581 * plugin/plugin-nvptx.c (notify_var): New function. 12582 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM. 12583 12584 2017-06-27 Tom de Vries <tom (a] codesourcery.com> 12585 12586 * env.c (parse_unsigned_long_1): Factor out of ... 12587 (parse_unsigned_long): ... here. 12588 (parse_int_1): Factor out of ... 12589 (parse_int): ... here. 12590 (parse_int_secure): New function. 12591 (initialize_env): Use parse_int_secure for GOMP_DEBUG. 12592 * secure_getenv.h: Factor out of ... 12593 * plugin/plugin-hsa.c: ... here. 12594 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test. 12595 12596 2017-06-21 Jakub Jelinek <jakub (a] redhat.com> 12597 12598 PR c++/81130 12599 * testsuite/libgomp.c++/pr81130.C: New test. 12600 12601 2017-06-17 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 12602 12603 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if 12604 default args. 12605 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove 12606 dg-xfail-run-if default args. 12607 12608 2017-06-02 Bernd Edlinger <bernd.edlinger (a] hotmail.de> 12609 12610 * testsuite/libgomp.c/pr39591-2.c: Fix test case. 12611 * testsuite/libgomp.c/pr39591-3.c: Likewise. 12612 12613 2017-05-30 Jakub Jelinek <jakub (a] redhat.com> 12614 12615 PR libgomp/80822 12616 * config/linux/affinity.c (gomp_affinity_init_level_1): New function. 12617 (gomp_affinity_init_level): Use it. Always analyze the core and thread 12618 sibling lists, depending on level just pick up what CPUs to put 12619 together into a place vs. whether add multiple ordered places. 12620 12621 2017-05-24 Thomas Schwinge <thomas (a] codesourcery.com> 12622 12623 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes. 12624 * libgomp.map (OACC_2.0.1): Add these. 12625 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases 12626 for "acc_wait", and "acc_wait_all", respectively. 12627 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces 12628 for "acc_wait", and "acc_wait_all", respectively. 12629 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise. 12630 * libgomp.texi (acc_wait, acc_wait_all): Update. 12631 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update. 12632 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file. 12633 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise. 12634 12635 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to 12636 acc_present_or_copyin and acc_present_or_create procedures, 12637 respectively. 12638 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and 12639 generally different variants of OpenACC Runtime Library functions. 12640 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise. 12641 12642 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file. 12643 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise. 12644 12645 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead 12646 of preprocessor definitions. 12647 * libgomp.h (strong_alias): Guard by "#ifdef 12648 HAVE_ATTRIBUTE_ALIAS". 12649 * oacc-mem.c: Provide "acc_pcreate" as alias for 12650 "acc_present_or_create", and "acc_pcopyin" as alias for 12651 "acc_present_or_copyin". 12652 * libgomp.map: New version "OACC_2.0.1". 12653 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate". 12654 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging 12655 its content into... 12656 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file. 12657 Extend testing. 12658 12659 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output 12660 when disabling nvptx offloading. 12661 12662 2017-05-23 Thomas Schwinge <thomas (a] codesourcery.com> 12663 12664 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update. 12665 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise. 12666 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise. 12667 12668 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite. 12669 * testsuite/lib/libgomp.exp 12670 (check_effective_target_openacc_nvidia_accel_configured): New 12671 proc. 12672 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c) 12673 (check_effective_target_c++): New procs. 12674 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c) 12675 (check_effective_target_c++): Likewise. 12676 12677 2017-05-22 Jakub Jelinek <jakub (a] redhat.com> 12678 12679 PR middle-end/80809 12680 * testsuite/libgomp.c/pr80809-2.c: New test. 12681 * testsuite/libgomp.c/pr80809-3.c: New test. 12682 12683 PR middle-end/80809 12684 * testsuite/libgomp.c/pr80809-1.c: New test. 12685 12686 PR middle-end/80853 12687 * testsuite/libgomp.c/pr80853.c: New test. 12688 12689 2017-05-19 Thomas Schwinge <thomas (a] codesourcery.com> 12690 12691 * testsuite/libgomp.oacc-c++/template-reduction.C: Update. 12692 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update. 12693 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise. 12694 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise. 12695 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise. 12696 12697 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions): 12698 Debug output for failure. 12699 12700 2017-05-12 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 12701 12702 * testsuite/lib/libgomp.exp: Load scanlang.exp. 12703 12704 2017-04-27 Jakub Jelinek <jakub (a] redhat.com> 12705 12706 PR bootstrap/80531 12707 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid 12708 bootstrap compare failures. 12709 12710 2017-04-20 Alexander Monakov <amonakov (a] ispras.ru> 12711 12712 * testsuite/libgomp.c/target-36.c: New testcase. 12713 12714 2017-04-13 Jakub Jelinek <jakub (a] redhat.com> 12715 12716 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type 12717 instead of char. 12718 12719 2017-04-11 Jakub Jelinek <jakub (a] redhat.com> 12720 12721 PR libgomp/80394 12722 * testsuite/libgomp.c/pr80394.c: New test. 12723 12724 2017-04-04 Jakub Jelinek <jakub (a] redhat.com> 12725 12726 PR libgomp/79876 12727 * config/posix/thread-stacksize.h: New file. 12728 * config/darwin/thread-stacksize.h: New file. 12729 * config/nvptx/thread-stacksize.h: New file. 12730 * env.c: Include thread-stacksize.h. 12731 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE 12732 instead of 0. Call pthread_attr_setstacksize even if 12733 GOMP_DEFAULT_STACKSIZE is non-zero. 12734 12735 2017-03-30 Jakub Jelinek <jakub (a] redhat.com> 12736 12737 * env.c (initialize_env): Initialize stacksize to 0. 12738 12739 2017-03-22 Cesar Philippidis <cesar (a] codesourcery.com> 12740 12741 PR c++/80029 12742 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test. 12743 12744 2017-03-08 Jakub Jelinek <jakub (a] redhat.com> 12745 12746 PR c/79940 12747 * testsuite/libgomp.c/pr79940.c: New test. 12748 12749 2017-02-15 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 12750 12751 * testsuite/libgomp.c/pr48591.c: Enable on all __float128 12752 targets. 12753 Add __float128 options. 12754 12755 2017-02-11 John David Anglin <danglin (a] gcc.gnu.org> 12756 12757 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove 12758 hppa*-*-* dg-skip-if directive. 12759 12760 2017-02-09 Jakub Jelinek <jakub (a] redhat.com> 12761 12762 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move 12763 dg-skip-if directive into a comment. 12764 12765 2017-02-09 Nathan Sidwell <nathan (a] codesourcery.com> 12766 Chung-Lin Tang <cltang (a] codesourcery.com> 12767 12768 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New. 12769 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and 12770 add additional case. 12771 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under 12772 "openacc_nvidia_accel_selected". 12773 * libgomp.oacc-fortran/nested-function-1.f90 (test2): 12774 Add num_workers(8) clause. 12775 12776 2017-02-08 John David Anglin <danglin (a] gcc.gnu.org> 12777 12778 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on 12779 hppa*-*-*. 12780 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't 12781 include complex.h on hppa*-*-hpux*. 12782 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise. 12783 12784 2017-02-02 Thomas Schwinge <thomas (a] codesourcery.com> 12785 12786 * plugin/plugin-nvptx.c (nvptx_exec): Make it static. 12787 12788 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to 12789 GOMP_OFFLOAD_openacc_exec. Adjust all users. 12790 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to 12791 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users. 12792 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to 12793 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users. 12794 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to 12795 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users. 12796 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to 12797 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users. 12798 12799 2017-01-31 Thomas Schwinge <thomas (a] codesourcery.com> 12800 12801 * libgomp-plugin.h: #include <stdbool.h>. 12802 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps) 12803 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices) 12804 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device) 12805 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image) 12806 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free) 12807 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev) 12808 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run) 12809 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel) 12810 (GOMP_OFFLOAD_openacc_register_async_cleanup) 12811 (GOMP_OFFLOAD_openacc_async_test) 12812 (GOMP_OFFLOAD_openacc_async_test_all) 12813 (GOMP_OFFLOAD_openacc_async_wait) 12814 (GOMP_OFFLOAD_openacc_async_wait_async) 12815 (GOMP_OFFLOAD_openacc_async_wait_all) 12816 (GOMP_OFFLOAD_openacc_async_wait_all_async) 12817 (GOMP_OFFLOAD_openacc_async_set_async) 12818 (GOMP_OFFLOAD_openacc_create_thread_data) 12819 (GOMP_OFFLOAD_openacc_destroy_thread_data) 12820 (GOMP_OFFLOAD_openacc_get_current_cuda_device) 12821 (GOMP_OFFLOAD_openacc_get_current_cuda_context) 12822 (GOMP_OFFLOAD_openacc_get_cuda_stream) 12823 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes. 12824 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use 12825 these. 12826 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image) 12827 (GOMP_OFFLOAD_unload_image): Fix argument types. 12828 12829 2017-01-26 Jakub Jelinek <jakub (a] redhat.com> 12830 12831 * testsuite/lib/libgomp.exp 12832 (check_effective_target_hsa_offloading_selected_nocache): Fix up 12833 check_compile invocation. Fix up removal of executable. Drop 12834 bogus "2>&1" argument. 12835 12836 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules 12837 directive. 12838 12839 2017-01-24 Pekka Jskelinen <pekka (a] parmance.com> 12840 Martin Jambor <mjambor (a] suse.cz> 12841 12842 * plugin/hsa.h: Moved to top level include. 12843 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly. 12844 12845 2017-01-21 Jakub Jelinek <jakub (a] redhat.com> 12846 12847 PR other/79046 12848 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead 12849 of cat to get version from BASE-VER file. 12850 * testsuite/Makefile.in: Regenerated. 12851 12852 2017-01-19 Jakub Jelinek <jakub (a] redhat.com> 12853 12854 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even 12855 for _WIN64. 12856 12857 2017-01-17 Jakub Jelinek <jakub (a] redhat.com> 12858 12859 * plugin/hsa.h: Add GCC runtime library exception. 12860 * plugin/hsa_ext_finalize.h: Likewise. 12861 12862 * plugin/configfrag.ac: For --without-cuda-driver don't initialize 12863 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both 12864 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small 12865 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use 12866 plugin/include/cuda as include dir and -ldl instead of -lcuda as 12867 library to link ptx plugin against. 12868 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC. 12869 (CUDA_CALLS): Define. 12870 (cuda_lib, cuda_lib_inited): New variables. 12871 (init_cuda_lib): New function. 12872 (CUDA_CALL_PREFIX): Define. 12873 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX. 12874 (CUDA_CALL): Use FN instead of (FN). 12875 (CUDA_CALL_NOCHECK): Define. 12876 (cuda_error, fini_streams_for_device, select_stream_for_async, 12877 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx, 12878 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all, 12879 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image, 12880 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use 12881 CUDA_CALL_NOCHECK. 12882 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use 12883 CUDA_CALL_NOCHECK. 12884 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0. 12885 Use CUDA_CALL_NOCHECK. 12886 * plugin/cuda/cuda.h: New file. 12887 * config.h.in: Regenerated. 12888 * configure: Regenerated. 12889 12890 PR other/79046 12891 * configure.ac: Add GCC_BASE_VER. 12892 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to 12893 get version from BASE-VER file. 12894 * testsuite/Makefile.in: Regenerated. 12895 * configure: Regenerated. 12896 * Makefile.in: Regenerated. 12897 12898 2017-01-09 Francois-Xavier Coudert <fxcoudert (a] gcc.gnu.org> 12899 12900 PR libgomp/60670 12901 * Makefile.am: Make fincludedir multilib-aware. 12902 * Makefile.in: Regenerate. 12903 12904 2017-01-01 Jakub Jelinek <jakub (a] redhat.com> 12905 12906 Update copyright years. 12907 12908 * libgomp.texi: Bump @copying's copyright year. 12909 12910 2016-12-02 Sebastian Huber <sebastian.huber (a] embedded-brains.de> 12911 12912 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use 12913 pthread_spinlock_t instead of gomp_mutex_t lock. 12914 (gomp_get_thread_pool): Likewise. 12915 (gomp_release_thread_pool): Likewise. 12916 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir): 12917 Likewise. 12918 12919 2016-12-02 Sebastian Huber <sebastian.huber (a] embedded-brains.de> 12920 12921 * config/rtems/pool.h (gomp_get_thread_pool): Return proper 12922 thread pool in case nthreads == 1. 12923 12924 2016-11-30 Alexander Monakov <amonakov (a] ispras.ru> 12925 12926 * config/nvptx/env.c: Delete. 12927 * icv.c: Move definitions of ICV variables back ... 12928 * env.c: ...here. Do not compile environment-related functionality if 12929 LIBGOMP_OFFLOADED_ONLY is set. 12930 12931 2016-11-30 Alexander Monakov <amonakov (a] ispras.ru> 12932 12933 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it... 12934 (LIBGOMP_OFFLOADED_ONLY): ...here; new define. 12935 * configure: Regenerate. 12936 * config.h.in: Likewise. 12937 12938 2016-11-30 Alexander Monakov <amonakov (a] ispras.ru> 12939 12940 * Makefile.in: Regenerate with automake-1.11.6. 12941 * aclocal.m4: Likewise. 12942 * configure: Likewise. 12943 * testsuite/Makefile.in: Likewise. 12944 12945 2016-11-28 Alexander Monakov <amonakov (a] ispras.ru> 12946 12947 * config/nvptx/critical.c: Delete to use generic implementation. 12948 12949 2016-11-28 Jonas Hahnfeld <Hahnfeld (a] itc.rwth-aachen.de> 12950 12951 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include 12952 ../../affinity.c as fallback. 12953 * config/nvptx/affinity.c: Delete to use fallback implementation. 12954 12955 2016-11-23 Alexander Monakov <amonakov (a] ispras.ru> 12956 Jakub Jelinek <jakub (a] redhat.com> 12957 Dmitry Melnik <dm (a] ispras.ru> 12958 12959 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c. 12960 * Makefile.in. Regenerate. 12961 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it... 12962 (LIBGOMP_USE_PTHREADS): ...here; new define. 12963 * configure: Regenerate. 12964 * config.h.in: Likewise. 12965 * config/posix/affinity.c: Move to... 12966 * affinity.c: ...here (new file). Guard use of Pthreads-specific 12967 interface by LIBGOMP_USE_PTHREADS. 12968 * critical.c: Split out GOMP_atomic_{start,end} into... 12969 * atomic.c: ...here (new file). 12970 * env.c: Split out ICV definitions into... 12971 * icv.c: ...here (new file) and... 12972 * icv-device.c: ...here. New file. 12973 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c. 12974 (gomp_destroy_lock_30): Ditto. 12975 (gomp_set_lock_30): Ditto. 12976 (gomp_unset_lock_30): Ditto. 12977 (gomp_test_lock_30): Ditto. 12978 (gomp_init_nest_lock_30): Ditto. 12979 (gomp_destroy_nest_lock_30): Ditto. 12980 (gomp_set_nest_lock_30): Ditto. 12981 (gomp_unset_nest_lock_30): Ditto. 12982 (gomp_test_nest_lock_30): Ditto. 12983 * lock.c: New. 12984 * config/nvptx/lock.c: New. 12985 * config/nvptx/bar.c: New. 12986 * config/nvptx/bar.h: New. 12987 * config/nvptx/doacross.h: New. 12988 * config/nvptx/error.c: New. 12989 * config/nvptx/icv-device.c: New. 12990 * config/nvptx/mutex.h: New. 12991 * config/nvptx/pool.h: New. 12992 * config/nvptx/proc.c: New. 12993 * config/nvptx/ptrlock.h: New. 12994 * config/nvptx/sem.h: New. 12995 * config/nvptx/simple-bar.h: New. 12996 * config/nvptx/target.c: New. 12997 * config/nvptx/task.c: New. 12998 * config/nvptx/team.c: New. 12999 * config/nvptx/time.c: New. 13000 * config/posix/simple-bar.h: New. 13001 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h. 13002 (gomp_num_teams_var): Declare. 13003 (struct gomp_thread_pool): Change threads_dock member to 13004 gomp_simple_barrier_t. 13005 [__nvptx__] (gomp_thread): New implementation. 13006 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS. 13007 (gomp_thread_destructor): Ditto. 13008 (gomp_init_thread_affinity): Ditto. 13009 * team.c: Guard uses of Pthreads-specific interfaces by 13010 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock. 13011 (gomp_free_thread) [__nvptx__]: Do not call 'free'. 13012 * config/nvptx/alloc.c: Delete. 13013 * config/nvptx/barrier.c: Ditto. 13014 * config/nvptx/fortran.c: Ditto. 13015 * config/nvptx/iter.c: Ditto. 13016 * config/nvptx/iter_ull.c: Ditto. 13017 * config/nvptx/loop.c: Ditto. 13018 * config/nvptx/loop_ull.c: Ditto. 13019 * config/nvptx/ordered.c: Ditto. 13020 * config/nvptx/parallel.c: Ditto. 13021 * config/nvptx/priority_queue.c: Ditto. 13022 * config/nvptx/sections.c: Ditto. 13023 * config/nvptx/single.c: Ditto. 13024 * config/nvptx/splay-tree.c: Ditto. 13025 * config/nvptx/work.c: Ditto. 13026 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass 13027 -foffload=-lgfortran in addition to -lgfortran. 13028 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto. 13029 * plugin/plugin-nvptx.c: Include <limits.h>. 13030 (struct targ_fn_descriptor): Add new fields. 13031 (struct ptx_device): Ditto. Set them... 13032 (nvptx_open_device): ...here. 13033 (nvptx_adjust_launch_bounds): New. 13034 (nvptx_host2dev): Allow NULL 'nvthd'. 13035 (nvptx_dev2host): Ditto. 13036 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400. 13037 (link_ptx): Adjust log sizes. 13038 (nvptx_host2dev): Allow NULL 'nvthd'. 13039 (nvptx_dev2host): Ditto. 13040 (nvptx_set_clocktick): New. Use it... 13041 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor 13042 fields. 13043 (GOMP_OFFLOAD_dev2dev): New. 13044 (nvptx_adjust_launch_bounds): New. 13045 (nvptx_stacks_size): New. 13046 (nvptx_stacks_alloc): New. 13047 (nvptx_stacks_free): New. 13048 (GOMP_OFFLOAD_run): New. 13049 (GOMP_OFFLOAD_async_run): New (stub). 13050 13051 2016-11-23 Martin Jambor <mjambor (a] suse.cz> 13052 13053 * testsuite/libgomp.hsa.c/bits-insns.c: New test. 13054 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise. 13055 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise. 13056 13057 2016-11-23 Martin Liska <mliska (a] suse.cz> 13058 Martin Jambor <mjambor (a] suse.cz> 13059 13060 * plugin/hsa.h: New file. 13061 * plugin/hsa_ext_finalize.h: New file. 13062 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for 13063 header file unistd.h, and functions secure_getenv, __secure_getenv, 13064 getuid, geteuid, getgid and getegid. 13065 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added 13066 -D_GNU_SOURCE. 13067 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h. 13068 Handle various cases of secure_getenv presence, add an implementation 13069 when we can test effective UID and GID. 13070 (struct hsa_runtime_fn_info): New structure. 13071 (hsa_runtime_fn_info hsa_fns): New variable. 13072 (hsa_runtime_lib): Likewise. 13073 (support_cpu_devices): Likewise. 13074 (init_enviroment_variables): Load newly introduced ENV 13075 variables. 13076 (hsa_warn): Call hsa run-time functions via hsa_fns structure. 13077 (hsa_fatal): Likewise. 13078 (DLSYM_FN): New macro. 13079 (init_hsa_runtime_functions): New function. 13080 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns 13081 structure. Depending on environment, also allow CPU devices. 13082 (init_hsa_context): Call hsa run-time functions via hsa_fns structure. 13083 (get_kernarg_memory_region): Likewise. 13084 (GOMP_OFFLOAD_init_device): Likewise. 13085 (destroy_hsa_program): Likewise. 13086 (init_basic_kernel_info): New function. 13087 (GOMP_OFFLOAD_load_image): Use it. 13088 (create_and_finalize_hsa_program): Call hsa run-time functions via 13089 hsa_fns structure. 13090 (create_single_kernel_dispatch): Likewise. 13091 (release_kernel_dispatch): Likewise. 13092 (init_single_kernel): Likewise. 13093 (parse_target_attributes): Allow up multiple HSA grid dimensions. 13094 (get_group_size): New function. 13095 (run_kernel): Likewise. 13096 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel. 13097 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns 13098 structure. 13099 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support. 13100 * testsuite/libgomp-test-support.exp.in: Likewise. 13101 * Makefile.in: Regenerated. 13102 * aclocal.m4: Likewise. 13103 * config.h.in: Likewise. 13104 * configure: Likewise. 13105 * testsuite/Makefile.in: Likewise. 13106 13107 2016-11-15 Martin Jambor <mjambor (a] suse.cz> 13108 Alexander Monakov <amonakov (a] ispras.ru> 13109 13110 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add 13111 mapping clauses to target constructs. 13112 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto. 13113 13114 2016-11-15 Matthias Klose <doko (a] ubuntu.com> 13115 13116 * configure: Regenerate. 13117 13118 2016-11-10 Jakub Jelinek <jakub (a] redhat.com> 13119 13120 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307. 13121 * omp_lib.h.in (openmp_version): Likewise. 13122 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead 13123 of 201307. 13124 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise. 13125 13126 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90 13127 (fib_wrapper): Add map(from: x) clause. 13128 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90 13129 (e_53_2): Likewise. 13130 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90 13131 (accum): Add map(tmp) clause. 13132 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90 13133 (accum): Add map(tofrom: tmp) clause. 13134 * testsuite/libgomp.fortran/examples-4/target_data-3.f90 13135 (gramSchmidt): Likewise. 13136 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add 13137 map(tofrom: sum) clause. 13138 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice 13139 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause. 13140 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause 13141 only allowed on the loop iterator. 13142 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause. 13143 * testsuite/libgomp.fortran/taskloop2.f90: New test. 13144 * testsuite/libgomp.fortran/taskloop4.f90: New test. 13145 * testsuite/libgomp.fortran/doacross1.f90: New test. 13146 * testsuite/libgomp.fortran/doacross3.f90: New test. 13147 * testsuite/libgomp.fortran/taskloop1.f90: New test. 13148 * testsuite/libgomp.fortran/taskloop3.f90: New test. 13149 * testsuite/libgomp.fortran/doacross2.f90: New test. 13150 * testsuite/libgomp.c/doacross-1.c (main): Add missing 13151 #pragma omp atomic read. 13152 * testsuite/libgomp.c/doacross-2.c (main): Likewise. 13153 * testsuite/libgomp.c/doacross-3.c (main): Likewise. 13154 13155 2016-11-02 Cesar Philippidis <cesar (a] codesourcery.com> 13156 Nathan Sidwell <nathan (a] acm.org> 13157 13158 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes 13159 to determine default geometry. 13160 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang 13161 dimension. 13162 13163 2016-11-01 Jakub Jelinek <jakub (a] redhat.com> 13164 13165 * hashtab.h: Use standard GPLv3 with runtime exception 13166 boilerplate. 13167 13168 2016-10-27 Aldy Hernandez <aldyh (a] redhat.com> 13169 13170 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate 13171 size when allocating new thread. 13172 13173 2016-09-14 Marek Polacek <polacek (a] redhat.com> 13174 13175 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated. 13176 13177 2016-08-19 Jakub Jelinek <jakub (a] redhat.com> 13178 13179 PR fortran/71014 13180 * testsuite/libgomp.fortran/pr71014.f90: New test. 13181 13182 2016-08-18 Chung-Lin Tang <cltang (a] codesourcery.com> 13183 13184 PR middle-end/70895 13185 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit 13186 firstprivate clauses. 13187 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit 13188 copy clauses. 13189 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise. 13190 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise. 13191 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise. 13192 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise. 13193 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise. 13194 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise. 13195 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise. 13196 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise. 13197 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise. 13198 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise. 13199 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise. 13200 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise. 13201 13202 2016-08-14 Chung-Lin Tang <cltang (a] codesourcery.com> 13203 13204 PR fortran/70598 13205 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test. 13206 13207 2016-08-08 Jakub Jelinek <jakub (a] redhat.com> 13208 13209 PR c++/58706 13210 * testsuite/libgomp.c++/pr58706.C: New test. 13211 13212 2016-08-04 Thomas Schwinge <thomas (a] codesourcery.com> 13213 13214 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file. 13215 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise. 13216 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C: 13217 Likewise. 13218 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise. 13219 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: 13220 Likewise. 13221 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust. 13222 13223 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link" 13224 test, and don't hardcode -O0. 13225 13226 2016-08-03 Nathan Sidwell <nathan (a] codesourcery.com> 13227 13228 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New. 13229 13230 2016-07-15 Cesar Philippidis <cesar (a] codesourcery.com> 13231 13232 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New 13233 test. 13234 13235 2016-07-03 H.J. Lu <hongjiu.lu (a] intel.com> 13236 13237 PR middle-end/71734 13238 * testsuite/libgomp.fortran/pr71734-1.f90: New test. 13239 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise. 13240 13241 2016-07-01 Jakub Jelinek <jakub (a] redhat.com> 13242 13243 PR fortran/71717 13244 * testsuite/libgomp.fortran/associate3.f90: New test. 13245 13246 2016-06-17 Jakub Jelinek <jakub (a] redhat.com> 13247 13248 * testsuite/libgomp.c++/target-21.C: New test. 13249 13250 2016-06-16 Jakub Jelinek <jakub (a] redhat.com> 13251 13252 * testsuite/libgomp.c++/target-20.C: New test. 13253 13254 2016-06-10 Thomas Schwinge <thomas (a] codesourcery.com> 13255 Cesar Philippidis <cesar (a] codesourcery.com> 13256 13257 PR middle-end/71373 13258 * libgomp.oacc-c/nested-function-1.c: New file. 13259 * libgomp.oacc-c/nested-function-2.c: Likewise. 13260 * libgomp.oacc-fortran/nested-function-1.f90: Likewise. 13261 * libgomp.oacc-fortran/nested-function-2.f90: Likewise. 13262 * libgomp.oacc-fortran/nested-function-3.f90: Likewise. 13263 13264 2016-06-10 Thomas Schwinge <thomas (a] codesourcery.com> 13265 13266 PR c/71381 13267 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include 13268 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c". 13269 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file. 13270 13271 2016-06-03 Chung-Lin Tang <cltang (a] codesourcery.com> 13272 13273 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase. 13274 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase. 13275 13276 2016-06-01 Cesar Philippidis <cesar (a] codesourcery.com> 13277 13278 PR c/70688 13279 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file. 13280 13281 2016-05-26 Jakub Jelinek <jakub (a] redhat.com> 13282 13283 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static) 13284 instead of invalid schedule(static, 0). 13285 * testsuite/libgomp.c/doacross-2.c (main): Likewise. 13286 13287 2016-05-26 Chung-Lin Tang <cltang (a] codesourcery.com> 13288 13289 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter. 13290 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async' 13291 parameter, use to set async stream around call to gomp_unmap_vars, 13292 call gomp_unmap_vars() with 'do_copyfrom' set to true. 13293 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field. 13294 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP 13295 events and call GOMP_PLUGIN_async_unmap_vars() for each of them. 13296 (event_add): Add int parameter, initialize 'val' field when 13297 adding new ptx_event struct. 13298 (nvptx_evec): Adjust event_add() call arguments. 13299 (nvptx_host2dev): Likewise. 13300 (nvptx_dev2host): Likewise. 13301 (nvptx_wait_async): Likewise. 13302 (nvptx_wait_all_async): Likewise. 13303 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter, 13304 pass to event_add() call. 13305 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async' 13306 parameter. 13307 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to 13308 call openacc.register_async_cleanup_func() hook. 13309 * oacc-parallel.c (GOACC_parallel_keyed): Likewise. 13310 * target.c (gomp_copy_from_async): Delete function. 13311 (gomp_map_vars): Remove async_refcount. 13312 (gomp_unmap_vars): Likewise. 13313 (gomp_load_image_to_device): Likewise. 13314 (omp_target_associate_ptr): Likewise. 13315 * libgomp.h (struct splay_tree_key_s): Remove async_refcount. 13316 (acc_dispatch_t.register_async_cleanup_func): Add int parameter. 13317 (gomp_copy_from_async): Remove. 13318 13319 2016-05-26 Chung-Lin Tang <cltang (a] codesourcery.com> 13320 13321 * target.c (gomp_device_copy): New function. 13322 (gomp_copy_host2dev): Likewise. 13323 (gomp_copy_dev2host): Likewise. 13324 (gomp_free_device_memory): Likewise. 13325 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev. 13326 (gomp_map_pointer): Likewise. 13327 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle 13328 NULL value from alloc_func plugin hook. 13329 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory. 13330 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host. 13331 (gomp_unmap_vars): Likewise. 13332 (gomp_update): Adjust to call gomp_copy_dev2host and 13333 gomp_copy_host2dev functions. 13334 (gomp_unload_image_from_device): Handle false value from 13335 unload_image_func plugin hook. 13336 (gomp_init_device): Handle false value from init_device_func 13337 plugin hook. 13338 (gomp_exit_data): Adjust to call gomp_copy_dev2host. 13339 (omp_target_free): Adjust to call gomp_free_device_memory. 13340 (omp_target_memcpy): Handle return values from host2dev_func, 13341 dev2host_func, and dev2dev_func plugin hooks. 13342 (omp_target_memcpy_rect_worker): Likewise. 13343 (gomp_target_fini): Handle false value from fini_device_func 13344 plugin hook. 13345 * libgomp.h (struct gomp_device_descr): Adjust return type of 13346 init_device_func, fini_device_func, unload_image_func, free_func, 13347 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'. 13348 * oacc-init.c (acc_shutdown_1): Handle false value from 13349 fini_device_func plugin hook. 13350 * oacc-host.c (host_init_device): Change return type to bool. 13351 (host_fini_device): Likewise. 13352 (host_unload_image): Likewise. 13353 (host_free): Likewise. 13354 (host_dev2host): Likewise. 13355 (host_host2dev): Likewise. 13356 * oacc-mem.c (acc_free): Handle plugin hook fatal error case. 13357 (acc_memcpy_to_device): Likewise. 13358 (acc_memcpy_from_device): Likewise. 13359 (delete_copyout): Add libfnname parameter, handle free_func 13360 hook fatal error case. 13361 (acc_delete): Adjust delete_copyout call. 13362 (acc_copyout): Likewise. 13363 (update_dev_host): Move gomp_mutex_unlock to after 13364 host2dev/dev2host hook calls. 13365 13366 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable 13367 to 'hsa_error_msg', for clarity. 13368 (hsa_fatal): Likewise. 13369 (hsa_error): New function. 13370 (init_hsa_context): Change return type to bool, adjust to return 13371 false on error. 13372 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context 13373 return value. 13374 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to 13375 return false on error. 13376 (get_agent_info): Adjust to return NULL on error. 13377 (destroy_hsa_program): Change return type to bool, adjust to 13378 return false on error. 13379 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error. 13380 (destroy_module): Change return type to bool, adjust to 13381 return false on error. 13382 (GOMP_OFFLOAD_unload_image): Likewise. 13383 (GOMP_OFFLOAD_fini_device): Likewise. 13384 (GOMP_OFFLOAD_alloc): Change to return NULL when called. 13385 (GOMP_OFFLOAD_free): Change to return false when called. 13386 (GOMP_OFFLOAD_dev2host): Likewise. 13387 (GOMP_OFFLOAD_host2dev): Likewise. 13388 (GOMP_OFFLOAD_dev2dev): Likewise. 13389 13390 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro. 13391 (CUDA_CALL): Likewise. 13392 (CUDA_CALL_ASSERT): Likewise. 13393 (map_init): Change return type to bool, use CUDA_CALL* macros. 13394 (map_fini): Likewise. 13395 (init_streams_for_device): Change return type to bool, adjust 13396 call to map_init. 13397 (fini_streams_for_device): Change return type to bool, adjust 13398 call to map_fini. 13399 (select_stream_for_async): Release stream_lock before calls to 13400 GOMP_PLUGIN_fatal, adjust call to map_init. 13401 (nvptx_init): Use CUDA_CALL* macros. 13402 (nvptx_attach_host_thread_to_device): Change return type to bool, 13403 use CUDA_CALL* macros. 13404 (nvptx_open_device): Use CUDA_CALL* macros. 13405 (nvptx_close_device): Change return type to bool, use CUDA_CALL* 13406 macros. 13407 (nvptx_get_num_devices): Use CUDA_CALL* macros. 13408 (link_ptx): Change return type to bool, use CUDA_CALL* macros. 13409 (nvptx_exec): Use CUDA_CALL* macros. 13410 (nvptx_alloc): Use CUDA_CALL* macros. 13411 (nvptx_free): Change return type to bool, use CUDA_CALL* macros. 13412 (nvptx_host2dev): Likewise. 13413 (nvptx_dev2host): Likewise. 13414 (nvptx_wait): Use CUDA_CALL* macros. 13415 (nvptx_wait_async): Likewise. 13416 (nvptx_wait_all): Likewise. 13417 (nvptx_wait_all_async): Likewise. 13418 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire, 13419 use CUDA_CALL* macros, adjust call to map_fini. 13420 (GOMP_OFFLOAD_init_device): Change return type to bool, 13421 adjust code accordingly. 13422 (GOMP_OFFLOAD_fini_device): Likewise. 13423 (GOMP_OFFLOAD_load_image): Adjust calls to 13424 nvptx_attach_host_thread_to_device/link_ptx to handle errors, 13425 use CUDA_CALL* macros. 13426 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust 13427 return code. 13428 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return. 13429 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to 13430 handle error return. 13431 (GOMP_OFFLOAD_dev2host): Likewise. 13432 (GOMP_OFFLOAD_host2dev): Likewise. 13433 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros. 13434 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise. 13435 13436 2016-05-24 Cesar Philippidis <cesar (a] codesourcery.com> 13437 13438 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets. 13439 (acc_free): Likewise. 13440 (acc_memcpy_to_device): Likewise. 13441 (acc_memcpy_from_device): Likewise. 13442 (acc_deviceptr): Likewise. 13443 (acc_hostptr): Likewise. 13444 (acc_is_present): Likewise. 13445 (acc_map_data): Likewise. 13446 (acc_unmap_data): Likewise. 13447 (present_create_copy): Likewise. 13448 (delete_copyout): Likewise. 13449 (update_dev_host): Likewise. 13450 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail. 13451 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test. 13452 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test. 13453 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise. 13454 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test. 13455 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that 13456 it only runs on nvptx targets. 13457 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise. 13458 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise. 13459 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise. 13460 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise. 13461 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise. 13462 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise. 13463 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise. 13464 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise. 13465 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. 13466 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise. 13467 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise. 13468 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise. 13469 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise. 13470 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise. 13471 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise. 13472 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. 13473 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise. 13474 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise. 13475 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise. 13476 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise. 13477 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise. 13478 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise. 13479 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise. 13480 13481 2016-05-23 Martin Jambor <mjambor (a] suse.cz> 13482 13483 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test. 13484 13485 2016-05-17 Chung-Lin Tang <cltang (a] codesourcery.com> 13486 13487 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call 13488 to gomp_init_targets_once. 13489 (acc_set_device_type): Remove !cached_base_dev condition on call to 13490 gomp_init_targets_once, move call to before acc_device_lock acquire, 13491 to avoid deadlock. 13492 (acc_get_device_num): Remove !cached_base_dev condition on call to 13493 gomp_init_targets_once. 13494 (acc_set_device_num): Likewise. 13495 13496 2016-05-16 Martin Jambor <mjambor (a] suse.cz> 13497 13498 * testsuite/libgomp.hsa.c/complex-align-2.c: New test. 13499 13500 2016-05-02 Nathan Sidwell <nathan (a] codesourcery.com> 13501 13502 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust 13503 expected partitioning. 13504 13505 2016-04-29 Cesar Philippidis <cesar (a] codesourcery.com> 13506 13507 PR middle-end/70626 13508 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test. 13509 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test. 13510 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test. 13511 13512 2016-04-21 Alexander Monakov <amonakov (a] ispras.ru> 13513 13514 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error 13515 non-fatal. 13516 13517 2016-04-19 Jakub Jelinek <jakub (a] redhat.com> 13518 13519 PR middle-end/70680 13520 * testsuite/libgomp.c/pr70680-1.c: New test. 13521 * testsuite/libgomp.c/pr70680-2.c: New test. 13522 13523 2016-04-14 Cesar Philippidis <cesar (a] codesourcery.com> 13524 13525 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't 13526 pass parameter variables to subroutines. 13527 13528 2016-04-14 Cesar Philippidis <cesar (a] codesourcery.com> 13529 13530 PR middle-end/70643 13531 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test. 13532 13533 2016-04-13 Cesar Philippidis <cesar (a] codesourcery.com> 13534 13535 PR testsuite/68242 13536 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test. 13537 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise. 13538 13539 2016-04-12 Thomas Schwinge <thomas (a] codesourcery.com> 13540 13541 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to 13542 GOACC_parallel_keyed, restore GOACC_parallel prototype, new 13543 GOACC_declare prototype. 13544 13545 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: 13546 Merge this file, and... 13547 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c: 13548 ... this file, and... 13549 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: 13550 ... this file, and... 13551 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: 13552 ... this file, and... 13553 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: 13554 ... this file, and... 13555 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: 13556 ... this file, and... 13557 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: 13558 ... this file, and... 13559 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: 13560 ... this file, and... 13561 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: 13562 ... this file, and... 13563 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: 13564 ... this file, and... 13565 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: 13566 ... this file, and... 13567 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: 13568 ... this file, and... 13569 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: 13570 ... this file into... 13571 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this 13572 file. 13573 13574 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: 13575 Make failure observable. 13576 13577 2016-04-12 Jakub Jelinek <jakub (a] redhat.com> 13578 13579 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies 13580 field. 13581 * target.c (gomp_target_fallback_firstprivate, 13582 gomp_target_unshare_firstprivate): Removed. 13583 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory 13584 before waiting for dependencies. 13585 (gomp_target_task_fn): Don't copy firstprivate vars here. 13586 * task.c (GOMP_PLUGIN_target_task_completion): Don't free 13587 firstprivate_copies here. 13588 (gomp_create_target_task): Don't initialize firstprivate_copies field. 13589 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of 13590 explicit/implicit firstprivate. 13591 13592 2016-04-08 Cesar Philippidis <cesar (a] codesourcery.com> 13593 13594 PR lto/70289 13595 PR ipa/70348 13596 PR tree-optimization/70373 13597 PR middle-end/70533 13598 PR middle-end/70534 13599 PR middle-end/70535 13600 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New 13601 test. 13602 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New 13603 test. 13604 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New 13605 test. 13606 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New 13607 test. 13608 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New 13609 test. 13610 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New 13611 test. 13612 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New 13613 test. 13614 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New 13615 test. 13616 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New 13617 test. 13618 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test. 13619 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test. 13620 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test. 13621 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New 13622 test. 13623 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New 13624 test. 13625 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New 13626 test. 13627 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New 13628 test. 13629 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test 13630 coverage. 13631 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise. 13632 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise. 13633 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test. 13634 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test. 13635 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test. 13636 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test 13637 coverage. 13638 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise. 13639 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise. 13640 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise. 13641 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise. 13642 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test. 13643 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test. 13644 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test. 13645 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test. 13646 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage. 13647 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise. 13648 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise. 13649 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise. 13650 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise. 13651 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. 13652 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test. 13653 13654 2016-03-30 Thomas Schwinge <thomas (a] codesourcery.com> 13655 James Norris <jnorris (a] codesourcery.com> 13656 Nathan Sidwell <nathan (a] codesourcery.com> 13657 Julian Brown <julian (a] codesourcery.com> 13658 Cesar Philippidis <cesar (a] codesourcery.com> 13659 Chung-Lin Tang <cltang (a] codesourcery.com> 13660 Tom de Vries <tom (a] codesourcery.com> 13661 13662 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update. 13663 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise. 13664 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise. 13665 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise. 13666 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise. 13667 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise. 13668 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise. 13669 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise. 13670 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise. 13671 XFAIL. 13672 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update. 13673 Incorporate... 13674 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this 13675 file. 13676 * testsuite/libgomp.oacc-c++/template-reduction.C: New file. 13677 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise. 13678 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise. 13679 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c: 13680 Likewise. 13681 * testsuite/libgomp.oacc-c-c++-common/private-variables.c: 13682 Likewise. 13683 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise. 13684 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise. 13685 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise. 13686 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise. 13687 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise. 13688 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise. 13689 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise. 13690 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise. 13691 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise. 13692 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: 13693 Likewise. 13694 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise. 13695 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise. 13696 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this 13697 file... 13698 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this 13699 file into... 13700 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new 13701 file. Update. 13702 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New 13703 file. 13704 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c: 13705 Likewise. 13706 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to... 13707 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c: 13708 ... this new file. Update. 13709 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to... 13710 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c: 13711 ... this new file. Update. 13712 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New 13713 file. Incorporate... 13714 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this 13715 file, and... 13716 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this 13717 file, and... 13718 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this 13719 file. 13720 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file. 13721 13722 2016-03-29 Thomas Schwinge <thomas (a] codesourcery.com> 13723 13724 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call 13725 set-torture-options. 13726 13727 2016-03-24 Thomas Schwinge <thomas (a] codesourcery.com> 13728 13729 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use 13730 gcc-dg-runtest. 13731 * testsuite/libgomp.oacc-c/c.exp: Likewise. 13732 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify 13733 -fno-builtin-acc_on_device instead of -O0. 13734 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for 13735 -O0. 13736 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise. 13737 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: 13738 Likewise. 13739 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise. 13740 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise. 13741 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise. 13742 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise. 13743 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise. 13744 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise. 13745 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise. 13746 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise. 13747 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise. 13748 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise. 13749 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise. 13750 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise. 13751 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise. 13752 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise. 13753 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise. 13754 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise. 13755 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise. 13756 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c: 13757 Don't specify -O2. 13758 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c: 13759 Likewise. 13760 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c: 13761 Likewise. 13762 13763 2016-03-24 Martin Liska <mliska (a] suse.cz> 13764 13765 * plugin/plugin-hsa.c (packet_store_release): New function 13766 that is taken from the HSA runtime manual. 13767 (GOMP_OFFLOAD_run): Use the function. 13768 13769 2016-03-23 Jakub Jelinek <jakub (a] redhat.com> 13770 13771 PR c++/70376 13772 * testsuite/libgomp.c++/pr70376.C: New test. 13773 13774 2016-03-23 Tom de Vries <tom (a] codesourcery.com> 13775 13776 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing 13777 initialization of lresult and lvresult. 13778 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same. 13779 13780 2016-03-23 James Norris <jnorris (a] codesourcery.com> 13781 Daichi Fukuoka <dc-fukuoka (a] sgi.com> 13782 13783 PR libgomp/69414 13784 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address. 13785 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests. 13786 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise. 13787 * testsuite/libgomp.oacc-fortran/update-1.f90: New file. 13788 13789 2016-03-23 Martin Liska <mliska (a] suse.cz> 13790 13791 PR hsa/70337 13792 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow 13793 argument just in case a dispatched kernel uses that argument. 13794 13795 2016-03-16 Thomas Schwinge <thomas (a] codesourcery.com> 13796 13797 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to 13798 -ftree-parallelize-loops/-fopenacc changes. 13799 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: 13800 Likewise. 13801 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: 13802 Likewise. 13803 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: 13804 Likewise. 13805 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: 13806 Likewise. 13807 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise. 13808 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise. 13809 13810 2016-03-13 Thomas Schwinge <thomas (a] codesourcery.com> 13811 13812 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to 13813 always_ld_library_path the path to libgcc_s. 13814 13815 2016-03-10 Cesar Philippidis <cesar (a] codesourcery.com> 13816 13817 PR testsuite/70009 13818 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed. 13819 13820 2016-03-09 Tom de Vries <tom (a] codesourcery.com> 13821 13822 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test. 13823 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same. 13824 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: 13825 Same. 13826 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same. 13827 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same. 13828 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same. 13829 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same. 13830 13831 2016-03-07 Martin Jambor <mjambor (a] suse.cz> 13832 13833 * testsuite/lib/libgomp.exp 13834 (check_effective_target_hsa_offloading_selected_nocache): New. 13835 (check_effective_target_hsa_offloading_selected): Likewise. 13836 * testsuite/libgomp.hsa.c/c.exp: Likewise. 13837 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise. 13838 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise. 13839 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise. 13840 * testsuite/libgomp.hsa.c/complex-1.c: Likewise. 13841 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise. 13842 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise. 13843 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise. 13844 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise. 13845 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise. 13846 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise. 13847 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise. 13848 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise. 13849 * testsuite/libgomp.hsa.c/pr69568.c: Likewise. 13850 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise. 13851 * testsuite/libgomp.hsa.c/switch-1.c: Likewise. 13852 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise. 13853 13854 2016-03-07 Martin Jambor <mjambor (a] suse.cz> 13855 13856 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on 13857 non-shared memory accelerators. 13858 * testsuite/libgomp.c/examples-4/device-1.c: Likewise. 13859 * testsuite/libgomp.c/examples-4/target-5.c: Likewise. 13860 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise. 13861 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise. 13862 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise. 13863 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise. 13864 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise. 13865 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise. 13866 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise. 13867 13868 2016-03-07 Martin Jambor <mjambor (a] suse.cz> 13869 13870 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to 13871 ALWAYS_CFLAGS. 13872 13873 2016-03-02 Jakub Jelinek <jakub (a] redhat.com> 13874 13875 PR libgomp/69555 13876 * testsuite/libgomp.c++/pr69555-1.C: New test. 13877 * testsuite/libgomp.c++/pr69555-2.C: New test. 13878 13879 2016-02-26 Keith McDaniel <k.allen.mcdaniel (a] gmail.com> 13880 Martin Jambor <mjambor (a] suse.cz> 13881 13882 * testsuite/lib/libgomp.exp 13883 (check_effective_target_offload_device_shared_as): New proc. 13884 * testsuite/libgomp.c++/declare_target-1.C: New test. 13885 13886 2016-02-25 Ilya Verbin <ilya.verbin (a] intel.com> 13887 13888 PR driver/68463 13889 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove. 13890 13891 2016-02-23 Thomas Schwinge <thomas (a] codesourcery.com> 13892 13893 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims. 13894 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for 13895 dims. 13896 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to 13897 -ftree-parallelize-loops/-fopenacc changes. 13898 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise. 13899 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: 13900 Likewise. 13901 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: 13902 Likewise. 13903 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: 13904 Likewise. 13905 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: 13906 Likewise. 13907 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: 13908 Likewise. 13909 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: 13910 Likewise. 13911 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: 13912 Likewise. 13913 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise. 13914 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: 13915 Likewise. 13916 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise. 13917 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: 13918 Likewise. 13919 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise. 13920 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: 13921 Likewise. 13922 13923 2016-02-22 Cesar Philippidis <cesar (a] codesourcery.com> 13924 13925 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test. 13926 13927 2016-02-19 Jakub Jelinek <jakub (a] redhat.com> 13928 13929 PR driver/69805 13930 * testsuite/libgomp.c/pr69805.c: New test. 13931 13932 2016-02-16 Tom de Vries <tom (a] codesourcery.com> 13933 13934 PR lto/67709 13935 * testsuite/libgomp.fortran/declare-simd-4.f90: New test. 13936 13937 2016-02-09 Tom de Vries <tom (a] codesourcery.com> 13938 13939 PR tree-optimization/69599 13940 * testsuite/libgomp.c/omp-nested-3.c: New test. 13941 * testsuite/libgomp.c/pr46032-2.c: New test. 13942 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test. 13943 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test. 13944 13945 2016-02-09 Tom de Vries <tom (a] codesourcery.com> 13946 13947 PR lto/69707 13948 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test. 13949 13950 2016-02-02 Alexander Monakov <amonakov (a] ispras.ru> 13951 13952 * testsuite/libgomp.c/target-31.c: Fix testcase. 13953 13954 2016-02-02 Alexander Monakov <amonakov (a] ispras.ru> 13955 13956 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction 13957 clause. 13958 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise. 13959 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing 13960 reduction and map clauses. 13961 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise. 13962 13963 2016-02-02 James Norris <jnorris (a] codesourcery.com> 13964 13965 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause. 13966 13967 2016-02-02 Thomas Schwinge <thomas (a] codesourcery.com> 13968 13969 * libgomp.map (GOACC_2.0): Remove GOACC_host_data. 13970 * oacc-parallel.c (GOACC_host_data): Remove function definition. 13971 13972 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test 13973 cases. 13974 13975 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New 13976 variables. 13977 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib) 13978 (hsa_kmt_lib): Set variables. 13979 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend 13980 always_ld_library_path. 13981 * Makefile.in: Regenerate. 13982 * configure: Likewise. 13983 * testsuite/Makefile.in: Likewise. 13984 13985 * plugin/configfrag.ac (offload_additional_options) 13986 (offload_additional_lib_paths): Don't amend for hsa offloading. 13987 * configure: Regenerate. 13988 13989 * plugin/configfrag.ac: Don't configure for offloading target if 13990 we don't build the corresponding plugin. 13991 * configure: Regenerate. 13992 13993 2016-02-01 Nathan Sidwell <nathan (a] codesourcery.com> 13994 13995 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New. 13996 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop. 13997 13998 2016-01-26 Tom de Vries <tom (a] codesourcery.com> 13999 14000 PR tree-optimization/69110 14001 * testsuite/libgomp.c/pr69110.c: New test. 14002 14003 2016-01-25 Richard Biener <rguenther (a] suse.de> 14004 14005 PR lto/69393 14006 * testsuite/libgomp.c++/pr69393.C: New testcase. 14007 14008 2016-01-22 Ilya Verbin <ilya.verbin (a] intel.com> 14009 14010 * target.c (gomp_get_target_fn_addr): Allow host fallback if target 14011 function wasn't mapped to the device with non-shared memory. 14012 14013 2016-01-20 Ilya Verbin <ilya.verbin (a] intel.com> 14014 14015 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL. 14016 14017 2016-01-19 Martin Jambor <mjambor (a] suse.cz> 14018 Martin Liska <mliska (a] suse.cz> 14019 14020 * plugin/Makefrag.am: Add HSA plugin requirements. 14021 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable. 14022 (HSA_RUNTIME_LIB): Likewise. 14023 (HSA_RUNTIME_CPPFLAGS): Likewise. 14024 (HSA_RUNTIME_INCLUDE): New substitution. 14025 (HSA_RUNTIME_LIB): Likewise. 14026 (HSA_RUNTIME_LDFLAGS): Likewise. 14027 (hsa-runtime): New configure option. 14028 (hsa-runtime-include): Likewise. 14029 (hsa-runtime-lib): Likewise. 14030 (PLUGIN_HSA): New substitution variable. 14031 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new 14032 configure options. 14033 (PLUGIN_HSA_CPPFLAGS): Likewise. 14034 (PLUGIN_HSA_LDFLAGS): Likewise. 14035 (PLUGIN_HSA_LIBS): Likewise. 14036 Check that we have access to HSA run-time. 14037 * libgomp-plugin.h (offload_target_type): New element 14038 OFFLOAD_TARGET_TYPE_HSA. 14039 * libgomp.h (gomp_target_task): New fields firstprivate_copies and 14040 args. 14041 (bool gomp_create_target_task): Updated. 14042 (gomp_device_descr): Extra parameter of run_func and async_run_func, 14043 new field can_run_func. 14044 * libgomp_g.h (GOMP_target_ext): Update prototype. 14045 * oacc-host.c (host_run): Added a new parameter args. 14046 * target.c (calculate_firstprivate_requirements): New function. 14047 (copy_firstprivate_data): Likewise. 14048 (gomp_target_fallback_firstprivate): Use them. 14049 (gomp_target_unshare_firstprivate): New function. 14050 (gomp_get_target_fn_addr): Allow returning NULL for shared memory 14051 devices. 14052 (GOMP_target): Do host fallback for all shared memory devices. Do not 14053 pass any args to plugins. 14054 (GOMP_target_ext): Introduce device-specific argument parameter args. 14055 Allow host fallback if device shares memory. Do not remap data if 14056 device has shared memory. 14057 (gomp_target_task_fn): Likewise. Also treat shared memory devices 14058 like host fallback for mappings. 14059 (GOMP_target_data): Treat shared memory devices like host fallback. 14060 (GOMP_target_data_ext): Likewise. 14061 (GOMP_target_update): Likewise. 14062 (GOMP_target_update_ext): Likewise. Also pass NULL as args to 14063 gomp_create_target_task. 14064 (GOMP_target_enter_exit_data): Likewise. 14065 (omp_target_alloc): Treat shared memory devices like host fallback. 14066 (omp_target_free): Likewise. 14067 (omp_target_is_present): Likewise. 14068 (omp_target_memcpy): Likewise. 14069 (omp_target_memcpy_rect): Likewise. 14070 (omp_target_associate_ptr): Likewise. 14071 (gomp_load_plugin_for_device): Also load can_run. 14072 * task.c (GOMP_PLUGIN_target_task_completion): Free 14073 firstprivate_copies. 14074 (gomp_create_target_task): Accept new argument args and store it to 14075 ttask. 14076 * plugin/plugin-hsa.c: New file. 14077 14078 2016-01-18 Tom de Vries <tom (a] codesourcery.com> 14079 14080 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test. 14081 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same. 14082 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same. 14083 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same. 14084 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same. 14085 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same. 14086 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same. 14087 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same. 14088 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same. 14089 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same. 14090 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c: 14091 Same. 14092 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c: 14093 Same. 14094 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same. 14095 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same. 14096 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same. 14097 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same. 14098 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same. 14099 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same. 14100 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same. 14101 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c: 14102 Same. 14103 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same. 14104 14105 2016-01-15 Jakub Jelinek <jakub (a] redhat.com> 14106 14107 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return. 14108 14109 2016-01-15 Cesar Philippidis <cesar (a] codesourcery.com> 14110 14111 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test. 14112 14113 2016-01-12 James Norris <jnorris (a] codesourcery.com> 14114 14115 * libgomp.texi: Updates for OpenACC. 14116 14117 2016-01-11 Alexander Monakov <amonakov (a] ispras.ru> 14118 14119 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET. 14120 14121 2016-01-07 H.J. Lu <hongjiu.lu (a] intel.com> 14122 14123 PR fortran/66680 14124 * testsuite/libgomp.fortran/pr66680.f90: New test. 14125 14126 2016-01-07 Jakub Jelinek <jakub (a] redhat.com> 14127 14128 PR middle-end/68960 14129 * testsuite/libgomp.c/pr68960.c: New test. 14130 14131 2016-01-06 Nathan Sidwell <nathan (a] acm.org> 14132 14133 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper. 14134 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New. 14135 14136 2016-01-04 Jakub Jelinek <jakub (a] redhat.com> 14137 14138 Update copyright years. 14139 14140 * libgomp.texi: Bump @copying's copyright year. 14141 14142 2015-12-31 Nathan Sidwell <nathan (a] acm.org> 14143 14144 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct 14145 dg-additional-options syntax. 14146 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise. 14147 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise. 14148 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise. 14149 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise. 14150 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise. 14151 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise. 14152 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise. 14153 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise. 14154 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise. 14155 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise. 14156 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise. 14157 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise. 14158 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise. 14159 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise. 14160 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise. 14161 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise. 14162 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise. 14163 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise. 14164 14165 2015-12-15 Ilya Verbin <ilya.verbin (a] intel.com> 14166 14167 * libgomp.h (REFCOUNT_LINK): Define. 14168 (struct splay_tree_key_s): Add link_key. 14169 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped. 14170 Replace target address of the pointer with target address of newly 14171 mapped object in the splay tree. Set link pointer on target to the 14172 device address of the mapped object. 14173 (gomp_unmap_vars): Restore target address of the pointer in the splay 14174 tree for REFCOUNT_LINK objects after unmapping. 14175 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp 14176 declare target link" objects. 14177 (gomp_unload_image_from_device): Replace j with i. Force unmap of all 14178 "omp declare target link" objects, which were mapped for the image. 14179 (gomp_exit_data): Restore target address of the pointer in the splay 14180 tree for REFCOUNT_LINK objects after unmapping. 14181 * testsuite/libgomp.c/target-link-1.c: New file. 14182 14183 2015-12-14 Ilya Verbin <ilya.verbin (a] intel.com> 14184 14185 * libgomp.h (gomp_device_state): New enum. 14186 (struct gomp_device_descr): Replace is_initialized with state. 14187 (gomp_fini_device): Remove declaration. 14188 * oacc-host.c (host_dispatch): Use state instead of is_initialized. 14189 * oacc-init.c (acc_init_1): Use state instead of is_initialized. 14190 (acc_shutdown_1): Likewise. Inline gomp_fini_device. 14191 (acc_set_device_type): Use state instead of is_initialized. 14192 (acc_set_device_num): Likewise. 14193 * target.c (resolve_device): Use state instead of is_initialized. 14194 Do not initialize finalized device. 14195 (gomp_map_vars): Do nothing if device is finalized. 14196 (gomp_unmap_vars): Likewise. 14197 (gomp_update): Likewise. 14198 (GOMP_offload_register_ver): Use state instead of is_initialized. 14199 (GOMP_offload_unregister_ver): Likewise. 14200 (gomp_init_device): Likewise. 14201 (gomp_unload_device): Likewise. 14202 (gomp_fini_device): Remove. 14203 (gomp_get_target_fn_addr): Do nothing if device is finalized. 14204 (GOMP_target): Go to host fallback if device is finalized. 14205 (GOMP_target_ext): Likewise. 14206 (gomp_exit_data): Do nothing if device is finalized. 14207 (gomp_target_task_fn): Go to host fallback if device is finalized. 14208 (gomp_target_fini): New static function. 14209 (gomp_target_init): Use state instead of is_initialized. 14210 Call gomp_target_fini at exit. 14211 14212 2015-12-09 Tom de Vries <tom (a] codesourcery.com> 14213 14214 PR tree-optimization/68716 14215 * testsuite/libgomp.c/omp-nested-2.c: New test. 14216 14217 2015-12-02 Thomas Schwinge <thomas (a] codesourcery.com> 14218 14219 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to 14220 target openacc_nvidia_accel_selected. 14221 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise. 14222 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise. 14223 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file. 14224 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file. 14225 14226 2015-12-01 Julian Brown <julian (a] codesourcery.com> 14227 James Norris <James_Norris (a] mentor.com> 14228 14229 * oacc-parallel.c (GOACC_host_data): New function. 14230 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1. 14231 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test. 14232 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test. 14233 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test. 14234 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test. 14235 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test. 14236 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test. 14237 14238 2015-11-30 James Norris <jnorris (a] codesourcery.com> 14239 Cesar Philippidis <cesar (a] codesourcery.com> 14240 14241 libgomp/ 14242 * libgomp.oacc-fortran/routine-5.f90: New test. 14243 * libgomp.oacc-fortran/routine-7.f90: New test. 14244 * libgomp.oacc-fortran/routine-9.f90: New test. 14245 14246 2015-11-30 Tom de Vries <tom (a] codesourcery.com> 14247 14248 PR tree-optimization/46032 14249 * testsuite/libgomp.c/pr46032.c: New test. 14250 14251 2015-11-27 Jakub Jelinek <jakub (a] redhat.com> 14252 14253 PR libgomp/68579 14254 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl. 14255 (gomp_create_target_task): Call it before freeing 14256 GOMP_TARGET_TASK_DATA tasks. 14257 14258 PR c/63326 14259 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon 14260 in between case label and OpenMP standalone directives. 14261 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise. 14262 14263 2015-11-26 David Edelsohn <dje.gcc (a] gmail.com> 14264 14265 * configure: Regenerate. 14266 14267 2015-11-26 Jakub Jelinek <jakub (a] redhat.com> 14268 14269 * testsuite/libgomp.c/target-35.c: New test. 14270 14271 2015-11-22 James Norris <jnorris (a] codesourcery.com> 14272 Cesar Philippidis <cesar (a] codesourcery.com> 14273 14274 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test. 14275 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise. 14276 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise. 14277 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise. 14278 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise. 14279 14280 2015-11-20 Jakub Jelinek <jakub (a] redhat.com> 14281 14282 PR middle-end/68221 14283 * testsuite/libgomp.c/reduction-11.c: Remove xfail. 14284 * testsuite/libgomp.c/reduction-12.c: Likewise. 14285 * testsuite/libgomp.c++/reduction-11.C: Likewise. 14286 * testsuite/libgomp.c++/reduction-12.C: Likewise. 14287 14288 2015-11-19 Nathan Sidwell <nathan (a] codesourcery.com> 14289 14290 * libgomp.oacc-c-c++-common/reduction-dbl.c: New. 14291 * libgomp.oacc-c-c++-common/reduction-flt.c: New. 14292 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef. 14293 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef. 14294 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests 14295 and fix. 14296 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise. 14297 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise. 14298 14299 2015-11-18 Nathan Sidwell <nathan (a] codesourcery.com> 14300 14301 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add 14302 worker & gang cases. 14303 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise. 14304 14305 2015-11-17 Cesar Philippidis <cesar (a] codesourcery.com> 14306 14307 * config/nvptx/priority_queue.c: New file. 14308 14309 2015-11-14 Jakub Jelinek <jakub (a] redhat.com> 14310 14311 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5 14312 sections. 14313 14314 2015-11-14 Jakub Jelinek <jakub (a] redhat.com> 14315 Aldy Hernandez <aldyh (a] redhat.com> 14316 Ilya Verbin <ilya.verbin (a] intel.com> 14317 14318 * ordered.c (gomp_doacross_init, GOMP_doacross_post, 14319 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post, 14320 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of 14321 iterators or IV by chunk size. 14322 * parallel.c (gomp_resolve_num_threads): Don't assume that 14323 if thr->ts.team is non-NULL, then pool must be non-NULL. 14324 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare. 14325 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export 14326 GOMP_PLUGIN_target_task_completion. 14327 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c. 14328 * Makefile.in: Regenerate. 14329 * libgomp.h: Shuffle prototypes and forward definitions around so 14330 priority queues can be defined. 14331 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING. 14332 (enum gomp_target_task_state): New enum. 14333 (struct gomp_target_task): Add state, tgt, task and team fields. 14334 (gomp_create_target_task): Change return type to bool, add 14335 state argument. 14336 (gomp_target_task_fn): Change return type to bool. 14337 (struct gomp_device_descr): Add async_run_func. 14338 (struct gomp_task): Remove children, next_child, prev_child, 14339 next_queue, prev_queue, next_taskgroup, prev_taskgroup. 14340 Add pnode field. 14341 (struct gomp_taskgroup): Remove children. 14342 Add taskgroup_queue. 14343 (struct gomp_team): Change task_queue type to a priority queue. 14344 (splay_compare): Define inline. 14345 (priority_queue_offset): New. 14346 (priority_node_to_task): New. 14347 (task_to_priority_node): New. 14348 * oacc-mem.c: Do not include splay-tree.h. 14349 * priority_queue.c: New file. 14350 * priority_queue.h: New file. 14351 * splay-tree.c: Do not include splay-tree.h. 14352 (splay_tree_foreach_internal): New. 14353 (splay_tree_foreach): New. 14354 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined. 14355 (splay_tree_callback): Define typedef. 14356 * target.c (splay_compare): Move to libgomp.h. 14357 (GOMP_target): Don't adjust *thr in any way around running offloaded 14358 task. 14359 (GOMP_target_ext): Likewise. Handle target nowait. 14360 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check 14361 return value from gomp_create_target_task, if false, fallthrough 14362 as if no dependencies exist. 14363 (gomp_target_task_fn): Change return type to bool, return true 14364 if the task should have another part scheduled later. Handle 14365 target nowait. 14366 (gomp_load_plugin_for_device): Initialize async_run. 14367 * task.c (gomp_init_task): Initialize children_queue. 14368 (gomp_clear_parent_in_list): New. 14369 (gomp_clear_parent_in_tree): New. 14370 (gomp_clear_parent): Handle priorities. 14371 (GOMP_task): Likewise. 14372 (priority_queue_move_task_first, 14373 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion): 14374 New functions. 14375 (gomp_create_target_task): Use priority queues. Change return type 14376 to bool, add state argument, return false if for async 14377 {{enter,exit} data,update} constructs no dependencies need to be 14378 waited for, handle target nowait. Set task->fn to NULL instead of 14379 gomp_target_task_fn. 14380 (verify_children_queue): Remove. 14381 (priority_list_upgrade_task): New. 14382 (priority_queue_upgrade_task): New. 14383 (verify_task_queue): Remove. 14384 (priority_list_downgrade_task): New. 14385 (priority_queue_downgrade_task): New. 14386 (gomp_task_run_pre): Use priority queues. 14387 Abstract code out to priority_queue_downgrade_task. 14388 (gomp_task_run_post_handle_dependers): Use priority queues. 14389 (gomp_task_run_post_remove_parent): Likewise. 14390 (gomp_task_run_post_remove_taskgroup): Likewise. 14391 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target 14392 tasks specially. 14393 (GOMP_taskwait): Likewise. 14394 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to 14395 priority-queue_upgrade_task. 14396 (GOMP_taskgroup_start): Use priority queues. 14397 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks 14398 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a 14399 barrier. 14400 * taskloop.c (GOMP_taskloop): Handle priorities. 14401 * team.c (gomp_new_team): Call priority_queue_init. 14402 (free_team): Call priority_queue_free. 14403 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial 14404 team created for target nowait in implicit parallel region. 14405 (gomp_team_start): For nested check, test thr->ts.level instead of 14406 thr->ts.team != NULL. 14407 * testsuite/libgomp.c/doacross-3.c: New test. 14408 * testsuite/libgomp.c/ordered-5.c: New test. 14409 * testsuite/libgomp.c/priority.c: New test. 14410 * testsuite/libgomp.c/target-31.c: New test. 14411 * testsuite/libgomp.c/target-32.c: New test. 14412 * testsuite/libgomp.c/target-33.c: New test. 14413 * testsuite/libgomp.c/target-34.c: New test. 14414 14415 2015-11-13 Nathan Sidwell <nathan (a] codesourcery.com> 14416 14417 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New. 14418 14419 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential 14420 loop is sequential. 14421 14422 2015-11-13 Nathan Sidwell <nathan (a] codesourcery.com> 14423 14424 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New. 14425 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New. 14426 14427 2015-11-12 James Norris <jnorris (a] codesourcery.com> 14428 Joseph Myers <joseph (a] codesourcery.com> 14429 14430 * libgomp.map (GOACC_2.0.1): Export GOACC_declare. 14431 * oacc-parallel.c (GOACC_declare): New function. 14432 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test. 14433 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise. 14434 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise. 14435 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise. 14436 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise. 14437 14438 2015-11-12 Nathan Sidwell <nathan (a] codesourcery.com> 14439 14440 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New. 14441 14442 2015-11-1 Nathan Sidwell <nathan (a] codesourcery.com> 14443 14444 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New. 14445 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New. 14446 14447 2015-11-09 Nathan Sidwell <nathan (a] codesourcery.com> 14448 14449 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove 14450 inadvertent commit. 14451 14452 2015-11-09 Nathan Sidwell <nathan (a] codesourcery.com> 14453 14454 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New. 14455 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New. 14456 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New. 14457 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New. 14458 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New. 14459 14460 2015-11-06 Thomas Schwinge <thomas (a] codesourcery.com> 14461 14462 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL. 14463 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise. 14464 14465 2015-11-05 Jakub Jelinek <jakub (a] redhat.com> 14466 Ilya Verbin <ilya.verbin (a] intel.com> 14467 14468 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next, 14469 GOMP_loop_nonmonotonic_dynamic_start, 14470 GOMP_loop_nonmonotonic_guided_next, 14471 GOMP_loop_nonmonotonic_guided_start, 14472 GOMP_loop_ull_nonmonotonic_dynamic_next, 14473 GOMP_loop_ull_nonmonotonic_dynamic_start, 14474 GOMP_loop_ull_nonmonotonic_guided_next, 14475 GOMP_loop_ull_nonmonotonic_guided_start, 14476 GOMP_parallel_loop_nonmonotonic_dynamic, 14477 GOMP_parallel_loop_nonmonotonic_guided): New prototypes. 14478 (GOMP_target_41): Renamed to ... 14479 (GOMP_target_ext): ... this. Add num_teams and thread_limit 14480 arguments. 14481 (GOMP_target_data_41): Renamed to ... 14482 (GOMP_target_data_ext): ... this. 14483 (GOMP_target_update_41): Renamed to ... 14484 (GOMP_target_update_ext): ... this. 14485 * libgomp.map (GOMP_4.5): Export GOMP_target_ext, 14486 GOMP_target_data_ext and GOMP_target_update_ext instead of 14487 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41. 14488 Export GOMP_loop_nonmonotonic_dynamic_next, 14489 GOMP_loop_nonmonotonic_dynamic_start, 14490 GOMP_loop_nonmonotonic_guided_next, 14491 GOMP_loop_nonmonotonic_guided_start, 14492 GOMP_loop_ull_nonmonotonic_dynamic_next, 14493 GOMP_loop_ull_nonmonotonic_dynamic_start, 14494 GOMP_loop_ull_nonmonotonic_guided_next, 14495 GOMP_loop_ull_nonmonotonic_guided_start, 14496 GOMP_parallel_loop_nonmonotonic_dynamic and 14497 GOMP_parallel_loop_nonmonotonic_guided. 14498 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic, 14499 GOMP_parallel_loop_nonmonotonic_guided, 14500 GOMP_loop_nonmonotonic_dynamic_start, 14501 GOMP_loop_nonmonotonic_guided_start, 14502 GOMP_loop_nonmonotonic_dynamic_next, 14503 GOMP_loop_nonmonotonic_guided_next): New aliases or functions. 14504 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start, 14505 GOMP_loop_ull_nonmonotonic_guided_start, 14506 GOMP_loop_ull_nonmonotonic_dynamic_next, 14507 GOMP_loop_ull_nonmonotonic_guided_next): Likewise. 14508 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline 14509 functions. 14510 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For 14511 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup. 14512 Use gomp_map_val function. 14513 (gomp_target_fallback_firstprivate): New static function. 14514 (GOMP_target_41): Renamed to ... 14515 (GOMP_target_ext): ... this. Add num_teams and thread_limit 14516 arguments. Move firstprivate fallback handling into a new 14517 function. 14518 (GOMP_target_data_41): Renamed to ... 14519 (GOMP_target_data_ext): ... this. 14520 (GOMP_target_update_41): Renamed to ... 14521 (GOMP_target_update_ext): ... this. 14522 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use 14523 gomp_map_0len_lookup instead of gomp_map_lookup. 14524 (omp_target_is_present): Use gomp_map_0len_lookup instead of 14525 gomp_map_lookup. 14526 * testsuite/libgomp.c/target-28.c: Likewise. 14527 * testsuite/libgomp.c/monotonic-1.c: New test. 14528 * testsuite/libgomp.c/monotonic-2.c: New test. 14529 * testsuite/libgomp.c/nonmonotonic-1.c: New test. 14530 * testsuite/libgomp.c/nonmonotonic-2.c: New test. 14531 * testsuite/libgomp.c/pr66199-5.c: New test. 14532 * testsuite/libgomp.c/pr66199-6.c: New test. 14533 * testsuite/libgomp.c/pr66199-7.c: New test. 14534 * testsuite/libgomp.c/pr66199-8.c: New test. 14535 * testsuite/libgomp.c/pr66199-9.c: New test. 14536 * testsuite/libgomp.c/reduction-11.c: New test. 14537 * testsuite/libgomp.c/reduction-12.c: New test. 14538 * testsuite/libgomp.c/reduction-13.c: New test. 14539 * testsuite/libgomp.c/reduction-14.c: New test. 14540 * testsuite/libgomp.c/reduction-15.c: New test. 14541 * testsuite/libgomp.c/target-12.c (main): Adjust for 14542 omp_target_is_present change for one-past-last element. 14543 * testsuite/libgomp.c/target-17.c (foo): Drop tests where 14544 the same var is both mapped and privatized. 14545 * testsuite/libgomp.c/target-19.c (foo): Adjust for different 14546 handling of zero-length array sections. 14547 * testsuite/libgomp.c/target-28.c: New test. 14548 * testsuite/libgomp.c/target-29.c: New test. 14549 * testsuite/libgomp.c/target-30.c: New test. 14550 * testsuite/libgomp.c/target-teams-1.c: New test. 14551 * testsuite/libgomp.c++/member-6.C: New test. 14552 * testsuite/libgomp.c++/member-7.C: New test. 14553 * testsuite/libgomp.c++/monotonic-1.C: New test. 14554 * testsuite/libgomp.c++/monotonic-2.C: New test. 14555 * testsuite/libgomp.c++/nonmonotonic-1.C: New test. 14556 * testsuite/libgomp.c++/nonmonotonic-2.C: New test. 14557 * testsuite/libgomp.c++/pr66199-3.C: New test. 14558 * testsuite/libgomp.c++/pr66199-4.C: New test. 14559 * testsuite/libgomp.c++/pr66199-5.C: New test. 14560 * testsuite/libgomp.c++/pr66199-6.C: New test. 14561 * testsuite/libgomp.c++/pr66199-7.C: New test. 14562 * testsuite/libgomp.c++/pr66199-8.C: New test. 14563 * testsuite/libgomp.c++/pr66199-9.C: New test. 14564 * testsuite/libgomp.c++/reduction-11.C: New test. 14565 * testsuite/libgomp.c++/reduction-12.C: New test. 14566 * testsuite/libgomp.c++/target-13.C: New test. 14567 * testsuite/libgomp.c++/target-14.C: New test. 14568 * testsuite/libgomp.c++/target-15.C: New test. 14569 * testsuite/libgomp.c++/target-16.C: New test. 14570 * testsuite/libgomp.c++/target-17.C: New test. 14571 * testsuite/libgomp.c++/target-18.C: New test. 14572 * testsuite/libgomp.c++/target-19.C: New test. 14573 14574 2015-11-04 Nathan Sidwell <nathan (a] codesourcery.com> 14575 14576 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions 14577 and reduction copy. 14578 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise. 14579 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise. 14580 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise. 14581 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. 14582 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise. 14583 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise. 14584 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise. 14585 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise. 14586 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise. 14587 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise. 14588 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise. 14589 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise. 14590 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise. 14591 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New. 14592 14593 2015-11-04 Nathan Sidwell <nathan (a] codesourcery.com> 14594 14595 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New. 14596 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New. 14597 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New. 14598 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New. 14599 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New. 14600 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New. 14601 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New. 14602 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var. 14603 14604 2015-11-03 Nathan Sidwell <nathan (a] codesourcery.com> 14605 14606 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func. 14607 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg. 14608 (GOMP_OFFLOAD_openacc_parallel): Likewise. 14609 * oacc-host.c (host_openacc_exec): Likewise. 14610 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call. 14611 14612 2015-11-03 Julian Brown <julian (a] codesourcery.com> 14613 Thomas Schwinge <thomas (a] codesourcery.com> 14614 14615 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file. 14616 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise. 14617 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: 14618 Likewise. 14619 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise. 14620 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise. 14621 14622 2015-11-03 James Norris <jnorris (a] codesourcery.com> 14623 14624 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New 14625 file. 14626 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: 14627 Likewise. 14628 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise. 14629 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise. 14630 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise. 14631 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file. 14632 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise. 14633 14634 2015-10-29 Nathan Sidwell <nathan (a] codesourcery.com> 14635 14636 * openacc.h (enum acc_device_t): Reformat. Ensure layout 14637 compatibility. 14638 (enum acc_async_t): Reformat. 14639 (acc_on_device): Declare compatible with builtin and provide C++ 14640 wrapper. 14641 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New. 14642 14643 2015-10-29 Thomas Schwinge <thomas (a] codesourcery.com> 14644 Cesar Philippidis <cesar (a] codesourcery.com> 14645 14646 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to... 14647 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c: 14648 ... this. Add a description of the test at the top of the file. 14649 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to... 14650 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: 14651 ... this. Add a description of the test at the top of the file. 14652 14653 2015-10-28 Nathan Sidwell <nathan (a] codesourcery.com> 14654 14655 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New. 14656 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New. 14657 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New. 14658 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New. 14659 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New. 14660 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New. 14661 14662 2015-10-27 Nathan Sidwell <nathan (a] codesourcery.com> 14663 14664 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute 14665 dimensions. 14666 14667 2015-10-27 Thomas Schwinge <thomas (a] codesourcery.com> 14668 14669 PR testsuite/68063 14670 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause. 14671 14672 2015-10-27 James Norris <jnorris (a] codesourcery.com> 14673 14674 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file. 14675 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise. 14676 14677 2015-10-26 Thomas Schwinge <thomas (a] codesourcery.com> 14678 14679 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr. 14680 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise. 14681 14682 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit 14683 acc_device_nvidia usage. 14684 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise. 14685 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise. 14686 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise. 14687 14688 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once. 14689 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file. 14690 14691 PR libgomp/66518 14692 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL. 14693 14694 PR libgomp/65437 14695 PR libgomp/66518 14696 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize. 14697 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL. 14698 14699 2015-10-23 Tom de Vries <tom (a] codesourcery.com> 14700 14701 PR testsuite/68063 14702 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause. 14703 14704 2015-10-20 Nathan Sidwell <nathan (a] codesourcery.com> 14705 14706 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane 14707 vector_length. 14708 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. 14709 14710 2015-10-14 Ilya Verbin <ilya.verbin (a] intel.com> 14711 Aleksander Ivanushenko <aleksander.ivanushenko (a] intel.com> 14712 14713 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end 14714 to 0 when mapnum is 0. 14715 14716 2015-10-14 Sebastian Huber <sebastian.huber (a] embedded-brains.de> 14717 14718 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_): 14719 Cast to int from int32_t. 14720 14721 2015-10-13 Jakub Jelinek <jakub (a] redhat.com> 14722 Aldy Hernandez <aldyh (a] redhat.com> 14723 Ilya Verbin <ilya.verbin (a] intel.com> 14724 14725 * config/linux/affinity.c (omp_get_place_num_procs, 14726 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions. 14727 * config/linux/doacross.h: New file. 14728 * config/posix/affinity.c (omp_get_place_num_procs, 14729 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions. 14730 * config/posix/doacross.h: New file. 14731 * env.c: Include gomp-constants.h. 14732 (struct gomp_task_icv): Rename run_sched_modifier to 14733 run_sched_chunk_size. 14734 (gomp_max_task_priority_var): New variable. 14735 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size. 14736 (handle_omp_display_env): Change _OPENMP value from 201307 to 14737 201511. Print OMP_MAX_TASK_PRIORITY. 14738 (initialize_env): Parse OMP_MAX_TASK_PRIORITY. 14739 (omp_set_schedule, omp_get_schedule): Rename modifier argument to 14740 chunk_size and run_sched_modifier to run_sched_chunk_size. 14741 (omp_get_max_task_priority, omp_get_initial_device, 14742 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places, 14743 omp_get_partition_place_nums): New functions. 14744 * fortran.c (omp_set_schedule_, omp_set_schedule_8_, 14745 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument 14746 to chunk_size. 14747 (omp_get_num_places_, omp_get_place_num_procs_, 14748 omp_get_place_num_procs_8_, omp_get_place_proc_ids_, 14749 omp_get_place_proc_ids_8_, omp_get_place_num_, 14750 omp_get_partition_num_places_, omp_get_partition_place_nums_, 14751 omp_get_partition_place_nums_8_, omp_get_initial_device_, 14752 omp_get_max_task_priority_): New functions. 14753 * libgomp_g.h (GOMP_loop_doacross_static_start, 14754 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start, 14755 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start, 14756 GOMP_loop_ull_doacross_dynamic_start, 14757 GOMP_loop_ull_doacross_guided_start, 14758 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post, 14759 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait, 14760 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41, 14761 GOMP_target_data_41, GOMP_target_update_41, 14762 GOMP_target_enter_exit_data): New prototypes. 14763 (GOMP_task): Add prototype argument. 14764 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined. 14765 (struct gomp_doacross_work_share): New type. 14766 (struct gomp_work_share): Add doacross field. 14767 (struct gomp_task_icv): Rename run_sched_modifier to 14768 run_sched_chunk_size. 14769 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to 14770 GOMP_TASK_UNDEFERRED. Add comments. 14771 (struct gomp_task_depend_entry): Add comments. 14772 (struct gomp_task): Likewise. 14773 (struct gomp_taskgroup): Likewise. 14774 (struct gomp_target_task): New type. 14775 (struct gomp_team): Add comment. 14776 (gomp_get_place_proc_ids_8, gomp_doacross_init, 14777 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies, 14778 gomp_create_target_task, gomp_target_task_fn): New prototypes. 14779 (struct target_var_desc): New type. 14780 (struct target_mem_desc): Adjust comment. Use struct 14781 target_var_desc instead of splay_tree_key for list. 14782 (REFCOUNT_INFINITY): Define. 14783 (struct splay_tree_key_s): Remove copy_from field. 14784 (struct gomp_device_descr): Add dev2dev_func field. 14785 (enum gomp_map_vars_kind): New enum. 14786 (gomp_map_vars): Add one argument. 14787 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority, 14788 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_, 14789 omp_get_place_num_procs, omp_get_place_num_procs_, 14790 omp_get_place_num_procs_8_, omp_get_place_proc_ids, 14791 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num, 14792 omp_get_place_num_, omp_get_partition_num_places, 14793 omp_get_partition_num_places_, omp_get_partition_place_nums, 14794 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_, 14795 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc, 14796 omp_target_free, omp_target_is_present, omp_target_memcpy, 14797 omp_target_memcpy_rect, omp_target_associate_ptr and 14798 omp_target_disassociate_ptr. 14799 (GOMP_4.0.2): Renamed to ... 14800 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41, 14801 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop, 14802 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start, 14803 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start, 14804 GOMP_loop_doacross_static_start, GOMP_doacross_post, 14805 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start, 14806 GOMP_loop_ull_doacross_guided_start, 14807 GOMP_loop_ull_doacross_runtime_start, 14808 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and 14809 GOMP_doacross_ull_wait. 14810 * libgomp.texi: Document omp_get_max_task_priority. 14811 Rename modifier argument to chunk_size for omp_set_schedule and 14812 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var. 14813 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier 14814 to run_sched_chunk_size renaming. 14815 (GOMP_loop_ordered_runtime_start): Likewise. 14816 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start, 14817 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start, 14818 GOMP_parallel_loop_runtime_start): New functions. 14819 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier 14820 to run_sched_chunk_size renaming. 14821 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start, 14822 GOMP_loop_doacross_guided_start): New functions or aliases. 14823 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for 14824 run_sched_modifier to run_sched_chunk_size renaming. 14825 (GOMP_loop_ull_ordered_runtime_start): Likewise. 14826 (gomp_loop_ull_doacross_static_start, 14827 gomp_loop_ull_doacross_dynamic_start, 14828 gomp_loop_ull_doacross_guided_start, 14829 GOMP_loop_ull_doacross_runtime_start): New functions. 14830 (GOMP_loop_ull_doacross_static_start, 14831 GOMP_loop_ull_doacross_dynamic_start, 14832 GOMP_loop_ull_doacross_guided_start): New functions or aliases. 14833 * oacc-mem.c (acc_map_data, present_create_copy, 14834 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false 14835 to gomp_map_vars. 14836 (gomp_acc_remove_pointer): Use copy_from from target_var_desc. 14837 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC 14838 instead of false to gomp_map_vars. 14839 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc. 14840 * omp.h.in (omp_lock_hint_t): New type. 14841 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint, 14842 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids, 14843 omp_get_place_num, omp_get_partition_num_places, 14844 omp_get_partition_place_nums, omp_get_initial_device, 14845 omp_get_max_task_priority, omp_target_alloc, omp_target_free, 14846 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect, 14847 omp_target_associate_ptr, omp_target_disassociate_ptr): New 14848 prototypes. 14849 * omp_lib.f90.in (omp_lock_hint_kind): New parameter. 14850 (omp_lock_hint_none, omp_lock_hint_uncontended, 14851 omp_lock_hint_contended, omp_lock_hint_nonspeculative, 14852 omp_lock_hint_speculative): New parameters. 14853 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint, 14854 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids, 14855 omp_get_place_num, omp_get_partition_num_places, 14856 omp_get_partition_place_nums, omp_get_initial_device, 14857 omp_get_max_task_priority): New interfaces. 14858 (omp_set_schedule, omp_get_schedule): Rename modifier argument 14859 to chunk_size. 14860 * omp_lib.h.in (omp_lock_hint_kind): New parameter. 14861 (omp_lock_hint_none, omp_lock_hint_uncontended, 14862 omp_lock_hint_contended, omp_lock_hint_nonspeculative, 14863 omp_lock_hint_speculative): New parameters. 14864 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint, 14865 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids, 14866 omp_get_place_num, omp_get_partition_num_places, 14867 omp_get_partition_place_nums, omp_get_initial_device, 14868 omp_get_max_task_priority): New functions and subroutines. 14869 * ordered.c: Include stdarg.h and string.h. 14870 (MAX_COLLAPSED_BITS): Define. 14871 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait, 14872 gomp_doacross_ull_init, GOMP_doacross_ull_post, 14873 GOMP_doacross_ull_wait): New functions. 14874 * target.c: Include errno.h. 14875 (resolve_device): If device is not initialized, call 14876 gomp_init_device on it. 14877 (gomp_map_lookup): New function. 14878 (gomp_map_vars_existing): Add tgt_var argument, fill it in. 14879 Don't bump refcount if REFCOUNT_INFINITY. Handle 14880 GOMP_MAP_ALWAYS_TO_P. 14881 (get_kind): Rename is_openacc argument to short_mapkind. 14882 (gomp_map_pointer): Use gomp_map_lookup. 14883 (gomp_map_fields_existing): New function. 14884 (gomp_map_vars): Rename is_openacc argument to short_mapkind 14885 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA, 14886 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT, 14887 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION. 14888 Adjust for tgt->list changed type and copy_from living in there. 14889 (gomp_copy_from_async): Adjust for tgt->list changed type and 14890 copy_from living in there. 14891 (gomp_unmap_vars): Likewise. 14892 (gomp_update): Likewise. Rename is_openacc argument to 14893 short_mapkind. Don't fail if object is not mapped. 14894 (gomp_load_image_to_device): Initialize refcount to 14895 REFCOUNT_INFINITY. 14896 (gomp_target_fallback): New function. 14897 (gomp_get_target_fn_addr): Likewise. 14898 (GOMP_target): Adjust gomp_map_vars caller, use 14899 gomp_get_target_fn_addr and gomp_target_fallback. 14900 (GOMP_target_41): New function. 14901 (gomp_target_data_fallback): New function. 14902 (GOMP_target_data): Use it, adjust gomp_map_vars caller. 14903 (GOMP_target_data_41): New function. 14904 (GOMP_target_update): Adjust gomp_update caller. 14905 (GOMP_target_update_41): New function. 14906 (gomp_exit_data, GOMP_target_enter_exit_data, 14907 gomp_target_task_fn, omp_target_alloc, omp_target_free, 14908 omp_target_is_present, omp_target_memcpy, 14909 omp_target_memcpy_rect_worker, omp_target_memcpy_rect, 14910 omp_target_associate_ptr, omp_target_disassociate_ptr, 14911 gomp_load_plugin_for_device): New functions. 14912 * task.c: Include gomp-constants.h. Include taskloop.c 14913 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions. 14914 (gomp_task_handle_depend): New function. 14915 (GOMP_task): Use it. Add priority argument. Use 14916 gomp-constant.h constants instead of hardcoded numbers. 14917 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED. 14918 (gomp_create_target_task): New function. 14919 (verify_children_queue, verify_taskgroup_queue, 14920 verify_task_queue): New functions. 14921 (gomp_task_run_pre): Call verify_*_queue functions. 14922 If an upcoming tied task is about to leave the sibling or 14923 taskgroup queues in an invalid state, adjust appropriately. 14924 Remove taskgroup argument. Add comments. 14925 (gomp_task_run_post_handle_dependers): Add comments. 14926 (gomp_task_run_post_remove_parent): Likewise. 14927 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller. 14928 (GOMP_taskwait): Likewise. Add comments. 14929 (gomp_task_maybe_wait_for_dependencies): Fix scheduling 14930 problem such that the first non parent_depends_on task does not 14931 end up at the end of the children queue. 14932 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to 14933 GOMP_TASK_UNDEFERRED. 14934 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller. 14935 * taskloop.c: New file. 14936 * testsuite/lib/libgomp.exp 14937 (check_effective_target_offload_device_nonshared_as): New proc. 14938 * testsuite/libgomp.c/affinity-2.c: New test. 14939 * testsuite/libgomp.c/doacross-1.c: New test. 14940 * testsuite/libgomp.c/doacross-2.c: New test. 14941 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper): 14942 Add map clause to target. 14943 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise. 14944 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise. 14945 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise. 14946 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise. 14947 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt): 14948 Likewise. 14949 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise. 14950 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise. 14951 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise. 14952 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if 14953 not defined. Use those where needed. 14954 * testsuite/libgomp.c/for-4.c: New test. 14955 * testsuite/libgomp.c/for-5.c: New test. 14956 * testsuite/libgomp.c/for-6.c: New test. 14957 * testsuite/libgomp.c/linear-1.c: New test. 14958 * testsuite/libgomp.c/ordered-4.c: New test. 14959 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause 14960 only allowed on the loop iterator. 14961 * testsuite/libgomp.c/pr66199-3.c: New test. 14962 * testsuite/libgomp.c/pr66199-4.c: New test. 14963 * testsuite/libgomp.c/reduction-7.c: New test. 14964 * testsuite/libgomp.c/reduction-8.c: New test. 14965 * testsuite/libgomp.c/reduction-9.c: New test. 14966 * testsuite/libgomp.c/reduction-10.c: New test. 14967 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add 14968 map(tofrom:s). 14969 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise. 14970 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed. 14971 * testsuite/libgomp.c/target-11.c: New test. 14972 * testsuite/libgomp.c/target-12.c: New test. 14973 * testsuite/libgomp.c/target-13.c: New test. 14974 * testsuite/libgomp.c/target-14.c: New test. 14975 * testsuite/libgomp.c/target-15.c: New test. 14976 * testsuite/libgomp.c/target-16.c: New test. 14977 * testsuite/libgomp.c/target-17.c: New test. 14978 * testsuite/libgomp.c/target-18.c: New test. 14979 * testsuite/libgomp.c/target-19.c: New test. 14980 * testsuite/libgomp.c/target-20.c: New test. 14981 * testsuite/libgomp.c/target-21.c: New test. 14982 * testsuite/libgomp.c/target-22.c: New test. 14983 * testsuite/libgomp.c/target-23.c: New test. 14984 * testsuite/libgomp.c/target-24.c: New test. 14985 * testsuite/libgomp.c/target-25.c: New test. 14986 * testsuite/libgomp.c/target-26.c: New test. 14987 * testsuite/libgomp.c/target-27.c: New test. 14988 * testsuite/libgomp.c/taskloop-1.c: New test. 14989 * testsuite/libgomp.c/taskloop-2.c: New test. 14990 * testsuite/libgomp.c/taskloop-3.c: New test. 14991 * testsuite/libgomp.c/taskloop-4.c: New test. 14992 * testsuite/libgomp.c++/ctor-13.C: New test. 14993 * testsuite/libgomp.c++/doacross-1.C: New test. 14994 * testsuite/libgomp.c++/examples-4/declare_target-2.C: 14995 Replace offload_device with offload_device_nonshared_as. 14996 * testsuite/libgomp.c++/for-12.C: New test. 14997 * testsuite/libgomp.c++/for-13.C: New test. 14998 * testsuite/libgomp.c++/for-14.C: New test. 14999 * testsuite/libgomp.c++/linear-1.C: New test. 15000 * testsuite/libgomp.c++/member-1.C: New test. 15001 * testsuite/libgomp.c++/member-2.C: New test. 15002 * testsuite/libgomp.c++/member-3.C: New test. 15003 * testsuite/libgomp.c++/member-4.C: New test. 15004 * testsuite/libgomp.c++/member-5.C: New test. 15005 * testsuite/libgomp.c++/ordered-1.C: New test. 15006 * testsuite/libgomp.c++/reduction-5.C: New test. 15007 * testsuite/libgomp.c++/reduction-6.C: New test. 15008 * testsuite/libgomp.c++/reduction-7.C: New test. 15009 * testsuite/libgomp.c++/reduction-8.C: New test. 15010 * testsuite/libgomp.c++/reduction-9.C: New test. 15011 * testsuite/libgomp.c++/reduction-10.C: New test. 15012 * testsuite/libgomp.c++/reference-1.C: New test. 15013 * testsuite/libgomp.c++/simd14.C: New test. 15014 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause. 15015 * testsuite/libgomp.c++/target-5.C: New test. 15016 * testsuite/libgomp.c++/target-6.C: New test. 15017 * testsuite/libgomp.c++/target-7.C: New test. 15018 * testsuite/libgomp.c++/target-8.C: New test. 15019 * testsuite/libgomp.c++/target-9.C: New test. 15020 * testsuite/libgomp.c++/target-10.C: New test. 15021 * testsuite/libgomp.c++/target-11.C: New test. 15022 * testsuite/libgomp.c++/target-12.C: New test. 15023 * testsuite/libgomp.c++/taskloop-1.C: New test. 15024 * testsuite/libgomp.c++/taskloop-2.C: New test. 15025 * testsuite/libgomp.c++/taskloop-3.C: New test. 15026 * testsuite/libgomp.c++/taskloop-4.C: New test. 15027 * testsuite/libgomp.c++/taskloop-5.C: New test. 15028 * testsuite/libgomp.c++/taskloop-6.C: New test. 15029 * testsuite/libgomp.c++/taskloop-7.C: New test. 15030 * testsuite/libgomp.c++/taskloop-8.C: New test. 15031 * testsuite/libgomp.c++/taskloop-9.C: New test. 15032 * testsuite/libgomp.fortran/affinity1.f90: New test. 15033 * testsuite/libgomp.fortran/affinity2.f90: New test. 15034 15035 2015-10-13 Tom de Vries <tom (a] codesourcery.com> 15036 15037 PR tree-optimization/67476 15038 * testsuite/libgomp.c/autopar-3.c: New test. 15039 * testsuite/libgomp.c/autopar-4.c: New test. 15040 * testsuite/libgomp.c/autopar-5.c: New test. 15041 * testsuite/libgomp.c/autopar-6.c: New test. 15042 * testsuite/libgomp.c/autopar-7.c: New test. 15043 * testsuite/libgomp.c/autopar-8.c: New test. 15044 15045 2015-10-12 James Norris <jnorris (a] codesourcery.com> 15046 15047 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop 15048 initializer. 15049 15050 2015-10-09 David Malcolm <dmalcolm (a] redhat.com> 15051 15052 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp, 15053 using load_gcc_lib. 15054 15055 2015-10-02 Thomas Schwinge <thomas (a] codesourcery.com> 15056 15057 * oacc-ptx.h: Remove file, moving its content into... 15058 * config/nvptx/fortran.c: ... here... 15059 * config/nvptx/oacc-init.c: ..., here... 15060 * config/nvptx/oacc-parallel.c: ..., and here. 15061 * config/nvptx/openacc.f90: New file. 15062 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h". 15063 (link_ptx): Don't link in predefined bits of PTX code. 15064 15065 2015-09-30 Nathan Sidwell <nathan (a] codesourcery.com> 15066 Bernd Schmidt <bernds (a] codesourcery.com> 15067 15068 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX. 15069 (struct targ_ptx_obj): New. 15070 (nvptx_tdata): Move earlier, change data format. 15071 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple 15072 objects. 15073 (GOMP_OFFLOAD_load_image): Adjust. 15074 15075 2015-09-30 Thomas Schwinge <thomas (a] codesourcery.com> 15076 15077 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint. 15078 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise. 15079 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise. 15080 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise. 15081 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise. 15082 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise. 15083 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise. 15084 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise. 15085 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise. 15086 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise. 15087 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise. 15088 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise. 15089 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise. 15090 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise. 15091 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise. 15092 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise. 15093 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise. 15094 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise. 15095 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise. 15096 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise. 15097 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. 15098 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise. 15099 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise. 15100 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise. 15101 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise. 15102 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise. 15103 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise. 15104 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise. 15105 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise. 15106 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise. 15107 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise. 15108 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise. 15109 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise. 15110 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise. 15111 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. 15112 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise. 15113 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise. 15114 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise. 15115 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise. 15116 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise. 15117 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise. 15118 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise. 15119 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise. 15120 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise. 15121 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise. 15122 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise. 15123 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise. 15124 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise. 15125 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise. 15126 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise. 15127 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise. 15128 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise. 15129 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise. 15130 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise. 15131 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise. 15132 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise. 15133 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise. 15134 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise. 15135 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise. 15136 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise. 15137 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise. 15138 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise. 15139 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise. 15140 15141 2015-09-29 Nathan Sidwell <nathan (a] codesourcery.com> 15142 15143 * oacc-init.c (acc_on_device): Force optimization level. 15144 15145 2015-09-29 Nathan Sidwell <nathan (a] codesourcery.com> 15146 15147 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete. 15148 (cuda_errlist): Delete. 15149 (cuda_error): Reimplement. 15150 15151 2015-09-28 Nathan Sidwell <nathan (a] codesourcery.com> 15152 15153 * libgomp.h (acc_dispatch_t): Replace separate geometry args with 15154 array. 15155 * libgomp.map (GOACC_parallel_keyed): New. 15156 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust 15157 all callers. 15158 (GOACC_parallel_keyed): New interface. Lose geometry arguments 15159 and take keyed varargs list. Adjust call to exec_func. 15160 (GOACC_parallel): Force host fallback. 15161 * libgomp_g.h (GOACC_parallel): Remove. 15162 (GOACC_parallel_keyed): Declare. 15163 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct. 15164 (struct targ_gn_descriptor): Replace name field with launch field. 15165 (nvptx_exec): Lose separate geometry args, take array. Process 15166 dynamic dimensions and adjust. 15167 (struct nvptx_tdata): Replace fn_names field with fn_descs. 15168 (GOMP_OFFLOAD_load_image): Adjust for change in function table 15169 data. 15170 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension 15171 passing. 15172 * oacc-host.c (host_openacc_exec): Adjust for change in dimension 15173 passing. 15174 15175 2015-09-22 Chung-Lin Tang <cltang (a] codesourcery.com> 15176 15177 PR libgomp/67141 15178 * oacc-int.h (goacc_host_init): Add declaration. 15179 * oacc-host.c (goacc_host_init): Remove static and constructor attribute. 15180 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end. 15181 15182 2015-09-08 Aditya Kumar <hiraditya (a] msn.com> 15183 Sebastian Pop <s.pop (a] samsung.com> 15184 15185 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to 15186 match o/p. 15187 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same. 15188 * testsuite/libgomp.graphite/force-parallel-4.c: Same. 15189 * testsuite/libgomp.graphite/force-parallel-5.c: Same. 15190 * testsuite/libgomp.graphite/force-parallel-7.c: Same. 15191 * testsuite/libgomp.graphite/force-parallel-8.c: Same. 15192 15193 2015-09-03 Jakub Jelinek <jakub (a] redhat.com> 15194 15195 * configure.tgt: Add missing ;; in between nvptx and rtems 15196 snippets. 15197 15198 2015-09-03 Sebastian Huber <sebastian.huber (a] embedded-brains.de> 15199 15200 * config/posix/pool.h (gomp_adjust_thread_attr): New. 15201 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise. 15202 (gomp_thread_pool_reservoir): Add priority member. 15203 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add 15204 priority. 15205 (parse_thread_pools): Likewise. 15206 * team.c (gomp_team_start): Call configuration provided 15207 gomp_adjust_thread_attr(). Destroy thread attributes if 15208 necessary. 15209 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS. 15210 15211 2015-09-03 Sebastian Huber <sebastian.huber (a] embedded-brains.de> 15212 15213 * config/posix/pool.h: New. 15214 * config/rtems/pool.h: Likewise. 15215 * config/rtems/proc.c: Likewise. 15216 * libgomp.h (gomp_thread_destructor): Declare. 15217 * team.c: Include configuration provided "pool.h". 15218 (gomp_get_thread_pool): Define in configuration. 15219 (gomp_team_end): Call configuration defined 15220 gomp_release_thread_pool(). 15221 15222 2015-09-03 Sebastian Huber <sebastian.huber (a] embedded-brains.de> 15223 15224 * config/rtems/bar.c: New. 15225 * config/rtems/bar.h: Likewise. 15226 * config/rtems/mutex.c: Likewise. 15227 * config/rtems/mutex.h: Likewise. 15228 * config/rtems/sem.c: Likewise. 15229 * config/rtems/sem.h: Likewise. 15230 * configure.ac (*-*-rtems*): Check that Newlib provides a proper 15231 <sys/lock.h> header file. 15232 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if 15233 supported by Newlib. 15234 * configure: Regenerate. 15235 15236 2015-09-03 Sebastian Huber <sebastian.huber (a] embedded-brains.de> 15237 15238 * team.c (gomp_new_thread_pool): Delete and move content to ... 15239 (gomp_get_thread_pool): ... new function. Allocate and 15240 initialize thread pool on demand. 15241 (get_last_team): Use gomp_get_thread_pool(). 15242 (gomp_team_start): Delete thread pool initialization. 15243 15244 2015-09-03 Tom de Vries <tom (a] codesourcery.com> 15245 15246 PR tree-optimization/65637 15247 * testsuite/libgomp.c/autopar-2.c: New test. 15248 15249 2015-08-29 Tom de Vries <tom (a] codesourcery.com> 15250 15251 PR tree-optimization/46193 15252 * testsuite/libgomp.c/pr46193.c: New test. 15253 15254 2015-08-24 Nathan Sidwell <nathan (a] codesourcery.com> 15255 15256 libgomp/ 15257 * libgomp.map: Add 4.0.2 version. 15258 * target.c (offload_image_descr): Add version field. 15259 (gomp_load_image_to_device): Add version argument. Adjust plugin 15260 call. Improve load mismatch diagnostic. 15261 (gomp_unload_image_from_device): Add version argument. Adjust plugin 15262 call. 15263 (GOMP_offload_regster): Make stub function, move bulk to ... 15264 (GOMP_offload_register_ver): ... here. Process version argument. 15265 (GOMP_offload_unregister): Make stub function, move bulk to ... 15266 (GOMP_offload_unregister_ver): ... here. Process version argument. 15267 (gomp_init_device): Process version field. 15268 (gomp_unload_device): Process version field. 15269 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT 15270 macros. Check plugin version. 15271 * libgomp.h (gomp_device_descr): Add version function field. Adjust 15272 loader and unloader types. 15273 * oacc-host.c: Include gomp-constants.h. 15274 (host_version): New. 15275 (host_load_image, host_unload_image): Adjust. 15276 (host_dispatch): Add host_version. 15277 * plugin/plugin-nvptx.c: Include gomp-constants.h. 15278 (GOMP_OFFLOAD_version): New. 15279 (GOMP_OFFLOAD_load_image): Add version arg and check it. 15280 (GOMP_OFFLOAD_unload_image): Likewise. 15281 * plugin/plugin-host.c: Include gomp-constants.h. 15282 (GOMP_OFFLOAD_version): New. 15283 (GOMP_OFFLOAD_load_image): Add version arg. 15284 (GOMP_OFFLOAD_unload_image): Likewise. 15285 15286 2015-08-24 Tom de Vries <tom (a] codesourcery.com> 15287 15288 PR tree-optimization/65468 15289 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test. 15290 15291 2015-08-24 Tom de Vries <tom (a] codesourcery.com> 15292 15293 PR tree-optimization/65468 15294 * testsuite/libgomp.c/static-chunk-size-one.c: New test. 15295 15296 2015-08-24 Joost VandeVondele <vondele (a] gnu.gcc.org> 15297 15298 PR libgomp/66761 15299 PR libgomp/67303 15300 * iter.c (gomp_iter_dynamic_next): Employ an atomic load. 15301 (gomp_iter_guided_next): Idem. 15302 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem. 15303 (gomp_iter_ull_guided_next): Idem. 15304 * config/linux/wait.h (do_spin): Idem. 15305 15306 2015-08-10 Thomas Schwinge <thomas (a] codesourcery.com> 15307 15308 * libgomp-plugin.h (enum offload_target_type): Remove 15309 OFFLOAD_TARGET_TYPE_HOST_NONSHM. 15310 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm. 15311 * openacc.h (enum acc_device_t): Likewise. 15312 * openacc_lib.h: Likewise. 15313 * oacc-init.c (name_of_acc_device_t): Don't handle it. 15314 (acc_on_device): Just use __builtin_acc_on_device. 15315 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage 15316 of acc_on_device builtin. 15317 * plugin/plugin-host.h: Remove file. 15318 * plugin/plugin-host.c: Likewise, but salvage some content into... 15319 * oacc-host.c: ... this file. 15320 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la. 15321 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm. 15322 * Makefile.in: Regenerate. 15323 * configure: Likewise. 15324 * testsuite/lib/libgomp.exp 15325 (check_effective_target_openacc_host_nonshm_selected): Remove. 15326 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle 15327 ACC_DEVICE_TYPE=host_nonshm. 15328 * testsuite/libgomp.oacc-c/c.exp: Likewise. 15329 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 15330 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise. 15331 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise. 15332 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise. 15333 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise. 15334 15335 2015-08-10 Thomas Schwinge <thomas (a] codesourcery.com> 15336 Jakub Jelinek <jakub (a] redhat.com> 15337 15338 * config/nvptx/affinity.c: New file. 15339 * config/nvptx/alloc.c: Likewise. 15340 * config/nvptx/bar.c: Likewise. 15341 * config/nvptx/barrier.c: Likewise. 15342 * config/nvptx/critical.c: Likewise. 15343 * config/nvptx/env.c: Likewise. 15344 * config/nvptx/error.c: Likewise. 15345 * config/nvptx/fortran.c: Likewise. 15346 * config/nvptx/iter.c: Likewise. 15347 * config/nvptx/iter_ull.c: Likewise. 15348 * config/nvptx/libgomp-plugin.c: Likewise. 15349 * config/nvptx/lock.c: Likewise. 15350 * config/nvptx/loop.c: Likewise. 15351 * config/nvptx/loop_ull.c: Likewise. 15352 * config/nvptx/mutex.c: Likewise. 15353 * config/nvptx/oacc-async.c: Likewise. 15354 * config/nvptx/oacc-cuda.c: Likewise. 15355 * config/nvptx/oacc-host.c: Likewise. 15356 * config/nvptx/oacc-init.c: Likewise. 15357 * config/nvptx/oacc-mem.c: Likewise. 15358 * config/nvptx/oacc-parallel.c: Likewise. 15359 * config/nvptx/oacc-plugin.c: Likewise. 15360 * config/nvptx/omp-lock.h: Likewise. 15361 * config/nvptx/ordered.c: Likewise. 15362 * config/nvptx/parallel.c: Likewise. 15363 * config/nvptx/proc.c: Likewise. 15364 * config/nvptx/ptrlock.c: Likewise. 15365 * config/nvptx/sections.c: Likewise. 15366 * config/nvptx/sem.c: Likewise. 15367 * config/nvptx/single.c: Likewise. 15368 * config/nvptx/splay-tree.c: Likewise. 15369 * config/nvptx/target.c: Likewise. 15370 * config/nvptx/task.c: Likewise. 15371 * config/nvptx/team.c: Likewise. 15372 * config/nvptx/time.c: Likewise. 15373 * config/nvptx/work.c: Likewise. 15374 * configure.ac: Don't probe pthreads support for host nvptx*-*-*. 15375 * configure: Regenerate. 15376 * configure.tgt (config_path): Set to "nvptx" for target 15377 nvptx*-*-*. 15378 15379 2015-08-10 Thomas Schwinge <thomas (a] codesourcery.com> 15380 15381 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file. 15382 15383 2015-08-03 Nathan Sidwell <nathan (a] codesourcery.com> 15384 15385 * plugin/plugin-nvptx.c: Don't include dlfcn.h. 15386 (cuda_errlist): Constify. 15387 (errmsg): Move into ... 15388 (cuda_error): ... here. Make smaller. 15389 (_XSTR, _STR): Delete. 15390 (cuda_synames): Delete. 15391 (verify_device_library): Delete. 15392 (nvptx_init): Don't call it. 15393 15394 2015-07-28 Tom de Vries <tom (a] codesourcery.com> 15395 15396 * testsuite/libgomp.c/uns-outer-4.c: New test. 15397 15398 2015-07-24 Cesar Philippidis <cesar (a] codesourcery.com> 15399 15400 * testsuite/libgomp.c/pr66714.c: New test. 15401 15402 2015-07-22 Maxim Blumenthal <maxim.blumenthal (a] intel.com> 15403 15404 PR libgomp/66950 15405 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45. 15406 (fib_ref): New function. 15407 (fib): Correct corner cases in the recursion. 15408 (main): Replace the non-simd loop with fib_ref call. 15409 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New 15410 subroutine. 15411 (fibonacci): Lower the parameter N to 30. Correct accordingly check 15412 for the last array element value. Replace the non-simd loop with 15413 fib_ref call. Remove redundant b_ref array. Remove the comparison 15414 of the last array element with according Fibonacci sequence element. 15415 (fib): Correct corner cases in the recursion. 15416 15417 2015-07-21 Nathan Sidwell <nathan (a] codesourcery.com> 15418 15419 * target.c (gomp_offload_image_to_device): Rename to ... 15420 (gomp_load_image_to_device): ... here. 15421 (GOMP_offload_register): Adjust call. 15422 (gomp_init_device): Likewise. 15423 (gomp_unload_image_from_device): New. Broken out of ... 15424 (GOMP_offload_unregister): ... here. Call it. 15425 (gomp_unload_device): New. 15426 * libgomp.h (gomp_unload_device): Declare. 15427 * oacc-init.c (acc_shutdown_1): Unload from device before deleting 15428 mem maps. 15429 15430 2015-07-20 Nathan Sidwell <nathan (a] codesourcery.com> 15431 15432 * oacc-parallel.c (GOACC_parallel): Move variadic handling into 15433 wait=-specific if. 15434 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits 15435 !=0 condition. 15436 (goacc_waits): Move !num_waits handling to ... 15437 (GOACC_wait): ... here, the only caller that might have zero waits. 15438 15439 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later. 15440 (struct ptx_image_data): Move earlier, add fns field. 15441 (struct ptx_device): Add images and image_lock fields. 15442 (ptx_images, ptx_image_lock): Delete. 15443 (nvptx_open_device): Initialize images and image_lock fields. 15444 (nvptx_close_device): Destroy image_lock. 15445 (GOMP_OFFLOAD_load_image): Register image to device-specific fields. 15446 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific 15447 fields. 15448 15449 2015-07-17 Nathan Sidwell <nathan (a] codesourcery.com> 15450 15451 * target.c (GOMP_offload_register): Use int for device type arg. 15452 (GOMP_offload_unregister): Likewise. 15453 15454 * target.c (struct_offload_image_descr): Constify host_table. 15455 (gomp_offload_image_to_device): Likewise. 15456 (GOMP_offload_register, GOMP_offload_unregister): Likewise. 15457 15458 * libgomp.h (gomp_device_descr): Constify target data arguments. 15459 * target.c (struct offload_image_descr): Constify target_data. 15460 (gomp_offload_image_to_device): Likewise. 15461 (GOMP_offload_register): Likewise. 15462 (GOMP_offload_unregister): Likewise. 15463 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image, 15464 GOMP_OFFLOAD_unload_image): Constify target data. 15465 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data. 15466 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise. 15467 15468 2015-07-16 Nathan Sidwell <nathan (a] codesourcery.com> 15469 15470 * plugin/plugin-nvptx.c (link_ptx): Constify string argument. 15471 Workaround driver library const error. 15472 (struct nvptx_tdata, nvptx_tdata_t): New. 15473 (GOMP_OFFLOAD_load_image): Use struct for target_data's real 15474 type. 15475 15476 2015-07-15 Maxim Blumenthal <maxim.blumenthal (a] intel.com> 15477 15478 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type 15479 of EPS parameter from integer to real. 15480 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change 15481 type of EPS parameter from integer to real. 15482 15483 2015-07-15 Sebastian Huber <sebastian.huber (a] embedded-brains.de> 15484 15485 * team.c (get_last_team): New. 15486 (gomp_new_team): Recycle last non-nested team if possible. 15487 (gomp_team_end): Move team work share list free lock destruction 15488 to ... 15489 (free_team): ... here. 15490 15491 2015-07-14 Maxim Blumenthal <maxim.blumenthal (a] intel.com> 15492 15493 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res 15494 and ref from int to double. Replaced their comparison with 15495 an inequality of their difference and EPS. 15496 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the 15497 comparison of pri and a reference number with an inequality of their 15498 difference and EPS. 15499 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced 15500 the comparison of sum and sum_ref with an inequality of their 15501 difference and EPS. 15502 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace 15503 the comparison of pri and a reference number with an inequality of 15504 their difference and EPS. 15505 15506 2015-07-13 Maxim Blumenthal <maxim.blumenthal (a] intel.com> 15507 15508 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to... 15509 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this. 15510 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to... 15511 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this. 15512 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to... 15513 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this. 15514 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to... 15515 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this. 15516 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to... 15517 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this. 15518 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to... 15519 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this. 15520 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local 15521 variables. 15522 (vec_mult): Likewise. Add #pragma omp taskwait. 15523 (main): Adjust caller. 15524 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to... 15525 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this. 15526 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to... 15527 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this. 15528 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to... 15529 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this. 15530 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to... 15531 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this. 15532 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to... 15533 * testsuite/libgomp.c/examples-4/device-1.c: ...this. 15534 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to... 15535 * testsuite/libgomp.c/examples-4/device-2.c: ...this. 15536 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to... 15537 * testsuite/libgomp.c/examples-4/device-3.c: ...this. 15538 * testsuite/libgomp.c/examples-4/simd-1.c: New file. 15539 * testsuite/libgomp.c/examples-4/simd-2.c: New file. 15540 * testsuite/libgomp.c/examples-4/simd-3.c: New file. 15541 * testsuite/libgomp.c/examples-4/simd-4.c: New file. 15542 * testsuite/libgomp.c/examples-4/simd-5.c: New file. 15543 * testsuite/libgomp.c/examples-4/simd-6.c: New file. 15544 * testsuite/libgomp.c/examples-4/simd-7.c: New file. 15545 * testsuite/libgomp.c/examples-4/simd-8.c: New file. 15546 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to... 15547 * testsuite/libgomp.c/examples-4/target-1.c: ...this. 15548 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to... 15549 * testsuite/libgomp.c/examples-4/target-2.c: ...this. 15550 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to... 15551 * testsuite/libgomp.c/examples-4/target-3.c: ...this. 15552 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to... 15553 * testsuite/libgomp.c/examples-4/target-4.c: ...this. 15554 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to... 15555 * testsuite/libgomp.c/examples-4/target-5.c: ...this. 15556 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to... 15557 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this. 15558 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to... 15559 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this. 15560 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to... 15561 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this. 15562 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to... 15563 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this. 15564 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to... 15565 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this. 15566 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to... 15567 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this. 15568 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to... 15569 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this. 15570 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to... 15571 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this. 15572 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file. 15573 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file. 15574 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file. 15575 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file. 15576 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file. 15577 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to... 15578 * testsuite/libgomp.c/examples-4/teams-2.c: ...this. 15579 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to... 15580 * testsuite/libgomp.c/examples-4/teams-3.c: ...this. 15581 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to... 15582 * testsuite/libgomp.c/examples-4/teams-4.c: ...this. 15583 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to... 15584 * testsuite/libgomp.c/examples-4/teams-5.c: ...this. 15585 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to... 15586 * testsuite/libgomp.c/examples-4/teams-6.c: ...this. 15587 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to... 15588 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this. 15589 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to... 15590 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this. 15591 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to... 15592 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this. 15593 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to... 15594 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this. 15595 (vec_mult): Add !$omp taskwait. 15596 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to... 15597 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this. 15598 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to... 15599 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this. 15600 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to... 15601 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this. 15602 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to... 15603 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this. 15604 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to... 15605 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this. 15606 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to... 15607 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this. 15608 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to... 15609 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this. 15610 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to... 15611 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this. 15612 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file. 15613 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file. 15614 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file. 15615 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file. 15616 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file. 15617 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file. 15618 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file. 15619 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file. 15620 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to... 15621 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this. 15622 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to... 15623 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this. 15624 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to... 15625 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this. 15626 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to... 15627 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this. 15628 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to... 15629 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this. 15630 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to... 15631 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this. 15632 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to... 15633 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this. 15634 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to... 15635 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this. 15636 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to... 15637 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this. 15638 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to... 15639 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this. 15640 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to... 15641 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this. 15642 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to... 15643 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this. 15644 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to... 15645 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this. 15646 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to... 15647 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this. 15648 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file. 15649 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file. 15650 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file. 15651 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file. 15652 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file. 15653 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to... 15654 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this. 15655 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to... 15656 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this. 15657 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to... 15658 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this. 15659 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to... 15660 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this. 15661 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to... 15662 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this. 15663 15664 2015-07-10 Tom de Vries <tom (a] codesourcery.com> 15665 15666 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test. 15667 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test. 15668 15669 2015-07-08 Thomas Schwinge <thomas (a] codesourcery.com> 15670 15671 PR libgomp/65099 15672 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not 15673 in a 64-bit configuration. 15674 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia 15675 offloading testing if no such device is available. 15676 * testsuite/libgomp.oacc-c/c.exp: Likewise. 15677 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 15678 15679 2015-07-08 Tom de Vries <tom (a] codesourcery.com> 15680 15681 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix 15682 second call to f. 15683 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same. 15684 15685 2015-07-07 Tom de Vries <tom (a] codesourcery.com> 15686 15687 PR tree-optimization/66642 15688 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low 15689 iteration count case. 15690 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New 15691 function, factor out of ... 15692 (main): ... here. Test low iteration count case. 15693 15694 2015-07-06 Sebastian Huber <sebastian.huber (a] embedded-brains.de> 15695 15696 * libgomp.h (gomp_thread_pool): Comment last_team field. 15697 15698 2015-07-02 Uros Bizjak <ubizjak (a] gmail.com> 15699 15700 * testsuite/libgomp.c++/pr66702-1.C: Require 15701 vect_simd_clones effective target. 15702 * testsuite/libgomp.c++/pr66702-2.C: Ditto. 15703 15704 2015-06-30 Tom de Vries <tom (a] codesourcery.com> 15705 15706 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not 15707 already set. Use DEFAULT_CFLAGS in dg-runtest. 15708 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options 15709 "-O2". 15710 15711 2015-06-30 Tom de Vries <tom (a] codesourcery.com> 15712 15713 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not 15714 already set. Use DEFAULT_CFLAGS in dg-runtest. 15715 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp". 15716 * testsuite/libgomp.c++/pr64824.C: Same. 15717 * testsuite/libgomp.c++/pr64868.C: Same. 15718 * testsuite/libgomp.c++/pr66199-1.C: Same. 15719 * testsuite/libgomp.c++/pr66199-2.C: Same. 15720 * testsuite/libgomp.c++/target-2.C: Same. 15721 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for 15722 -std=<standard> option. 15723 * testsuite/libgomp.c++/udr-11.C: Same. 15724 * testsuite/libgomp.c++/udr-12.C: Same. 15725 * testsuite/libgomp.c++/udr-13.C: Same. 15726 * testsuite/libgomp.c++/udr-14.C: Same. 15727 * testsuite/libgomp.c++/udr-15.C: Same. 15728 * testsuite/libgomp.c++/udr-16.C: Same. 15729 * testsuite/libgomp.c++/udr-17.C: Same. 15730 * testsuite/libgomp.c++/udr-18.C: Same. 15731 * testsuite/libgomp.c++/udr-19.C: Same. 15732 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2". 15733 * testsuite/libgomp.c++/simd-1.C: Same. 15734 * testsuite/libgomp.c++/simd-2.C: Same. 15735 * testsuite/libgomp.c++/simd-3.C: Same. 15736 * testsuite/libgomp.c++/simd-4.C: Same. 15737 * testsuite/libgomp.c++/simd-5.C: Same. 15738 * testsuite/libgomp.c++/simd-6.C: Same. 15739 * testsuite/libgomp.c++/simd-7.C: Same. 15740 * testsuite/libgomp.c++/simd-8.C: Same. 15741 * testsuite/libgomp.c++/simd-9.C: Same. 15742 * testsuite/libgomp.c++/simd10.C: Same. 15743 * testsuite/libgomp.c++/simd11.C: Same. 15744 * testsuite/libgomp.c++/simd12.C: Same. 15745 * testsuite/libgomp.c++/simd13.C: Same. 15746 15747 2015-06-30 Jakub Jelinek <jakub (a] redhat.com> 15748 15749 PR middle-end/66702 15750 * testsuite/libgomp.c++/pr66702-1.C: New test. 15751 * testsuite/libgomp.c++/pr66702-2.C: New test. 15752 15753 2015-06-30 Tom de Vries <tom (a] codesourcery.com> 15754 15755 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test. 15756 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test. 15757 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test. 15758 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment. 15759 15760 2015-06-30 Tom de Vries <tom (a] codesourcery.com> 15761 15762 PR tree-optimization/66652 15763 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite 15764 using restrict pointers. 15765 (main): Add arguments to calls to f. 15766 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same. 15767 15768 2015-06-23 Andreas Tobler <andreast (a] gcc.gnu.org> 15769 15770 * configure.ac: Fix check for header <sys/sysctl.h>. 15771 * configure: Regenerate. 15772 * config.h.in: Likewise. 15773 15774 2015-06-23 Tom de Vries <tom (a] codesourcery.com> 15775 15776 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use 15777 abort. 15778 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same. 15779 15780 2015-06-19 Thomas Schwinge <thomas (a] codesourcery.com> 15781 15782 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for 15783 acc_device_nvidia. 15784 15785 PR libgomp/66518 15786 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL. 15787 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. 15788 15789 2015-06-15 Tom de Vries <tom (a] codesourcery.com> 15790 15791 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use 15792 dg-additional-options for any remaining options. 15793 * testsuite/libgomp.c/atomic-2.c: Same. 15794 * testsuite/libgomp.c/atomic-4.c: Same. 15795 * testsuite/libgomp.c/atomic-5.c: Same. 15796 * testsuite/libgomp.c/atomic-6.c: Same. 15797 * testsuite/libgomp.c/autopar-1.c: Same. 15798 * testsuite/libgomp.c/copyin-1.c: Same. 15799 * testsuite/libgomp.c/copyin-2.c: Same. 15800 * testsuite/libgomp.c/copyin-3.c: Same. 15801 * testsuite/libgomp.c/examples-4/e.53.5.c: Same. 15802 * testsuite/libgomp.c/nestedfn-5.c: Same. 15803 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same. 15804 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same. 15805 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same. 15806 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same. 15807 * testsuite/libgomp.c/pr32362-1.c: Same. 15808 * testsuite/libgomp.c/pr32362-2.c: Same. 15809 * testsuite/libgomp.c/pr32362-3.c: Same. 15810 * testsuite/libgomp.c/pr39591-1.c: Same. 15811 * testsuite/libgomp.c/pr39591-2.c: Same. 15812 * testsuite/libgomp.c/pr39591-3.c: Same. 15813 * testsuite/libgomp.c/pr58392.c: Same. 15814 * testsuite/libgomp.c/pr58756.c: Same. 15815 * testsuite/libgomp.c/simd-1.c: Same. 15816 * testsuite/libgomp.c/simd-10.c: Same. 15817 * testsuite/libgomp.c/simd-11.c: Same. 15818 * testsuite/libgomp.c/simd-12.c: Same. 15819 * testsuite/libgomp.c/simd-13.c: Same. 15820 * testsuite/libgomp.c/simd-14.c: Same. 15821 * testsuite/libgomp.c/simd-15.c: Same. 15822 * testsuite/libgomp.c/simd-2.c: Same. 15823 * testsuite/libgomp.c/simd-3.c: Same. 15824 * testsuite/libgomp.c/simd-4.c: Same. 15825 * testsuite/libgomp.c/simd-5.c: Same. 15826 * testsuite/libgomp.c/simd-6.c: Same. 15827 * testsuite/libgomp.c/simd-7.c: Same. 15828 * testsuite/libgomp.c/simd-8.c: Same. 15829 * testsuite/libgomp.c/simd-9.c: Same. 15830 15831 2015-06-15 Tom de Vries <tom (a] codesourcery.com> 15832 15833 * testsuite/libgomp.c/pr35625.c: Fix typo. 15834 15835 2015-06-15 Tom de Vries <tom (a] codesourcery.com> 15836 15837 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting 15838 in dg-options. 15839 * testsuite/libgomp.c/atomic-3.c: Same. 15840 * testsuite/libgomp.c/debug-1.c: Same. 15841 * testsuite/libgomp.c/nqueens-1.c: Same. 15842 * testsuite/libgomp.c/pr26171.c: Same. 15843 * testsuite/libgomp.c/pr48591.c: Same. 15844 * testsuite/libgomp.c/pr64824.c: Same. 15845 * testsuite/libgomp.c/pr64868.c: Same. 15846 * testsuite/libgomp.c/pr66133.c: Same. 15847 * testsuite/libgomp.c/pr66199-1.c: Same. 15848 * testsuite/libgomp.c/pr66199-2.c: Same. 15849 * testsuite/libgomp.c/target-8.c: Same. 15850 15851 2015-06-15 Tom de Vries <tom (a] codesourcery.com> 15852 15853 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for 15854 -std={gnu99,c99}. 15855 * testsuite/libgomp.c/for-1.c: Same. 15856 * testsuite/libgomp.c/for-2.c: Same. 15857 * testsuite/libgomp.c/for-3.c: Same. 15858 * testsuite/libgomp.c/pr35625.c: Same. 15859 * testsuite/libgomp.c/pr39154.c: Same. 15860 * testsuite/libgomp.c/simd-16.c: Same. 15861 * testsuite/libgomp.c/simd-17.c: Same. 15862 15863 2015-06-13 Tom de Vries <tom (a] codesourcery.com> 15864 15865 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test. 15866 15867 2015-06-13 Tom de Vries <tom (a] codesourcery.com> 15868 15869 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment. 15870 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same. 15871 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment. 15872 (N): Define. 15873 (main): Use N instead of hardcoded constants. 15874 15875 2015-06-05 Tom de Vries <tom (a] codesourcery.com> 15876 15877 merge from gomp4 branch: 15878 2015-05-28 Tom de Vries <tom (a] codesourcery.com> 15879 15880 PR tree-optimization/65443 15881 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test. 15882 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test. 15883 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test. 15884 15885 2015-05-29 Bernhard Reutner-Fischer <aldot (a] gcc.gnu.org> 15886 15887 * testsuite/libgomp.graphite/bounds.c: Adjust for 15888 cleanup-tree-dump removal. 15889 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise. 15890 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise. 15891 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise. 15892 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise. 15893 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise. 15894 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise. 15895 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise. 15896 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise. 15897 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise. 15898 * testsuite/libgomp.graphite/pr41118.c: Likewise. 15899 15900 2015-05-28 Uros Bizjak <ubizjak (a] gmail.com> 15901 15902 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function. 15903 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0. 15904 (futex_wake) [!__x86_64__]: Ditto. 15905 15906 2015-05-28 Julian Brown <julian (a] codesourcery.com> 15907 15908 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update 15909 function comment. Only call gomp_fatal if new argument is true. 15910 (acc_dev_num_out_of_range): New function. 15911 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call 15912 acc_dev_num_out_of_range as appropriate. 15913 (acc_get_num_devices, acc_set_device_type, acc_get_device_type) 15914 (acc_get_device_num, acc_set_device_num): Update calls to 15915 resolve_device. 15916 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test 15917 output. 15918 15919 2015-05-28 Julian Brown <julian (a] codesourcery.com> 15920 15921 PR libgomp/65742 15922 * oacc-init.c (plugin/plugin-host.h): Include. 15923 (acc_on_device): Check whether we're in an offloaded region for 15924 host_nonshm 15925 plugin. Don't use __builtin_acc_on_device. 15926 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set 15927 nonshm_exec flag in thread-local data. 15928 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local 15929 data for host_nonshm plugin. 15930 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data 15931 for host_nonshm plugin. 15932 * plugin/plugin-host.h: New. 15933 15934 2015-05-27 Uros Bizjak <ubizjak (a] gmail.com> 15935 15936 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int. 15937 15938 2015-05-27 Uros Bizjak <ubizjak (a] gmail.com> 15939 15940 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake): 15941 Declare as int. 15942 (FUTEX_PRIVATE_FLAG): Remove L suffix. 15943 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake): 15944 Declare as int. 15945 15946 2015-05-27 Uros Bizjak <ubizjak (a] gmail.com> 15947 15948 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function. 15949 15950 2015-05-27 Chung-Lin Tang <cltang (a] codesourcery.com> 15951 15952 * target.c (gomp_map_pointer): New function abstracting out 15953 GOMP_MAP_POINTER handling. 15954 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use 15955 gomp_map_pointer(). 15956 15957 2015-05-19 Jakub Jelinek <jakub (a] redhat.com> 15958 15959 PR middle-end/66199 15960 * testsuite/libgomp.c/pr66199-1.c: New test. 15961 * testsuite/libgomp.c/pr66199-2.c: New test. 15962 * testsuite/libgomp.c++/pr66199-1.C: New test. 15963 * testsuite/libgomp.c++/pr66199-2.C: New test. 15964 * testsuite/libgomp.fortran/pr66199-1.f90: New test. 15965 * testsuite/libgomp.fortran/pr66199-2.f90: New test. 15966 15967 2015-05-19 Julian Brown <julian (a] codesourcery.com> 15968 15969 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero 15970 on cuInit failure. 15971 15972 2015-05-13 Jakub Jelinek <jakub (a] redhat.com> 15973 15974 PR middle-end/66133 15975 * testsuite/libgomp.c/pr66133.c: New test. 15976 15977 2015-05-13 Michael Haubenwallner <michael.haubenwallner (a] ssi-schaefer.com> 15978 15979 * Makefile.in: Regenerated with automake-1.11.6. 15980 * aclocal.m4: Likewise. 15981 * config.h.in: Likewise. 15982 * configure: Likewise. 15983 * testsuite/Makefile.in: Likewise. 15984 15985 2015-05-08 Jason Merrill <jason (a] redhat.com> 15986 15987 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use 15988 _Complex. 15989 15990 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax. 15991 15992 2015-05-06 Julian Brown <julian (a] codesourcery.com> 15993 15994 * oacc-init.c (acc_device_lock): Add explanatory comment. 15995 (resolve_device): Add comment about locking requirement. 15996 (acc_init_1, acc_shutdown_1): Likewise. Add locking around 15997 gomp_init_device and gomp_fini_device calls. 15998 (acc_get_num_devices, acc_set_device_type, acc_get_device_type) 15999 (acc_get_device_num, acc_set_device_num): Add locking around 16000 resolve_device and gomp_init_device calls. 16001 16002 2015-05-06 Julian Brown <julian (a] codesourcery.com> 16003 16004 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for 16005 goacc_thread_lock on error paths. 16006 * oacc-mem.c (lookup_host): Remove locking from function. Note 16007 locking requirement for caller in function comment. 16008 (lookup_dev): Likewise. 16009 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present) 16010 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout) 16011 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer): 16012 Add locking. 16013 16014 2015-05-05 Thomas Schwinge <thomas (a] codesourcery.com> 16015 16016 PR testsuite/65205 16017 PR libgomp/65993 16018 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output, 16019 don't expect "0x" prefix for "%p" format specifier, don't expect 16020 "(nil)" for NULL pointer. 16021 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise. 16022 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise. 16023 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise. 16024 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise. 16025 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise. 16026 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise. 16027 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. 16028 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise. 16029 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise. 16030 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise. 16031 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise. 16032 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise. 16033 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise. 16034 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise. 16035 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise. 16036 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise. 16037 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise. 16038 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise. 16039 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. 16040 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise. 16041 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise. 16042 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise. 16043 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise. 16044 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise. 16045 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise. 16046 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise. 16047 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise. 16048 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise. 16049 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More 16050 accurately specify what we're looking for. 16051 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise. 16052 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise. 16053 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise. 16054 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise. 16055 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise. 16056 16057 2015-04-30 James Norris <jnorris (a] codesourcery.com> 16058 16059 PR testsuite/65205 16060 * testsuite/lib/libgomp.exp 16061 (check_effective_target_openacc_host_selected) 16062 (check_effective_target_openacc_host_nonshm_selected): New 16063 procedures. 16064 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of 16065 dg-shouldfail. 16066 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise. 16067 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise. 16068 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise. 16069 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise. 16070 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise. 16071 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise. 16072 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise. 16073 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise. 16074 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise. 16075 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. 16076 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise. 16077 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise. 16078 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise. 16079 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise. 16080 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise. 16081 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise. 16082 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise. 16083 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise. 16084 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise. 16085 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise. 16086 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise. 16087 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise. 16088 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise. 16089 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. 16090 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise. 16091 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise. 16092 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise. 16093 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise. 16094 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise. 16095 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise. 16096 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise. 16097 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise. 16098 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise. 16099 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise. 16100 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise. 16101 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise. 16102 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise. 16103 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise. 16104 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise. 16105 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise. 16106 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise. 16107 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise. 16108 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise. 16109 16110 2015-04-08 Julian Brown <julian (a] codesourcery.com> 16111 16112 * libgomp.h (target_mem_desc: Remove mem_map field. 16113 (acc_dispatch_t): Remove open_device_func, close_device_func, 16114 get_device_num_func, set_device_num_func, target_data members. 16115 Change create_thread_data_func argument to device number instead of 16116 generic pointer. 16117 * oacc-async.c (assert.h): Include. 16118 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async) 16119 (acc_wait_all, acc_wait_all_async): Use current host thread's 16120 active device, not base_dev. 16121 * oacc-cuda.c (acc_get_current_cuda_device) 16122 (acc_get_current_cuda_context, acc_get_cuda_stream) 16123 (acc_set_cuda_stream): Likewise. 16124 * oacc-host.c (host_dispatch): Don't set open_device_func, 16125 close_device_func, get_device_num_func or set_device_num_func. 16126 * oacc-init.c (base_dev, init_key): Remove. 16127 (cached_base_dev): New. 16128 (name_of_acc_device_t): New. 16129 (acc_init_1): Initialise default-numbered device, not zeroth. 16130 (acc_shutdown_1): Close all devices of a given type. 16131 (goacc_destroy_thread): Don't use base_dev. 16132 (lazy_open, lazy_init, lazy_init_and_open): Remove. 16133 (goacc_attach_host_thread_to_device): New. 16134 (acc_init): Reimplement with goacc_attach_host_thread_to_device. 16135 (acc_get_num_devices): Don't use base_dev. 16136 (acc_set_device_type): Reimplement. 16137 (acc_get_device_type): Don't use base_dev. 16138 (acc_get_device_num): Tweak logic. 16139 (acc_set_device_num): Likewise. 16140 (acc_on_device): Use acc_get_device_type. 16141 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev. 16142 (goacc_lazy_initialize): Reimplement with acc_init and 16143 goacc_attach_host_thread_to_device. 16144 * oacc-int.h (goacc_thread): Add base_dev field. 16145 (base_dev): Remove extern declaration. 16146 (goacc_attach_host_thread_to_device): Add prototype. 16147 * oacc-mem.c (acc_malloc): Use current thread's device instead of 16148 base_dev. 16149 (acc_free): Likewise. 16150 (acc_memcpy_to_device): Likewise. 16151 (acc_memcpy_from_device): Likewise. 16152 * oacc-parallel.c (select_acc_device): Remove. Replace calls with 16153 goacc_lazy_initialize (throughout). 16154 (GOACC_parallel): Use tgt_offset to locate target functions. 16155 * target.c (gomp_map_vars): Don't set tgt->mem_map. 16156 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map. 16157 (gomp_load_plugin_for_device): Remove open_device, close_device, 16158 get_device_num, set_device_num openacc hook initialisation. Don't set 16159 openacc.target_data. 16160 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device) 16161 (GOMP_OFFLOAD_openacc_close_device) 16162 (GOMP_OFFLOAD_openacc_get_device_num) 16163 (GOMP_OFFLOAD_openacc_set_device_num): Remove. 16164 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument 16165 to int. 16166 * plugin/plugin-nvptx.c (ptx_inited): Remove. 16167 (instantiated_devices, ptx_dev_lock): New. 16168 (struct ptx_image_data): New. 16169 (ptx_devices, ptx_images, ptx_image_lock): New. 16170 (fini_streams_for_device): Reorder cuStreamDestroy call. 16171 (nvptx_get_num_devices): Remove forward declaration. 16172 (nvptx_init): Change return type to bool. 16173 (nvptx_fini): Remove. 16174 (nvptx_attach_host_thread_to_device): New. 16175 (nvptx_open_device): Return struct ptx_device* instead of void*. 16176 (nvptx_close_device): Change argument type to struct ptx_device*, 16177 return type to void. 16178 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited. 16179 (kernel_target_data, kernel_host_table): Remove static globals. 16180 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove. 16181 (GOMP_OFFLOAD_init_device): Reimplement. 16182 (GOMP_OFFLOAD_fini_device): Likewise. 16183 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New. 16184 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host) 16185 (GOMP_OFFLOAD_host2dev): Use ORD argument. 16186 (GOMP_OFFLOAD_openacc_open_device) 16187 (GOMP_OFFLOAD_openacc_close_device) 16188 (GOMP_OFFLOAD_openacc_set_device_num) 16189 (GOMP_OFFLOAD_openacc_get_device_num): Remove. 16190 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int 16191 (device number). 16192 16193 testsuite/ 16194 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test. 16195 16196 2015-04-06 Ilya Verbin <ilya.verbin (a] intel.com> 16197 16198 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair. 16199 * libgomp.h (struct gomp_memory_mapping): Remove. 16200 (struct target_mem_desc): Change type of mem_map from 16201 gomp_memory_mapping * to splay_tree_s *. 16202 (struct gomp_device_descr): Remove register_image_func, get_table_func. 16203 Add load_image_func, unload_image_func. 16204 Change type of mem_map from gomp_memory_mapping to splay_tree_s. 16205 Remove offload_regions_registered. 16206 (gomp_init_tables): Remove. 16207 (gomp_free_memmap): Change type of argument from gomp_memory_mapping * 16208 to splay_tree_s *. 16209 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister. 16210 * oacc-host.c (host_dispatch): Do not initialize register_image_func, 16211 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root, 16212 offload_regions_registered. 16213 Initialize load_image_func, unload_image_func, mem_map.root. 16214 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock. 16215 * oacc-init.c (lazy_open): Don't call gomp_init_tables. 16216 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's. 16217 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of 16218 gomp_memory_mapping *. Use dev's lock and splay_tree. 16219 (lookup_dev): Use dev's lock. 16220 (acc_deviceptr): Pass dev to lookup_host instead of mem_map. 16221 (acc_is_present): Likewise. 16222 (acc_map_data): Likewise. 16223 (acc_unmap_data): Likewise. Use dev's lock. 16224 (present_create_copy): Likewise. 16225 (delete_copyout): Pass dev to lookup_host instead of mem_map. 16226 (update_dev_host): Likewise. 16227 (gomp_acc_remove_pointer): Likewise. Use dev's lock. 16228 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree. 16229 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove. 16230 (GOMP_OFFLOAD_get_table): Remove 16231 (GOMP_OFFLOAD_load_image): New function. 16232 (GOMP_OFFLOAD_unload_image): New function. 16233 * target.c (register_lock): New mutex for offload image registration. 16234 (num_devices): Do not guard with PLUGIN_SUPPORT. 16235 (gomp_realloc_unlock): New static function. 16236 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex 16237 before gomp_fatal. 16238 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's. 16239 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal. 16240 (gomp_copy_from_async): Use dev's lock and splay_tree instead of 16241 mem_map's. 16242 (gomp_unmap_vars): Likewise. 16243 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and 16244 splay_tree instead of mm's. Unlock mutex before gomp_fatal. 16245 (gomp_offload_image_to_device): New static function. 16246 (GOMP_offload_register): Add mutex lock. 16247 Call gomp_offload_image_to_device for all initialized devices. 16248 Replace gomp_realloc with gomp_realloc_unlock. 16249 (GOMP_offload_unregister): New function. 16250 (gomp_init_tables): Replace with gomp_init_device. Replace a call to 16251 get_table_func from the plugin with calls to init_device_func and 16252 gomp_offload_image_to_device. 16253 (gomp_free_memmap): Change type of argument from gomp_memory_mapping * 16254 to splay_tree_s *. 16255 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and 16256 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal. 16257 (GOMP_target_data): Do not call gomp_init_tables. 16258 (GOMP_target_update): Likewise. Remove argument from gomp_update. 16259 (gomp_load_plugin_for_device): Replace register_image and get_table 16260 with load_image and unload_image in DLSYM (). 16261 (gomp_register_images_for_device): Remove function. 16262 (gomp_target_init): Do not initialize current_device.mem_map.*, 16263 current_device.offload_regions_registered. 16264 Remove call to gomp_register_images_for_device. 16265 Do not free offload_images and num_offload_images. 16266 16267 2015-03-30 Jakub Jelinek <jakub (a] redhat.com> 16268 16269 PR fortran/65597 16270 * testsuite/libgomp.fortran/pr65597.f90: New test. 16271 16272 2015-03-27 Tom de Vries <tom (a] codesourcery.com> 16273 16274 PR testsuite/65594 16275 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare. 16276 (init, check): New function. 16277 (foo): Change return type to void. 16278 (main): Call init and check. 16279 16280 2015-03-27 Tom de Vries <tom (a] codesourcery.com> 16281 16282 PR testsuite/65594 16283 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define. 16284 (foo): Use M for non-inner loops to scale down test-case. 16285 16286 2015-03-25 Kai Tietz <ktietz (a] redhat.com> 16287 16288 PR libgomp/64972 16289 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available. 16290 (GOACC_data_start): Likewise. 16291 * target.c (gomp_map_vars): Likewise. 16292 16293 2015-03-21 John David Anglin <danglin (a] gcc.gnu.org> 16294 16295 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on 16296 hppa*-*-hpux*. 16297 16298 2015-03-19 Jakub Jelinek <jakub (a] redhat.com> 16299 16300 * testsuite/libgomp.c/target-10.c: New test. 16301 * testsuite/libgomp.c++/target-4.C: New test. 16302 16303 2015-03-13 Ilya Verbin <ilya.verbin (a] intel.com> 16304 16305 * testsuite/libgomp.fortran/declare-target-1.f90: New test. 16306 * testsuite/libgomp.fortran/declare-target-2.f90: New file. 16307 16308 2015-03-13 Sebastian Huber <sebastian.huber (a] embedded-brains.de> 16309 16310 * configure.tgt (*-*-rtems*): Use local-exec TLS model. 16311 * configure.ac (*-*-rtems*): Assume Pthread is supported. 16312 (pthread.h): Check for this header file. 16313 * configure: Regenerate. 16314 16315 2015-02-25 Tom de Vries <tom (a] codesourcery.com> 16316 16317 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA) 16318 (check_reduction_op, check_reduction_macro, max, min): 16319 Declare. 16320 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New 16321 function. 16322 (main): Use new functions. 16323 16324 2015-02-18 Ilya Tocar <ilya.tocar (a] intel.com> 16325 16326 * target.c (gomp_load_plugin_for_device): Use const char * instead of 16327 char * for variables holding dlerror return values. 16328 (DLSYM_OPT): Ditto. 16329 16330 2015-02-17 Thomas Schwinge <thomas (a] codesourcery.com> 16331 16332 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo. 16333 16334 2015-02-17 Thomas Schwinge <thomas (a] codesourcery.com> 16335 Cesar Philippidis <cesar (a] codesourcery.com> 16336 16337 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid, 16338 GOACC_ctaid, and GOACC_nctaid routines. 16339 16340 2015-02-11 Jakub Jelinek <jakub (a] redhat.com> 16341 16342 PR c/64824 16343 * testsuite/libgomp.c/atomic-18.c: New test. 16344 * testsuite/libgomp.c++/atomic-16.C: New test. 16345 16346 2015-02-04 Jakub Jelinek <jakub (a] redhat.com> 16347 16348 PR c/64824 16349 PR c/64868 16350 * testsuite/libgomp.c/pr64824.c: New test. 16351 * testsuite/libgomp.c/pr64868.c: New test. 16352 * testsuite/libgomp.c++/pr64824.C: New test. 16353 * testsuite/libgomp.c++/pr64868.C: New test. 16354 16355 2015-02-01 David Edelsohn <dje.gcc (a] gmail.com> 16356 16357 PR libgomp/64635 16358 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h. 16359 Link with -lpthread. 16360 * config/aix/plugin-suffix.h: Delete. 16361 16362 2015-01-28 Jack Howarth <howarth.at.gcc (a] gmail.com> 16363 16364 PR libgomp/64635 16365 * configure.tgt (*-*-aix*): Use config_path "aix posix". 16366 (*-*-darwin*): Use config_path "bsd darwin posix". 16367 (*-*-hpux*): Use config_path "hpux posix". 16368 * target.c: Add include of plugin-suffix.h and use 16369 SONAME_SUFFIX macro. 16370 * config/aix/plugin-suffix.h: New file. 16371 * config/darwin/plugin-suffix.h: New file. 16372 * config/hpux/plugin-suffix.h: New file. 16373 * config/posix/plugin-suffix.h: New file. 16374 16375 2015-01-23 Jakub Jelinek <jakub (a] redhat.com> 16376 16377 PR middle-end/64734 16378 * libgomp.c/pr64734.c: New test. 16379 16380 2015-01-23 Tom de Vries <tom (a] codesourcery.com> 16381 16382 PR libgomp/64672 16383 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test. 16384 16385 2015-01-23 Tom de Vries <tom (a] codesourcery.com> 16386 16387 PR libgomp/64707 16388 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to 16389 dg-options. 16390 16391 2015-01-19 Thomas Schwinge <thomas (a] codesourcery.com> 16392 16393 PR libgomp/64625 16394 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data) 16395 (GOACC_parallel, GOACC_update): Remove const_void *offload_table 16396 formal parameter. Update all users. 16397 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update): 16398 Document unused formal parameter. 16399 16400 2015-01-16 Thomas Schwinge <thomas (a] codesourcery.com> 16401 16402 * oacc-parallel.c: Don't include <alloca.h>. 16403 (GOACC_parallel): Use gomp_alloca instead of alloca. 16404 16405 2015-01-16 Gerald Pfeifer <gerald (a] pfeifer.com> 16406 16407 * target.c (num_devices): Guard with PLUGIN_SUPPORT. 16408 16409 2015-01-15 Thomas Schwinge <thomas (a] codesourcery.com> 16410 James Norris <jnorris (a] codesourcery.com> 16411 Tom de Vries <tom (a] codesourcery.com> 16412 Julian Brown <julian (a] codesourcery.com> 16413 Cesar Philippidis <cesar (a] codesourcery.com> 16414 Nathan Sidwell <nathan (a] codesourcery.com> 16415 Tobias Burnus <burnus (a] net-b.de> 16416 16417 * Makefile.am (search_path): Add $(top_srcdir)/../include. 16418 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c, 16419 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c, 16420 oacc-async.c, oacc-plugin.c, oacc-cuda.c. 16421 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90. 16422 Include $(top_srcdir)/plugin/Makefrag.am. 16423 (nodist_libsubinclude_HEADERS): Add openacc.h. 16424 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h, 16425 openacc.f90, openacc.mod, openacc_kinds.mod. 16426 (omp_lib.mod): Generalize into... 16427 (%.mod): ... this new rule. 16428 (openacc_kinds.mod, openacc.mod): New rules. 16429 * plugin/configfrag.ac: New file. 16430 * configure.ac: Move plugin/offloading support into it. Include 16431 it. Instantiate testsuite/libgomp-test-support.pt.exp. 16432 * plugin/Makefrag.am: New file. 16433 * testsuite/Makefile.am (OFFLOAD_TARGETS) 16434 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't 16435 export. 16436 (libgomp-test-support.exp): New rule. 16437 (all-local): Depend on it. 16438 * Makefile.in: Regenerate. 16439 * testsuite/Makefile.in: Regenerate. 16440 * config.h.in: Likewise. 16441 * configure: Likewise. 16442 * configure.tgt: Harden shell syntax. 16443 * env.c: Include "oacc-int.h". 16444 (parse_acc_device_type): New function. 16445 (gomp_debug_var, goacc_device_type, goacc_device_num): New 16446 variables. 16447 (initialize_env): Initialize those. Call 16448 goacc_runtime_initialize. 16449 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions. 16450 (gomp_fatal): Call gomp_vfatal. 16451 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>. 16452 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug) 16453 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once) 16454 (splay_tree_node, splay_tree, splay_tree_key) 16455 (struct target_mem_desc, struct splay_tree_key_s) 16456 (struct gomp_memory_mapping, struct acc_dispatch_t) 16457 (struct gomp_device_descr, gomp_acc_insert_pointer) 16458 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async) 16459 (gomp_unmap_vars, gomp_init_device, gomp_init_tables) 16460 (gomp_free_memmap, gomp_fini_device): New declarations. 16461 (gomp_vdebug, gomp_debug): New macros. 16462 Include "splay-tree.h". 16463 * libgomp.map (OACC_2.0): New symbol version. Use for 16464 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type, 16465 acc_set_device_type_h_, acc_get_device_type, 16466 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_, 16467 acc_get_device_num, acc_get_device_num_h_, acc_async_test, 16468 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_, 16469 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_, 16470 acc_wait_all, acc_wait_all_h_, acc_wait_all_async, 16471 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown, 16472 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc, 16473 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_, 16474 acc_copyin_array_h_, acc_present_or_copyin, 16475 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_, 16476 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_, 16477 acc_create_64_h_, acc_create_array_h_, acc_present_or_create, 16478 acc_present_or_create_32_h_, acc_present_or_create_64_h_, 16479 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_, 16480 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete, 16481 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_, 16482 acc_update_device, acc_update_device_32_h_, 16483 acc_update_device_64_h_, acc_update_device_array_h_, 16484 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_, 16485 acc_update_self_array_h_, acc_map_data, acc_unmap_data, 16486 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_, 16487 acc_is_present_64_h_, acc_is_present_array_h_, 16488 acc_memcpy_to_device, acc_memcpy_from_device, 16489 acc_get_current_cuda_device, acc_get_current_cuda_context, 16490 acc_get_cuda_stream, acc_set_cuda_stream. 16491 (GOACC_2.0): New symbol version. Use for GOACC_data_end, 16492 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel, 16493 GOACC_update, GOACC_wait, GOACC_get_thread_num, 16494 GOACC_get_num_threads. 16495 (GOMP_PLUGIN_1.0): New symbol version. Use for 16496 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared, 16497 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error, 16498 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars, 16499 GOMP_PLUGIN_acc_thread. 16500 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG 16501 environment variable. 16502 * libgomp_g.h (GOACC_data_start, GOACC_data_end) 16503 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait) 16504 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations. 16505 * splay-tree.h (splay_tree_lookup, splay_tree_insert) 16506 (splay_tree_remove): New declarations. 16507 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert) 16508 (splay_tree_remove, splay_tree_lookup): Move into... 16509 * splay-tree.c: ... this new file. 16510 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>. 16511 (splay_tree_node, splay_tree, splay_tree_key) 16512 (struct target_mem_desc, struct splay_tree_key_s) 16513 (struct gomp_device_descr): Don't declare. 16514 (num_devices_openmp): New variable. 16515 (gomp_get_num_devices ): Use it. 16516 (gomp_init_targets_once): New function. 16517 (gomp_get_num_devices ): Use it. 16518 (get_kind, gomp_copy_from_async, gomp_free_memmap) 16519 (gomp_fini_device, gomp_register_image_for_device): New functions. 16520 (gomp_map_vars): Add devaddrs parameter. 16521 (gomp_update): Add mm parameter. 16522 (gomp_init_device): Move most of it into... 16523 (gomp_init_tables): ... this new function. 16524 (gomp_register_images_for_device): Remove function. 16525 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device): 16526 Make them hidden instead of static. 16527 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars) 16528 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data) 16529 (GOMP_target_end_data, GOMP_target_update) 16530 (gomp_load_plugin_for_device, gomp_target_init): Update for 16531 OpenACC changes. 16532 * oacc-async.c: New file. 16533 * oacc-cuda.c: Likewise. 16534 * oacc-host.c: Likewise. 16535 * oacc-init.c: Likewise. 16536 * oacc-int.h: Likewise. 16537 * oacc-mem.c: Likewise. 16538 * oacc-parallel.c: Likewise. 16539 * oacc-plugin.c: Likewise. 16540 * oacc-plugin.h: Likewise. 16541 * oacc-ptx.h: Likewise. 16542 * openacc.f90: Likewise. 16543 * openacc.h: Likewise. 16544 * openacc_lib.h: Likewise. 16545 * plugin/plugin-host.c: Likewise. 16546 * plugin/plugin-nvptx.c: Likewise. 16547 * libgomp-plugin.c: Likewise. 16548 * libgomp-plugin.h: Likewise. 16549 * libgomp_target.h: Remove file after merging content into the 16550 former file. Update all users. 16551 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp. 16552 (offload_targets_s, offload_targets_s_openacc): New variables. 16553 (check_effective_target_openacc_nvidia_accel_present) 16554 (check_effective_target_openacc_nvidia_accel_selected): New 16555 procedures. 16556 (libgomp_init): Update for OpenACC changes. 16557 * testsuite/libgomp-test-support.exp.in: New file. 16558 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. 16559 * testsuite/libgomp.oacc-c/c.exp: Likewise. 16560 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 16561 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise. 16562 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise. 16563 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise. 16564 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise. 16565 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise. 16566 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise. 16567 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise. 16568 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise. 16569 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise. 16570 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise. 16571 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise. 16572 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise. 16573 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise. 16574 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise. 16575 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise. 16576 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise. 16577 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise. 16578 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise. 16579 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise. 16580 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise. 16581 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise. 16582 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise. 16583 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise. 16584 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise. 16585 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise. 16586 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise. 16587 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise. 16588 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise. 16589 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise. 16590 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise. 16591 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise. 16592 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise. 16593 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise. 16594 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise. 16595 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise. 16596 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise. 16597 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise. 16598 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise. 16599 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise. 16600 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise. 16601 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise. 16602 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise. 16603 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise. 16604 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise. 16605 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise. 16606 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise. 16607 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise. 16608 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. 16609 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise. 16610 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise. 16611 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise. 16612 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise. 16613 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise. 16614 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise. 16615 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise. 16616 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise. 16617 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise. 16618 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise. 16619 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise. 16620 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise. 16621 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise. 16622 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise. 16623 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise. 16624 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise. 16625 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise. 16626 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise. 16627 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise. 16628 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise. 16629 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. 16630 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise. 16631 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise. 16632 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise. 16633 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise. 16634 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise. 16635 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise. 16636 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise. 16637 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise. 16638 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise. 16639 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise. 16640 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise. 16641 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise. 16642 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise. 16643 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise. 16644 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise. 16645 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise. 16646 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise. 16647 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise. 16648 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise. 16649 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise. 16650 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise. 16651 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise. 16652 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise. 16653 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise. 16654 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise. 16655 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise. 16656 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise. 16657 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise. 16658 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise. 16659 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise. 16660 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise. 16661 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise. 16662 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise. 16663 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise. 16664 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise. 16665 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise. 16666 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise. 16667 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise. 16668 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise. 16669 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise. 16670 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise. 16671 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise. 16672 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise. 16673 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise. 16674 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise. 16675 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise. 16676 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise. 16677 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise. 16678 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise. 16679 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise. 16680 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise. 16681 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise. 16682 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise. 16683 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise. 16684 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise. 16685 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise. 16686 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise. 16687 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise. 16688 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise. 16689 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise. 16690 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise. 16691 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise. 16692 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise. 16693 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise. 16694 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise. 16695 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise. 16696 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise. 16697 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: 16698 Likewise. 16699 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise. 16700 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise. 16701 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise. 16702 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise. 16703 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise. 16704 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise. 16705 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise. 16706 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise. 16707 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise. 16708 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise. 16709 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise. 16710 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise. 16711 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise. 16712 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise. 16713 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise. 16714 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise. 16715 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise. 16716 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise. 16717 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise. 16718 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise. 16719 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise. 16720 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise. 16721 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise. 16722 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise. 16723 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise. 16724 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise. 16725 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise. 16726 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise. 16727 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise. 16728 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise. 16729 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise. 16730 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise. 16731 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise. 16732 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise. 16733 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise. 16734 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise. 16735 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise. 16736 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise. 16737 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise. 16738 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise. 16739 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise. 16740 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise. 16741 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise. 16742 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise. 16743 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise. 16744 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise. 16745 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise. 16746 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise. 16747 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise. 16748 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise. 16749 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise. 16750 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise. 16751 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise. 16752 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. 16753 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise. 16754 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise. 16755 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise. 16756 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise. 16757 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise. 16758 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise. 16759 16760 2015-01-10 Thomas Schwinge <thomas (a] codesourcery.com> 16761 Julian Brown <julian (a] codesourcery.com> 16762 David Malcolm <dmalcolm (a] redhat.com> 16763 16764 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library" 16765 to "GNU Offloading and Multi Processing Runtime Library". Change 16766 all users. 16767 * configure: Regenerate. 16768 * libgomp.texi: Update. 16769 16770 2015-01-08 Thomas Schwinge <thomas (a] codesourcery.com> 16771 16772 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add 16773 "$tgt_dir/lib32". 16774 * configure: Regenerate. 16775 16776 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match 16777 "intelmic" in $offload_targets. 16778 16779 2015-01-05 Jakub Jelinek <jakub (a] redhat.com> 16780 16781 Update copyright years. 16782 16783 * libgomp.texi: Bump @copying's copyright year. 16784 16785 2014-12-12 Kyrylo Tkachov <kyrylo.tkachov (a] arm.com> 16786 16787 * testsuite/lib/libgomp.exp: Load target-utils.exp. 16788 Move load of target-supports.exp earlier. 16789 16790 2014-12-10 Ilya Verbin <ilya.verbin (a] intel.com> 16791 16792 * testsuite/libgomp.c/target-9.c: New test. 16793 16794 2014-12-09 Varvara Rainchik <varvara.rainchik (a] intel.com> 16795 16796 * config.h.in: Regenerate. 16797 * configure: Regenerate. 16798 * configure.ac: Add GCC_CHECK_EMUTLS. 16799 * libgomp.h: Add check for USE_EMUTLS: this case 16800 is equal to HAVE_TLS. 16801 * team.c: Likewise. 16802 16803 2014-12-03 Uros Bizjak <ubizjak (a] gmail.com> 16804 16805 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic. 16806 16807 2014-11-28 Andrey Turetskiy <andrey.turetskiy (a] intel.com> 16808 Ilya Verbin <ilya.verbin (a] intel.com> 16809 16810 * testsuite/libgomp.c/target-critical-1.c: New test. 16811 16812 2014-11-26 Jakub Jelinek <jakub (a] redhat.com> 16813 16814 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20 16815 to dg-options unless expensive testing is on. 16816 (TESTITERS): Define to N if not defined. 16817 (main): Use TESTITERS instead of N. 16818 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from 16819 dg-additional-options depending on whether expensive testing is on. 16820 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod): 16821 Decrease N to 100000 and CHUNKSZ to 10000. 16822 16823 2014-11-24 Jakub Jelinek <jakub (a] redhat.com> 16824 16825 PR fortran/63938 16826 * testsuite/libgomp.fortran/pr63938-1.f90: New test. 16827 * testsuite/libgomp.fortran/pr63938-2.f90: New test. 16828 16829 2014-11-21 Steve Ellcey <sellcey (a] imgtec.com> 16830 16831 * config/linux/mips/futex.h (SYS_futex): Define if not already done. 16832 16833 2014-11-21 H.J. Lu <hongjiu.lu (a] intel.com> 16834 16835 PR bootstrap/63784 16836 * configure: Regenerated. 16837 16838 2014-11-19 Uros Bizjak <ubizjak (a] gmail.com> 16839 16840 * testsuite/libgomp.c/examples-4/e.53.5.c: Require 16841 vect_simd_clones effective target. 16842 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto. 16843 16844 2014-11-14 Jakub Jelinek <jakub (a] redhat.com> 16845 16846 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead 16847 of 32 as block_size. 16848 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8 16849 instead of 32 as block_size. 16850 16851 2014-11-13 Andrey Turetskiy <andrey.turetskiy (a] intel.com> 16852 Ilya Verbin <ilya.verbin (a] intel.com> 16853 16854 * Makefile.in: Regenerate. 16855 * configure: Regenerate. 16856 * configure.ac: Set up offload_additional_options, 16857 offload_additional_lib_paths and offload_targets. 16858 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS, 16859 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS. 16860 * testsuite/Makefile.in: Regenerate. 16861 * testsuite/lib/libgomp.exp (libgomp_init): Append 16862 offload_additional_lib_paths to LD_LIBRARY_PATH. Append 16863 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic 16864 build directory to LD_LIBRARY_PATH for intelmic offload targets. 16865 16866 2014-11-13 Andrey Turetskiy <andrey.turetskiy (a] intel.com> 16867 Ilya Verbin <ilya.verbin (a] intel.com> 16868 Kirill Yukhin <kirill.yukhin (a] intel.com> 16869 Ilya Tocar <ilya.tocar (a] intel.com> 16870 16871 * testsuite/lib/libgomp.exp 16872 (check_effective_target_offload_device): New. 16873 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories. 16874 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test. 16875 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto. 16876 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto. 16877 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto. 16878 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto. 16879 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto. 16880 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto. 16881 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto. 16882 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto. 16883 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto. 16884 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto. 16885 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto. 16886 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto. 16887 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto. 16888 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto. 16889 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto. 16890 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto. 16891 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto. 16892 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto. 16893 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto. 16894 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto. 16895 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto. 16896 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto. 16897 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto. 16898 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto. 16899 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto. 16900 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto. 16901 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto. 16902 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto. 16903 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto. 16904 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto. 16905 * testsuite/libgomp.c/target-7.c: Fix test. 16906 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test. 16907 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto. 16908 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto. 16909 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto. 16910 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto. 16911 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto. 16912 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto. 16913 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto. 16914 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto. 16915 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto. 16916 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto. 16917 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto. 16918 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto. 16919 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto. 16920 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto. 16921 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto. 16922 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto. 16923 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto. 16924 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto. 16925 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto. 16926 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto. 16927 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto. 16928 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto. 16929 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto. 16930 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto. 16931 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto. 16932 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto. 16933 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto. 16934 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto. 16935 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto. 16936 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto. 16937 16938 2014-11-13 Jakub Jelinek <jakub (a] redhat.com> 16939 Ilya Verbin <ilya.verbin (a] intel.com> 16940 Thomas Schwinge <thomas (a] codesourcery.com> 16941 Andrey Turetskiy <andrey.turetskiy (a] intel.com> 16942 16943 * libgomp.map (GOMP_4.0.1): New symbol version. 16944 Add GOMP_offload_register. 16945 * libgomp_target.h: New file. 16946 * splay-tree.h: New file. 16947 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h. 16948 (gomp_target_init): New forward declaration. 16949 (gomp_is_initialized): New static variable. 16950 (splay_tree_node, splay_tree, splay_tree_key): New typedefs. 16951 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr): 16952 New structures. 16953 (offload_images, num_offload_images, devices, num_devices): New static 16954 variables. 16955 (splay_compare): New static function. 16956 (struct gomp_device_descr): New structure. 16957 (gomp_get_num_devices): Call gomp_target_init. 16958 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt) 16959 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions. 16960 (GOMP_offload_register): New function. 16961 (GOMP_target): Arrange for host callback to be performed in a separate 16962 initial thread and contention group, inheriting ICVs from 16963 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars. 16964 Add device initialization and lookup for target function in splay tree. 16965 (GOMP_target_data): Add device initialization and call gomp_map_vars. 16966 (GOMP_target_end_data): Call gomp_unmap_vars. 16967 (GOMP_target_update): Add device initialization and call gomp_update. 16968 (gomp_load_plugin_for_device, gomp_register_images_for_device) 16969 (gomp_target_init): New static functions. 16970 16971 2014-11-13 Bernd Schmidt <bernds (a] codesourcery.com> 16972 Thomas Schwinge <thomas (a] codesourcery.com> 16973 Ilya Verbin <ilya.verbin (a] intel.com> 16974 Andrey Turetskiy <andrey.turetskiy (a] intel.com> 16975 16976 * config.h.in: Regenerate. 16977 * configure: Regenerate. 16978 * configure.ac: Check for libdl, required for plugin support. 16979 (PLUGIN_SUPPORT): Define if plugins are supported. 16980 (enable_offload_targets): Support Intel MIC targets. 16981 (OFFLOAD_TARGETS): List of target names suitable for offloading. 16982 16983 2014-11-11 Francois-Xavier Coudert <fxcoudert (a] gcc.gnu.org> 16984 16985 PR target/63610 16986 * configure: Regenerate. 16987 16988 2014-11-05 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 16989 16990 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600. 16991 16992 2014-10-06 Marek Polacek <polacek (a] redhat.com> 16993 16994 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>. 16995 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>. 16996 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h> 16997 * testsuite/libgomp.c/thread-limit-2.c: Likewise. 16998 16999 2014-10-06 Marek Polacek <polacek (a] redhat.com> 17000 17001 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations. 17002 * testsuite/libgomp.c/nqueens-1.c: Likewise. 17003 * testsuite/libgomp.c/pr26943-3.c: Likewise. 17004 * testsuite/libgomp.c/pr26943-4.c: Likewise. 17005 * testsuite/libgomp.c/pr36802-2.c: Likewise. 17006 * testsuite/libgomp.c/pr36802-3.c: Likewise. 17007 * testsuite/libgomp.c/thread-limit-1.c: Likewise. 17008 * testsuite/libgomp.c/thread-limit-2.c: Likewise. 17009 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>. 17010 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int. 17011 * testsuite/libgomp.c/omp-parallel-for.c: Likewise. 17012 * testsuite/libgomp.c/omp-parallel-if.c: Likewise. 17013 * testsuite/libgomp.c/omp-single-1.c: Likewise. 17014 * testsuite/libgomp.c/omp-single-2.c: Likewise. 17015 * testsuite/libgomp.c/omp_matvec.c: Likewise. 17016 * testsuite/libgomp.c/omp_workshare3.c: Likewise. 17017 * testsuite/libgomp.c/omp_workshare4.c: Likewise. 17018 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit 17019 declarations. 17020 17021 2014-10-03 Jakub Jelinek <jakub (a] redhat.com> 17022 17023 PR libgomp/61200 17024 * testsuite/libgomp.c/pr61200.c: New test. 17025 17026 2014-09-18 Jakub Jelinek <jakub (a] redhat.com> 17027 17028 PR c++/63248 17029 * testsuite/libgomp.c++/pr63248.C: New test. 17030 17031 2014-08-04 Jakub Jelinek <jakub (a] redhat.com> 17032 17033 * task.c (GOMP_taskgroup_end): If taskgroup->num_children 17034 is not zero, but taskgroup->children is NULL and there are 17035 any task->children, schedule those instead of waiting. 17036 * testsuite/libgomp.c/depend-6.c: New test. 17037 * testsuite/libgomp.c/depend-7.c: New test. 17038 * testsuite/libgomp.c/depend-8.c: New test. 17039 * testsuite/libgomp.c/depend-9.c: New test. 17040 * testsuite/libgomp.c/depend-10.c: New test. 17041 17042 2014-08-01 Jakub Jelinek <jakub (a] redhat.com> 17043 17044 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field. 17045 (struct gomp_taskwait): New type. 17046 (struct gomp_task): Add taskwait and parent_depends_on, remove 17047 in_taskwait and taskwait_sem fields. 17048 (gomp_finish_task): Don't destroy taskwait_sem. 17049 * task.c (gomp_init_task): Don't init in_taskwait, instead init 17050 taskwait and parent_depends_on. 17051 (GOMP_task): For if (0) tasks with depend clause that depend on 17052 earlier tasks don't defer them, instead call 17053 gomp_task_maybe_wait_for_dependencies to wait for the dependencies. 17054 Initialize redundant_out field, for redundant out entries just 17055 move them at the end of linked list instead of removing them 17056 completely, and set redundant_out flag instead of redundant. 17057 (gomp_task_run_pre): Update last_parent_depends_on if scheduling 17058 that task. 17059 (gomp_task_run_post_handle_dependers): If parent is in 17060 gomp_task_maybe_wait_for_dependencies and newly runnable task 17061 is not parent_depends_on, queue it in parent->children linked 17062 list after all runnable tasks with parent_depends_on set. 17063 Adjust for addition of taskwait indirection. 17064 (gomp_task_run_post_remove_parent): If parent is in 17065 gomp_task_maybe_wait_for_dependencies and task to be removed 17066 is parent_depends_on, decrement n_depend and if needed awake 17067 parent. Adjust for addition of taskwait indirection. 17068 (GOMP_taskwait): Adjust for addition of taskwait indirection. 17069 (gomp_task_maybe_wait_for_dependencies): New function. 17070 * testsuite/libgomp.c/depend-5.c: New test. 17071 17072 2014-07-13 Tobias Burnus <burnus (a] net-b.de> 17073 17074 * testsuite/libgomp.fortran/pr34020.f90: Make compile 17075 with TS 18508/Fortran 2015. 17076 17077 2014-07-06 Marek Polacek <polacek (a] redhat.com> 17078 17079 PR c/6940 17080 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings. 17081 17082 2014-07-03 Jakub Jelinek <jakub (a] redhat.com> 17083 17084 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source 17085 matches regex $lang_source_re, add $lang_include_flags to options. 17086 * testsuite/libgomp.c/c.exp: Unset lang_include_flags. 17087 * testsuite/libgomp.c++/c++.exp: Likewise. 17088 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re 17089 and lang_include_flags instead of adding -fintrinsic-modules-path= to 17090 ALWAYS_CFLAGS. 17091 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags. 17092 17093 2014-07-03 Thomas Schwinge <thomas (a] codesourcery.com> 17094 17095 * testsuite/libgomp.fortran/fortran.exp: Explain 17096 gfortran-dg-runtest usage. 17097 17098 2014-06-25 Jakub Jelinek <jakub (a] redhat.com> 17099 17100 * testsuite/libgomp.fortran/simd5.f90: New test. 17101 * testsuite/libgomp.fortran/simd6.f90: New test. 17102 * testsuite/libgomp.fortran/simd7.f90: New test. 17103 17104 2014-06-24 Jakub Jelinek <jakub (a] redhat.com> 17105 17106 * testsuite/libgomp.c/for-2.c: Define SC to static for 17107 #pragma omp for simd testing. 17108 * testsuite/libgomp.c/for-2.h (SC): Define if not defined. 17109 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use 17110 SC macro. 17111 * testsuite/libgomp.c/simd-14.c: New test. 17112 * testsuite/libgomp.c/simd-15.c: New test. 17113 * testsuite/libgomp.c/simd-16.c: New test. 17114 * testsuite/libgomp.c/simd-17.c: New test. 17115 * testsuite/libgomp.c++/for-10.C: Define SC to static for 17116 #pragma omp for simd testing. 17117 * testsuite/libgomp.c++/simd10.C: New test. 17118 * testsuite/libgomp.c++/simd11.C: New test. 17119 * testsuite/libgomp.c++/simd12.C: New test. 17120 * testsuite/libgomp.c++/simd13.C: New test. 17121 17122 * testsuite/libgomp.fortran/aligned1.f03: New test. 17123 * testsuite/libgomp.fortran/nestedfn5.f90: New test. 17124 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning 17125 tasks with !$omp parallel !$omp single. 17126 * testsuite/libgomp.fortran/target8.f90: New test. 17127 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust 17128 not to use trim in the combiner, instead call elemental function. 17129 (fn): New elemental function. 17130 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init): 17131 Make elemental. 17132 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out, 17133 omp_in): Likewise. 17134 * testsuite/libgomp.fortran/udr12.f90: New test. 17135 * testsuite/libgomp.fortran/udr13.f90: New test. 17136 * testsuite/libgomp.fortran/udr14.f90: New test. 17137 * testsuite/libgomp.fortran/udr15.f90: New test. 17138 17139 2014-06-18 Jakub Jelinek <jakub (a] redhat.com> 17140 17141 * omp_lib.f90.in (openmp_version): Set to 201307. 17142 * omp_lib.h.in (openmp_version): Likewise. 17143 * testsuite/libgomp.c/target-8.c: New test. 17144 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch 17145 and inbranch clauses. 17146 * testsuite/libgomp.fortran/depend-3.f90: New test. 17147 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new 17148 openmp_version. 17149 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise. 17150 * testsuite/libgomp.fortran/target1.f90: New test. 17151 * testsuite/libgomp.fortran/target2.f90: New test. 17152 * testsuite/libgomp.fortran/target3.f90: New test. 17153 * testsuite/libgomp.fortran/target4.f90: New test. 17154 * testsuite/libgomp.fortran/target5.f90: New test. 17155 * testsuite/libgomp.fortran/target6.f90: New test. 17156 * testsuite/libgomp.fortran/target7.f90: New test. 17157 17158 2014-06-10 Jakub Jelinek <jakub (a] redhat.com> 17159 17160 PR fortran/60928 17161 * testsuite/libgomp.fortran/allocatable9.f90: New test. 17162 * testsuite/libgomp.fortran/allocatable10.f90: New test. 17163 * testsuite/libgomp.fortran/allocatable11.f90: New test. 17164 * testsuite/libgomp.fortran/allocatable12.f90: New test. 17165 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test. 17166 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test. 17167 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test. 17168 * testsuite/libgomp.fortran/associate1.f90: New test. 17169 * testsuite/libgomp.fortran/associate2.f90: New test. 17170 * testsuite/libgomp.fortran/procptr1.f90: New test. 17171 17172 2014-06-06 Jakub Jelinek <jakub (a] redhat.com> 17173 17174 * testsuite/libgomp.fortran/simd1.f90: New test. 17175 * testsuite/libgomp.fortran/udr1.f90: New test. 17176 * testsuite/libgomp.fortran/udr2.f90: New test. 17177 * testsuite/libgomp.fortran/udr3.f90: New test. 17178 * testsuite/libgomp.fortran/udr4.f90: New test. 17179 * testsuite/libgomp.fortran/udr5.f90: New test. 17180 * testsuite/libgomp.fortran/udr6.f90: New test. 17181 * testsuite/libgomp.fortran/udr7.f90: New test. 17182 * testsuite/libgomp.fortran/udr8.f90: New test. 17183 * testsuite/libgomp.fortran/udr9.f90: New test. 17184 * testsuite/libgomp.fortran/udr10.f90: New test. 17185 * testsuite/libgomp.fortran/udr11.f90: New test. 17186 17187 2014-05-27 Uros Bizjak <ubizjak (a] gmail.com> 17188 17189 * testsuite/libgomp.fortran/declare-simd-1.f90: Require 17190 vect_simd_clones effective target. 17191 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto. 17192 17193 2014-05-21 Jakub Jelinek <jakub (a] redhat.com> 17194 17195 PR middle-end/61252 17196 * testsuite/libgomp.c++/simd-9.C: New test. 17197 17198 2014-05-18 Uros Bizjak <ubizjak (a] gmail.com> 17199 17200 * libgomp.texi (Runitme Library Routines): Remove multiple @menu. 17201 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node 17202 texts according to their @menu entry positions. 17203 17204 2014-05-11 Jakub Jelinek <jakub (a] redhat.com> 17205 17206 * testsuite/libgomp.fortran/cancel-do-1.f90: New test. 17207 * testsuite/libgomp.fortran/cancel-do-2.f90: New test. 17208 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test. 17209 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test. 17210 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test. 17211 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test. 17212 * testsuite/libgomp.fortran/declare-simd-1.f90: New test. 17213 * testsuite/libgomp.fortran/declare-simd-2.f90: New test. 17214 * testsuite/libgomp.fortran/declare-simd-3.f90: New test. 17215 * testsuite/libgomp.fortran/depend-1.f90: New test. 17216 * testsuite/libgomp.fortran/depend-2.f90: New test. 17217 * testsuite/libgomp.fortran/omp_atomic5.f90: New test. 17218 * testsuite/libgomp.fortran/simd1.f90: New test. 17219 * testsuite/libgomp.fortran/simd2.f90: New test. 17220 * testsuite/libgomp.fortran/simd3.f90: New test. 17221 * testsuite/libgomp.fortran/simd4.f90: New test. 17222 * testsuite/libgomp.fortran/taskgroup1.f90: New test. 17223 17224 2014-05-02 Jakub Jelinek <jakub (a] redhat.com> 17225 17226 * testsuite/libgomp.c/simd-10.c: New test. 17227 * testsuite/libgomp.c/simd-11.c: New test. 17228 * testsuite/libgomp.c/simd-12.c: New test. 17229 * testsuite/libgomp.c/simd-13.c: New test. 17230 17231 2014-04-24 Jakub Jelinek <jakub (a] redhat.com> 17232 17233 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and 17234 atomic type clauses in any order and optional comma in between. 17235 * testsuite/libgomp.c++/atomic-15.C: Likewise. 17236 * testsuite/libgomp.c/atomic-17.c: Likewise. 17237 17238 * testsuite/libgomp.c/simd-7.c: New test. 17239 * testsuite/libgomp.c/simd-8.c: New test. 17240 * testsuite/libgomp.c/simd-9.c: New test. 17241 * testsuite/libgomp.c/loop-16.c: New test. 17242 17243 2014-04-02 Richard Henderson <rth (a] redhat.com> 17244 17245 * config/linux/futex.h (futex_wait): Get error value from errno. 17246 (futex_wake): Likewise. 17247 17248 2014-03-25 Jakub Jelinek <jakub (a] redhat.com> 17249 17250 PR c++/60331 17251 * testsuite/libgomp.c++/udr-11.C: New test. 17252 * testsuite/libgomp.c++/udr-12.C: New test. 17253 * testsuite/libgomp.c++/udr-13.C: New test. 17254 * testsuite/libgomp.c++/udr-14.C: New test. 17255 * testsuite/libgomp.c++/udr-15.C: New test. 17256 * testsuite/libgomp.c++/udr-16.C: New test. 17257 * testsuite/libgomp.c++/udr-17.C: New test. 17258 * testsuite/libgomp.c++/udr-18.C: New test. 17259 * testsuite/libgomp.c++/udr-19.C: New test. 17260 17261 2014-01-02 Richard Sandiford <rdsandiford (a] googlemail.com> 17262 17263 Update copyright years 17264 17265 2014-01-02 Richard Sandiford <rdsandiford (a] googlemail.com> 17266 17267 * hashtab.h: Use the standard form for the copyright notice. 17268 17269 2014-01-02 Tobias Burnus <burnus (a] net-b.de> 17270 17271 * libgomp.texi: Bump @copying's copyright year. 17272 17273 2013-12-17 Andreas Tobler <andreast (a] gcc.gnu.org> 17274 17275 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace 17276 alloca () with __builtin_alloca (). 17277 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage. 17278 * testsuite/libgomp.c/lock-3.c: Likewise. 17279 * testsuite/libgomp.c/pr48591.c: Likewise. 17280 17281 2013-12-17 Jakub Jelinek <jakub (a] redhat.com> 17282 17283 PR testsuite/59534 17284 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited 17285 comparisons. 17286 17287 2013-12-16 Jakub Jelinek <jakub (a] redhat.com> 17288 17289 PR libgomp/58756 17290 * testsuite/libgomp.c/pr58756.c: New test. 17291 17292 2013-12-12 Jakub Jelinek <jakub (a] redhat.com> 17293 17294 PR libgomp/59467 17295 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to 17296 !$omp parallel. 17297 17298 2013-11-07 Thomas Schwinge <thomas (a] codesourcery.com> 17299 17300 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to 17301 ALWAYS_CFLAGS. 17302 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp. 17303 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise. 17304 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise. 17305 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS): 17306 Likewise. 17307 17308 * libgomp_g.h: Include <stddef.h> for size_t. 17309 17310 * libgomp.spec.in: Update comment about libgomp's dependencies. 17311 * configure.ac: Likewise. 17312 * configure: Regenerate. 17313 17314 2013-10-16 Tobias Burnus <burnus (a] net-b.de> 17315 17316 * libgomp.texi: (Runtime Library Routines): Update references for 17317 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device, 17318 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind, 17319 omp_get_team_num, omp_is_initial_device, omp_set_default_device. 17320 (Environment Variables): Update references for OpenMP 4.0. Add 17321 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES. 17322 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical 17323 order. 17324 17325 2013-10-14 Jakub Jelinek <jakub (a] redhat.com> 17326 17327 * env.c (parse_bind_var): Initialize value to avoid 17328 (false positive) warning. 17329 17330 2013-10-12 Jakub Jelinek <jakub (a] redhat.com> 17331 17332 PR libgomp/58691 17333 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute 17334 to check variable. 17335 (gomp_init_num_threads): Move i variable declaration into 17336 #ifdef CPU_ALLOC_SIZE block. 17337 * config/linux/affinity.c (gomp_affinity_init_level): Test 17338 gomp_places_list_len == 0 rather than gomp_places_list == 0 17339 when checking for topology reading error. 17340 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false. 17341 * env.c (parse_affinity): Add ignore argument, if true, don't populate 17342 gomp_places_list, only parse env var and always return false. 17343 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var. 17344 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env 17345 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified 17346 and either of these variables were parsed correctly into a places 17347 list. 17348 17349 2013-10-11 Thomas Schwinge <thomas (a] codesourcery.com> 17350 Jakub Jelinek <jakub (a] redhat.com> 17351 17352 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead 17353 of 5 loopfn matches. 17354 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise. 17355 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise. 17356 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise. 17357 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise. 17358 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise. 17359 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise. 17360 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise. 17361 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise. 17362 17363 2013-10-11 Thomas Schwinge <thomas (a] codesourcery.com> 17364 17365 * Makefile.am (omp_lib.mod): Streamline rule. 17366 * Makefile.in: Regenerate. 17367 17368 * libgomp.texi (Runtime Library Routines): C linkage, don't throw 17369 exceptions. 17370 17371 * testsuite/libgomp.c/lib-1.c (main): Add missing error check. 17372 * testsuite/libgomp.fortran/lib1.f90: Likewise. 17373 * testsuite/libgomp.fortran/lib2.f: Likewise. 17374 * testsuite/libgomp.fortran/lib3.f: Likewise. 17375 17376 * configure.ac: Typo fix. 17377 * configure: Regenerate. 17378 17379 * testsuite/libgomp.fortran/openmp_version-1.f: New file. 17380 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise. 17381 17382 * omp.h.in: Don't touch the user's namespace. 17383 17384 2013-10-11 Jakub Jelinek <jakub (a] redhat.com> 17385 Tobias Burnus <burnus (a] net-b.de> 17386 Richard Henderson <rth (a] redhat.com> 17387 17388 * target.c: New file. 17389 * Makefile.am (libgomp_la_SOURCES): Add target.c. 17390 * Makefile.in: Regenerated. 17391 * libgomp_g.h (GOMP_task): Add depend argument. 17392 (GOMP_barrier_cancel, GOMP_loop_end_cancel, 17393 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data, 17394 GOMP_target_end_data, GOMP_target_update, GOMP_teams, 17395 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic, 17396 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime, 17397 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point, 17398 GOMP_taskgroup_start, GOMP_taskgroup_end, 17399 GOMP_parallel_sections): New prototypes. 17400 * fortran.c (omp_is_initial_device): Add ialias_redirect. 17401 (omp_is_initial_device_): New function. 17402 (ULP, STR1, STR2, ialias_redirect): Removed. 17403 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_, 17404 omp_set_default_device_8_, omp_get_default_device_, 17405 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New 17406 functions. 17407 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel, 17408 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data, 17409 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export 17410 @@GOMP_4.0. 17411 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation, 17412 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_, 17413 omp_set_default_device, omp_set_default_device_, 17414 omp_set_default_device_8_, omp_get_default_device, 17415 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_, 17416 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num, 17417 omp_get_team_num_): Export @@OMP_4.0. 17418 * team.c (struct gomp_thread_start_data): Add place field. 17419 (gomp_thread_start): Clear thr->thread_pool and 17420 thr->task before returning. Use gomp_team_barrier_wait_final 17421 instead of gomp_team_barrier_wait. Initialize thr->place. 17422 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled, 17423 team_cancelled and task_queued_count fields. 17424 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task 17425 before calling pthread_exit. 17426 (gomp_free_thread): No longer static. Use 17427 gomp_managed_threads_lock instead of gomp_remaining_threads_lock. 17428 (gomp_team_start): Add flags argument. Set 17429 thr->thread_pool->threads_busy to nthreads immediately after creating 17430 new pool. Use gomp_managed_threads_lock instead of 17431 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity. 17432 (gomp_team_end): Use gomp_managed_threads_lock instead of 17433 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead 17434 of gomp_team_barrier_wait. If team->team_cancelled, call 17435 gomp_fini_workshare on ws chain starting at team->work_shares_to_free 17436 rather than thr->ts.work_share. 17437 (initialize_team): Don't call gomp_sem_init here. 17438 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start 17439 caller. 17440 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions. 17441 * env.c (gomp_global_icv): Add default_device_var, target_data and 17442 bind_var initializers. 17443 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove. 17444 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list, 17445 gomp_places_list_len): New variables. 17446 (parse_bind_var, parse_one_place, parse_places_var): New functions. 17447 (parse_affinity): Rewritten to construct OMP_PLACES list with unit 17448 sized places. 17449 (gomp_cancel_var): New global variable. 17450 (parse_int): New function. 17451 (handle_omp_display_env): New function. 17452 (initialize_env): Use it. Initialize default_device_var. 17453 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse 17454 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for 17455 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has 17456 been successfully parsed (and call gomp_init_affinity in that case). 17457 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device, 17458 omp_get_default_device, omp_get_num_devices, omp_get_num_teams, 17459 omp_get_team_num, omp_is_initial_device): New functions. 17460 * libgomp.h: Include stdlib.h. 17461 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call): 17462 Define. 17463 (struct target_mem_desc): Forward declare. 17464 (struct gomp_task_icv): Add default_device_var, target_data, bind_var 17465 and thread_limit_var fields. 17466 (gomp_get_num_devices): New prototype. 17467 (gomp_cancel_var): New extern decl. 17468 (struct gomp_team): Add work_shares_to_free, work_share_cancelled, 17469 team_cancelled and task_queued_count fields. Add comments about 17470 task_{,queued_,running_}count. 17471 (gomp_cancel_kind): New enum. 17472 (gomp_work_share_end_cancel): New prototype. 17473 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup, 17474 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees 17475 and depend fields. 17476 (struct gomp_taskgroup): New type. 17477 (struct gomp_task_depend_entry, 17478 struct gomp_dependers_vec): New types. 17479 (gomp_finish_task): Free depend_hash if non-NULL. 17480 (struct gomp_team_state): Add place_partition_off 17481 and place_partition_len fields. 17482 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list, 17483 gomp_places_list_len): New extern decls. 17484 (struct gomp_thread): Add place field. 17485 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove. 17486 (gomp_init_thread_affinity): Add place argument. 17487 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus, 17488 gomp_affinity_remove_cpu, gomp_affinity_copy_place, 17489 gomp_affinity_same_place, gomp_affinity_finalize_place_list, 17490 gomp_affinity_init_level, gomp_affinity_print_place): New 17491 prototypes. 17492 (gomp_team_start): Add flags argument. 17493 (gomp_thread_limit_var, gomp_remaining_threads_count, 17494 gomp_remaining_threads_lock): Remove. 17495 (gomp_managed_threads_lock): New variable. 17496 (struct gomp_thread_pool): Add threads_busy field. 17497 (gomp_free_thread): New prototype. 17498 * task.c: Include hashtab.h. 17499 (hash_entry_type): New typedef. 17500 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines. 17501 (gomp_init_task): Clear dependers, depend_hash, depend_count, 17502 copy_ctors_done and taskgroup fields. 17503 (GOMP_task): Add depend argument, handle depend clauses. If 17504 gomp_team_barrier_cancelled or if it's taskgroup has been 17505 cancelled, don't queue or start new tasks. Set copy_ctors_done 17506 field if needed. Initialize taskgroup field. If copy_ctors_done 17507 and already cancelled, don't discard the task. If taskgroup is 17508 non-NULL, enqueue the task into taskgroup queue. Increment 17509 num_children field in taskgroup. Increment task_queued_count. 17510 (gomp_task_run_pre, gomp_task_run_post_remove_parent, 17511 gomp_task_run_post_remove_taskgroup): New inline functions. 17512 (gomp_task_run_post_handle_depend_hash, 17513 gomp_task_run_post_handle_dependers, 17514 gomp_task_run_post_handle_depend): New functions. 17515 (GOMP_taskwait): Use them. If more than one new tasks 17516 have been queued, wake other threads if needed. 17517 (gomp_barrier_handle_tasks): Likewise. If 17518 gomp_team_barrier_cancelled, don't start any new tasks, just free 17519 all tasks. 17520 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions. 17521 * omp_lib.f90.in 17522 (omp_proc_bind_kind, omp_proc_bind_false, 17523 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close, 17524 omp_proc_bind_spread): New params. 17525 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device, 17526 omp_get_default_device, omp_get_num_devices, omp_get_num_teams, 17527 omp_get_team_num, omp_is_initial_device): New interfaces. 17528 (omp_get_dynamic, omp_get_nested, omp_in_parallel, 17529 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads, 17530 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels, 17531 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num, 17532 omp_get_team_size, omp_get_active_level, omp_in_final): Remove 17533 useless use omp_lib_kinds. 17534 * omp.h.in (omp_proc_bind_t): New typedef. 17535 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device, 17536 omp_get_default_device, omp_get_num_devices, omp_get_num_teams, 17537 omp_get_team_num, omp_is_initial_device): New prototypes. 17538 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it 17539 through to gomp_team_start. 17540 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start, 17541 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start): 17542 Adjust gomp_parallel_loop_start callers. 17543 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic, 17544 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime, 17545 GOMP_loop_end_cancel): New functions. 17546 (GOMP_parallel_end): Add ialias_redirect. 17547 * hashtab.h: New file. 17548 * libgomp.texi (Environment Variables): Minor cleanup, 17549 update section refs to OpenMP 4.0rc2. 17550 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these 17551 environment variables. 17552 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set 17553 team->work_shares_to_free to thr->ts.work_share before calling 17554 free_work_share. 17555 (gomp_work_share_end_cancel): New function. 17556 * config/linux/proc.c: Include errno.h. 17557 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables. 17558 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of 17559 sizeof (cpu_set_t) to determine number of iterations. Fix up check 17560 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if 17561 gomp_cpuset_size is sizeof (cpu_set_t). 17562 (gomp_init_num_threads): Initialize gomp_cpuset_size, 17563 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead 17564 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t) 17565 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't 17566 contain any logical CPUs. 17567 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp 17568 is NULL. Use gomp_cpusetp instead of &cpuset and pass 17569 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to 17570 pthread_getaffinity_np. Check gomp_places_list instead of 17571 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller. 17572 * config/linux/bar.c (gomp_barrier_wait_end, 17573 gomp_barrier_wait_last): Use BAR_* defines. 17574 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED 17575 from state where needed. Set work_share_cancelled to 0 on last 17576 thread. 17577 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end, 17578 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New 17579 functions. 17580 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden. 17581 Add cpusetsize argument. 17582 (gomp_cpuset_size, gomp_cpusetp): Declare. 17583 * config/linux/affinity.c: Include errno.h, stdio.h and string.h. 17584 (affinity_counter): Remove. 17585 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define 17586 if CPU_ALLOC_SIZE isn't defined. 17587 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try 17588 silently create OMP_PLACES=threads, if it is non-NULL afterwards, 17589 bind current thread to the first place. 17590 (gomp_init_thread_affinity): Rewritten. Add place argument, just 17591 pthread_setaffinity_np to gomp_places_list[place]. 17592 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus, 17593 gomp_affinity_remove_cpu, gomp_affinity_copy_place, 17594 gomp_affinity_same_place, gomp_affinity_finalize_place_list, 17595 gomp_affinity_init_level, gomp_affinity_print_place): New functions. 17596 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST, 17597 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define. 17598 (gomp_barrier_t): Add awaited_final field. 17599 (gomp_barrier_init): Initialize awaited_final field. 17600 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel, 17601 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New 17602 prototypes. 17603 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_* 17604 defines. 17605 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start, 17606 gomp_team_barrier_cancelled): New inline functions. 17607 (gomp_barrier_last_thread, 17608 gomp_team_barrier_set_task_pending, 17609 gomp_team_barrier_clear_task_pending, 17610 gomp_team_barrier_set_waiting_for_tasks, 17611 gomp_team_barrier_waiting_for_tasks, 17612 gomp_team_barrier_done): Use BAR_* defines. 17613 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field. 17614 (gomp_barrier_wait_end): Use BAR_* defines. 17615 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state. 17616 Set work_share_cancelled to 0 on last thread, use __atomic_load_n. 17617 Use BAR_* defines. 17618 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel, 17619 gomp_team_barrier_cancel): New functions. 17620 * config/posix/affinity.c (gomp_init_thread_affinity): Add place 17621 argument. 17622 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus, 17623 gomp_affinity_remove_cpu, gomp_affinity_copy_place, 17624 gomp_affinity_same_place, gomp_affinity_finalize_place_list, 17625 gomp_affinity_init_level, gomp_affinity_print_place): New stubs. 17626 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST, 17627 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define. 17628 (gomp_barrier_t): Add cancellable field. 17629 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end, 17630 gomp_team_barrier_cancel): New prototypes. 17631 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. 17632 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final, 17633 gomp_team_barrier_cancelled): New inline functions. 17634 (gomp_barrier_wait_start, gomp_barrier_last_thread, 17635 gomp_team_barrier_set_task_pending, 17636 gomp_team_barrier_clear_task_pending, 17637 gomp_team_barrier_set_waiting_for_tasks, 17638 gomp_team_barrier_waiting_for_tasks, 17639 gomp_team_barrier_done): Use BAR_* defines. 17640 * barrier.c (GOMP_barrier_cancel): New function. 17641 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false, 17642 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close, 17643 omp_proc_bind_spread): New params. 17644 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device, 17645 omp_get_default_device, omp_get_num_devices, omp_get_num_teams, 17646 omp_get_team_num, omp_is_initial_device): New externals. 17647 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point): 17648 New functions. 17649 (gomp_resolve_num_threads): Adjust for thread_limit now being in 17650 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as 17651 infinity. If not nested, just return minimum of max_num_threads 17652 and icv->thread_limit_var and if thr->thread_pool, set threads_busy 17653 to the returned value. Otherwise, don't update atomically 17654 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy. 17655 (GOMP_parallel_end): Adjust for thread_limit now being in 17656 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as 17657 infinity. Adjust threads_busy in the pool rather than 17658 gomp_remaining_threads_count. Remember team->nthreads and call 17659 gomp_team_end before adjusting threads_busy, if not nested 17660 afterwards, just set it to 1 non-atomically. Add ialias. 17661 (GOMP_parallel_start): Adjust gomp_team_start caller. 17662 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid. 17663 * testsuite/libgomp.c/affinity-1.c: New test. 17664 * testsuite/libgomp.c/atomic-15.c: New test. 17665 * testsuite/libgomp.c/atomic-16.c: New test. 17666 * testsuite/libgomp.c/atomic-17.c: New test. 17667 * testsuite/libgomp.c/cancel-for-1.c: New test. 17668 * testsuite/libgomp.c/cancel-for-2.c: New test. 17669 * testsuite/libgomp.c/cancel-parallel-1.c: New test. 17670 * testsuite/libgomp.c/cancel-parallel-2.c: New test. 17671 * testsuite/libgomp.c/cancel-parallel-3.c: New test. 17672 * testsuite/libgomp.c/cancel-sections-1.c: New test. 17673 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test. 17674 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test. 17675 * testsuite/libgomp.c/depend-1.c: New test. 17676 * testsuite/libgomp.c/depend-2.c: New test. 17677 * testsuite/libgomp.c/depend-3.c: New test. 17678 * testsuite/libgomp.c/depend-4.c: New test. 17679 * testsuite/libgomp.c/for-1.c: New test. 17680 * testsuite/libgomp.c/for-1.h: New file. 17681 * testsuite/libgomp.c/for-2.c: New test. 17682 * testsuite/libgomp.c/for-2.h: New file. 17683 * testsuite/libgomp.c/for-3.c: New test. 17684 * testsuite/libgomp.c/pr58392.c: New test. 17685 * testsuite/libgomp.c/simd-1.c: New test. 17686 * testsuite/libgomp.c/simd-2.c: New test. 17687 * testsuite/libgomp.c/simd-3.c: New test. 17688 * testsuite/libgomp.c/simd-4.c: New test. 17689 * testsuite/libgomp.c/simd-5.c: New test. 17690 * testsuite/libgomp.c/simd-6.c: New test. 17691 * testsuite/libgomp.c/target-1.c: New test. 17692 * testsuite/libgomp.c/target-2.c: New test. 17693 * testsuite/libgomp.c/target-3.c: New test. 17694 * testsuite/libgomp.c/target-4.c: New test. 17695 * testsuite/libgomp.c/target-5.c: New test. 17696 * testsuite/libgomp.c/target-6.c: New test. 17697 * testsuite/libgomp.c/target-7.c: New test. 17698 * testsuite/libgomp.c/taskgroup-1.c: New test. 17699 * testsuite/libgomp.c/thread-limit-1.c: New test. 17700 * testsuite/libgomp.c/thread-limit-2.c: New test. 17701 * testsuite/libgomp.c/thread-limit-3.c: New test. 17702 * testsuite/libgomp.c/udr-1.c: New test. 17703 * testsuite/libgomp.c/udr-2.c: New test. 17704 * testsuite/libgomp.c/udr-3.c: New test. 17705 * testsuite/libgomp.c++/affinity-1.C: New test. 17706 * testsuite/libgomp.c++/atomic-10.C: New test. 17707 * testsuite/libgomp.c++/atomic-11.C: New test. 17708 * testsuite/libgomp.c++/atomic-12.C: New test. 17709 * testsuite/libgomp.c++/atomic-13.C: New test. 17710 * testsuite/libgomp.c++/atomic-14.C: New test. 17711 * testsuite/libgomp.c++/atomic-15.C: New test. 17712 * testsuite/libgomp.c++/cancel-for-1.C: New test. 17713 * testsuite/libgomp.c++/cancel-for-2.C: New test. 17714 * testsuite/libgomp.c++/cancel-parallel-1.C: New test. 17715 * testsuite/libgomp.c++/cancel-parallel-2.C: New test. 17716 * testsuite/libgomp.c++/cancel-parallel-3.C: New test. 17717 * testsuite/libgomp.c++/cancel-sections-1.C: New test. 17718 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test. 17719 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test. 17720 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test. 17721 * testsuite/libgomp.c++/cancel-test.h: New file. 17722 * testsuite/libgomp.c++/for-9.C: New test. 17723 * testsuite/libgomp.c++/for-10.C: New test. 17724 * testsuite/libgomp.c++/for-11.C: New test. 17725 * testsuite/libgomp.c++/simd-1.C: New test. 17726 * testsuite/libgomp.c++/simd-2.C: New test. 17727 * testsuite/libgomp.c++/simd-3.C: New test. 17728 * testsuite/libgomp.c++/simd-4.C: New test. 17729 * testsuite/libgomp.c++/simd-5.C: New test. 17730 * testsuite/libgomp.c++/simd-6.C: New test. 17731 * testsuite/libgomp.c++/simd-7.C: New test. 17732 * testsuite/libgomp.c++/simd-8.C: New test. 17733 * testsuite/libgomp.c++/target-1.C: New test. 17734 * testsuite/libgomp.c++/target-2.C: New test. 17735 * testsuite/libgomp.c++/target-2-aux.cc: New file. 17736 * testsuite/libgomp.c++/target-3.C: New test. 17737 * testsuite/libgomp.c++/taskgroup-1.C: New test. 17738 * testsuite/libgomp.c++/udr-1.C: New test. 17739 * testsuite/libgomp.c++/udr-2.C: New test. 17740 * testsuite/libgomp.c++/udr-3.C: New test. 17741 * testsuite/libgomp.c++/udr-4.C: New test. 17742 * testsuite/libgomp.c++/udr-5.C: New test. 17743 * testsuite/libgomp.c++/udr-6.C: New test. 17744 * testsuite/libgomp.c++/udr-7.C: New test. 17745 * testsuite/libgomp.c++/udr-8.C: New test. 17746 * testsuite/libgomp.c++/udr-9.C: New test. 17747 17748 2013-09-20 Jakub Jelinek <jakub (a] redhat.com> 17749 17750 PR testsuite/57605 17751 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to 17752 ALWAYS_CFLAGS. 17753 17754 2013-09-20 Alan Modra <amodra (a] gmail.com> 17755 17756 * configure: Regenerate. 17757 17758 2013-09-19 Jakub Jelinek <jakub (a] redhat.com> 17759 17760 * testsuite/libgomp.c/sections-2.c: New test. 17761 17762 2013-06-28 Marcus Shawcroft <marcus.shawcroft (a] arm.com> 17763 17764 * testsuite/libgomp.fortran/strassen.f90: 17765 Add dg-skip-if aarch64_tiny. 17766 17767 2013-06-20 Iain Sandoe <iain (a] codesourcery.com> 17768 Cesar Philippidis <cesar (a] codesourcery.com> 17769 17770 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order. 17771 Do not load_gcc_lib gcc-dg.exp and add a comment as to why. 17772 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp. 17773 * testsuite/libgomp.fortran/fortran.exp: Likewise. 17774 * testsuite/libgomp.graphite/graphite.exp: Likewise. 17775 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp. 17776 Use dg-runtest rather than gfortran-dg-runtest. 17777 17778 2013-06-10 Thomas Schwinge <thomas (a] codesourcery.com> 17779 17780 * testsuite/libgomp.c/icv-2.c: Extend current handling of 17781 Linux-based x86 systems to cover all GNU systems. 17782 * testsuite/libgomp.c/lock-3.c: Likewise. 17783 * testsuite/libgomp.c/pr48591.c: Likewise. 17784 17785 2013-06-06 Thomas Schwinge <thomas (a] codesourcery.com> 17786 17787 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for 17788 GNU/Hurd, as done for Linux-based systems. 17789 17790 * config/posix/ptrlock.h: Fix comment. 17791 17792 2013-05-27 Tobias Burnus <burnus (a] net-b.de> 17793 17794 PR fortran/57423 17795 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested, 17796 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock, 17797 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock, 17798 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock, 17799 omp_destroy_nest_lock): Correct arguments to match the one in 17800 the OpenMP spec. 17801 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock 17802 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock, 17803 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested, 17804 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto. 17805 17806 2013-05-16 Jakub Jelinek <jakub (a] redhat.com> 17807 17808 * testsuite/libgomp.c/loop-13.c: New test. 17809 * testsuite/libgomp.c/loop-14.c: New test. 17810 * testsuite/libgomp.c/loop-15.c: New test. 17811 * testsuite/libgomp.c++/loop-13.C: New test. 17812 * testsuite/libgomp.c++/loop-14.C: New test. 17813 * testsuite/libgomp.c++/loop-15.C: New test. 17814 17815 2013-02-06 Jakub Jelinek <jakub (a] redhat.com> 17816 17817 PR middle-end/56217 17818 * testsuite/libgomp.c++/pr56217.C: New test. 17819 17820 2013-02-01 Alan Modra <amodra (a] gmail.com> 17821 17822 * task.c (GOMP_task, GOMP_taskwait): Comment. 17823 17824 2013-01-31 Dmitry Vyukov <dvyukov (a] gcc.gnu.org> 17825 Joost VandeVondele <Joost.VandeVondele (a] mat.ethz.ch> 17826 17827 PR libgomp/55561 17828 * config/linux/wait.h (do_spin): Use atomic load for addr. 17829 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic 17830 for intptr and ptrlock. 17831 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load 17832 for ptrlock. 17833 17834 2013-01-22 Alan Modra <amodra (a] gmail.com> 17835 17836 PR libgomp/51376 17837 PR libgomp/56073 17838 * task.c (GOMP_task): Revert 2011-12-09 change. 17839 (GOMP_taskwait): Likewise. Instead use atomic load with acquire 17840 barrier to read task->children.. 17841 (gomp_barrier_handle_tasks): ..and matching atomic store with 17842 release barrier here when setting parent->children to NULL. 17843 17844 2013-01-16 Jakub Jelinek <jakub (a] redhat.com> 17845 Tobias Burnus <burnus (a] net-b.de> 17846 17847 PR driver/55884 17848 * testsuite/libgomp.fortran/fortran.exp: Use 17849 -fintrinsic-modules-path= instead of 17850 -fintrinsic-modules-path. 17851 17852 2013-01-14 Richard Sandiford <rdsandiford (a] googlemail.com> 17853 17854 Update copyright years. 17855 17856 2012-12-19 Tobias Burnus <burnus (a] net-b.de> 17857 17858 * testsuite/libgomp.fortran/fortran.exp: Set 17859 -fintrinsic-modules-path. 17860 17861 2012-12-19 Tobias Burnus <burnus (a] net-b.de> 17862 17863 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved 17864 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90. 17865 17866 2012-11-21 Jakub Jelinek <jakub (a] redhat.com> 17867 17868 PR libgomp/55411 17869 * team.c (gomp_free_thread): Decrease gomp_managed_threads 17870 if pool had any threads_used. 17871 17872 2012-11-07 Jack Howarth <howarth (a] bromo.med.uc.edu> 17873 17874 * testsuite/libgomp.c++/pr24455.C: Use 17875 -Wl,-undefined,dynamic_lookup on darwin. 17876 17877 2012-11-07 David Edelsohn <dje.gcc (a] gmail.com> 17878 17879 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX. 17880 17881 2012-10-24 Dominique d'Humieres <dominiq (a] lps.ens.fr> 17882 17883 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops. 17884 17885 2012-10-23 Ian Bolton <ian.bolton (a] arm.com> 17886 Jim MacArthur <jim.macarthur (a] arm.com> 17887 Marcus Shawcroft <marcus.shawcroft (a] arm.com> 17888 Nigel Stephens <nigel.stephens (a] arm.com> 17889 Ramana Radhakrishnan <ramana.radhakrishnan (a] arm.com> 17890 Richard Earnshaw <rearnsha (a] arm.com> 17891 Sofiane Naci <sofiane.naci (a] arm.com> 17892 Stephen Thomas <stephen.thomas (a] arm.com> 17893 Tejas Belagod <tejas.belagod (a] arm.com> 17894 Yufeng Zhang <yufeng.zhang (a] arm.com> 17895 17896 * configure.tgt: Add AArch64. 17897 17898 2012-10-04 Jason Merrill <jason (a] redhat.com> 17899 17900 * testsuite/libgomp.c++/tls-init1.C: New. 17901 17902 2012-09-14 David Edelsohn <dje.gcc (a] gmail.com> 17903 17904 * configure: Regenerated. 17905 17906 2012-08-29 Chung-Lin Tang <cltang (a] codesourcery.com> 17907 17908 * config/linux/mips/futex.h (sys_futex0): Change to static 17909 function with noinline, nomips16 attributes under MIPS16. Adjust 17910 asm statement to place 'li v0,SYS_futex' immediately before 17911 syscall insn. 17912 17913 2012-07-04 Sandra Loosemore <sandra (a] codesourcery.com> 17914 17915 * libgomp.texi (Library Index): Renamed from "Index" to prevent 17916 conflict with index.html on case-insensitive file systems. 17917 17918 2012-07-03 Uros Bizjak <ubizjak (a] gmail.com> 17919 17920 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause. 17921 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto. 17922 17923 2012-07-02 Richard Guenther <rguenther (a] suse.de> 17924 Michael Matz <matz (a] suse.de> 17925 Tobias Grosser <tobias (a] grosser.es> 17926 Sebastian Pop <sebpop (a] gmail.com> 17927 17928 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust. 17929 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise. 17930 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise. 17931 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise. 17932 17933 2012-06-28 Andreas Schwab <schwab (a] linux-m68k.org> 17934 17935 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi. 17936 17937 2012-06-22 Richard Guenther <rguenther (a] suse.de> 17938 17939 Merge from graphite branch 17940 2012-01-13 Tobias Grosser <tobias (a] grosser.es> 17941 17942 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust. 17943 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise. 17944 17945 2012-06-07 Jakub Jelinek <jakub (a] redhat.com> 17946 17947 PR middle-end/53580 17948 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier, 17949 use GOMP_barrier () call instead. 17950 * testsuite/libgomp.c/pr26943-3.c: Likewise. 17951 * testsuite/libgomp.c/pr26943-4.c: Likewise. 17952 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier, 17953 call GOMP_barrier instead. 17954 * testsuite/libgomp.fortran/vla5.f90: Likewise. 17955 17956 2012-06-06 Jakub Jelinek <jakub (a] redhat.com> 17957 17958 PR libgomp/52993 17959 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last 17960 argument to memset call. 17961 17962 2012-05-16 H.J. Lu <hongjiu.lu (a] intel.com> 17963 17964 * configure: Regenerated. 17965 17966 2012-04-11 Manuel Lpez-Ibez <manu (a] gcc.gnu.org> 17967 17968 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret. 17969 17970 2012-03-31 H.J. Lu <hongjiu.lu (a] intel.com> 17971 17972 PR bootstrap/52812 17973 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64. 17974 17975 2012-03-22 Jakub Jelinek <jakub (a] redhat.com> 17976 17977 PR middle-end/52547 17978 * testsuite/libgomp.c/pr52547.c: New test. 17979 17980 2012-03-16 Bernhard Reutner-Fischer <aldot (a] gcc.gnu.org> 17981 17982 * testsuite/lib/libgomp.exp: load fortran-modules.exp 17983 17984 2012-03-14 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 17985 17986 * configure.tgt (mips-sgi-irix6*): Remove. 17987 17988 2012-03-12 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 17989 17990 * configure.tgt (alpha*-dec-osf*): Remove. 17991 17992 * config/osf/sem.h: Remove. 17993 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally. 17994 17995 2012-02-29 Eric Botcazou <ebotcazou (a] adacore.com> 17996 17997 * config/linux/sparc/futex.h (cpu_relax): Read from CC register. 17998 17999 2012-02-27 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 18000 18001 PR libstdc++/52188 18002 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming. 18003 Remove ENABLE_SYMVERS_SOL2. 18004 * configure: Regenerate. 18005 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable. 18006 (PREPROCESS): New variable. 18007 (libgomp.ver): New target. 18008 [LIBGOMP_BUILD_VERSIONED_SHLIB && 18009 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove 18010 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling. 18011 Use libgomp.ver. 18012 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun. 18013 * Makefile.in: Regenerate. 18014 18015 2012-02-14 Walter Lee <walt (a] tilera.com> 18016 18017 * configure.tgt: Handle tilegx and tilepro. 18018 * config/linux/tile/futex.h: New file. 18019 18020 2012-02-08 Richard Guenther <rguenther (a] suse.de> 18021 18022 PR tree-optimization/46886 18023 * testsuite/libgomp.c/pr46886.c: New testcase. 18024 18025 2012-01-25 Matthias Klose <doko (a] ubuntu.com> 18026 18027 * config/linux/arm: Remove empty directory. 18028 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*. 18029 18030 2011-12-09 Alan Modra <amodra (a] gmail.com> 18031 18032 PR libgomp/51376 18033 * task.c (GOMP_taskwait): Don't access task->children outside of 18034 task_lock mutex region. 18035 (GOMP_task): Likewise. 18036 18037 2011-12-06 Jakub Jelinek <jakub (a] redhat.com> 18038 18039 PR libgomp/51132 18040 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays 18041 to file scope. 18042 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise. 18043 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise. 18044 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise. 18045 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise. 18046 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise. 18047 18048 2011-12-02 Alan Modra <amodra (a] gmail.com> 18049 18050 * config/linux/affinity.c: Use atomic rather than sync builtin. 18051 * config/linux/lock.c: Likewise. 18052 * config/linux/ptrlock.h: Likewise. 18053 * config/linux/ptrlock.c: Likewise. 18054 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here.. 18055 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here. 18056 * config/linux/futex.h (atomic_write_barrier): Delete unused function. 18057 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise. 18058 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise. 18059 * config/linux/mips/futex.h (atomic_write_barrier): Likewise. 18060 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise. 18061 * config/linux/s390/futex.h (atomic_write_barrier): Likewise. 18062 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise. 18063 * config/linux/x86/futex.h (atomic_write_barrier): Likewise. 18064 18065 2011-11-30 Alan Modra <amodra (a] gmail.com> 18066 18067 PR libgomp/51298 18068 * config/linux/bar.h: Use atomic rather than sync builtins. 18069 * config/linux/bar.c: Likewise. Add missing acquire 18070 synchronisation on generation field. 18071 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not 18072 double unlock. 18073 18074 2011-11-30 Alan Modra <amodra (a] gmail.com> 18075 18076 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence. 18077 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence. 18078 * config/linux/mutex.h: Use atomic rather than sync builtins. 18079 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state. 18080 * config/linux/omp-lock.h: Comment fix. 18081 * config/linux/arm/mutex.h: Delete. 18082 * config/linux/powerpc/mutex.h: Delete. 18083 * config/linux/ia64/mutex.h: Delete. 18084 * config/linux/mips/mutex.h: Delete. 18085 18086 2011-11-30 Alan Modra <amodra (a] gmail.com> 18087 18088 PR libgomp/51249 18089 * config/linux/sem.h: Rewrite. 18090 * config/linux/sem.c: Rewrite. 18091 18092 2011-11-28 Richard Henderson <rth (a] redhat.com> 18093 18094 * libgomp.h (enum memmodel): New. 18095 18096 2011-11-21 Andreas Tobler <andreast (a] fgznet.ch> 18097 18098 * configure: Regenerate. 18099 18100 2011-10-10 Matthias Klose <doko (a] ubuntu.com> 18101 18102 * config/posix95: Remove empty directory. 18103 18104 2011-08-26 Jakub Jelinek <jakub (a] redhat.com> 18105 18106 * testsuite/libgomp.fortran/threadprivate4.f90: New test. 18107 18108 2011-08-19 Jakub Jelinek <jakub (a] redhat.com> 18109 18110 PR fortran/49792 18111 * testsuite/libgomp.fortran/pr49792-1.f90: New test. 18112 * testsuite/libgomp.fortran/pr49792-2.f90: New test. 18113 18114 2011-08-08 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 18115 18116 * config/posix95/lock.c, posix95/omp-lock.h: Remove. 18117 18118 2011-08-05 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 18119 18120 PR libgomp/49965 18121 * testsuite/libgomp.c++/task-8.C: Replaced err by errval. 18122 18123 2011-08-03 Uros Bizjak <ubizjak (a] gmail.com> 18124 18125 * config/linux/proc.h: New. 18126 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>. 18127 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static. 18128 (gomp_init_num_threads): Update call to cpuset_popcount. 18129 (get_num_procs): Ditto. 18130 * config/linux/affinity.c (gomp_init_affinity): Call 18131 gomp_cpuset_popcount. 18132 18133 2011-08-02 Jakub Jelinek <jakub (a] redhat.com> 18134 18135 PR fortran/42041 18136 PR fortran/46752 18137 * omp.h.in (omp_in_final): New prototype. 18138 * omp_lib.f90.in (omp_in_final): New interface. 18139 (omp_integer_kind, omp_logical_kind): Remove 18140 and replace all its uses in the module with 4. 18141 (openmp_version): Change to 201107. 18142 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic, 18143 omp_sched_guided, omp_sched_auto): Use omp_sched_kind 18144 kind for the parameters. 18145 (omp_in_final): New external. 18146 (openmp_version): Change to 201107. 18147 * task.c (omp_in_final): New function. 18148 (gomp_init_task): Initialize final_task. 18149 (GOMP_task): Remove unused attribute from flags. Handle final 18150 tasks. 18151 (GOMP_taskyield): New function. 18152 (omp_in_final): Return true if if (false) or final (true) task 18153 or descendant of final (true). 18154 * fortran.c (omp_in_final_): New function. 18155 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_. 18156 (GOMP_3.0): Export GOMP_taskyield. 18157 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New 18158 variables. 18159 (parse_unsigned_long_list): New function. 18160 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean 18161 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity 18162 even if parse_affinity returned false. 18163 * config/linux/affinity.c (gomp_init_affinity): Handle 18164 gomp_cpu_affinity_len == 0. 18165 * libgomp_g.h (GOMP_taskyield): New prototype. 18166 * libgomp.h (struct gomp_task): Add final_task field. 18167 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs. 18168 * team.c (gomp_team_start): Override new task's nthreads_var icv 18169 if list form OMP_NUM_THREADS has been used and it has value for 18170 the new nesting level. 18171 18172 * testsuite/libgomp.c/atomic-11.c: New test. 18173 * testsuite/libgomp.c/atomic-12.c: New test. 18174 * testsuite/libgomp.c/atomic-13.c: New test. 18175 * testsuite/libgomp.c/atomic-14.c: New test. 18176 * testsuite/libgomp.c/reduction-6.c: New test. 18177 * testsuite/libgomp.c/task-5.c: New test. 18178 * testsuite/libgomp.c++/atomic-2.C: New test. 18179 * testsuite/libgomp.c++/atomic-3.C: New test. 18180 * testsuite/libgomp.c++/atomic-4.C: New test. 18181 * testsuite/libgomp.c++/atomic-5.C: New test. 18182 * testsuite/libgomp.c++/atomic-6.C: New test. 18183 * testsuite/libgomp.c++/atomic-7.C: New test. 18184 * testsuite/libgomp.c++/atomic-8.C: New test. 18185 * testsuite/libgomp.c++/atomic-9.C: New test. 18186 * testsuite/libgomp.c++/task-8.C: New test. 18187 * testsuite/libgomp.c++/reduction-4.C: New test. 18188 * testsuite/libgomp.fortran/allocatable7.f90: New test. 18189 * testsuite/libgomp.fortran/allocatable8.f90: New test. 18190 * testsuite/libgomp.fortran/crayptr3.f90: New test. 18191 * testsuite/libgomp.fortran/omp_atomic3.f90: New test. 18192 * testsuite/libgomp.fortran/omp_atomic4.f90: New test. 18193 * testsuite/libgomp.fortran/pointer1.f90: New test. 18194 * testsuite/libgomp.fortran/pointer2.f90: New test. 18195 * testsuite/libgomp.fortran/task4.f90: New test. 18196 18197 2011-08-02 Tobias Burnus <burnus (a] net-b.de> 18198 18199 * libgomp.texi: Update OpenMP spec references to 3.1. 18200 (omp_in_final,OMP_PROC_BIND): New sections. 18201 (OMP_NUM_THREADS): Document that the value can be now a list. 18202 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref. 18203 18204 2011-08-02 H.J. Lu <hongjiu.lu (a] intel.com> 18205 18206 * config/linux/x86/futex.h: Check __x86_64__ instead of 18207 __LP64__. 18208 18209 2011-07-29 Jakub Jelinek <jakub (a] redhat.com> 18210 18211 PR middle-end/49897 18212 PR middle-end/49898 18213 * testsuite/libgomp.c/pr49897-1.c: New test. 18214 * testsuite/libgomp.c/pr49897-2.c: New test. 18215 * testsuite/libgomp.c/pr49898-1.c: New test. 18216 * testsuite/libgomp.c/pr49898-2.c: New test. 18217 18218 2011-07-28 H.J. Lu <hongjiu.lu (a] intel.com> 18219 18220 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486 18221 for ia32 instead of ilp32. 18222 18223 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32. 18224 * testsuite/libgomp.c/atomic-6.c: Likewise. 18225 18226 2011-07-23 Sebastian Pop <sebastian.pop (a] amd.com> 18227 18228 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail. 18229 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern. 18230 18231 2011-07-25 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 18232 18233 PR libgomp/45351 18234 * config/osf/sem.h: New file. 18235 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path. 18236 18237 2011-07-18 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 18238 18239 PR target/49541 18240 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to 18241 ldflags. 18242 18243 2011-07-15 Jakub Jelinek <jakub (a] redhat.com> 18244 18245 * config/linux/wait.h (do_spin): New inline, largely copied 18246 from do_wait, just don't do futex_wait here, instead return true if 18247 it should be done. 18248 (do_wait): Implement using do_spin. 18249 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument 18250 to prototype. 18251 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of 18252 __sync_bool_compare_and_swap, pass the oldval to 18253 gomp_mutex_lock_slow. 18254 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument. 18255 If all mutex contenders are just spinning and not sleeping, don't 18256 change state to 2 unnecessarily. Optimize the loop when state has 18257 already become 2 to use just one atomic operation per loop instead 18258 of two. 18259 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument 18260 to prototype. 18261 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of 18262 __sync_bool_compare_and_swap, pass the oldval to 18263 gomp_mutex_lock_slow. 18264 18265 2011-06-22 Jakub Jelinek <jakub (a] redhat.com> 18266 18267 PR libgomp/49490 18268 * iter.c (gomp_iter_static_next): For chunk size 0 18269 only use n ceil/ nthreads size for the first 18270 n % nthreads threads in the team instead of 18271 all threads except for the last few ones which 18272 get less work or none at all. 18273 * iter_ull.c (gomp_iter_ull_static_next): Likewise. 18274 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have 18275 chunk argument, set run_sched_modifier to 0 for static 18276 resp. 1 for other kinds. If chunk argument is 0 18277 and not static, set value to 1. 18278 18279 2011-05-19 Jakub Jelinek <jakub (a] redhat.com> 18280 18281 PR c++/49043 18282 * testsuite/libgomp.c++/pr49043.C: New test. 18283 18284 PR c++/48869 18285 * testsuite/libgomp.c++/pr48869.C: New test. 18286 18287 2011-05-06 Jakub Jelinek <jakub (a] redhat.com> 18288 18289 PR fortran/48894 18290 * fortran.c: Include limits.h. 18291 (TO_INT): Define. 18292 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of 18293 *set. 18294 (omp_set_num_threads_8_, omp_set_schedule_8_, 18295 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_, 18296 omp_get_team_size_8_): Use TO_INT macro. 18297 * testsuite/libgomp.fortran/pr48894.f90: New test. 18298 18299 2011-04-13 Jakub Jelinek <jakub (a] redhat.com> 18300 18301 PR middle-end/48591 18302 * testsuite/libgomp.c/pr48591.c: New test. 18303 18304 2011-03-21 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 18305 18306 PR bootstrap/48135 18307 * acinclude.m4 (enable_symvers): Handle --disable-symvers. 18308 * configure: Regenerate. 18309 18310 2011-02-27 Jakub Jelinek <jakub (a] redhat.com> 18311 18312 PR fortran/47886 18313 * testsuite/libgomp.fortran/task3.f90: New test. 18314 18315 2011-02-24 Tobias Burnus <burnus (a] net-b.de> 18316 18317 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE. 18318 18319 2011-02-23 Jakub Jelinek <jakub (a] redhat.com> 18320 18321 PR libgomp/47854 18322 * libgomp.texi (omp_get_wtime): Don't say time in the past 18323 must be Unix Epoch. 18324 18325 2011-02-18 Jakub Jelinek <jakub (a] redhat.com> 18326 18327 PR libgomp/47804 18328 * testsuite/libgomp.fortran/fortran.exp: Check for both 18329 libquadmath.a and libquadmath.${shlib_ext}. If neither exists, 18330 but $blddir != "", still append ${blddir}/${lang_library_path} 18331 to ld_library_path. 18332 18333 2011-02-16 Tobias Burnus <burnus (a] net-b.de> 18334 18335 PR libgomp/47758 18336 * testsuite/libgomp.fortran/fortran.exp: Check for the existence 18337 of libquadmath.a before adding its libpath to ldflags. 18338 18339 2011-02-14 Jakub Jelinek <jakub (a] redhat.com> 18340 18341 PR libgomp/47731 18342 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument 18343 to FUTEX_WAIT futex syscall. 18344 * config/linux/wait.h: Include <futex.h> instead of "futex.h". 18345 18346 2011-02-13 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de> 18347 18348 * configure: Regenerate. 18349 18350 2011-01-20 Benjamin Kosnik <bkoz (a] redhat.com> 18351 18352 PR libstdc++/36104 18353 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants. 18354 18355 2011-01-16 Gerald Pfeifer 18356 18357 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS. 18358 18359 2010-12-14 Jakub Jelinek <jakub (a] redhat.com> 18360 18361 PR fortran/46874 18362 * libgomp.fortran/allocatable6.f90: New test. 18363 18364 2010-12-06 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 18365 18366 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no. 18367 * configure: Regenerate. 18368 18369 2010-12-06 Dave Korn <dave.korn.cygwin (a] gmail.com> 18370 18371 PR target/40125 18372 PR lto/46695 18373 * configure.ac: Invoke ACX_LT_HOST_FLAGS. 18374 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags. 18375 * aclocal.m4: Regenerate. 18376 * configure: Regenerate. 18377 * Makefile.in: Regenerate. 18378 * testsuite/Makefile.in: Regenerate. 18379 18380 2010-12-02 Jakub Jelinek <jakub (a] redhat.com> 18381 18382 PR fortran/46753 18383 * libgomp.fortran/pr46753.f90: New test. 18384 18385 PR libgomp/43706 18386 * env.c (initialize_env): Default to spin count 300000 18387 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT 18388 is specified. 18389 18390 PR libgomp/45240 18391 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock 18392 at the end if sync builtins aren't supported. 18393 18394 2010-12-01 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 18395 18396 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS. 18397 18398 2010-12-01 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 18399 18400 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0. 18401 18402 2010-11-24 Iain Sandoe <iains (a] gcc.gnu.org> 18403 18404 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath. 18405 18406 2010-11-16 Francois-Xavier Coudert <fxcoudert (a] gcc.gnu.org> 18407 Tobias Burnus <burnus (a] net-b.de> 18408 18409 PR fortran/32049 18410 * configure.ac: 18411 * configure: Regenerate. 18412 18413 2010-10-06 Marcus Shawcroft <marcus.shawcroft (a] arm.com> 18414 18415 * config/linux/futex.h: New. 18416 * config/linux/arm/mutex.h: New. 18417 * configure.tgt (arm*-*-linux*): Add config path. 18418 18419 2010-09-30 Sebastian Pop <sebastian.pop (a] amd.com> 18420 18421 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust. 18422 18423 2010-09-23 Tobias Burnus <burnus (a] net-b.de> 18424 18425 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic): 18426 Change Fortran datatype to LOGICAL. 18427 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock, 18428 omp_unset_nested_lock): Use intent(inout) instead of intent(out). 18429 18430 2010-08-21 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de> 18431 18432 * configure: Regenerate. 18433 18434 2010-07-26 Jakub Jelinek <jakub (a] redhat.com> 18435 18436 * libgomp.texi: Add function keyword to a couple of Fortran 18437 interfaces, use integer instead of int for Fortran. 18438 18439 2010-07-26 Aldy Hernandez <aldyh (a] redhat.com> 18440 18441 * libgomp.texi: Fix spelling and pasto problems throughout. 18442 Adjust prototypes to match code. 18443 18444 2010-07-24 Tobias Burnus <burnus (a] net-b.de> 18445 18446 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to 18447 silence -fwhole-file warning. 18448 18449 2010-07-23 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 18450 18451 * configure.tgt (*-*-solaris2.[56]*): Removed. 18452 18453 2010-07-05 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 18454 18455 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style. 18456 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU, 18457 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals. 18458 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless 18459 targetting solaris2*. 18460 * configure: Regenerate. 18461 * config.h.in: Regenerate. 18462 18463 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect 18464 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU. 18465 Add libgomp_version_dep. 18466 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol 18467 versioning. 18468 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep. 18469 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep). 18470 * Makefile.in: Regenerate. 18471 18472 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless 18473 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT. 18474 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0 18475 to common block, protected by 18476 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT. 18477 18478 2010-06-10 Gerald Pfeifer <gerald (a] pfeifer.com> 18479 18480 * libgomp.texi: Move to GFDL version 1.3. Update copyright years. 18481 18482 2010-06-09 Iain Sandoe <iains (a] gcc.gnu.org> 18483 18484 PR bootstrap/43170 18485 * configure: Regenerate. 18486 18487 2010-05-04 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de> 18488 18489 PR other/43620 18490 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist. 18491 * configure: Regenerate. 18492 * Makefile.in: Regenerate. 18493 * testsuite/Makefile.in: Regenerate. 18494 18495 2010-04-26 Jakub Jelinek <jakub (a] redhat.com> 18496 18497 PR c/43893 18498 * testsuite/libgomp.c/pr43893.c: New test. 18499 * testsuite/libgomp.c++/pr43893.C: New test. 18500 18501 2010-04-21 Jakub Jelinek <jakub (a] redhat.com> 18502 18503 PR middle-end/43570 18504 * testsuite/libgomp.fortran/vla8.f90: New test. 18505 18506 2010-04-20 Jakub Jelinek <jakub (a] redhat.com> 18507 18508 PR libgomp/43706 18509 * config/linux/affinity.c (gomp_init_affinity): Decrease 18510 gomp_available_cpus if affinity mask confines the process to fewer 18511 CPUs. 18512 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is 18513 non-NULL, just return gomp_available_cpus. 18514 18515 PR libgomp/43569 18516 * sections.c (gomp_sections_init): Initialize ws->mode. 18517 18518 2010-04-14 Uros Bizjak <ubizjak (a] gmail.com> 18519 18520 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but 18521 not unused bar variable. 18522 * configure: Regenerate. 18523 18524 2010-04-02 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de> 18525 18526 * Makefile.in: Regenerate. 18527 * aclocal.m4: Regenerate. 18528 * testsuite/Makefile.in: Regenerate. 18529 18530 2010-03-22 Jakub Jelinek <jakub (a] redhat.com> 18531 18532 PR libgomp/42942 18533 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument. 18534 (initialize_env): Adjust callers. 18535 (omp_set_max_active_levels): Set gomp_max_active_levels_var even 18536 when the argument is 0. 18537 18538 * testsuite/libgomp.c/pr42942.c: New test. 18539 18540 2010-03-08 Tobias Grosser <grosser (a] fim.uni-passau.de> 18541 18542 PR middle-end/42644 18543 PR middle-end/42130 18544 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust. 18545 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust. 18546 18547 2010-01-29 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 18548 18549 * testsuite/libgomp.c++/task-1.C: Renamed err to e. 18550 * testsuite/libgomp.c++/task-6.C: Likewise. 18551 18552 2010-01-28 Steve Ellcey <sje (a] cup.hp.com> 18553 18554 * configure.tgt (*-*-hpux*): Add -frandom-seed flag. 18555 18556 2010-01-26 Paolo Bonzini <bonzini (a] gnu.org> 18557 18558 * configure.ac: Test for executability of _the first word_ of GFORTRAN. 18559 * configure: Regenerate. 18560 18561 2010-01-26 Jakub Jelinek <jakub (a] redhat.com> 18562 18563 PR fortran/42866 18564 * testsuite/libgomp.fortran/allocatable5.f90: New test. 18565 18566 2010-01-20 Paolo Bonzini <bonzini (a] gnu.org> 18567 18568 * configure.ac: Test for executability of GFORTRAN. 18569 * configure: Regenerate. 18570 18571 2010-01-05 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 18572 18573 * configure: Regenerate. 18574 18575 2010-01-04 H.J. Lu <hongjiu.lu (a] intel.com> 18576 18577 PR libgomp/42602 18578 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic. 18579 18580 2010-01-03 Richard Guenther <rguenther (a] suse.de> 18581 18582 * testsuite/libgomp.fortran/recursion1.f90: New testcase. 18583 18584 2009-12-23 Sebastian Pop <sebpop (a] gmail.com> 18585 18586 * testsuite/libgomp.graphite/pr4118.c: New. 18587 18588 2009-12-22 Iain Sandoe <iain.sandoe (a] sandoe-acoustics.co.uk> 18589 18590 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage 18591 for darwin, protect the test with require-effective-target tls_runtime. 18592 * testsuite/libgomp.fortran/pr32550.f90: Ditto. 18593 18594 2009-12-22 Iain Sandoe <iain.sandoe (a] sandoe-acoustics.co.uk> 18595 18596 PR target/41605 18597 * testsuite/lib/libgomp.exp: Provide -B options to allow for 18598 link spec %s substitutions for static libraries. 18599 18600 2009-12-18 Jack Howarth <howarth (a] bromo.med.uc.edu> 18601 18602 PR testsuite/42135 18603 * libgomp.graphite/force-parallel-2.c: Reduce array size. 18604 18605 2009-12-05 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de> 18606 18607 * Makefile.in: Regenerate. 18608 * configure: Regenerate. 18609 * testsuite/Makefile.in: Regenerate. 18610 18611 2009-11-30 Dave Korn <dave.korn.cygwin (a] gmail.com> 18612 18613 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent 18614 settings for LC_ALL and LANG. 18615 18616 2009-11-25 Jakub Jelinek <jakub (a] redhat.com> 18617 18618 PR fortran/42162 18619 * testsuite/libgomp.fortran/pr42162.f90: New test. 18620 18621 2009-11-13 Jakub Jelinek <jakub (a] redhat.com> 18622 18623 PR middle-end/42029 18624 * testsuite/libgomp.c/pr42029.c: New test. 18625 18626 2009-10-26 Jakub Jelinek <jakub (a] redhat.com> 18627 18628 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many 18629 *s. Accept ld version without text in ()s. 18630 * configure: Regenerated. 18631 18632 2009-10-22 Razya Ladelsky <razya (a] il.ibm.com> 18633 18634 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan. 18635 18636 2009-10-17 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de> 18637 18638 PR libgomp/41418 18639 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no" 18640 or a hyphen (happens with fortran language disabled). 18641 * configure: Regenerate. 18642 18643 2009-09-30 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de> 18644 18645 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head', 18646 use sed script portable to Solaris /bin/sed for extracting ld 18647 version. 18648 * configure: Regenerate. 18649 18650 2009-09-17 Alexander Monakov <amonakov (a] ispras.ru> 18651 18652 * testsuite/libgomp.graphite/bounds.c: New test. 18653 18654 2009-09-11 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de> 18655 18656 * Makefile.am (libgomp_la_LINK): New. 18657 * Makefile.in: Regenerate. 18658 18659 2009-08-24 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de> 18660 18661 * configure.ac (AC_PREREQ): Bump to 2.64. 18662 18663 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de> 18664 18665 * Makefile.am (install-html, install-pdf): Remove. 18666 * Makefile.in: Regenerate. 18667 18668 * Makefile.in: Regenerate. 18669 * aclocal.m4: Regenerate. 18670 * config.h.in: Regenerate. 18671 * configure: Regenerate. 18672 * testsuite/Makefile.in: Regenerate. 18673 18674 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de> 18675 18676 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS). 18677 * Makefile.in: Regenerate. 18678 18679 2009-08-20 Dave Korn <dave.korn.cygwin (a] gmail.com> 18680 18681 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag. 18682 * Makefile.in: Regenerate. 18683 18684 2009-08-19 Tobias Burnus <burnus (a] net-b.de> 18685 18686 PR fortran/41102 18687 omp_lib.h.in: Fix -std=f95 errors. 18688 18689 2009-08-14 David Edelsohn <edelsohn (a] gnu.org> 18690 18691 * testsuite/libgomp.graphite: Move from gcc.dg/graphite. 18692 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete. 18693 * testsuite/libgomp.graphite/graphite.exp: New. 18694 18695 2009-08-05 Andreas Tobler <a.tobler (a] schweiz.org> 18696 18697 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared 18698 only build. 18699 18700 2009-08-04 David Daney <ddaney (a] caviumnetworks.com> 18701 18702 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about 18703 needed memory barrier semantics. 18704 * config/linux/mips/mutex.h: New file. 18705 18706 2009-07-30 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de> 18707 18708 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force. 18709 18710 2009-07-16 Joseph Myers <joseph (a] codesourcery.com> 18711 18712 * configure: Regenerate. 18713 18714 2009-07-11 Richard Sandiford <rdsandiford (a] googlemail.com> 18715 18716 PR testsuite/40699 18717 PR testsuite/40707 18718 PR testsuite/40709 18719 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits. 18720 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp, 18721 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits. 18722 18723 2009-07-02 Richard Sandiford <r.sandiford (a] uk.ibm.com> 18724 18725 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS 18726 options when choosing a multilib. 18727 18728 2009-06-30 Richard Sandiford <r.sandiford (a] uk.ibm.com> 18729 18730 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to 18731 ld_library_path. Use add_path. Add just find_libgcc_s to 18732 ld_library_path, not every libgcc multilib directory. 18733 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call 18734 gcc-set-multilib-library-path; rely on $always_ld_library_path instead. 18735 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise. 18736 Use add_path. 18737 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise. 18738 18739 2009-06-09 Nathan Froyd <froydnj (a] codesourcery.com> 18740 18741 * Makefile.am (LTLDFLAGS): Define. 18742 (LINK): Define. 18743 * Makefile.in: Regenerate. 18744 18745 2009-05-27 Janne Blomqvist <jb (a] gcc.gnu.org> 18746 18747 PR fortran/39718 18748 * testsuite/libgomp.fortran/fortran.exp: Don't link with 18749 libgfortranbegin, check existence of libgfortran.a instead of 18750 libgfortranbegin.a. 18751 18752 2009-05-20 Jakub Jelinek <jakub (a] redhat.com> 18753 18754 PR libgomp/40174 18755 * team.c (gomp_thread_start): Destroy thr->release semaphore. 18756 (gomp_free_pool_helper): Likewise. 18757 18758 2009-04-20 Vasilis Liaskovitis <vliaskov (a] gmail.com> 18759 Jakub Jelinek <jakub (a] redhat.com> 18760 18761 PR fortran/35423 18762 * testsuite/libgomp.fortran/workshare2.f90: New test. 18763 18764 2009-04-09 Nick Clifton <nickc (a] redhat.com> 18765 18766 * iter.c: Change copyright header to refer to version 3 of the 18767 GNU General Public License with version 3.1 of the GCC Runtime 18768 Library Exception and to point readers at the COPYING3 and 18769 COPYING3.RUNTIME files and the FSF's license web page. 18770 * alloc.c: Likewise. 18771 * barrier.c: Likewise. 18772 * config/bsd/proc.c: Likewise. 18773 * config/linux/affinity.c: Likewise. 18774 * config/linux/alpha/futex.h: Likewise. 18775 * config/linux/bar.c: Likewise. 18776 * config/linux/bar.h: Likewise. 18777 * config/linux/ia64/futex.h: Likewise. 18778 * config/linux/ia64/mutex.h: Likewise. 18779 * config/linux/lock.c: Likewise. 18780 * config/linux/mips/futex.h: Likewise. 18781 * config/linux/mutex.c: Likewise. 18782 * config/linux/mutex.h: Likewise. 18783 * config/linux/powerpc/futex.h: Likewise. 18784 * config/linux/proc.c: Likewise. 18785 * config/linux/ptrlock.c: Likewise. 18786 * config/linux/ptrlock.h: Likewise. 18787 * config/linux/s390/futex.h: Likewise. 18788 * config/linux/sem.c: Likewise. 18789 * config/linux/sem.h: Likewise. 18790 * config/linux/sparc/futex.h: Likewise. 18791 * config/linux/wait.h: Likewise. 18792 * config/linux/x86/futex.h: Likewise. 18793 * config/mingw32/proc.c: Likewise. 18794 * config/mingw32/time.c: Likewise. 18795 * config/posix/affinity.c: Likewise. 18796 * config/posix/bar.c: Likewise. 18797 * config/posix/bar.h: Likewise. 18798 * config/posix/lock.c: Likewise. 18799 * config/posix/mutex.h: Likewise. 18800 * config/posix/proc.c: Likewise. 18801 * config/posix/ptrlock.h: Likewise. 18802 * config/posix/sem.c: Likewise. 18803 * config/posix/sem.h: Likewise. 18804 * config/posix/time.c: Likewise. 18805 * config/posix95/lock.c: Likewise. 18806 * critical.c: Likewise. 18807 * env.c: Likewise. 18808 * error.c: Likewise. 18809 * fortran.c: Likewise. 18810 * iter_ull.c: Likewise. 18811 * libgomp.h: Likewise. 18812 * libgomp_f.h.in: Likewise. 18813 * libgomp_g.h: Likewise. 18814 * loop.c: Likewise. 18815 * loop_ull.c: Likewise. 18816 * omp.h.in: Likewise. 18817 * omp_lib.f90.in: Likewise. 18818 * omp_lib.h.in: Likewise. 18819 * ordered.c: Likewise. 18820 * parallel.c: Likewise. 18821 * sections.c: Likewise. 18822 * single.c: Likewise. 18823 * task.c: Likewise. 18824 * team.c: Likewise. 18825 * work.c: Likewise. 18826 18827 2009-04-09 Jakub Jelinek <jakub (a] redhat.com> 18828 18829 * testsuite/config/default.exp: Change copyright header to refer to 18830 version 3 of the GNU General Public License and to point readers 18831 at the COPYING3 file and the FSF's license web page. 18832 18833 2009-04-08 Jakub Jelinek <jakub (a] redhat.com> 18834 18835 PR middle-end/39573 18836 * libgomp.c++/pr39573.C: New test. 18837 18838 2009-04-01 Jakub Jelinek <jakub (a] redhat.com> 18839 18840 PR other/39591 18841 * testsuite/libgomp.c/pr39591-1.c: New test. 18842 * testsuite/libgomp.c/pr39591-2.c: New test. 18843 * testsuite/libgomp.c/pr39591-3.c: New test. 18844 18845 2009-03-25 Uros Bizjak <ubizjak (a] gmail.com> 18846 18847 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage. 18848 * testsuite/libgomp.c/atomic-6.c: Ditto. 18849 18850 2009-03-23 Jakub Jelinek <jakub (a] redhat.com> 18851 18852 PR c/39495 18853 * testsuite/libgomp.c/loop-12.c: New test. 18854 * testsuite/libgomp.c/loop-11.c: New test. 18855 * testsuite/libgomp.c++/loop-11.C: New test. 18856 * testsuite/libgomp.c++/loop-12.C: New test. 18857 * testsuite/libgomp.c++/for-8.C: New test. 18858 18859 2009-03-01 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de> 18860 18861 * configure: Regenerate. 18862 18863 2009-02-11 Jakub Jelinek <jakub (a] redhat.com> 18864 18865 PR middle-end/39154 18866 * testsuite/libgomp.c/pr39154.c: New test. 18867 18868 2009-01-30 Ian Lance Taylor <iant (a] google.com> 18869 18870 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set 18871 libgomp_ld_is_gold. Get gold version number. 18872 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning. 18873 * configure: Rebuild. 18874 18875 2009-01-19 Iain Sandoe <iain.sandoe (a] sandoe-acoustics.co.uk> 18876 18877 * testsuite/lib/libgomp.exp: Add -B option for targets that 18878 use libgfortran.a%s in their specs. 18879 18880 2009-01-07 Jakub Jelinek <jakub (a] redhat.com> 18881 18882 PR libgomp/38086 18883 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check. 18884 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if 18885 HAVE_AS_SYMVER_DIRECTIVE is not defined. 18886 * configure: Regenerated. 18887 * config.h.in: Likewise. 18888 18889 2008-12-28 Jakub Jelinek <jakub (a] redhat.com> 18890 18891 PR c++/38650 18892 * testsuite/libgomp.c/pr38650.c: New test. 18893 * testsuite/libgomp.c++/pr38650.C: New test. 18894 18895 2008-12-27 Jakub Jelinek <jakub (a] redhat.com> 18896 18897 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause. 18898 18899 2008-12-26 Uros Bizjak <ubizjak (a] gmail.com> 18900 18901 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets. 18902 18903 2008-12-18 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de> 18904 18905 * configure: Regenerate. 18906 18907 2008-12-08 Jakub Jelinek <jakub (a] redhat.com> 18908 18909 PR middle-end/36802 18910 * testsuite/libgomp.c/pr36802-1.c: New test. 18911 * testsuite/libgomp.c/pr36802-2.c: New test. 18912 * testsuite/libgomp.c/pr36802-3.c: New test. 18913 18914 2008-12-01 Janis Johnson <janis187 (a] us.ibm.com> 18915 18916 PR libgomp/38270 18917 * config/linux/powerpc/mutex.h: New. 18918 18919 2008-12-01 Jakub Jelinek <jakub (a] redhat.com> 18920 18921 PR c++/38257 18922 * testsuite/libgomp.c++/for-7.C: New test. 18923 18924 PR c++/38348 18925 * testsuite/libgomp.c++/for-6.C: New test. 18926 18927 2008-11-26 Janis Johnson <janis187 (a] us.ibm.com> 18928 18929 PR testsuite/28870 18930 * testsuite/lib/libgomp.exp: Include new timeout library files. 18931 (libgomp_target_compile): Set timeout value from new proc. 18932 18933 2008-11-13 Steve Ellcey <sje (a] cup.hp.com> 18934 18935 PR libgomp/37938 18936 * config/linux/ia64/mutex.h: New. 18937 18938 2008-11-04 Tobias Burnus <burnus (a] net-b.de> 18939 18940 PR libgomp/37935 18941 * libgomp.texi (Runtime library routines, environment variables): 18942 Update for OpenMP version 3.0. 18943 18944 2008-09-26 Peter O'Gorman <pogma (a] thewrittenword.com> 18945 Steve Ellcey <sje (a] cup.hp.com> 18946 18947 * configure: Regenerate for new libtool. 18948 * Makefile.in: Ditto. 18949 * testsuite/Makefile.in: Ditto. 18950 18951 2008-09-19 Jakub Jelinek <jakub (a] redhat.com> 18952 Andreas Tobler <a.tobler (a] schweiz.org> 18953 18954 * config/bsd/proc.c: New file. 18955 * configure.tgt (*-*-darwin*): Use config_path "bsd posix". 18956 * configure.ac: Check for header <sys/sysctl.h> 18957 * configure: Regenerate. 18958 * config.h.in: Likewise. 18959 18960 2008-09-05 Janis Johnson <janis187 (a] us.ibm.com> 18961 18962 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists. 18963 18964 2008-08-31 Aaron W. LaFramboise <aaronavay62 (a] aaronwl.com> 18965 18966 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined. 18967 * Makefile.in: Regenerated. 18968 * testsuite/Makefile.in: Regenerated. 18969 18970 2008-08-21 Nathan Froyd <froydnj (a] codesourcery.com> 18971 18972 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that 18973 depend on blddir if blddir exists. 18974 (libgomp_target_compile): Likewise. 18975 * testsuite/libgomp.c++/c++.exp: Likewise. 18976 * testsuite/libgomp.fortran/fortran.exp: Likewise. 18977 18978 2008-07-30 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de> 18979 18980 * libgomp.texi: Update to GFDL 1.2. Update copyright years. 18981 Do not list GPL as Invariant Section. 18982 18983 2008-07-28 Ilie Garbacea <ilie (a] mips.com> 18984 Chao-ying Fu <fu (a] mips.com> 18985 18986 * configure.tgt: Enable futex for MIPS. 18987 * config/linux/mips/futex.h: New file. 18988 18989 2008-07-16 Jakub Jelinek <jakub (a] redhat.com> 18990 18991 * team.c (gomp_team_end): Free team immediately if it has 18992 just one thread. 18993 18994 2008-07-08 David Edelsohn <edelsohn (a] gnu.org> 18995 18996 * testsuite/libgomp.c++/c++.exp: Append multilib library path. 18997 * testsuite/libgomp.fortran/fortran.exp: Same. 18998 * testsuite/libgomp.c/c.exp: Same. 18999 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib 19000 directory to library path first. 19001 19002 2008-06-29 Krister Walfridsson <krister.walfridsson (a] gmail.com> 19003 19004 * env.c (parse_stacksize): Add cast to avoid warning. 19005 (parse_spincount): Likewise. 19006 19007 2008-06-27 Jakub Jelinek <jakub (a] redhat.com> 19008 19009 * testsuite/libgomp.c/loop-10.c: New test. 19010 * libgomp.c/loop-3.c (main): Add lastprivate clause. 19011 * libgomp.c++/loop-6.C (main): Likewise. 19012 19013 PR debug/36617 19014 * testsuite/libgomp.c/debug-1.c: New test. 19015 19016 2008-06-19 Jakub Jelinek <jakub (a] redhat.com> 19017 19018 * testsuite/libgomp.c/nqueens-1.c: New test. 19019 19020 PR c++/36523 19021 * testsuite/libgomp.c++/task-7.C: New function. 19022 19023 2008-06-17 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de> 19024 19025 * configure: Regenerate. 19026 19027 2008-06-15 John David Anglin <dave.anglin (a] nrc-cnrc.gc.ca> 19028 19029 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock 19030 mutex when HAVE_SYNC_BUILTINS isn't defined. 19031 19032 2008-06-15 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de> 19033 19034 * libgomp.texi (omp_test_lock): Fix typo. 19035 19036 2008-06-12 Tobias Burnus <burnus (a] net-b.de> 19037 19038 * omp_lib.f90.in: Add "implicit none". 19039 19040 2008-06-12 Jakub Jelinek <jakub (a] redhat.com> 19041 19042 PR middle-end/36506 19043 * testsuite/libgomp.c/reduction-5.c: New test. 19044 19045 2008-06-11 Jakub Jelinek <jakub (a] redhat.com> 19046 19047 * libgomp.h (struct gomp_task): Add in_tied_task field. 19048 * task.c (gomp_init_task): Initialize it. 19049 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending 19050 unconditionally. Don't call gomp_team_barrier_wake if 19051 current task is implicit or if(0) from implicit and number of 19052 running tasks is equal to nthreads - 1. 19053 19054 PR libgomp/36471 19055 * omp_lib.f90.in (omp_get_ancestor_thread_num_8, 19056 omp_get_team_size_8): Fix pastos. 19057 19058 PR libgomp/36469 19059 * configure.ac: Add AC_CHECK_FUNCS (strtoull). 19060 * configure: Regenerated. 19061 * config.h.in: Regenerated. 19062 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not 19063 defined. 19064 19065 2008-06-06 Andreas Tobler <a.tobler (a] schweiz.org> 19066 19067 PR bootstrap/36452 19068 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API. 19069 (GOMP_loop_ull_dynamic_start): Likewise. 19070 (GOMP_loop_ull_guided_start): Likewise. 19071 (GOMP_loop_ull_ordered_static_start): Likewise. 19072 (GOMP_loop_ull_ordered_dynamic_start): Likewise. 19073 (GOMP_loop_ull_ordered_guided_start): Likewise. 19074 19075 2008-06-06 Jakub Jelinek <jakub (a] redhat.com> 19076 Richard Henderson <rth (a] redhat.com> 19077 Ulrich Drepper <drepper (a] redhat.com> 19078 Jakob Blomer <jakob.blomer (a] ira.uka.de> 19079 19080 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE. 19081 Substitute also OMP_*LOCK_25*. 19082 * configure: Regenerated. 19083 * config.h.in: Regenerated. 19084 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c, 19085 ptrlock.c and task.c. 19086 * Makefile.in: Regenerated. 19087 * testsuite/Makefile.in: Regenerated. 19088 * task.c: New file. 19089 * loop_ull.c: New file. 19090 * iter_ull.c: New file. 19091 * libgomp.h: Include ptrlock.h. 19092 (enum gomp_task_kind): New type. 19093 (struct gomp_team): Add task_lock, task_queue, task_count, 19094 task_running_count, single_count fields. Add 19095 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS. 19096 Remove work_share_lock, generation_mask, 19097 oldest_live_gen, num_live_gen and init_work_shares fields, add 19098 work work_share_list_alloc, work_share_list_free and work_share_chunk 19099 fields. Change work_shares from pointer to pointers into an array. 19100 Change ordered_release field into gomp_sem_t ** from flexible array 19101 member. Add implicit_task and initial_work_shares fields. 19102 Move close to the end of the struct. 19103 (struct gomp_team_state): Add single_count, last_work_share, 19104 active_level and level fields, remove work_share_generation. 19105 (gomp_barrier_handle_tasks): New prototype. 19106 (gomp_finish_task): New inline function. 19107 (struct gomp_work_share): Move chunk_size, end, incr into 19108 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and 19109 next_ll fields. Reshuffle fields. Add next_alloc, 19110 next_ws, next_free and inline_ordered_team_ids fields, change 19111 ordered_team_ids into pointer from flexible array member. 19112 Add mode field. Put lock and next into a different cache line 19113 from most of the write-once fields. 19114 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked, 19115 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next, 19116 gomp_iter_ull_guided_next): New prototypes. 19117 (gomp_new_icv): New prototype. 19118 (struct gomp_thread): Add thread_pool and task fields. 19119 (struct gomp_thread_pool): New type. 19120 (gomp_new_team): New prototype. 19121 (gomp_team_start): Change type of last argument. 19122 (gomp_new_work_share): Removed. 19123 (gomp_init_work_share, gomp_fini_work_share): New prototypes. 19124 (gomp_work_share_init_done): New static inline. 19125 (gomp_throttled_spin_count_var, gomp_available_cpus, 19126 gomp_managed_threads): New extern decls. 19127 (gomp_init_task): New prototype. 19128 (gomp_spin_count_var): New extern var decl. 19129 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility 19130 or no alias support, or if not PIC. 19131 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30, 19132 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30, 19133 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30, 19134 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25, 19135 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25, 19136 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25, 19137 gomp_set_nest_lock_25, gomp_unset_nest_lock_25, 19138 gomp_test_nest_lock_25): New prototypes. 19139 (omp_lock_symver, strong_alias): Define. 19140 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New 19141 decls. 19142 (gomp_end_task): New. 19143 (struct gomp_task_icv, gomp_global_icv): New. 19144 (gomp_thread_limit_var, gomp_max_active_levels_var): New. 19145 (struct gomp_task): New. 19146 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var, 19147 gomp_run_sched_var, gomp_run_sched_chunk): Remove. 19148 (gomp_icv): New. 19149 (gomp_schedule_type): Reorder enum to match 19150 omp_sched_t. 19151 * team.c (struct gomp_thread_start_data): Add thread_pool and task 19152 fields. 19153 (gomp_thread_start): Add gomp_team_barrier_wait call. 19154 For non-nested case remove clearing of docked thread thr fields. 19155 Use pool fields instead of global gomp_* variables. Use 19156 gomp_barrier_wait_last when needed. Initialize ts.active_level. 19157 Create tasks for each member thread. 19158 (free_team): Only destroy team barrier, task_lock here and free it. 19159 (gomp_free_thread): Free last_team if non-NULL. 19160 (gomp_team_end): Call gomp_team_barrier_wait instead of 19161 gomp_barrier_wait. For nested case call one extra 19162 gomp_barrier_wait. Move here some destruction from free_team. 19163 Call free_team on pool->last_team if any, rather than freeing 19164 current team. Destroy work_share_list_free_lock ifndef 19165 HAVE_SYNC_BUILTINS. 19166 (gomp_new_icv): New function. 19167 (gomp_threads, gomp_threads_size, gomp_threads_used, 19168 gomp_threads_dock): Removed. 19169 (gomp_thread_destructor): New variable. 19170 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New 19171 functions. 19172 (gomp_team_start): Create new pool if current thread doesn't have 19173 one. Use pool fields instead of global gomp_* variables. 19174 Initialize thread_pool field for new threads. Clear single_count. 19175 Change last argument from ws to team, don't create 19176 new team, set ts.work_share to &team->work_shares[0] and clear 19177 ts.last_work_share. Don't clear ts.work_share_generation. 19178 If number of threads changed, adjust atomically gomp_managed_threads. 19179 Use gomp_init_task instead of gomp_new_task, 19180 set thr->task to the corresponding implicit_task array entry. 19181 Create tasks for each member thread. Initialize ts.level. 19182 (initialize_team): Call pthread_key_create on 19183 gomp_thread_destructor. 19184 (team_destructor): New function. 19185 (new_team): Removed. 19186 (gomp_new_team): New function. 19187 (free_team): Free gomp_work_share blocks chained through next_alloc, 19188 instead of freeing work_shares and destroying work_share_lock. 19189 (gomp_team_end): Call gomp_fini_work_share. If number of threads 19190 changed, adjust atomically gomp_managed_threads. Use gomp_end_task. 19191 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead 19192 of gomp_barrier_wait. 19193 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait 19194 instead of gomp_barrier_wait. Call gomp_work_share_init_done 19195 if gomp_work_share_start returned true. Don't unlock ws->lock. 19196 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead 19197 of gomp_barrier_wait. 19198 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call 19199 gomp_work_share_init_done if gomp_work_share_start returned true. 19200 Don't unlock ws->lock. 19201 * work.c: Include stddef.h. 19202 (free_work_share): Use work_share_list_free_lock instead 19203 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument. 19204 Call gomp_fini_work_share and then either free ws if orphaned, or 19205 put it into work_share_list_free list of the current team. 19206 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New 19207 functions. 19208 (gomp_work_share_start, gomp_work_share_end, 19209 gomp_work_share_end_nowait): Rewritten. 19210 * omp_lib.f90.in Change some tabs to spaces to prevent warnings. 19211 (openmp_version): Set to 200805. 19212 (omp_sched_kind, omp_sched_static, omp_sched_dynamic, 19213 omp_sched_guided, omp_sched_auto): New parameters. 19214 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit, 19215 omp_set_max_active_levels, omp_get_max_active_levels, 19216 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size, 19217 omp_get_active_level): New interfaces. 19218 * omp_lib.h.in (openmp_version): Set to 200805. 19219 (omp_sched_kind, omp_sched_static, omp_sched_dynamic, 19220 omp_sched_guided, omp_sched_auto): New parameters. 19221 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit, 19222 omp_set_max_active_levels, omp_get_max_active_levels, 19223 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size, 19224 omp_get_active_level): New externals. 19225 * loop.c: Include limits.h. 19226 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle 19227 GFS_AUTO. 19228 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start): 19229 Likewise. Use gomp_icv. 19230 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear 19231 ts.static_trip here. 19232 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call 19233 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock. 19234 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call 19235 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS, 19236 don't unlock ws->lock, otherwise lock it. 19237 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call 19238 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock. 19239 (gomp_parallel_loop_start): Call gomp_new_team instead of 19240 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0]. 19241 Adjust gomp_team_start caller. Pass 0 as second argument to 19242 gomp_resolve_num_threads. 19243 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr. 19244 If adding ws->chunk_size nthreads + 1 times after end won't 19245 overflow, set ws->mode to 1. 19246 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start, 19247 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start, 19248 GOMP_loop_ull_ordered_static_start, 19249 GOMP_loop_ull_ordered_dynamic_start, 19250 GOMP_loop_ull_ordered_guided_start, 19251 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next, 19252 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next, 19253 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next, 19254 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next, 19255 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New 19256 prototypes. 19257 * libgomp.map: Export lock routines also @@OMP_2.0. 19258 (GOMP_loop_ordered_dynamic_first, 19259 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first, 19260 GOMP_loop_ordered_static_first): Remove. 19261 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start, 19262 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start, 19263 GOMP_loop_ull_ordered_dynamic_next, 19264 GOMP_loop_ull_ordered_dynamic_start, 19265 GOMP_loop_ull_ordered_guided_next, 19266 GOMP_loop_ull_ordered_guided_start, 19267 GOMP_loop_ull_ordered_runtime_next, 19268 GOMP_loop_ull_ordered_runtime_start, 19269 GOMP_loop_ull_ordered_static_next, 19270 GOMP_loop_ull_ordered_static_start, 19271 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start, 19272 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start, 19273 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0. 19274 (omp_set_schedule, omp_get_schedule, 19275 omp_get_thread_limit, omp_set_max_active_levels, 19276 omp_get_max_active_levels, omp_get_level, 19277 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level, 19278 omp_set_schedule_, omp_set_schedule_8_, 19279 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_, 19280 omp_set_max_active_levels_, omp_set_max_active_levels_8_, 19281 omp_get_max_active_levels_, omp_get_level_, 19282 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_, 19283 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_): 19284 New exports @@OMP_3.0. 19285 * omp.h.in (omp_sched_t): New type. 19286 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit, 19287 omp_set_max_active_levels, omp_get_max_active_levels, 19288 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size, 19289 omp_get_active_level): New prototypes. 19290 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var, 19291 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var, 19292 gomp_thread_limit_var, gomp_remaining_threads_count, 19293 gomp_remaining_threads_lock): New variables. 19294 (parse_spincount): New function. 19295 (initialize_env): Call gomp_init_num_threads unconditionally. 19296 Initialize gomp_available_cpus. Call parse_spincount, 19297 initialize gomp_{,throttled_}spin_count_var 19298 depending on presence and value of OMP_WAIT_POLICY and 19299 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var. 19300 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS, 19301 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification 19302 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and 19303 gomp_remaining_threads_lock if needed. Use gomp_global_icv. 19304 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var, 19305 gomp_run_sched_var, gomp_run_sched_chunk): Remove. 19306 (gomp_global_icv): New. 19307 (parse_schedule): Use it. Parse "auto". 19308 (omp_set_num_threads): Use gomp_icv. 19309 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested): 19310 Likewise. 19311 (omp_get_max_threads): Move from parallel.c. 19312 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit, 19313 omp_set_max_active_levels, omp_get_max_active_levels): New functions, 19314 add ialias. 19315 (parse_stacksize, parse_wait_policy): New functions. 19316 * fortran.c: Rewrite lock wrappers, if symbol versioning provide 19317 both wrappers for compatibility and new locks. 19318 (omp_set_schedule, omp_get_schedule, 19319 omp_get_thread_limit, omp_set_max_active_levels, 19320 omp_get_max_active_levels, omp_get_level, 19321 omp_get_ancestor_thread_num, omp_get_team_size, 19322 omp_get_active_level): New ialias_redirect. 19323 (omp_set_schedule_, omp_set_schedule_8_, 19324 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_, 19325 omp_set_max_active_levels_, omp_set_max_active_levels_8_, 19326 omp_get_max_active_levels_, omp_get_level_, 19327 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_, 19328 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_): 19329 New functions. 19330 * parallel.c: Include limits.h. 19331 (gomp_resolve_num_threads): Add count argument. Rewritten. 19332 (GOMP_parallel_start): Call gomp_new_team and pass that as last 19333 argument to gomp_team_start. Pass 0 as second argument to 19334 gomp_resolve_num_threads. 19335 (GOMP_parallel_end): Decrease gomp_remaining_threads_count 19336 if gomp_thread_limit_var != ULONG_MAX. 19337 (omp_in_parallel): Implement using ts.active_level. 19338 (omp_get_max_threads): Move to env.c. 19339 (omp_get_level, omp_get_ancestor_thread_num, 19340 omp_get_team_size, omp_get_active_level): New functions, 19341 add ialias. 19342 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done 19343 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call 19344 gomp_iter_dynamic_next instead of the _locked variant and don't take 19345 lock around it, otherwise acquire it before calling 19346 gomp_iter_dynamic_next_locked. 19347 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call 19348 gomp_iter_dynamic_next instead of the _locked variant and don't take 19349 lock around it. 19350 (GOMP_parallel_sections_start): Call gomp_new_team instead of 19351 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0]. 19352 Adjust gomp_team_start caller. Pass count as second argument to 19353 gomp_resolve_num_threads, don't adjust num_threads after the call. 19354 Use gomp_icv. 19355 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply 19356 ws->chunk_size by incr. 19357 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient 19358 code. 19359 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New 19360 types. 19361 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros. 19362 (omp_check_defines): Check even the compat defines. 19363 * config/linux/ptrlock.c: New file. 19364 * config/linux/ptrlock.h: New file. 19365 * config/linux/wait.h: New file. 19366 * config/posix/ptrlock.c: New file. 19367 * config/posix/ptrlock.h: New file. 19368 * config/linux/bar.h (gomp_team_barrier_wait, 19369 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes. 19370 (gomp_team_barrier_set_task_pending, 19371 gomp_team_barrier_clear_task_pending, 19372 gomp_team_barrier_set_waiting_for_tasks, 19373 gomp_team_barrier_waiting_for_tasks, 19374 gomp_team_barrier_done): New inlines. 19375 (gomp_barrier_t): Rewritten. 19376 (gomp_barrier_state_t): New typedef. 19377 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy, 19378 gomp_barrier_wait_start): Rewritten. 19379 (gomp_barrier_wait_end): Change second argument to 19380 gomp_barrier_state_t. 19381 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static 19382 inlines. 19383 * config/linux/bar.c: Include wait.h instead of libgomp.h and 19384 futex.h. 19385 (gomp_barrier_wait_end): Rewritten. 19386 (gomp_team_barrier_wait, gomp_team_barrier_wait_end, 19387 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions. 19388 * config/posix/bar.h (gomp_barrier_t): Add generation field. 19389 (gomp_barrier_state_t): New typedef. 19390 (gomp_team_barrier_wait, 19391 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes. 19392 (gomp_barrier_wait_start): Or all but low 2 bits from generation 19393 into the return value. Return gomp_barrier_state_t. 19394 (gomp_team_barrier_set_task_pending, 19395 gomp_team_barrier_clear_task_pending, 19396 gomp_team_barrier_set_waiting_for_tasks, 19397 gomp_team_barrier_waiting_for_tasks, 19398 gomp_team_barrier_done): New inlines. 19399 (gomp_barrier_wait_end): Change second argument to 19400 gomp_barrier_state_t. 19401 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static 19402 inlines. 19403 * config/posix/bar.c (gomp_barrier_init): Clear generation field. 19404 (gomp_barrier_wait_end): Change second argument to 19405 gomp_barrier_state_t. 19406 (gomp_team_barrier_wait, gomp_team_barrier_wait_end, 19407 gomp_team_barrier_wake): New functions. 19408 * config/linux/mutex.c: Include wait.h instead of libgomp.h and 19409 futex.h. 19410 (gomp_futex_wake, gomp_futex_wait): New variables. 19411 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait. 19412 * config/linux/lock.c: Rewrite to make locks task owned, 19413 for backwards compatibility provide the old entrypoints 19414 if symbol versioning. Include wait.h instead of libgomp.h and 19415 futex.h. 19416 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait. 19417 * config/posix95/lock.c: Rewrite to make locks task owned, 19418 for backwards compatibility provide the old entrypoints 19419 if symbol versioning. 19420 * config/posix/lock.c: Rewrite to make locks task owned, 19421 for backwards compatibility provide the old entrypoints 19422 if symbol versioning. 19423 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv. 19424 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv. 19425 * config/posix/proc.c, config/mingw32/proc.c: Similarly. 19426 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove. 19427 (sys_futex0): Return error code. 19428 (futex_wake, futex_wait): If ENOSYS was returned, clear 19429 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry. 19430 (cpu_relax, atomic_write_barrier): New static inlines. 19431 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove. 19432 (futex_wake, futex_wait): If ENOSYS was returned, clear 19433 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry. 19434 (cpu_relax, atomic_write_barrier): New static inlines. 19435 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove. 19436 (sys_futex0): Return error code. 19437 (futex_wake, futex_wait): If ENOSYS was returned, clear 19438 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry. 19439 (cpu_relax, atomic_write_barrier): New static inlines. 19440 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove. 19441 (sys_futex0): Return error code. 19442 (futex_wake, futex_wait): If ENOSYS was returned, clear 19443 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry. 19444 (cpu_relax, atomic_write_barrier): New static inlines. 19445 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove. 19446 (sys_futex0): Return error code. 19447 (futex_wake, futex_wait): If ENOSYS was returned, clear 19448 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry. 19449 (cpu_relax, atomic_write_barrier): New static inlines. 19450 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove. 19451 (sys_futex0): Return error code. 19452 (futex_wake, futex_wait): If ENOSYS was returned, clear 19453 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry. 19454 (cpu_relax, atomic_write_barrier): New static inlines. 19455 * config/linux/sem.c: Include wait.h instead of libgomp.h and 19456 futex.h. 19457 (gomp_sem_wait_slow): Call do_wait instead of futex_wait. 19458 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS. 19459 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New 19460 types. 19461 (omp_nest_lock_t): Change owner into void *, add lock field. 19462 * config/posix95/omp-lock.h: Include semaphore.h. 19463 (omp_lock_25_t, omp_nest_lock_25_t): New types. 19464 (omp_lock_t): Use sem_t instead of mutex if semaphores 19465 aren't broken. 19466 (omp_nest_lock_t): Likewise. Change owner to void *. 19467 * config/posix/omp-lock.h: Include semaphore.h. 19468 (omp_lock_25_t, omp_nest_lock_25_t): New types. 19469 (omp_lock_t): Use sem_t instead of mutex if semaphores 19470 aren't broken. 19471 (omp_nest_lock_t): Likewise. Add owner field. 19472 19473 2008-06-06 Jakub Jelinek <jakub (a] redhat.com> 19474 19475 * testsuite/libgomp.c/collapse-1.c: New test. 19476 * testsuite/libgomp.c/collapse-2.c: New test. 19477 * testsuite/libgomp.c/collapse-3.c: New test. 19478 * testsuite/libgomp.c/icv-1.c: New test. 19479 * testsuite/libgomp.c/icv-2.c: New test. 19480 * testsuite/libgomp.c/lib-2.c: New test. 19481 * testsuite/libgomp.c/lock-1.c: New test. 19482 * testsuite/libgomp.c/lock-2.c: New test. 19483 * testsuite/libgomp.c/lock-3.c: New test. 19484 * testsuite/libgomp.c/loop-4.c: New test. 19485 * testsuite/libgomp.c/loop-5.c: New test. 19486 * testsuite/libgomp.c/loop-6.c: New test. 19487 * testsuite/libgomp.c/loop-7.c: New test. 19488 * testsuite/libgomp.c/loop-8.c: New test. 19489 * testsuite/libgomp.c/loop-9.c: New test. 19490 * testsuite/libgomp.c/nested-3.c: New test. 19491 * testsuite/libgomp.c/nestedfn-6.c: New test. 19492 * testsuite/libgomp.c/sort-1.c: New test. 19493 * testsuite/libgomp.c/task-1.c: New test. 19494 * testsuite/libgomp.c/task-2.c: New test. 19495 * testsuite/libgomp.c/task-3.c: New test. 19496 * testsuite/libgomp.c/task-4.c: New test. 19497 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes 19498 to C++ testsuite default compiler options. 19499 * testsuite/libgomp.c++/collapse-1.C: New test. 19500 * testsuite/libgomp.c++/collapse-2.C: New test. 19501 * testsuite/libgomp.c++/ctor-10.C: New test. 19502 * testsuite/libgomp.c++/for-1.C: New test. 19503 * testsuite/libgomp.c++/for-2.C: New test. 19504 * testsuite/libgomp.c++/for-3.C: New test. 19505 * testsuite/libgomp.c++/for-4.C: New test. 19506 * testsuite/libgomp.c++/for-5.C: New test. 19507 * testsuite/libgomp.c++/loop-8.C: New test. 19508 * testsuite/libgomp.c++/loop-9.C: New test. 19509 * testsuite/libgomp.c++/loop-10.C: New test. 19510 * testsuite/libgomp.c++/task-1.C: New test. 19511 * testsuite/libgomp.c++/task-2.C: New test. 19512 * testsuite/libgomp.c++/task-3.C: New test. 19513 * testsuite/libgomp.c++/task-4.C: New test. 19514 * testsuite/libgomp.c++/task-5.C: New test. 19515 * testsuite/libgomp.c++/task-6.C: New test. 19516 * testsuite/libgomp.fortran/allocatable1.f90: New test. 19517 * testsuite/libgomp.fortran/allocatable2.f90: New test. 19518 * testsuite/libgomp.fortran/allocatable3.f90: New test. 19519 * testsuite/libgomp.fortran/allocatable4.f90: New test. 19520 * testsuite/libgomp.fortran/collapse1.f90: New test. 19521 * testsuite/libgomp.fortran/collapse2.f90: New test. 19522 * testsuite/libgomp.fortran/collapse3.f90: New test. 19523 * testsuite/libgomp.fortran/collapse4.f90: New test. 19524 * testsuite/libgomp.fortran/lastprivate1.f90: New test. 19525 * testsuite/libgomp.fortran/lastprivate2.f90: New test. 19526 * testsuite/libgomp.fortran/lib4.f90: New test. 19527 * testsuite/libgomp.fortran/lock-1.f90: New test. 19528 * testsuite/libgomp.fortran/lock-2.f90: New test. 19529 * testsuite/libgomp.fortran/nested1.f90: New test. 19530 * testsuite/libgomp.fortran/nestedfn4.f90: New test. 19531 * testsuite/libgomp.fortran/strassen.f90: New test. 19532 * testsuite/libgomp.fortran/tabs1.f90: New test. 19533 * testsuite/libgomp.fortran/tabs2.f: New test. 19534 * testsuite/libgomp.fortran/task1.f90: New test. 19535 * testsuite/libgomp.fortran/task2.f90: New test. 19536 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning. 19537 * testsuite/libgomp.fortran/vla5.f90: Likewise. 19538 * testsuite/libgomp.c/pr26943-2.c: Likewise. 19539 * testsuite/libgomp.c/pr26943-3.c: Likewise. 19540 * testsuite/libgomp.c/pr26943-4.c: Likewise. 19541 19542 2008-05-23 Jakub Jelinek <jakub (a] redhat.com> 19543 19544 PR c++/36308 19545 * testsuite/libgomp.c++/ctor-11.C: New test. 19546 * testsuite/libgomp.c++/ctor-12.C: New test. 19547 19548 2008-05-15 Janis Johnson <janis187 (a] us.ibm.com> 19549 19550 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib. 19551 19552 2008-05-07 Jakub Jelinek <jakub (a] redhat.com> 19553 19554 PR middle-end/36106 19555 * testsuite/libgomp.c/atomic-5.c: New test. 19556 * testsuite/libgomp.c/atomic-6.c: New test. 19557 * testsuite/libgomp.c/autopar-1.c: New test. 19558 19559 2008-04-21 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de> 19560 19561 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS) 19562 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY) 19563 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT) 19564 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names. 19565 * configure: Regenerate. 19566 * Makefile.in, testsuite/Makefile.in: Likewise. 19567 19568 2008-04-18 Paolo Bonzini <bonzini (a] gnu.org> 19569 19570 PR bootstrap/35457 19571 * aclocal.m4: Regenerate. 19572 * configure: Regenerate. 19573 19574 2008-03-18 Jakub Jelinek <jakub (a] redhat.com> 19575 19576 PR middle-end/35611 19577 * testsuite/libgomp.c/atomic-4.c: New test. 19578 19579 PR libgomp/35625 19580 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end. 19581 (gomp_iter_guided_next): Likewise. 19582 * testsuite/libgomp.c/pr35625.c: New test. 19583 19584 2008-03-16 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de> 19585 19586 * aclocal.m4: Regenerate. 19587 * configure: Likewise. 19588 * Makefile.in: Likewise. 19589 * testsuite/Makefile.in: Likewise. 19590 19591 2008-03-13 Jakub Jelinek <jakub (a] redhat.com> 19592 19593 PR middle-end/35185 19594 * testsuite/libgomp.c++/pr35185.C: New test. 19595 19596 2008-03-12 Jakub Jelinek <jakub (a] redhat.com> 19597 19598 PR middle-end/35549 19599 * testsuite/libgomp.c/pr35549.c: New test. 19600 19601 2008-03-06 Jakub Jelinek <jakub (a] redhat.com> 19602 19603 * testsuite/libgomp.c/atomic-3.c: New test. 19604 19605 2008-03-03 Francois-Xavier Coudert <fxcoudert (a] gcc.gnu.org> 19606 19607 PR fortran/33197 19608 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and 19609 .F08 file suffixes. 19610 19611 2008-03-03 Peter O'Gorman <pogma (a] thewrittenword.com> 19612 19613 PR libgomp/33131 19614 * configure.ac: Add ACX_HEADER_STRING. 19615 * env.c: Include strings.h. 19616 * aclocal.m4: Regenerate. 19617 * config.h.in: Regenerate. 19618 * configure: Regenerate. 19619 * Makefile.in: Regenerate. 19620 * testsuite/Makefile.in: Regenerate. 19621 19622 2008-02-15 Jakub Jelinek <jakub (a] redhat.com> 19623 19624 PR middle-end/35196 19625 * testsuite/libgomp.c/pr35196.c: New test. 19626 19627 PR middle-end/35130 19628 * testsuite/libgomp.fortran/pr35130.f90: New test. 19629 * testsuite/libgomp.c/pr35130.c: New test. 19630 19631 2008-01-25 Jakub Jelinek <jakub (a] redhat.com> 19632 19633 PR middle-end/33880 19634 * testsuite/libgomp.c/pr33880.c: New test. 19635 * testsuite/libgomp.fortran/pr33880.f90: New test. 19636 19637 2008-01-24 David Edelsohn <edelsohn (a] gnu.org> 19638 19639 * configure: Regenerate. 19640 19641 2008-01-08 Jakub Jelinek <jakub (a] redhat.com> 19642 19643 * configure.ac: Move futex checking into ../config/futex.m4. 19644 * configure: Rebuilt. 19645 * aclocal.m4: Rebuilt. 19646 * Makefile.in: Rebuilt. 19647 19648 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match 19649 2007-10-15 ../config/tls.m4 change. 19650 19651 2007-12-19 Jakub Jelinek <jakub (a] redhat.com> 19652 19653 PR c++/34513 19654 * testsuite/libgomp.c/pr34513.c: New test. 19655 * testsuite/libgomp.c++/pr34513.C: New test. 19656 19657 2007-12-17 Jack Howarth <howarth (a] bromo.med.uc.edu> 19658 19659 PR target/32765 19660 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin. 19661 19662 2007-12-04 Jakub Jelinek <jakub (a] redhat.com> 19663 19664 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes. 19665 19666 2007-12-03 Jakub Jelinek <jakub (a] redhat.com> 19667 19668 * testsuite/libgomp.c/private-1.c: New test. 19669 19670 2007-11-29 Andris Pavenis <andris.pavenis (a] iki.fi> 19671 Paolo Bonzini <bonzini (a] gnu.org> 19672 19673 * Makefile.am: Use space as vpath separator. Use 'vpath %' 19674 instead of 'VPATH ='. 19675 * Makefile.in: Regenerate. 19676 19677 2007-11-23 Matthias Klose <doko (a] ubuntu.com> 19678 19679 * configure.ac: Adjust makeinfo version check. 19680 * configure: Regenerate. 19681 19682 2007-11-10 Jakub Jelinek <jakub (a] redhat.com> 19683 19684 PR fortran/34020 19685 * testsuite/libgomp.fortran/pr34020.f90: New test. 19686 19687 2007-11-06 Jakub Jelinek <jakub (a] redhat.com> 19688 19689 PR c++/33894 19690 * testsuite/libgomp.c++/atomic-1.C: New test. 19691 19692 2007-10-25 Jakub Jelinek <jakub (a] redhat.com> 19693 19694 PR libgomp/33275 19695 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate): 19696 Make x and y integers rather than (implicit) reals. Add private (j) 19697 clause to the last omp parallel. 19698 19699 2007-10-15 Maciej W. Rozycki <macro (a] linux-mips.org> 19700 19701 * configure: Regenerate following changes to ../config/tls.m4. 19702 19703 2007-09-28 Jakub Jelinek <jakub (a] redhat.com> 19704 19705 * testsuite/libgomp.fortran/stack.f90: New test. 19706 19707 2007-09-10 Danny Smith <dannysmith (a] users.sourceforge.net> 19708 19709 * config/mingw32/proc.c: New file. 19710 19711 2007-09-05 Uros Bizjak <ubizjak (a] gmail.com> 19712 19713 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets. 19714 (main): Use __get_cpuid to get i386 target fetaures. 19715 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets. 19716 (main): Use __get_cpuid to get x86_64 target fetaures. 19717 19718 2007-08-15 Jack Howarth <howarth (a] bromo.med.uc.edu> 19719 19720 PR target/32765 19721 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin. 19722 * testsuite/libgomp.fortran/crayptr2.f90: Likwise. 19723 19724 2007-07-12 Jakub Jelinek <jakub (a] redhat.com> 19725 19726 PR fortran/32550 19727 * testsuite/libgomp.fortran/pr32550.f90: New test. 19728 * testsuite/libgomp.fortran/crayptr2.f90: New test. 19729 19730 2007-07-05 H.J. Lu <hongjiu.lu (a] intel.com> 19731 19732 * aclocal.m4: Regenerated. 19733 19734 2007-07-05 Tobias Burnus <burnus (a] net-b.de> 19735 19736 PR fortran/32359 19737 * testsuite/libgomp.fortran/pr32359.f90: New. 19738 19739 2007-07-02 Jakub Jelinek <jakub (a] redhat.com> 19740 19741 PR libgomp/32468 19742 * sections.c (GOMP_parallel_sections_start): Only decrease 19743 number of threads to COUNT if dyn_var is true. 19744 * testsuite/libgomp.c/pr32468.c: New test. 19745 19746 2007-07-02 Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE> 19747 19748 PR libgomp/26308 19749 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX. 19750 19751 2007-06-21 Jakub Jelinek <jakub (a] redhat.com> 19752 19753 PR middle-end/32362 19754 * testsuite/libgomp.c/pr32362-1.c: New test. 19755 * testsuite/libgomp.c/pr32362-2.c: New test. 19756 * testsuite/libgomp.c/pr32362-3.c: New test. 19757 19758 2007-06-07 Jakub Jelinek <jakub (a] redhat.com> 19759 19760 * team.c (gomp_team_start): Fix setting up thread_attr 19761 stack size. 19762 19763 2007-06-02 Paolo Bonzini <bonzini (a] gnu.org> 19764 19765 * configure: Regenerate. 19766 19767 2007-05-23 Steve Ellcey <sje (a] cup.hp.com> 19768 19769 * Makefile.in: Regenerate. 19770 * configure: Regenerate. 19771 * aclocal.m4: Regenerate. 19772 * testsuite/Makefile.in: Regenerate. 19773 19774 2007-05-04 Jakub Jelinek <jakub (a] redhat.com> 19775 19776 * config/linux/proc.c: New file. 19777 19778 PR libgomp/28482 19779 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux. 19780 19781 2007-04-19 Daniel Franke <franke.daniel (a] gmail.com> 19782 19783 * libgomp.texi (GOMP_CPU_AFFINITY): Updated. 19784 19785 2007-04-16 Matthias Klose <doko (a] debian.org> 19786 19787 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific 19788 flags if not building with -m64. 19789 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march 19790 flag for i?86-*-* targets, if current target matches -m64. 19791 19792 2007-04-14 Steve Ellcey <sje (a] cup.hp.com> 19793 19794 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS. 19795 * Makefile.in: Regenerate. 19796 19797 2007-04-07 John David Anglin <dave.anglin (a] nrc-cnrc.gc.ca> 19798 19799 PR testsuite/31369 19800 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting 19801 ld_library_path. 19802 * testsuite/libgomp.fortran/fortran.exp: Likewise. 19803 19804 2007-04-04 Jakub Jelinek <jakub (a] redhat.com> 19805 19806 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern 19807 decls. 19808 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes. 19809 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables. 19810 (parse_affinity): New function. 19811 (initialize_env): Call it and gomp_init_affinity. 19812 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL, 19813 create new pthread_attr_t and call gomp_init_thread_affinity 19814 on it for each thread before passing the attribute to pthread_create. 19815 * config/linux/affinity.c: New file. 19816 * config/posix/affinity.c: New file. 19817 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test. 19818 * configure: Rebuilt. 19819 * config.h.in: Rebuilt. 19820 * Makefile.am (libgomp_la_SOURCES): Add affinity.c. 19821 * Makefile.in: Rebuilt. 19822 19823 2007-03-23 Andreas Tobler <a.tobler (a] schweiz.org> 19824 19825 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for 19826 *-*-darwin*. 19827 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library 19828 and use it if found. 19829 19830 2007-03-18 Uros Bizjak <ubizjak (a] gmail.com> 19831 19832 * testsuite/config/default.exp: New file. 19833 * testsuite/lib/libgomp.exp: New file. 19834 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init, 19835 libgomp_target_compile, libgomp_option_help, libgomp_option_proc, 19836 load_lib *, load_gcc_lib *): Move to libgomp.exp. 19837 (libgomp_load): Remove. 19838 * testsuite/lib/libgomp.exp (libgomp_init): Compute 19839 always_ld_library_path, not ld_library_path. Set additional_flags 19840 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets. 19841 (target_compile): Do not call libgomp_init. Append lang_library_path 19842 and lang_link_flags to options. 19843 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set 19844 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH 19845 here. 19846 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from 19847 always_ld_library_path. Set LD_LIBRARY_PATH here. 19848 * testsuite/libgomp.fortran/fortran.exp: Ditto. 19849 * testsuite/libgomp.c/atomic-1.c: Set dg-options to 19850 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for 19851 CX8 flag. 19852 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for 19853 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3. 19854 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options. 19855 * testsuite/libgomp.c/pr29947-1.c: Ditto. 19856 * testsuite/libgomp.c/atomic-10.c: Ditto. 19857 19858 2007-03-21 Jakub Jelinek <jakub (a] redhat.com> 19859 19860 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add 19861 dg-final cleanup-modules line. 19862 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise. 19863 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise. 19864 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise. 19865 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise. 19866 * testsuite/libgomp.fortran/reduction5.f90: Likewise. 19867 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise. 19868 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. 19869 19870 2007-03-18 Andreas Schwab <schwab (a] suse.de> 19871 19872 * acinclude.m4: Adjust regular expression for ld version 19873 extraction. 19874 * configure: Regenerate. 19875 19876 2007-03-01 Brooks Moses <brooks.moses (a] codesourcery.com> 19877 19878 * Makefile.am: Add install-pdf target as copied from 19879 automake v1.10 rules. 19880 * Makefile.in: Regenerate 19881 19882 2007-02-07 Jakub Jelinek <jakub (a] redhat.com> 19883 19884 PR libgomp/28486 19885 * configure: Regenerate. 19886 19887 PR c++/30703 19888 * testsuite/libgomp.c++/pr30703.C: New test. 19889 19890 2007-02-02 Jakub Jelinek <jakub (a] redhat.com> 19891 19892 Revert: 19893 2006-07-05 Eric Christopher <echristo (a] apple.com> 19894 * configure.ac: Depend addition of -pthread on host OS. 19895 * configure: Regenerate. 19896 19897 2007-01-31 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de> 19898 19899 * libgomp.texi: Fix spacing after abbreviations. 19900 19901 2007-01-31 Daniel Franke <franke.daniel (a] gmail.com> 19902 19903 PR libgomp/30546 19904 * configure.ac: Add check for makeinfo 19905 * Makefile.am: Redefined target libgomp.info, build libgomp.info only 19906 if an appropriate version of makeinfo is found. 19907 * aclocal.m4: Regenerated. 19908 * configure: Regenerated. 19909 * Makefile.in: Regenerated. 19910 * testsuite/Makefile.in: Regenerated. 19911 19912 2007-01-29 Daniel Franke <franke.daniel (a] gmail.com> 19913 19914 PR libgomp/30540 19915 * libgomp.texi: More about implementation-dependent settings. 19916 19917 2007-01-26 Tobias Burnus <burnus (a] net-b.de> 19918 19919 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension. 19920 19921 2007-01-24 Jakub Jelinek <jakub (a] redhat.com> 19922 19923 PR middle-end/30494 19924 * testsuite/libgomp.c/pr30494.c: New test. 19925 19926 2007-01-15 Tom Tromey <tromey (a] redhat.com> 19927 19928 * configure: Rebuilt. 19929 * configure.ac: Fixed comment. 19930 19931 2007-01-14 Daniel Franke <franke.daniel (a] gmail.com> 19932 19933 * libgomp.texi: Document implementation specific default values of 19934 environment variables. 19935 19936 2006-12-21 Daniel Franke <franke.daniel (a] gmail.com> 19937 19938 PR libgomp/28209 19939 * libgomp.texi: New file. 19940 * configure.ac: Add --enable-generated-files-in-srcdir option. 19941 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy 19942 files to srcdir. 19943 * Makefile.in: Regenerated. 19944 * config.h.in: Regenerated. 19945 * testsuite/Makefile.in: Regenerated. 19946 * NOTES: Removed. 19947 19948 2006-12-04 Daniel Franke <franke.daniel (a] gmail.com> 19949 19950 PR libgomp/29949 19951 * env.c (omp_set_num_threads): Set illegal thread count to 1. 19952 19953 2006-12-04 Eric Botcazou <ebotcazou (a] libertysurf.fr> 19954 19955 * configure: Regenerate. 19956 19957 2006-12-04 Jakub Jelinek <jakub (a] redhat.com> 19958 19959 PR libgomp/29947 19960 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to 19961 start if there shouldn't be any loop iterations. 19962 (gomp_loop_ordered_static_start): Remove start == end test. 19963 * testsuite/libgomp.c/pr29947-1.c: New test. 19964 * testsuite/libgomp.c/pr29947-2.c: New test. 19965 19966 2006-12-02 Eric Botcazou <ebotcazou (a] libertysurf.fr> 19967 19968 * configure.tgt: Force initial-exec TLS model on Linux only. 19969 19970 2006-11-13 Daniel Jacobowitz <dan (a] codesourcery.com> 19971 19972 * configure: Regenerated. 19973 19974 2006-11-09 Uros Bizjak <ubizjak (a] gmail.com> 19975 19976 * env.c (parse_schedule): Reject out of range values. 19977 (parse_unsigned_long): Reject out of range, negative or zero values. 19978 19979 2006-10-29 Jakub Jelinek <jakub (a] redhat.com> 19980 19981 PR fortran/29629 19982 * testsuite/libgomp.fortran/pr29629.f90: New test. 19983 19984 2006-10-24 Eric Botcazou <ebotcazou (a] libertysurf.fr> 19985 19986 PR libgomp/29494 19987 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6. 19988 * config/posix95: New directory. 19989 * config/posix95/omp-lock.h: New file. 19990 * config/posix95/lock.c: Likewise. 19991 19992 2006-10-14 Geoffrey Keating <geoffk (a] apple.com> 19993 19994 * aclocal.m4: Regenerate. 19995 * configure: Regenerate. 19996 19997 2006-10-05 Danny Smith <dannysmith (a] users.sourceforge.net> 19998 19999 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from 20000 '<' to '<='. 20001 20002 2006-10-05 Danny Smith <dannysmith (a] users.sourceforge.net> 20003 20004 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from 20005 test. 20006 * configure: Regenerate. 20007 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias. 20008 20009 2006-09-26 Jakub Jelinek <jakub (a] redhat.com> 20010 20011 PR middle-end/25261 20012 PR middle-end/28790 20013 * testsuite/libgomp.c/nestedfn-4.c: New test. 20014 * testsuite/libgomp.c/nestedfn-5.c: New test. 20015 * testsuite/libgomp.fortran/nestedfn3.f90: New test. 20016 20017 PR fortran/29097 20018 * testsuite/libgomp.fortran/condinc1.f: New test. 20019 * testsuite/libgomp.fortran/condinc2.f: New test. 20020 * testsuite/libgomp.fortran/condinc3.f90: New test. 20021 * testsuite/libgomp.fortran/condinc4.f90: New test. 20022 * testsuite/libgomp.fortran/condinc1.inc: New file. 20023 20024 2006-09-18 Tom Tromey <tromey (a] redhat.com> 20025 20026 * configure: Rebuilt. 20027 20028 2006-09-13 Joseph S. Myers <joseph (a] codesourcery.com> 20029 20030 PR c/28768 20031 PR preprocessor/14634 20032 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument 20033 to AC_DEFINE. 20034 * configure: Regenerate. 20035 20036 2006-09-08 Steven G. Kargl <kargl (a] gcc.gnu.org> 20037 20038 * testsuite/libgomp.fortran/reduction3.f90: Change 20039 -2147483648 to -huge(i)-1 to avoid overflow. 20040 * testsuite/libgomp.fortran/reduction4.f90: Change 20041 Z'ffffffff' to not(0) to avoid overflow. 20042 20043 2006-08-26 Joseph S. Myers <joseph (a] codesourcery.com> 20044 20045 PR libgomp/25938 20046 * Makefile.am (libsubincludedir): New. 20047 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS. 20048 * Makefile.in: Regenerate. 20049 20050 2006-08-17 Jakub Jelinek <jakub (a] redhat.com> 20051 20052 PR libgomp/28725 20053 * env.c: Include ctype.h. 20054 (parse_schedule, parse_unsigned_long, parse_boolean): Allow 20055 leading and/or trailing whitespace and compare strings case 20056 insensitively. 20057 20058 2006-07-16 Jakub Jelinek <jakub (a] redhat.com> 20059 20060 PR fortran/28390 20061 * testsuite/libgomp.fortran/pr28390.f: New test. 20062 20063 2006-07-05 Eric Christopher <echristo (a] apple.com> 20064 20065 * configure.ac: Depend addition of -pthread on host OS. 20066 * configure: Regenerate. 20067 20068 2006-06-21 Jakub Jelinek <jakub (a] redhat.com> 20069 20070 * critical.c (GOMP_critical_name_start): Fix *pptr initialization 20071 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is 20072 defined. 20073 20074 2006-06-20 Jakub Jelinek <jakub (a] redhat.com> 20075 20076 PR libgomp/26175 20077 PR libgomp/26477 20078 * configure.ac: If neither --enable-linux-futex nor 20079 --disable-linux-futex is passed, determine the default by checking 20080 for compiling and/or running against NPTL. With --enable-linux-futex, 20081 check if SYS_gettid and SYS_futex are defined. 20082 * configure: Rebuilt. 20083 20084 2006-06-14 Richard Henderson <rth (a] redhat.com> 20085 20086 PR libgomp/28008 20087 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when 20088 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment. 20089 20090 2006-06-09 Richard Henderson <rth (a] redhat.com> 20091 20092 * env.c (gomp_nthreads_var): Change to unsigned long. 20093 (gomp_run_sched_chunk): Likewise. 20094 (parse_unsigned_long): Rename from parse_num_threads and generalize. 20095 (initialize_env): Initialize gomp_thread_attr. 20096 * libgomp.h (gomp_nthreads_var): Update decl. 20097 (gomp_run_sched_chunk): Likewise. 20098 (gomp_thread_attr): Declare. 20099 * team.c (gomp_thread_attr): Export. 20100 (initialize_team): Don't initialize it. 20101 20102 2006-06-09 Jakub Jelinek <jakub (a] redhat.com> 20103 20104 PR fortran/27916 20105 * testsuite/libgomp.fortran/pr27916-1.f90: New test. 20106 * testsuite/libgomp.fortran/pr27916-2.f90: New test. 20107 20108 2006-06-06 Francois-Xavier Coudert <coudert (a] clipper.ens.fr> 20109 20110 * config/mingw32/time.c: New file. 20111 * configure.tgt: Use it. 20112 20113 2006-05-23 Carlos O'Donell <carlos (a] codesourcery.com> 20114 20115 * Makefile.am: Add install-html target. Add install-html to .PHONY 20116 * Makefile.in: Regenerate. 20117 20118 2006-05-22 John David Anglin <dave.anglin (a] nrc-cnrc.gc.ca> 20119 20120 PR libgomp/27612 20121 * testsuite/libgomp.c/sections-1.c: Require sync_int_long. 20122 * testsuite/libgomp.c/critical-1.c: Likewise. 20123 * testsuite/libgomp.c/loop-1.c: Likewise. 20124 * testsuite/libgomp.c/loop-2.c: Likewise. 20125 * testsuite/libgomp.c/single-1.c: Likewise. 20126 * testsuite/libgomp.c/ordered-1.c: Likewise. 20127 * testsuite/libgomp.c/ordered-2.c: Likewise. 20128 20129 2006-05-15 Jakub Jelinek <jakub (a] redhat.com> 20130 20131 PR middle-end/27416 20132 * libgomp.fortran/pr27416-1.f90: New test. 20133 20134 2006-05-03 Jakub Jelinek <jakub (a] redhat.com> 20135 20136 PR fortran/27395 20137 * testsuite/libgomp.fortran/pr27395-1.f90: New test. 20138 * testsuite/libgomp.fortran/pr27395-2.f90: New test. 20139 20140 2006-05-02 Jakub Jelinek <jakub (a] redhat.com> 20141 20142 PR c++/26943 20143 * testsuite/libgomp.c/pr26943-1.c: New test. 20144 * testsuite/libgomp.c/pr26943-2.c: New test. 20145 * testsuite/libgomp.c/pr26943-3.c: New test. 20146 * testsuite/libgomp.c/pr26943-4.c: New test. 20147 * testsuite/libgomp.c++/pr27337.C: Remove barrier. 20148 * testsuite/libgomp.c++/pr26943.C: New test. 20149 20150 2006-05-02 Jakub Jelinek <jakub (a] redhat.com> 20151 20152 PR middle-end/27337 20153 * testsuite/libgomp.c++/pr27337.C: New test. 20154 20155 2006-04-26 Jakub Jelinek <jakub (a] redhat.com> 20156 20157 PR c/26171 20158 * testsuite/libgomp.c/pr26171.c: New test. 20159 20160 2006-04-25 Richard Henderson <rth (a] redhat.com> 20161 20162 PR libgomp/25865 20163 * configure.ac: Use GCC_CHECK_TLS. 20164 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove. 20165 * Makefile.in, aclocal.m4, configure: Regenerate. 20166 20167 2006-04-10 Matthias Klose <doko (a] debian.org> 20168 20169 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib 20170 directory names containing underscores. 20171 20172 2006-03-21 Jakub Jelinek <jakub (a] redhat.com> 20173 20174 PR c++/26691 20175 * testsuite/libgomp.c++/pr26691.C: New test. 20176 20177 2006-03-13 Jakub Jelinek <jakub (a] redhat.com> 20178 20179 * testsuite/libgomp.fortran/retval2.f90: New test. 20180 20181 2006-03-09 Diego Novillo <dnovillo (a] redhat.com> 20182 20183 * testsuite/libgomp.c++: New directory. 20184 20185 2006-02-25 Shantonu Sen <ssen (a] opendarwin.org> 20186 20187 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions. 20188 * config/posix/sem.c: Implement the above. 20189 20190 2006-02-25 Andreas Tobler <a.tobler (a] schweiz.ch> 20191 20192 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and 20193 define HAVE_BROKEN_POSIX_SEMAPHORES. 20194 * configure: Rebuilt. 20195 * config.h.in: Rebuilt. 20196 20197 2006-02-17 Francois-Xavier Coudert <coudert (a] clipper.ens.fr> 20198 20199 PR bootstrap/26161 20200 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment 20201 for the other pthread check. 20202 * configure: Regenerate. 20203 * config.h.in: Regenerate. 20204 20205 2006-02-15 Jakub Jelinek <jakub (a] redhat.com> 20206 20207 PR libgomp/25938 20208 PR libgomp/25984 20209 * Makefile.am (fincludedir): New variable. 20210 (nodist_include_HEADERS): Remove Fortran files. 20211 (nodist_finclude_HEADERS): New variable. 20212 * Makefile.in: Regenerated. 20213 20214 2006-02-13 Jakub Jelinek <jakub (a] redhat.com> 20215 20216 * testsuite/libgomp.fortran/vla7.f90: Add -w to options. 20217 Remove tests for returning assumed character length arrays. 20218 20219 2006-02-12 Roger Sayle <roger (a] eyesopen.com> 20220 John David Anglin <dave (a] hiauly1.hia.nrc.ca> 20221 20222 PR libgomp/25936 20223 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems. 20224 20225 2006-02-08 Ulrich Weigand <uweigand (a] de.ibm.com> 20226 20227 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library. 20228 20229 2006-02-07 Eric Botcazou <ebotcazou (a] libertysurf.fr> 20230 20231 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related 20232 part of LD_LIBRARY_PATH manually. 20233 20234 2006-02-03 H.J. Lu <hongjiu.lu (a] intel.com> 20235 20236 PR libgomp/25852 20237 * testsuite/lib/libgomp-dg.exp (blddir): Set it in 20238 libgomp_init. 20239 20240 2005-01-25 Paolo Bonzini <bonzini (a] gnu.org> 20241 20242 PR libgomp/25884 20243 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove. 20244 * configure.ac (PERL): Don't set. 20245 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here. 20246 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE, 20247 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions. 20248 * omp.h.in: Wrap the new configure substitutions with @ characters. 20249 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise. 20250 * aclocal.m4, configure, Makefile.in: Regenerate. 20251 * mkomp_h.pl: Delete. 20252 20253 2005-01-24 Paolo Bonzini <bonzini (a] gnu.org> 20254 20255 PR libgomp/25259 20256 * configure.ac: Use GCC_HEADER_STDINT. 20257 * libgomp.h: Include gstdint.h. 20258 * libgomp_f.h.in: Don't include stdint.h or inttypes.h. 20259 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild. 20260 20261 2006-01-24 Richard Henderson <rth (a] redhat.com> 20262 20263 PR libgomp/25942 20264 * configure.ac: Add AM_MAINTAINER_MODE. 20265 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild. 20266 20267 2006-01-24 Diego Novillo <dnovillo (a] redhat.com> 20268 20269 * Makefile.in: Regenerate. 20270 * testsuite/Makefile.in: Regenerate. 20271 * aclocal.m4: Regenerate. 20272 20273 2006-01-23 Andreas Tobler <a.tobler (a] schweiz.ch> 20274 20275 * config/posix/proc.c: Conditional include of sys/loadavg.h for 20276 Solaris. 20277 * configure.ac: Add check for loadavg.h. 20278 (link_gomp): Adjust comment. 20279 * configure: Regenerate. 20280 * config.h.in: Regenerate. 20281 20282 2006-01-21 Steve Ellcey <sje (a] cup.hp.com> 20283 20284 PR libgomp/25877 20285 * configure.ac: Remove check for alloca.h. 20286 * configure: Regenerate. 20287 * config.h.in: Regenerate. 20288 * libgomp.h: define gomp_alloca to be __builtin_alloca. 20289 * team.c: Remove use of alloca.h. 20290 Call gomp_alloca instead of alloca. 20291 20292 2006-01-20 Steve Ellcey <sje (a] cup.hp.com> 20293 20294 PR libgomp/25877 20295 * team.c: Add include of alloca.h. 20296 * configure.ac: Add check for alloca.h. 20297 * configure: Regenerate. 20298 * config.h.in: Regenerate. 20299 20300 2006-01-17 Jakub Jelinek <jakub (a] redhat.com> 20301 20302 PR fortran/25219 20303 * testsuite/libgomp.fortran/pr25219.f90: New test. 20304 20305 2005-12-05 Uros Bizjak <uros (a] kss-loka.si> 20306 20307 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c, 20308 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c, 20309 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C, 20310 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C, 20311 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C, 20312 testsuite/libgomp.fortran/threadprivate1.f90, 20313 testsuite/libgomp.fortran/threadprivate2.f90, 20314 testsuite/libgomp.fortran/threadprivate3.f90, 20315 testsuite/libgomp.fortran/appendix-a/a.22.7.f9, 20316 testsuite/libgomp.fortran/appendix-a/a.22.8.f9, 20317 testsuite/libgomp.fortran/omp_parse3.f90: Change required 20318 effective-target to TLS runtime. 20319 20320 * testsuite/libgomp.fortran/pr25162.f: Require 20321 effective-target TLS runtime. 20322 20323 2005-12-01 Jakub Jelinek <jakub (a] redhat.com> 20324 20325 * testsuite/libgomp.fortran/nestedfn2.f90: New test. 20326 * testsuite/libgomp.c/nestedfn-3.c: New test. 20327 20328 2005-11-30 Jakub Jelinek <jakub (a] redhat.com> 20329 20330 PR fortran/25162 20331 * testsuite/libgomp.fortran/pr25162.f: New test. 20332 20333 2005-11-28 Jakub Jelinek <jakub (a] redhat.com> 20334 20335 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to 20336 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed. 20337 20338 2005-11-25 Jakub Jelinek <jakub (a] redhat.com> 20339 20340 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c, 20341 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in, 20342 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c, 20343 single.c, team.c, work.c, config/linux/alpha/futex.h, 20344 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h, 20345 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h, 20346 config/linux/powerpc/futex.h, config/linux/s390/futex.h, 20347 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h, 20348 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h, 20349 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c, 20350 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update 20351 FSF address. 20352 20353 2005-11-18 Jakub Jelinek <jakub (a] redhat.com> 20354 20355 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS 20356 to nodist_noinst_HEADERS. 20357 * Makefile.in: Rebuilt. 20358 20359 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct, 20360 add integer count field. 20361 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for 20362 omp_nest_lock_t type change. 20363 (omp_init_nest_lock): Likewise. Initialize count to 0. 20364 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change. 20365 Increment count. 20366 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change. 20367 Decrement count. 20368 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change. 20369 Increment count if successful and return the new nesting level. 20370 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level. 20371 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type. 20372 * testsuite/libgomp.c/lib-1.c: New test. 20373 * testsuite/libgomp.fortran/lib1.f90: New test. 20374 * testsuite/libgomp.fortran/lib2.f: New test. 20375 * testsuite/libgomp.fortran/lib3.f: New test. 20376 20377 2005-11-17 Richard Henderson <rth (a] redhat.com> 20378 20379 PR 24845 20380 * Makefile.am (nodist_toolexeclib_HEADERS): New. 20381 * configure.ac (link_gomp): New. Substitute it. 20382 (AC_CONFIG_FILES): Add libgomp.spec. 20383 * libgomp.spec.in: New file. 20384 * Makefile.in, testsuite/Makefile.in, configure: Rebuild. 20385 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags. 20386 20387 2005-11-18 Jakub Jelinek <jakub (a] redhat.com> 20388 20389 * testsuite/libgomp.fortran/reduction1.f90: Adjust for 20390 reduction(-:var) behaving the same as reduction(+:var). 20391 * testsuite/libgomp.c/reduction-4.c: New test. 20392 20393 2005-11-15 Uros Bizjak <uros (a] kss-loka.si> 20394 20395 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c, 20396 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c, 20397 testsuite/libgomp.c/copyin-3.c, 20398 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C, 20399 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C, 20400 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C, 20401 testsuite/libgomp.c++/pr24455.C, 20402 testsuite/libgomp.fortran/threadprivate1.f90, 20403 testsuite/libgomp.fortran/threadprivate2.f90, 20404 testsuite/libgomp.fortran/threadprivate3.f90, 20405 testsuite/libgomp.fortran/appendix-a/a.22.7.f9, 20406 testsuite/libgomp.fortran/appendix-a/a.22.8.f9, 20407 testsuite/libgomp.fortran/omp_parse3.f90: Require 20408 effective-target TLS. 20409 20410 2005-11-14 Diego Novillo <dnovillo (a] redhat.com> 20411 20412 * HEADER: Remove. 20413 20414 2005-11-13 Jakub Jelinek <jakub (a] redhat.com> 20415 20416 PR libgomp/24797 20417 * team.c (initialize_team): Pass NULL rather than free as 20418 pthread_key_create destructor. Initialize thread specific data 20419 pointer in initial thread to a static local variable rather than 20420 malloced memory. 20421 20422 2005-11-11 Uros Bizjak <uros (a] kss-loka.si> 20423 20424 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append 20425 its location to ld_library_path. 20426 20427 2005-11-10 Diego Novillo <dnovillo (a] redhat.com> 20428 20429 * testsuite/libgomp.c/c.exp: Rename from dg.exp. 20430 20431 2005-11-10 Diego Novillo <dnovillo (a] redhat.com> 20432 20433 * testsuite/libgomp.c: Rename from libgomp.dg. 20434 20435 2005-11-09 Diego Novillo <dnovillo (a] redhat.com> 20436 20437 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for 20438 threadprivate variable 'i'. 20439 20440 2005-11-09 Jakub Jelinek <jakub (a] redhat.com> 20441 20442 * config/linux/s390/futex.h: New file. 20443 * configure.tgt: Use it. 20444 20445 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization 20446 before the parallel. 20447 20448 2005-11-08 Jakub Jelinek <jakub (a] redhat.com> 20449 20450 PR c++/24734 20451 * testsuite/libgomp.c++/master-1.C: New test. 20452 20453 2005-11-07 Jakub Jelinek <jakub (a] redhat.com> 20454 20455 * testsuite/libgomp.dg/copyin-3.c: New test. 20456 20457 2005-11-07 Jakub Jelinek <jakub (a] redhat.com> 20458 20459 * testsuite/libgomp.fortran/retval1.f90: New test. 20460 * testsuite/libgomp.fortran/vla7.f90: New test. 20461 20462 2005-11-06 Jakub Jelinek <jakub (a] redhat.com> 20463 20464 * testsuite/libgomp.fortran/vla2.f90: New test. 20465 * testsuite/libgomp.fortran/vla3.f90: New test. 20466 * testsuite/libgomp.fortran/vla4.f90: New test. 20467 * testsuite/libgomp.fortran/vla5.f90: New test. 20468 * testsuite/libgomp.fortran/vla6.f90: New test. 20469 20470 2005-11-01 Jakub Jelinek <jakub (a] redhat.com> 20471 20472 * config/linux/sparc/futex.h: New file. 20473 * configure.tgt: Use it. 20474 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing. 20475 20476 * critical.c: Include stdlib.h. 20477 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about 20478 ignoring return value. 20479 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after 20480 LIBGOMP_CHECK_SYNC_BUILTINS check. 20481 * configure: Rebuilt. 20482 20483 2005-10-31 Jakub Jelinek <jakub (a] redhat.com> 20484 20485 * testsuite/libgomp.fortran/vla1.f90: New test. 20486 20487 2005-10-31 Richard Henderson <rth (a] redhat.com> 20488 20489 * testsuite/libgomp.fortran/character2.f90: Fix race condition 20490 setting 's' in different threads. 20491 20492 2005-10-31 Jakub Jelinek <jakub (a] redhat.com> 20493 20494 * libgomp.h (attribute_hidden, ialias): Define. 20495 * config/posix/proc.c (omp_get_num_procs): Add ialias. 20496 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise. 20497 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock, 20498 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock, 20499 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock, 20500 omp_test_lock, omp_test_nest_lock): Likewise. 20501 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock, 20502 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock, 20503 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock, 20504 omp_test_lock, omp_test_nest_lock): Likewise. 20505 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads, 20506 omp_get_dynamic, omp_get_nested): Likewise. 20507 * parallel.c (omp_get_num_threads, omp_get_max_threads, 20508 omp_get_thread_num, omp_in_parallel): Likewise. 20509 * fortran.c (ialias_redirect): Define. 20510 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock, 20511 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, 20512 omp_unset_lock, omp_unset_nest_lock, omp_test_lock, 20513 omp_test_nest_lock, omp_set_dynamic, omp_set_nested, 20514 omp_set_num_threads, omp_get_dynamic, omp_get_nested, 20515 omp_in_parallel, omp_get_max_threads, omp_get_num_procs, 20516 omp_get_num_threads, omp_get_thread_num, omp_get_wtick, 20517 omp_get_wtime): Add ialias_redirect. 20518 20519 2005-10-30 Jakub Jelinek <jakub (a] redhat.com> 20520 20521 * fortran.c: Include stdlib.h. 20522 20523 2005-10-29 Jakub Jelinek <jakub (a] redhat.com> 20524 20525 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h. 20526 * Makefile.in: Regenerated. 20527 20528 2005-10-28 Jakub Jelinek <jakub (a] redhat.com> 20529 20530 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE. 20531 * libgomp_f.h.in (omp_check_defines): New function. 20532 * env.c: Include libgomp_f.h. 20533 (initialize_env): Call omp_check_defines. 20534 20535 * testsuite/libgomp.dg/copyin-2.c: New test. 20536 * testsuite/libgomp.c++/copyin-2.C: New test. 20537 * testsuite/libgomp.fortran/threadprivate3.f90: New test. 20538 20539 * testsuite/libgomp.fortran/threadprivate2.f90: New test. 20540 * testsuite/libgomp.fortran/sharing2.f90: New test. 20541 20542 * testsuite/libgomp.dg/copyin-1.c: New test. 20543 * testsuite/libgomp.c++/copyin-1.C: New test. 20544 20545 2005-10-26 Jakub Jelinek <jakub (a] redhat.com> 20546 20547 * testsuite/libgomp.fortran/crayptr1.f90: New test. 20548 20549 * testsuite/libgomp.fortran/workshare1.f90: New test. 20550 20551 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile 20552 only test. 20553 * libgomp.fortran/sharing1.f90: New test. 20554 20555 2005-10-24 Jakub Jelinek <jakub (a] redhat.com> 20556 20557 PR c++/24502 20558 * testsuite/libgomp.c++/loop-7.C: New test. 20559 20560 * testsuite/libgomp.dg/nestedfn-2.c: New test. 20561 20562 * testsuite/libgomp.dg/nestedfn-1.c: New test. 20563 * testsuite/libgomp.fortran/reduction6.f90: New test. 20564 * testsuite/libgomp.fortran/nestedfn1.f90: New test. 20565 20566 2005-10-23 Richard Henderson <rth (a] redhat.com> 20567 20568 * testsuite/libgomp.c++/ctor-1.C: New. 20569 * testsuite/libgomp.c++/ctor-2.C: New. 20570 * testsuite/libgomp.c++/ctor-3.C: New. 20571 * testsuite/libgomp.c++/ctor-4.C: New. 20572 * testsuite/libgomp.c++/ctor-5.C: New. 20573 * testsuite/libgomp.c++/ctor-6.C: New. 20574 * testsuite/libgomp.c++/ctor-7.C: New. 20575 * testsuite/libgomp.c++/ctor-8.C: New. 20576 * testsuite/libgomp.c++/ctor-9.C: New. 20577 20578 2005-10-21 Diego Novillo <dnovillo (a] redhat.com> 20579 20580 PR 24455 20581 * testsuite/libgomp.c++/pr24455-1.C: New test. 20582 * testsuite/libgomp.c++/pr24455.C: New test. 20583 * testsuite/libgomp.dg/pr24455-1.c: New test. 20584 * testsuite/libgomp.dg/pr24455.c: New test. 20585 20586 2005-10-20 Richard Henderson <rth (a] redhat.com> 20587 20588 * testsuite/libgomp.c++/loop-6.C: New. 20589 * testsuite/libgomp.dg/loop-3.c: New. 20590 20591 2005-10-20 Jakub Jelinek <jakub (a] redhat.com> 20592 20593 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j 20594 explicitly private. 20595 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i 20596 explicitly shared. 20597 20598 2005-10-19 Diego Novillo <dnovillo (a] redhat.com> 20599 20600 * testsuite/libgomp.fortran/jacobi.f: New test. 20601 20602 2005-10-19 Richard Henderson <rth (a] redhat.com> 20603 20604 * configure.tgt (i?86-linux): Default to with_arch instead of 20605 CFLAGS. Add -mtune to match target_cpu. 20606 (x86_64-linux): Tune to i686. 20607 20608 * fortran.c (omp_test_nest_lock_): Fix typo. 20609 20610 2005-10-19 Jakub Jelinek <jakub (a] redhat.com> 20611 20612 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next, 20613 gomp_ordered_sync): Do nothing if team->nthreads == 1. 20614 * testsuite/libgomp.dg/ordered-3.c: New test. 20615 20616 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort. 20617 Remove volatile keyword. 20618 20619 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables 20620 in COMMON block to avoid warnings on 64-bit targets. 20621 20622 2005-10-18 Diego Novillo <dnovillo (a] redhat.com> 20623 20624 * testsuite/libgomp.dg/shared-3.c: New test. 20625 20626 2005-10-18 Jakub Jelinek <jakub (a] redhat.com> 20627 20628 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed. 20629 * testsuite/libgomp.fortran/reduction5.f90: New test. 20630 20631 2005-10-18 Jakub Jelinek <jakub (a] redhat.com> 20632 20633 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to 20634 dg-options. 20635 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable 20636 flush loop now that __sync_synchronize has proper memory barrier. 20637 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo. 20638 Add -ffixed-form to dg-options. 20639 20640 2005-10-17 Diego Novillo <dnovillo (a] redhat.com> 20641 20642 * testsuite/libgomp.fortran/fortran.exp: Also gather tests 20643 from subdirectories. 20644 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test. 20645 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test. 20646 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test. 20647 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test. 20648 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test. 20649 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test. 20650 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test. 20651 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test. 20652 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test. 20653 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test. 20654 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test. 20655 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test. 20656 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test. 20657 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test. 20658 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test. 20659 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test. 20660 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test. 20661 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test. 20662 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test. 20663 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test. 20664 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test. 20665 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test. 20666 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test. 20667 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test. 20668 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test. 20669 20670 2005-10-17 Jakub Jelinek <jakub (a] redhat.com> 20671 20672 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if 20673 lang_library_path exists. Use find instead of glob to gather tests. 20674 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed. 20675 20676 2005-10-17 Diego Novillo <dnovillo (a] redhat.com> 20677 20678 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test. 20679 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test. 20680 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test. 20681 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test. 20682 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test. 20683 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test. 20684 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test. 20685 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test. 20686 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test. 20687 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test. 20688 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test. 20689 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test. 20690 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file. 20691 20692 2005-10-15 Jakub Jelinek <jakub (a] redhat.com> 20693 20694 * testsuite/libgomp.dg/vla-1.c: New test. 20695 20696 * testsuite/libgomp.fortran/reference2.f90: New test. 20697 20698 * testsuite/libgomp.fortran/character2.f90: Remove explicit 20699 declaration of omp_get_thread_num. 20700 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add 20701 use omp_lib. 20702 20703 * testsuite/libgomp.fortran/reduction1.f90: New test. 20704 * testsuite/libgomp.fortran/reduction2.f90: New test. 20705 * testsuite/libgomp.fortran/reduction3.f90: New test. 20706 * testsuite/libgomp.fortran/reduction4.f90: New test. 20707 20708 2005-10-13 Richard Henderson <rth (a] redhat.com> 20709 20710 * Makefile.am (libgomp_la_SOURCES): Add bar.c. 20711 * Makefile.in: Regenerate. 20712 * barrier.c (GOMP_barrier): Use gomp_barrier_wait. 20713 * libgomp.h: Include bar.h. 20714 (struct gomp_barrier): Remove. 20715 (struct gomp_team): Add barrier. Replace master_barrier with 20716 master_release. Replace threads with ordered_release. 20717 (struct gomp_thread): Replace barrier with release. 20718 * ordered.c (gomp_ordered_first): Update for ordered_release change. 20719 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init, 20720 gomp_ordered_static_next, gomp_ordered_sync): Likewise. 20721 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait. 20722 (GOMP_single_copy_end): Likewise. 20723 * team.c (gomp_threads_dock): New. 20724 (gomp_barrier_init, gomp_barrier_destroy): Remove. 20725 (gomp_thread_start): Use gomp_barrier_wait. 20726 (new_team, free_team): Update for gomp_team changes. 20727 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit. 20728 (gomp_team_end): Use gomp_barrier_wait. 20729 (initialize_team): Update for gomp_thread changes. 20730 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start. 20731 (gomp_work_share_end_nowait): Use atomic ops when available. 20732 * config/linux/bar.c, config/linux/bar.h: New files. 20733 * config/posix/bar.c, config/posix/bar.h: New files. 20734 20735 2005-10-13 Jakub Jelinek <jakub (a] redhat.com> 20736 20737 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL. 20738 * testsuite/libgomp.dg/single-2.c: New test. 20739 20740 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file, 20741 lang_link_flags): Unset, so that they aren't inherited from previously 20742 sourced *.exp. 20743 20744 * testsuite/libgomp.fortran/threadprivate1.f90: New test. 20745 20746 2005-10-12 Richard Henderson <rth (a] redhat.com> 20747 20748 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel. 20749 (libgomp_init): Use lang_test_file, lang_library_path, and 20750 lang_link_flags, set by the subdirectory files. Add -fopenmp here. 20751 20752 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New. 20753 (lang_test_file, lang_link_flags): New. 20754 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove. 20755 20756 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C, 20757 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C, 20758 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C, 20759 testsuite/libgomp.c++/parallel-1.C, 20760 testsuite/libgomp.c++/reduction-1.C, 20761 testsuite/libgomp.c++/reduction-2.C, 20762 testsuite/libgomp.c++/reduction-3.C, 20763 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C, 20764 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C, 20765 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C: 20766 New files, largely cribbed from the C testsuite. 20767 20768 2005-10-12 Jakub Jelinek <jakub (a] redhat.com> 20769 20770 * testsuite/libgomp.fortran/character1.f90: New test. 20771 * testsuite/libgomp.fortran/character2.f90: New test. 20772 20773 * testsuite/libgomp.dg/nested-1.c: New test. 20774 * testsuite/libgomp.dg/nested-2.c: New test. 20775 * testsuite/libgomp.fortran/do1.f90: New test. 20776 * testsuite/libgomp.fortran/do2.f90: New test. 20777 20778 * testsuite/libgomp.fortran/reference1.f90: New test. 20779 20780 2005-10-11 Jakub Jelinek <jakub (a] redhat.com> 20781 20782 * testsuite/libgomp.dg/reduction-1.c: New test. 20783 * testsuite/libgomp.dg/reduction-2.c: New test. 20784 * testsuite/libgomp.dg/reduction-3.c: New test. 20785 20786 2005-10-10 Jakub Jelinek <jakub (a] redhat.com> 20787 20788 * testsuite/libgomp.dg/atomic-1.c: New test. 20789 * testsuite/libgomp.dg/atomic-2.c: New test. 20790 20791 2005-10-09 Richard Henderson <rth (a] redhat.com> 20792 20793 * critical.c (atomic_lock): New. 20794 (initialize_critical): Initialize it. 20795 (GOMP_atomic_start, GOMP_atomic_end): New. 20796 * libgomp.map: Export them. 20797 * libgomp_g.h: Declare them. 20798 20799 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite. 20800 20801 2005-10-02 Richard Henderson <rth (a] redhat.com> 20802 20803 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror 20804 to XCFLAGS instead of CFLAGS. 20805 20806 2005-09-30 Richard Henderson <rth (a] redhat.com> 20807 20808 * configure.ac: Determine whether -pthread or -lpthread is needed. 20809 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread. 20810 * Makefile.in, configure: Rebuild. 20811 20812 2005-09-28 Richard Henderson <rth (a] redhat.com> 20813 20814 * testsuite/libgomp.dg/omp-loop03.c: Fix return code. 20815 * testsuite/libgomp.dg/omp-single-3.c: New test. 20816 20817 2005-09-28 Diego Novillo <dnovillo (a] redhat.com> 20818 20819 * testsuite/libgomp.dg/omp-single-2.c: New test. 20820 * testsuite/libgomp.dg/shared-2.c: Fix return code. 20821 20822 2005-09-27 Richard Henderson <rth (a] redhat.com> 20823 20824 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier. 20825 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule. 20826 20827 2005-09-27 Jakub Jelinek <jakub (a] redhat.com> 20828 20829 * testsuite/libgomp.dg/omp-loop03.c: New test. 20830 20831 2005-09-27 Diego Novillo <dnovillo (a] redhat.com> 20832 20833 * testsuite/libgomp.dg/omp-parallel-for.c: New test. 20834 20835 2005-09-27 Diego Novillo <dnovillo (a] redhat.com> 20836 20837 * testsuite/libgomp.dg/omp-single-1.c: New test. 20838 * testsuite/libgomp.dg/shared-1.c: Return 0. 20839 Add prototype for abort. 20840 * testsuite/libgomp.dg/shared-2.c: Likewise. 20841 20842 2005-09-26 Jakub Jelinek <jakub (a] redhat.com> 20843 20844 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming 20845 constructs. 20846 20847 2005-09-26 Diego Novillo <dnovillo (a] redhat.com> 20848 20849 * testsuite/libgomp.dg/shared-1.c: New test. 20850 * testsuite/libgomp.dg/shared-2.c: New test. 20851 20852 2005-09-24 Richard Henderson <rth (a] redhat.com> 20853 20854 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error. 20855 20856 2005-09-24 Richard Henderson <rth (a] redhat.com> 20857 20858 * iter.c (gomp_iter_static_next): Round up when computing number 20859 of iterations. Don't bother distributing a remainder equally. 20860 20861 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main. 20862 Don't call srand. Zero b before testing. 20863 (main): New. 20864 20865 2005-09-24 Jakub Jelinek <jakub (a] redhat.com> 20866 20867 * testsuite/libgomp.fortran/omp_atomic1.f90: New test. 20868 * testsuite/libgomp.fortran/omp_atomic2.f90: New test. 20869 20870 2005-09-23 Jakub Jelinek <jakub (a] redhat.com> 20871 20872 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do 20873 without !$omp end do, followed immediately by subroutine end. 20874 20875 2005-09-23 Diego Novillo <dnovillo (a] redhat.com> 20876 20877 * testsuite/libgomp.dg/omp-parallel-if.c: New test. 20878 20879 2005-09-22 Richard Henderson <rth (a] redhat.com> 20880 20881 * critical.c (GOMP_critical_name_start): Change argument to void**. 20882 Reuse the pointer space if the mutex fits. 20883 (GOMP_critical_name_end): Likewise. 20884 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0. 20885 * libgomp_g.h (GOMP_critical_name_start): Update decl. 20886 (GOMP_critical_name_end): Likewise. 20887 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New. 20888 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New. 20889 20890 2005-09-20 Richard Henderson <rth (a] redhat.com> 20891 20892 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New. 20893 (create_lock_lock): New. 20894 (initialize_critical): Initialize it. 20895 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New. 20896 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare. 20897 20898 2005-09-20 Diego Novillo <dnovillo (a] redhat.com> 20899 20900 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h. 20901 20902 2005-09-20 Diego Novillo <dnovillo (a] redhat.com> 20903 20904 * testsuite/libgomp.dg/omp-loop01.c: New test. 20905 * testsuite/libgomp.dg/omp-loop02.c: New test. 20906 20907 2005-09-20 Jakub Jelinek <jakub (a] redhat.com> 20908 20909 * configure.ac (AC_PROG_FC): Add. 20910 (USE_FORTRAN): New automake conditional. 20911 * configure: Rebuilt. 20912 * Makefile.am (libgomp_la_SOURCES): Add fortran.c. 20913 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h. 20914 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod. 20915 Add rules to build them. 20916 * Makefile.in: Rebuilt. 20917 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and 20918 OMP_NEST_LOCK_KIND. 20919 * libgomp.map: Add Fortran wrappers. 20920 * libgomp_f.h.in: New file. 20921 * omp_lib.h.in: New file. 20922 * omp_lib.f90.in: New file. 20923 * fortran.c: New file. 20924 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files. 20925 Append libgfortran directory to LD_LIBRARY_PATH if it exists. 20926 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if 20927 libgfortran has been built. 20928 * testsuite/libgomp.fortran/fortran.exp: New file. 20929 * testsuite/libgomp.fortran/omp_cond1.f: New test. 20930 * testsuite/libgomp.fortran/omp_cond2.f: New test. 20931 * testsuite/libgomp.fortran/omp_cond3.F90: New test. 20932 * testsuite/libgomp.fortran/omp_cond4.F90: New test. 20933 * testsuite/libgomp.fortran/omp_hello.f: New test. 20934 * testsuite/libgomp.fortran/omp_orphan.f: New test. 20935 * testsuite/libgomp.fortran/omp_parse1.f90: New test. 20936 * testsuite/libgomp.fortran/omp_parse2.f90: New test. 20937 * testsuite/libgomp.fortran/omp_parse3.f90: New test. 20938 * testsuite/libgomp.fortran/omp_parse4.f90: New test. 20939 * testsuite/libgomp.fortran/omp_reduction.f: New test. 20940 * testsuite/libgomp.fortran/omp_workshare1.f: New test. 20941 * testsuite/libgomp.fortran/omp_workshare2.f: New test. 20942 20943 2005-08-30 Richard Henderson <rth (a] redhat.com> 20944 20945 * loop.c (GOMP_loop_static_start): Provide fallback wrapper 20946 function for when aliases are not usable. 20947 (GOMP_loop_dynamic_start, GOMP_loop_guided_start, 20948 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start, 20949 GOMP_loop_ordered_guided_start, GOMP_loop_static_next, 20950 GOMP_loop_dynamic_next, GOMP_loop_guided_next, 20951 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next, 20952 GOMP_loop_ordered_guided_next): Likewise. 20953 * ordered.c (GOMP_ordered_start): Likewise. 20954 20955 2005-08-01 Diego Novillo <dnovillo (a] redhat.com> 20956 20957 * testsuite/libgomp.dg/dg.exp: Use -O2 for now. 20958 * testsuite/libgomp.dg/omp_hello.c: Fix return code 20959 * testsuite/libgomp.dg/omp_matvec.c: Likewise. 20960 * testsuite/libgomp.dg/omp_orphan.c: Likewise 20961 * testsuite/libgomp.dg/omp_reduction.c: Likewise 20962 * testsuite/libgomp.dg/omp_workshare1.c: Likewise 20963 * testsuite/libgomp.dg/omp_workshare2.c: Likewise 20964 * testsuite/libgomp.dg/omp_workshare3.c: Likewise 20965 * testsuite/libgomp.dg/omp_workshare4.c: Likewise 20966 20967 2005-07-07 Eric Christopher <echristo (a] redhat.com> 20968 Diego Novillo <dnovillo (a] redhat.com> 20969 20970 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS. 20971 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix 20972 up code. 20973 * testsuite/libgomp.dg/omp_matvec.c: Ditto. 20974 * testsuite/libgomp.dg/omp_orphan.c: Ditto. 20975 * testsuite/libgomp.dg/omp_reduction.c: Ditto. 20976 * testsuite/libgomp.dg/omp_workshare1.c: Ditto. 20977 * testsuite/libgomp.dg/omp_workshare2.c: Ditto. 20978 * testsuite/libgomp.dg/omp_workshare3.c: Ditto. 20979 * testsuite/libgomp.dg/omp_workshare4.c: Ditto. 20980 20981 2005-06-13 Diego Novillo <dnovillo (a] redhat.com> 20982 20983 * TOPLEVEL.patch: Remove. 20984 20985 2005-05-16 Richard Henderson <rth (a] redhat.com> 20986 20987 * configure.ac: Test for clock_gettime. 20988 * config.h.in, configure: Rebuild. 20989 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern. 20990 (omp_get_wtime): Use clock_gettime if available. 20991 (omp_get_wtick): Use clock_getres if available. 20992 20993 2005-05-11 Richard Henderson <rth (a] redhat.com> 20994 20995 * config/linux/ia64/futex.h: New file. 20996 * configure.tgt: Use it. 20997 20998 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline. 20999 21000 2005-05-07 Richard Henderson <rth (a] redhat.com> 21001 21002 * config/linux/powerpc/futex.h: New file. 21003 * configure.tgt: Use it. 21004 21005 * config/linux/i486/futex.h: Merge ... 21006 * config/linux/x86_64/futex.h: ... into ... 21007 * config/linux/x86/futex.h: ... here. 21008 * configure.tgt: Update to match. 21009 21010 2005-05-06 Richard Henderson <rth (a] redhat.com> 21011 21012 * config/linux/alpha/futex.h: Conditionally define SYS_futex. 21013 * config/linux/i486/futex.h: Likewise. 21014 * config/linux/x86_64/futex.h: Likewise. 21015 21016 * config/linux/lock.c: New file. 21017 * config/linux/omp-lock.h: New file. 21018 21019 * critical.c, env.h: Don't include omp.h 21020 * config/posix/lock.c: Include libgomp.h instead of omp.h. 21021 * config/posix/time.c: Likewise. 21022 * config/posix/omp-lock.h: New file. 21023 * libgomp.h: Include omp-lock.h and omp.h. 21024 * Makefile.am (nodist_include_HEADERS): New. 21025 (omp.h): New rule. 21026 * configure.ac (PERL): New. 21027 * mkomp_h.pl: New file. 21028 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t 21029 with templates. 21030 * Makefile.in, configure, testsuite/Makefile.in: Rebuild. 21031 21032 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into 21033 build directory. Re-add -march=i486 hack. 21034 21035 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove. 21036 (libgomp_link_flags): Remove. 21037 (libgomp_initialized): Remove. 21038 (libgomp_init): Don't protect from reinitialization. Copy code 21039 from libstdc++ for getting the multilib set correctly. 21040 21041 2005-05-05 Richard Henderson <rth (a] redhat.com> 21042 21043 * config/linux/alpha/futex.h: New file. 21044 * configure.tgt (alpha*-*-linux*): Use it. 21045 21046 * config/posix/mutex.c: New file. 21047 * config/posix/sem.c: Use libgomp.h. 21048 21049 * configure.tgt (x86_64-linux): Also test CC for -m32. 21050 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage. 21051 21052 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add / 21053 after $gccpath. 21054 21055 * Makefile.am (SUBDIRS): New. 21056 (libgomp_la_LDFLAGS): Add -lpthread. 21057 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies. 21058 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild. 21059 21060 * libgomp_g.h: New file. 21061 * libgomp.h: Split out all public declarations to libgomp_g.h. 21062 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN. 21063 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN. 21064 * config/linux/sem.h: Likewise. 21065 * config/posix/sem.h: Likewise. 21066 21067 * Makefile.am (AM_LDFLAGS): New. 21068 (libgomp_version_script): Split out from ... 21069 (libgomp_la_LDFLAGS): ... here. 21070 (libgomp_version_info): New. 21071 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE. 21072 (LIBGOMP_ENABLE): New. 21073 (LIBGOMP_CHECK_LINKER_FEATURES): New. 21074 (LIBGOMP_ENABLE_SYMVERS): New. 21075 * configure.ac (AC_INIT): Version 1.0. 21076 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE. 21077 (enable-linux-futex): Likewise. Rename from enable-futex. 21078 (libtool_VERSION): New. 21079 (LIBGOMP_ENABLE_SYMVERS): Use it. 21080 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations. 21081 * Makefile.in, aclocal.m4, configure: Rebuild. 21082 21083 * config/linux/mutex.c: Include libgomp.h instead of mutex.h. 21084 (gomp_mutex_unlock_slow): Fix typo. 21085 * config/linux/sem.c: Similarly. 21086 (gomp_sem_post_slow): Fix typo. 21087 * config/linux/sem.h (gomp_sem_post_slow): Fix typo. 21088 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code. 21089 [__PIC__] (sys_futex0): Don't use tmp output in asm. 21090 21091 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS. 21092 (libgomp_la_LDFLAGS): Add top_srcdir to path. 21093 * acinclude.m4: Copy libtool.m4 stuff from libgfortran. 21094 * configure.ac: Check for getloadavg. Substitute XCFLAGS and 21095 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS. 21096 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and 21097 LDFLAGS. Pull enable_futex check to top-level. 21098 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN. 21099 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate. 21100 21101 First attempt at real configury. 21102 * Makefile, config.h: Remove file. 21103 * Makefile.am, Makefile.in: New file. 21104 * acinclude.m4 aclocal.m4: New file. 21105 * configure.ac, configure.tgt, configure: New file. 21106 21107 * config/posix/lock.c: Rename from sys-lock.c. 21108 * config/posix/mutex.h: Rename from sys-mutex.h. 21109 * config/posix/sem.c: Rename from sys-sem.c. 21110 * config/posix/sem.h: Rename from sys-sem.h. 21111 * config/posix/proc.c: Rename from sys-proc.c. 21112 * config/posix/time.c: Rename from sys-proc.c. 21113 21114 * config/linux/mutex.c: New file. 21115 * config/linux/mutex.h: New file. 21116 * config/linux/sem.c: New file. 21117 * config/linux/sem.h: New file. 21118 * config/linux/i486/futex.h: New file. 21119 * config/linux/x86_64/futex.h: New file. 21120 21121 2005-05-04 Richard Henderson <rth (a] redhat.com> 21122 21123 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New. 21124 * libgomp.h: Declare them. 21125 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start, 21126 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them. 21127 21128 2005-05-04 Richard Henderson <rth (a] redhat.com> 21129 21130 * libgomp-1 code drop 21131 21132 2005-05-04 Richard Henderson <rth (a] redhat.com> 21133 21134 * iter.c (gomp_iter_static_next): Return tri-state on 0. 21135 * ordered.c (gomp_ordered_static_next): Remove not_last argument. 21136 * libgomp.h (struct gomp_team_state): Make static_trip unsigned. 21137 (gomp_iter_static_next): Update. 21138 (gomp_ordered_static_next): Update. 21139 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next. 21140 (gomp_loop_ordered_static_start): Likewise. Exit early for a 21141 totally empty range. 21142 (gomp_loop_ordered_static_next): Refine test for calling 21143 gomp_ordered_static_next. 21144 * testsuite/ordered-1.c: Add case for more threads than iterations. 21145 21146 * iter.c (gomp_iter_runtime_next_locked): Remove. 21147 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start, 21148 gomp_loop_guided_start, gomp_loop_ordered_static_start, 21149 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start, 21150 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next, 21151 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next, 21152 gomp_loop_ordered_guided_next): Downcase name, make static, add 21153 an external alias with the old name. 21154 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start, 21155 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a 21156 switch and call one of the above static functions. 21157 * libgomp.h: Update. 21158 21159 * work.c (gomp_work_share_start): Lock the mutex for !first too. 21160 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start, 21161 GOMP_loop_guided_start, GOMP_loop_runtime_start, 21162 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start, 21163 GOMP_loop_ordered_guided_start): Update to match. 21164 * sections.c (GOMP_sections_start): Likewise. 21165 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise. 21166 21167 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next, 21168 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//. 21169 Use bounds check instead of modulus. 21170 (gomp_ordered_sync): Split out of GOMP_ordered_start. 21171 (gomp_ordered_last): Don't sync with ordered_owner here. 21172 (gomp_ordered_next): Likewise. 21173 (gomp_ordered_static_loop_next): Likewise. 21174 * loop.c, libgomp.h: Update to match. 21175 21176 * libgomp.h (GOMP_barrier): Declare. 21177 21178 * testsuite/barrier-1.c: New file. 21179 * testsuite/critical-1.c: New file. 21180 * testsuite/ordered-2.c: New file. 21181 * testsuite/ordered-1.c: New file. 21182 * testsuite/sections-1.c: New file. 21183 * testsuite/single-1.c: New file. 21184 * testsuite/Makefile (TESTS): Add them. 21185 21186 2005-05-04 Richard Henderson <rth (a] redhat.com> 21187 21188 * libgomp.h (struct gomp_work_share): Add ordered_owner. 21189 * loop.c (GOMP_loop_static_start): If not the startup thread, 21190 acquire the mutex to wait for initialization complete. 21191 (GOMP_loop_ordered_static_start): Likewise. 21192 (GOMP_loop_ordered_runtime_start): Likewise. 21193 (GOMP_loop_ordered_static_first): Remove. 21194 (GOMP_loop_ordered_dynamic_first): Remove. 21195 (GOMP_loop_ordered_guided_first): Remove. 21196 (GOMP_loop_ordered_runtime_first): Remove. 21197 * ordered.c (gomp_ordered_loop_first): Post to own release when 21198 we're the first thread. 21199 (gomp_ordered_loop_last): Wait on release if not owner. 21200 (gomp_ordered_loop_next): Likewise. 21201 (gomp_ordered_static_loop_init): New. 21202 (gomp_ordered_static_loop_next): Use ordered_owner. 21203 (GOMP_ordered_start): Likewise. 21204 * work.c (gomp_new_work_share): Initialize ordered_owner. 21205 21206 2005-05-03 Richard Henderson <rth (a] redhat.com> 21207 21208 * Makefile (OPT): New. 21209 (CFLAGS): Use it. 21210 21211 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New. 21212 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New. 21213 * libgomp.h, libgomp.map, NOTES: Update to match. 21214 21215 * team.c (struct gomp_thread_start_data): Remove ts, fn, data. 21216 Add initialized and thr members. 21217 (gomp_thread_start): Pause when initially spawned to wait for 21218 the whole team to be created. 21219 (gomp_team_start): Release team members at the end. 21220 21221 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100. 21222 (f_foo_1): Use GOMP_loop_end. 21223 (f_foo_2): Use GOMP_loop_end_nowait. 21224 21225 * testsuite/loop-2.c: New file. 21226 * testsuite/Makefile (TESTS): Add it. 21227 21228 2005-05-03 Richard Henderson <rth (a] redhat.com> 21229 21230 * iter.c (gomp_iter_static_next): Fix overflow check typo. 21231 (gomp_iter_dynamic_next_locked): Fix overflow check thinko. 21232 * team.c (new_team): Initialize oldest_live_gen to 1 if no 21233 initial work_share. 21234 21235 * testsuite/Makefile: New file. 21236 * testsuite/loop-1.c: New file. 21237 21238 2005-05-03 Richard Henderson <rth (a] redhat.com> 21239 21240 Initial implementation and checkin. 21241 21243 Copyright (C) 2005-2024 Free Software Foundation, Inc. 21244 21245 Copying and distribution of this file, with or without modification, 21246 are permitted in any medium without royalty provided the copyright 21247 notice and this notice are preserved. 21248