1 2025-05-23 Release Manager 2 3 * GCC 14.3.0 released. 4 5 2024-08-05 Paul Thomas <pault (a] gcc.gnu.org> 6 7 Backported from master: 8 2024-07-19 Paul Thomas <pault (a] gcc.gnu.org> 9 10 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Cut 11 dg-note about 'a' and remove bogus warnings about its array 12 descriptor components being used uninitialized. 13 14 2024-08-01 Release Manager 15 16 * GCC 14.2.0 released. 17 18 2024-05-07 Jakub Jelinek <jakub (a] redhat.com> 19 20 Backported from master: 21 2024-05-02 Jakub Jelinek <jakub (a] redhat.com> 22 23 * testsuite/libgomp.c/declare-variant-4.h (gfx90c, gfx1036, gfx1103): 24 New functions. 25 (f): Add #pragma omp declare variant directives for those. 26 * testsuite/libgomp.c/declare-variant-4-gfx90c.c: New test. 27 * testsuite/libgomp.c/declare-variant-4-gfx1036.c: New test. 28 * testsuite/libgomp.c/declare-variant-4-gfx1103.c: New test. 29 30 2024-05-07 Release Manager 31 32 * GCC 14.1.0 released. 33 34 2024-04-26 Frederik Harwath <frederik (a] harwath.name> 35 36 * plugin/plugin-gcn.c (isa_hsa_name): Handle EF_AMDGPU_MACH_AMDGCN_GFX90c. 37 (isa_code): Handle gfx90c. 38 (max_isa_vgprs): Handle EF_AMDGPU_MACH_AMDGCN_GFX90c. 39 40 2024-04-16 Chung-Lin Tang <cltang (a] baylibre.com> 41 42 * libgomp.h (REFCOUNT_ACC_MAP_DATA): Define as (REFCOUNT_SPECIAL | 2). 43 * oacc-mem.c (acc_map_data): Adjust to use REFCOUNT_ACC_MAP_DATA, 44 initialize dynamic_refcount as 1. 45 (acc_unmap_data): Adjust to use REFCOUNT_ACC_MAP_DATA, 46 (goacc_map_var_existing): Add REFCOUNT_ACC_MAP_DATA case. 47 (goacc_exit_datum_1): Add REFCOUNT_ACC_MAP_DATA case, respect 48 REFCOUNT_ACC_MAP_DATA when decrementing/finalizing. Force lowest 49 dynamic_refcount to be 1 for REFCOUNT_ACC_MAP_DATA. 50 (goacc_enter_data_internal): Add REFCOUNT_ACC_MAP_DATA case. 51 * target.c (gomp_increment_refcount): Return early for 52 REFCOUNT_ACC_MAP_DATA case. 53 (gomp_decrement_refcount): Likewise. 54 * testsuite/libgomp.oacc-c-c++-common/lib-96.c: New testcase. 55 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: Adjust 56 testcase error output scan test. 57 58 2024-04-08 Thomas Schwinge <tschwinge (a] baylibre.com> 59 60 * plugin/plugin-gcn.c (init_hsa_context): Add and handle 61 'bool probe' parameter. Adjust all users; errors during device 62 probing are fatal. 63 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Aside from 64 'CUDA_ERROR_NO_DEVICE', errors during device probing are fatal. 65 66 2024-04-05 Thomas Schwinge <tschwinge (a] baylibre.com> 67 68 * testsuite/libgomp.c/reverse-offload-sm30.c: Set 'GCC_COLORS' to the empty string. 69 70 2024-04-05 Jakub Jelinek <jakub (a] redhat.com> 71 72 PR c++/114572 73 * testsuite/libgomp.c++/pr114572.C: New test. 74 75 2024-04-04 Tobias Burnus <tburnus (a] baylibre.com> 76 77 * libgomp.texi (TR12): Honor post-TR12 directive name change; add 78 item about curly braces/BLOCK permitted in canonical loop nests. 79 80 2024-04-02 Jakub Jelinek <jakub (a] redhat.com> 81 82 * libgomp.texi (OpenMP 5.2): Fix duplicated words; with with -> 83 with. 84 (omp_target_associate_ptr): Fix duplicated words; either either -> 85 either. 86 (omp_init_allocator): Fix duplicated words; be be -> be. 87 (omp_realloc): Fix duplicated words; is is -> is. 88 (OMP_ALLOCATOR): Fix duplicated words; other other -> other. 89 * priority_queue.h (priority_queue_multi_p): Fix duplicated words; 90 to to -> to. 91 92 2024-03-25 Richard Biener <rguenther (a] suse.de> 93 94 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): GFX1036. 95 (gcn_gfx1103_s): New. 96 (isa_hsa_name): Handle gfx1036. 97 (isa_code): Likewise. 98 (max_isa_vgprs): Likewise. 99 100 2024-03-22 Kwok Cheung Yeung <kcyeung (a] baylibre.com> 101 102 * config/accel/target-indirect.c: Include string.h and hashtab.h. 103 Remove include of splay-tree.h. Update comments. 104 (splay_tree_prefix, splay_tree_c): Delete. 105 (struct indirect_map_t): New. 106 (hash_entry_type, htab_alloc, htab_free, htab_hash, htab_eq): New. 107 (GOMP_INDIRECT_ADD_MAP): Remove volatile qualifier. 108 (USE_SPLAY_TREE_LOOKUP): Rename to... 109 (USE_HASHTAB_LOOKUP): ..this. 110 (indirect_map, indirect_array): Delete. 111 (indirect_htab): New. 112 (build_indirect_map): Remove locking. Build indirect map using 113 hashtab. 114 (GOMP_target_map_indirect_ptr): Use indirect_htab to lookup target 115 address. 116 (GOMP_target_map_indirect_ptr): Remove volatile qualifier. 117 * config/gcn/team.c (gomp_gcn_enter_kernel): Call build_indirect_map 118 from first thread of first team only. 119 * config/nvptx/team.c (gomp_nvptx_main): Likewise. 120 * testsuite/libgomp.c-c++-common/declare-target-indirect-2.c (main): 121 Add missing break statements. 122 * testsuite/libgomp.fortran/declare-target-indirect-2.f90: Remove 123 xfail. 124 125 2024-03-22 Andrew Stubbs <ams (a] baylibre.com> 126 127 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): GFX1103. 128 (gcn_gfx1103_s): New. 129 (isa_hsa_name): Handle gfx1103. 130 (isa_code): Likewise. 131 (max_isa_vgprs): Likewise. 132 133 2024-03-14 Thomas Schwinge <tschwinge (a] baylibre.com> 134 135 * testsuite/libgomp.oacc-fortran/acc-memcpy.f90: Fix 'char' 136 initialization, copy, check. 137 138 2024-03-13 Tobias Burnus <tburnus (a] baylibre.com> 139 140 PR fortran/114283 141 * testsuite/libgomp.fortran/declare-target-indirect-4.f90: New test. 142 143 2024-03-12 Tobias Burnus <tburnus (a] baylibre.com> 144 145 * libgomp.texi (Device Memory Routines): Swap item order to match 146 the order of the '@node's of the '@subsection's. 147 148 2024-03-08 Thomas Schwinge <tschwinge (a] baylibre.com> 149 150 * plugin/plugin-gcn.c (GOMP_OFFLOAD_can_run): Don't consider 151 'GCN_SUPPRESS_HOST_FALLBACK' anymore (assume always-'true'). 152 (init_hsa_context): Adjust 'GCN_SUPPRESS_HOST_FALLBACK' error 153 message. 154 155 2024-03-08 Thomas Schwinge <tschwinge (a] baylibre.com> 156 157 * plugin/plugin-nvptx.c (nvptx_get_num_devices): 158 'cuDeviceGetCount' failure is fatal. 159 160 2024-03-08 Thomas Schwinge <tschwinge (a] baylibre.com> 161 162 * plugin/plugin-gcn.c (init_hsa_runtime_functions): Fatal error 163 for missing symbols. 164 * plugin/plugin-nvptx.c (init_cuda_lib): Likewise. 165 166 2024-03-06 John David Anglin <danglin (a] gcc.gnu.org> 167 168 Revert: 169 2024-02-01 John David Anglin <danglin (a] gcc.gnu.org> 170 171 * testsuite/libgomp.c++/loop-3.C: Set num_threads to 50 172 on 32-bit hppa. 173 * testsuite/libgomp.c/omp-loop03.c: Likewise. 174 175 2024-03-04 Jakub Jelinek <jakub (a] redhat.com> 176 177 PR libgomp/114216 178 * target.c (gomp_target_rev): Change host_fn type and corresponding 179 cast from void (*)() to void (*) (void *). 180 181 2024-03-01 Jakub Jelinek <jakub (a] redhat.com> 182 Tobias Burnus <tburnus (a] baylibre.com> 183 184 PR c++/110347 185 * testsuite/libgomp.c++/target-lambda-3.C: Moved from 186 gcc/testsuite/g++.dg/gomp/ and fixed is-mapped handling. 187 * testsuite/libgomp.c++/target-lambda-1.C: Modify to also 188 also work without offloading. 189 * testsuite/libgomp.c++/firstprivate-1.C: New test. 190 * testsuite/libgomp.c++/firstprivate-2.C: New test. 191 * testsuite/libgomp.c++/private-1.C: New test. 192 * testsuite/libgomp.c++/private-2.C: New test. 193 * testsuite/libgomp.c++/target-lambda-4.C: New test. 194 * testsuite/libgomp.c++/use_device_ptr-1.C: New test. 195 196 2024-02-27 Tobias Burnus <tburnus (a] baylibre.com> 197 198 * libgomp.texi (OpenACC Runtime Library Routines): Document new 3.3 199 routines that simply map to their C counterpart. 200 * openacc.f90 (openacc): Add them. 201 * openacc_lib.h: Likewise. 202 * testsuite/libgomp.oacc-fortran/acc_host_device_ptr.f90: New test. 203 * testsuite/libgomp.oacc-fortran/acc-memcpy.f90: New test. 204 * testsuite/libgomp.oacc-fortran/acc-memcpy-2.f90: New test. 205 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Crossref to f90 test. 206 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise. 207 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: Likewise. 208 209 2024-02-21 Tobias Burnus <tburnus (a] baylibre.com> 210 211 * libgomp.texi (OpenMP Context Selectors): Add 'nvptx64' as additional 212 'arch' value for nvptx. 213 214 2024-02-15 Kwok Cheung Yeung <kcyeung (a] baylibre.com> 215 216 * libgomp.texi (OpenMP 5.1): Mark indirect call support as fully 217 implemented. 218 219 2024-02-15 Kwok Cheung Yeung <kcyeung (a] baylibre.com> 220 221 * testsuite/libgomp.fortran/declare-target-indirect-1.f90: New. 222 * testsuite/libgomp.fortran/declare-target-indirect-2.f90: New. 223 * testsuite/libgomp.fortran/declare-target-indirect-3.f90: New. 224 225 2024-02-12 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 226 227 PR testsuite/113448 228 * testsuite/libgomp.c/alloc-pinned-1.c [!__linux__] (CHECK_SIZE): 229 Call abort. 230 * testsuite/libgomp.c/alloc-pinned-2.c [!__linux__] (CHECK_SIZE): 231 Likewise. 232 233 2024-02-11 John David Anglin <danglin (a] gcc.gnu.org> 234 235 PR libgomp/113843 236 * configure.tgt (hppa*-*-linux*): Define config_path. 237 238 2024-02-01 John David Anglin <danglin (a] gcc.gnu.org> 239 240 * testsuite/libgomp.c++/loop-3.C: Set num_threads to 50 241 on 32-bit hppa. 242 * testsuite/libgomp.c/omp-loop03.c: Likewise. 243 244 2024-01-29 Tobias Burnus <tburnus (a] baylibre.com> 245 246 * testsuite/libgomp.c/declare-variant-4.h: Use gfx1100/gfx1030 247 function not gfx90a for gfx1100/gfx1030 context selector. 248 249 2024-01-26 Richard Biener <rguenther (a] suse.de> 250 251 * plugin/plugin-gcn.c (suitable_hsa_agent_p): Filter out 252 agents with unsupported ISA. 253 254 2024-01-26 Richard Biener <rguenther (a] suse.de> 255 256 * plugin/plugin-gcn.c 257 (EF_AMDGPU_MACH::EF_AMDGPU_MACH_UNSUPPORTED): Add. 258 (isa_code): Return that instead of -1. 259 (GOMP_OFFLOAD_init_device): Adjust. 260 261 2024-01-26 Tobias Burnus <tburnus (a] baylibre.com> 262 263 * testsuite/libgomp.c/declare-variant-4.h: Add variant functions 264 for gfx1030 and gfx1100. 265 * testsuite/libgomp.c/declare-variant-4-gfx1030.c: New test. 266 * testsuite/libgomp.c/declare-variant-4-gfx1100.c: New test. 267 268 2024-01-26 Andrew Stubbs <ams (a] baylibre.com> 269 270 * config/gcn/time.c (RTC_TICKS): Configure RDNA3. 271 (omp_get_wtime): Add RDNA3-compatible variant. 272 * plugin/plugin-gcn.c (max_isa_vgprs): Tune for gfx1030 and gfx1100. 273 274 2024-01-24 Tobias Burnus <tburnus (a] baylibre.com> 275 Sandra Loosemore <sandra (a] codesourcery.com> 276 277 * libgomp.texi (Runtime Library Routines): Document 278 omp_pause_resource, omp_pause_resource_all and 279 omp_target_memcpy{,_rect}{,_async}. 280 281 2024-01-22 Tobias Burnus <tburnus (a] baylibre.com> 282 283 * testsuite/libgomp.c/declare-variant-4-fiji.c: Xfail as fiji 284 support is no longer enabled by default. 285 * testsuite/libgomp.c/declare-variant-4-gfx803.c: Likewise. 286 287 2024-01-20 John David Anglin <danglin (a] gcc.gnu.org> 288 289 * testsuite/libgomp.fortran/alloc-comp-3.f90: Increase 290 timeout by 2 on hppa*-*-*. 291 292 2024-01-20 John David Anglin <danglin (a] gcc.gnu.org> 293 294 * testsuite/libgomp.c/simd-math-1.c: Don't run on 295 hppa*-*-hpux*. 296 297 2024-01-17 Jakub Jelinek <jakub (a] redhat.com> 298 299 PR middle-end/113409 300 * testsuite/libgomp.c/bitint-1.c: New test. 301 302 2024-01-11 Julian Brown <julian (a] codesourcery.com> 303 304 * libgomp.texi: C/C++ lvalues are supported now for map/to/from. 305 * testsuite/libgomp.c-c++-common/ind-base-4.c: New test. 306 * testsuite/libgomp.c-c++-common/unary-ptr-1.c: New test. 307 308 2024-01-10 Jakub Jelinek <jakub (a] redhat.com> 309 310 PR libgomp/113192 311 * configure.ac (FLOCK): Use $libgomp_abs_srcdir/testsuite/flock 312 instead of \$(abs_top_srcdir)/testsuite/flock. 313 * configure: Regenerated. 314 315 2024-01-09 Julian Brown <julian (a] codesourcery.com> 316 317 * testsuite/libgomp.c++/baseptrs-4.C: Remove commented-out cases that 318 now work. 319 * testsuite/libgomp.c++/baseptrs-6.C: New test. 320 * testsuite/libgomp.c++/ind-base-1.C: New test. 321 * testsuite/libgomp.c++/ind-base-2.C: New test. 322 * testsuite/libgomp.c++/lvalue-tofrom-1.C: New test. 323 * testsuite/libgomp.c++/lvalue-tofrom-2.C: New test. 324 * testsuite/libgomp.c++/map-comma-1.C: New test. 325 * testsuite/libgomp.c++/map-rvalue-ref-1.C: New test. 326 * testsuite/libgomp.c++/struct-ref-1.C: New test. 327 * testsuite/libgomp.c-c++-common/array-field-1.c: New test. 328 * testsuite/libgomp.c-c++-common/array-of-struct-1.c: New test. 329 * testsuite/libgomp.c-c++-common/array-of-struct-2.c: New test. 330 331 2024-01-09 Jakub Jelinek <jakub (a] redhat.com> 332 333 PR libgomp/113192 334 * configure.ac (FLOCK): Use \$(abs_top_srcdir)/testsuite/flock 335 rather than $srcdir/testsuite/flock. 336 * configure: Regenerated. 337 338 2024-01-08 Thomas Schwinge <thomas (a] codesourcery.com> 339 340 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add 341 'EF_AMDGPU_MACH_AMDGCN_GFX1100'. 342 343 2024-01-08 Julian Brown <julian (a] codesourcery.com> 344 345 * plugin/plugin-gcn.c (hsa_runtime_fn_info): Add 346 hsa_amd_memory_lock_fn, hsa_amd_memory_unlock_fn, 347 hsa_amd_memory_async_copy_rect_fn function pointers. 348 (init_hsa_runtime_functions): Add above functions, with 349 DLSYM_OPT_FN. 350 (GOMP_OFFLOAD_memcpy2d, GOMP_OFFLOAD_memcpy3d): New functions. 351 352 2024-01-08 Tobias Burnus <tobias (a] codesourcery.com> 353 354 * plugin/plugin-gcn.c (gcn_gfx1100_s): New const string. 355 (gcn_isa_name_len): Fix length. 356 (isa_hsa_name, isa_code, max_isa_vgprs): Handle gfx1100. 357 358 2024-01-06 Tobias Burnus <tobias (a] codesourcery.com> 359 360 * libgomp.texi (OpenMP Technical Report 12): Fix a typo. 361 (Device Memory Routines): Fix OpenMP 5.1 spec refs; add 362 omp_target_is_accessible. 363 (Environment Display Routine): Uncomment and add 364 omp_display_env description. 365 (OMP_DISPLAY_ENV): Update wording, add 'see also'. 366 367 2024-01-06 Mark Wielaard <mark (a] klomp.org> 368 369 * configure: Regenerate. 370 371 2024-01-03 Jakub Jelinek <jakub (a] redhat.com> 372 373 * libgomp.texi: Bump @copying's copyright year. 374 375 2023-12-21 Julian Brown <julian (a] codesourcery.com> 376 377 * testsuite/libgomp.fortran/target-enter-data-6.f90: Remove XFAIL. 378 379 2023-12-20 Julian Brown <julian (a] codesourcery.com> 380 381 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_memcpy2d): Adjust parameters to 382 avoid out-of-bounds array checks in CUDA runtime. 383 (GOMP_OFFLOAD_memcpy3d): Likewise. 384 * testsuite/libgomp.c-c++-common/memcpyxd-bias-1.c: New test. 385 386 2023-12-18 Jakub Jelinek <jakub (a] redhat.com> 387 388 * testsuite/libgomp.c/declare-variant-1.c: Restrict the test to x86, 389 drop because of that unneeded target selector from other directives 390 and remove the aarch64 specific ones. 391 392 2023-12-15 Andre Vieira <andre.simoesdiasvieira (a] arm.com> 393 394 * testsuite/libgomp.c/declare-variant-1.c: Fixed test. 395 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise. 396 397 2023-12-15 Thomas Schwinge <thomas (a] codesourcery.com> 398 399 * testsuite/libgomp.fortran/map-subarray-5.f90: Restrict 400 'dg-output's to 'target offload_device_nonshared_as'. 401 402 2023-12-15 Julian Brown <julian (a] codesourcery.com> 403 404 * oacc-mem.c (find_group_last, goacc_enter_data_internal, 405 goacc_exit_data_internal, GOACC_enter_exit_data): Add 406 GOMP_MAP_STRUCT_UNORD support. 407 * target.c (gomp_map_vars_internal): Add GOMP_MAP_STRUCT_UNORD support. 408 Detect incorrect use of variable indexing of arrays of structs. 409 (GOMP_target_enter_exit_data, gomp_target_task_fn): Add 410 GOMP_MAP_STRUCT_UNORD support. 411 * testsuite/libgomp.c-c++-common/map-arrayofstruct-1.c: New test. 412 * testsuite/libgomp.c-c++-common/map-arrayofstruct-2.c: New test. 413 * testsuite/libgomp.c-c++-common/map-arrayofstruct-3.c: New test. 414 * testsuite/libgomp.fortran/map-subarray-5.f90: New test. 415 416 2023-12-13 Julian Brown <julian (a] codesourcery.com> 417 418 * testsuite/libgomp.fortran/map-subarray.f90: New test. 419 * testsuite/libgomp.fortran/map-subarray-2.f90: New test. 420 * testsuite/libgomp.fortran/map-subarray-3.f90: New test. 421 * testsuite/libgomp.fortran/map-subarray-4.f90: New test. 422 * testsuite/libgomp.fortran/map-subarray-6.f90: New test. 423 * testsuite/libgomp.fortran/map-subarray-7.f90: New test. 424 * testsuite/libgomp.fortran/map-subarray-8.f90: New test. 425 * testsuite/libgomp.fortran/map-subcomponents.f90: New test. 426 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Adjust for 427 descriptor-mapping changes. Remove XFAIL. 428 429 2023-12-13 Julian Brown <julian (a] codesourcery.com> 430 431 * target.c (gomp_map_pointer): Modify zero-length array section 432 pointer handling. 433 (gomp_attach_pointer): Likewise. 434 (gomp_map_fields_existing): Use gomp_map_0len_lookup. 435 (gomp_attach_pointer): Allow attaching null pointers (or Fortran 436 "unassociated" pointers). 437 (gomp_map_vars_internal): Handle zero-sized struct members. Add 438 diagnostic for unmapped struct pointer members. 439 * testsuite/libgomp.c-c++-common/baseptrs-1.c: New test. 440 * testsuite/libgomp.c-c++-common/baseptrs-2.c: New test. 441 * testsuite/libgomp.c-c++-common/baseptrs-6.c: New test. 442 * testsuite/libgomp.c-c++-common/baseptrs-7.c: New test. 443 * testsuite/libgomp.c-c++-common/ptr-attach-2.c: New test. 444 * testsuite/libgomp.c-c++-common/target-implicit-map-2.c: Fix missing 445 "free". 446 * testsuite/libgomp.c-c++-common/target-implicit-map-5.c: New test. 447 * testsuite/libgomp.c-c++-common/target-map-zlas-1.c: New test. 448 * testsuite/libgomp.c++/class-array-1.C: New test. 449 * testsuite/libgomp.c++/baseptrs-3.C: New test. 450 * testsuite/libgomp.c++/baseptrs-4.C: New test. 451 * testsuite/libgomp.c++/baseptrs-5.C: New test. 452 * testsuite/libgomp.c++/baseptrs-8.C: New test. 453 * testsuite/libgomp.c++/baseptrs-9.C: New test. 454 * testsuite/libgomp.c++/ref-mapping-1.C: New test. 455 * testsuite/libgomp.c++/target-48.C: New test. 456 * testsuite/libgomp.c++/target-49.C: New test. 457 * testsuite/libgomp.c++/target-exit-data-reftoptr-1.C: New test. 458 * testsuite/libgomp.c++/target-lambda-1.C: Update for OpenMP 5.2 459 semantics. 460 * testsuite/libgomp.c++/target-this-3.C: Likewise. 461 * testsuite/libgomp.c++/target-this-4.C: Likewise. 462 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Add temporary XFAIL. 463 * testsuite/libgomp.fortran/target-enter-data-6.f90: Likewise. 464 465 2023-12-13 Thomas Schwinge <thomas (a] codesourcery.com> 466 467 * config/linux/allocator.c (linux_memspace_alloc): Fix 'size_t' 468 vs. '%ld' format string mismatch. 469 470 2023-12-13 Andrew Stubbs <ams (a] codesourcery.com> 471 Thomas Schwinge <thomas (a] codesourcery.com> 472 473 * allocator.c (MEMSPACE_ALLOC): Add PIN. 474 (MEMSPACE_CALLOC): Add PIN. 475 (MEMSPACE_REALLOC): Add PIN. 476 (MEMSPACE_FREE): Add PIN. 477 (MEMSPACE_VALIDATE): Add PIN. 478 (omp_init_allocator): Use MEMSPACE_VALIDATE to check pinning. 479 (omp_aligned_alloc): Add pinning to all MEMSPACE_* calls. 480 (omp_aligned_calloc): Likewise. 481 (omp_realloc): Likewise. 482 (omp_free): Likewise. 483 * config/linux/allocator.c: New file. 484 * config/nvptx/allocator.c (MEMSPACE_ALLOC): Add PIN. 485 (MEMSPACE_CALLOC): Add PIN. 486 (MEMSPACE_REALLOC): Add PIN. 487 (MEMSPACE_FREE): Add PIN. 488 (MEMSPACE_VALIDATE): Add PIN. 489 * config/gcn/allocator.c (MEMSPACE_ALLOC): Add PIN. 490 (MEMSPACE_CALLOC): Add PIN. 491 (MEMSPACE_REALLOC): Add PIN. 492 (MEMSPACE_FREE): Add PIN. 493 * libgomp.texi: Switch pinned trait to supported. 494 (MEMSPACE_VALIDATE): Add PIN. 495 * testsuite/libgomp.c/alloc-pinned-1.c: New test. 496 * testsuite/libgomp.c/alloc-pinned-2.c: New test. 497 * testsuite/libgomp.c/alloc-pinned-3.c: New test. 498 * testsuite/libgomp.c/alloc-pinned-4.c: New test. 499 500 2023-12-11 Lipeng Zhu <lipeng.zhu (a] intel.com> 501 502 * testsuite/libgomp.fortran/rwlock_1.f90: New file. 503 * testsuite/libgomp.fortran/rwlock_2.f90: New file. 504 * testsuite/libgomp.fortran/rwlock_3.f90: New file. 505 506 2023-12-11 Andre Vieira <andre.simoesdiasvieira (a] arm.com> 507 508 * testsuite/libgomp.c/declare-variant-1.c: Adapt test for aarch64. 509 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise. 510 511 2023-12-11 Tobias Burnus <tobias (a] codesourcery.com> 512 513 * libgomp_g.h (GOMP_add_alloc, GOMP_is_alloc): Add. 514 515 2023-12-08 Tobias Burnus <tobias (a] codesourcery.com> 516 517 * allocator.c (struct fort_alloc_splay_tree_key_s, 518 fort_alloc_splay_compare, GOMP_add_alloc, GOMP_is_alloc): New. 519 * libgomp.h: Define splay_tree_static for 'reverse' splay tree. 520 * libgomp.map (GOMP_5.1.2): New; add GOMP_add_alloc and 521 GOMP_is_alloc; move GOMP_target_map_indirect_ptr from ... 522 (GOMP_5.1.1): ... here. 523 * libgomp.texi (Impl. Status, Memory management): Update for 524 allocators/allocate directives. 525 * splay-tree.c: Handle splay_tree_static define to declare all 526 functions as static. 527 (splay_tree_lookup_node): New. 528 * splay-tree.h: Handle splay_tree_decl_only define. 529 (splay_tree_lookup_node): New prototype. 530 * target.c: Define splay_tree_static for 'reverse'. 531 * testsuite/libgomp.fortran/allocators-1.f90: New test. 532 * testsuite/libgomp.fortran/allocators-2.f90: New test. 533 * testsuite/libgomp.fortran/allocators-3.f90: New test. 534 * testsuite/libgomp.fortran/allocators-4.f90: New test. 535 * testsuite/libgomp.fortran/allocators-5.f90: New test. 536 537 2023-12-06 Andrew Stubbs <ams (a] codesourcery.com> 538 539 * config/gcn/libgomp-gcn.h (TEAM_ARENA_START): Move to here. 540 (TEAM_ARENA_FREE): Likewise. 541 (TEAM_ARENA_END): Likewise. 542 (GCN_LOWLAT_HEAP): New. 543 * config/gcn/team.c (LITTLEENDIAN_CPU): New, and import hsa.h. 544 (__gcn_lowlat_init): New prototype. 545 (gomp_gcn_enter_kernel): Initialize the low-latency heap. 546 * libgomp.h (TEAM_ARENA_START): Move to libgomp.h. 547 (TEAM_ARENA_FREE): Likewise. 548 (TEAM_ARENA_END): Likewise. 549 * plugin/plugin-gcn.c (lowlat_size): New variable. 550 (print_kernel_dispatch): Label the group_segment_size purpose. 551 (init_environment_variables): Read GOMP_GCN_LOWLAT_POOL. 552 (create_kernel_dispatch): Pass low-latency head allocation to kernel. 553 (run_kernel): Use shadow; don't assume values. 554 * testsuite/libgomp.c/omp_alloc-traits.c: Enable for amdgcn. 555 * config/gcn/allocator.c: New file. 556 * libgomp.texi: Document low-latency implementation details. 557 558 2023-12-06 Andrew Stubbs <ams (a] codesourcery.com> 559 560 * allocator.c (MEMSPACE_VALIDATE): New macro. 561 (omp_init_allocator): Use MEMSPACE_VALIDATE. 562 (omp_aligned_alloc): Use OMP_LOW_LAT_MEM_ALLOC_INVALID. 563 (omp_aligned_calloc): Likewise. 564 (omp_realloc): Likewise. 565 * config/nvptx/allocator.c (nvptx_memspace_validate): New function. 566 (MEMSPACE_VALIDATE): New macro. 567 (OMP_LOW_LAT_MEM_ALLOC_INVALID): New define. 568 * libgomp.texi: Document low-latency implementation details. 569 * testsuite/libgomp.c/omp_alloc-1.c (main): Add gnu_lowlat. 570 * testsuite/libgomp.c/omp_alloc-2.c (main): Add gnu_lowlat. 571 * testsuite/libgomp.c/omp_alloc-3.c (main): Add gnu_lowlat. 572 * testsuite/libgomp.c/omp_alloc-4.c (main): Add access trait. 573 * testsuite/libgomp.c/omp_alloc-5.c (main): Add gnu_lowlat. 574 * testsuite/libgomp.c/omp_alloc-6.c (main): Add access trait. 575 * testsuite/libgomp.c/omp_alloc-traits.c: New test. 576 577 2023-12-06 Andrew Stubbs <ams (a] codesourcery.com> 578 Kwok Cheung Yeung <kcy (a] codesourcery.com> 579 Thomas Schwinge <thomas (a] codesourcery.com> 580 581 * allocator.c (MEMSPACE_ALLOC): New macro. 582 (MEMSPACE_CALLOC): New macro. 583 (MEMSPACE_REALLOC): New macro. 584 (MEMSPACE_FREE): New macro. 585 (predefined_alloc_mapping): New array. Add _Static_assert to match. 586 (ARRAY_SIZE): New macro. 587 (omp_aligned_alloc): Use MEMSPACE_ALLOC. 588 Implement fall-backs for predefined allocators. Simplify existing 589 fall-backs. 590 (omp_free): Use MEMSPACE_FREE. 591 (omp_calloc): Use MEMSPACE_CALLOC. Implement fall-backs for 592 predefined allocators. Simplify existing fall-backs. 593 (omp_realloc): Use MEMSPACE_REALLOC, MEMSPACE_ALLOC, and MEMSPACE_FREE. 594 Implement fall-backs for predefined allocators. Simplify existing 595 fall-backs. 596 * config/nvptx/team.c (__nvptx_lowlat_pool): New asm variable. 597 (__nvptx_lowlat_init): New prototype. 598 (gomp_nvptx_main): Call __nvptx_lowlat_init. 599 * libgomp.texi: Update memory space table. 600 * plugin/plugin-nvptx.c (lowlat_pool_size): New variable. 601 (GOMP_OFFLOAD_init_device): Read the GOMP_NVPTX_LOWLAT_POOL envvar. 602 (GOMP_OFFLOAD_run): Apply lowlat_pool_size. 603 * basic-allocator.c: New file. 604 * config/nvptx/allocator.c: New file. 605 * testsuite/libgomp.c/omp_alloc-1.c: New test. 606 * testsuite/libgomp.c/omp_alloc-2.c: New test. 607 * testsuite/libgomp.c/omp_alloc-3.c: New test. 608 * testsuite/libgomp.c/omp_alloc-4.c: New test. 609 * testsuite/libgomp.c/omp_alloc-5.c: New test. 610 * testsuite/libgomp.c/omp_alloc-6.c: New test. 611 612 2023-11-30 Thomas Schwinge <thomas (a] codesourcery.com> 613 614 * testsuite/libgomp.c/declare-variant-4-fiji.c: Adjust. 615 * testsuite/libgomp.c/declare-variant-4-gfx803.c: Likewise. 616 * testsuite/libgomp.c/declare-variant-4-gfx900.c: Likewise. 617 * testsuite/libgomp.c/declare-variant-4-gfx906.c: Likewise. 618 * testsuite/libgomp.c/declare-variant-4-gfx908.c: Likewise. 619 * testsuite/libgomp.c/declare-variant-4-gfx90a.c: Likewise. 620 * testsuite/libgomp.c/declare-variant-4.h: Likewise. 621 * testsuite/libgomp.c/declare-variant-4.c: New. 622 623 2023-11-30 Thomas Schwinge <thomas (a] codesourcery.com> 624 625 * testsuite/libgomp.c/declare-variant-3-sm30.c: Turn 'dg-do run' 626 into 'dg-do link'. 627 * testsuite/libgomp.c/declare-variant-3.c: New. 628 * testsuite/libgomp.c/declare-variant-3.h: Extend. 629 630 2023-11-30 Thomas Schwinge <thomas (a] codesourcery.com> 631 632 * testsuite/libgomp.c/declare-variant-3-sm30.c: Restrict 633 'scan-offload-tree-dump' to 'only_for_offload_target nvptx-none'. 634 * testsuite/libgomp.c/declare-variant-3-sm35.c: Likewise. 635 * testsuite/libgomp.c/declare-variant-3-sm53.c: Likewise. 636 * testsuite/libgomp.c/declare-variant-3-sm70.c: Likewise. 637 * testsuite/libgomp.c/declare-variant-3-sm75.c: Likewise. 638 * testsuite/libgomp.c/declare-variant-3-sm80.c: Likewise. 639 * testsuite/libgomp.c/declare-variant-4-fiji.c: Restrict 640 'scan-offload-tree-dump' to 641 'only_for_offload_target amdgcn-amdhsa'. 642 * testsuite/libgomp.c/declare-variant-4-gfx803.c: Likewise. 643 * testsuite/libgomp.c/declare-variant-4-gfx900.c: Likewise. 644 * testsuite/libgomp.c/declare-variant-4-gfx906.c: Likewise. 645 * testsuite/libgomp.c/declare-variant-4-gfx908.c: Likewise. 646 * testsuite/libgomp.c/declare-variant-4-gfx90a.c: Likewise. 647 648 2023-11-30 Thomas Schwinge <thomas (a] codesourcery.com> 649 650 * testsuite/libgomp.c/declare-variant-3-sm30.c: 651 'dg-additional-options -foffload=nvptx-none'. 652 * testsuite/libgomp.c/declare-variant-3-sm35.c: Likewise. 653 * testsuite/libgomp.c/declare-variant-3-sm53.c: Likewise. 654 * testsuite/libgomp.c/declare-variant-3-sm70.c: Likewise. 655 * testsuite/libgomp.c/declare-variant-3-sm75.c: Likewise. 656 * testsuite/libgomp.c/declare-variant-3-sm80.c: Likewise. 657 658 2023-11-29 Thomas Schwinge <thomas (a] codesourcery.com> 659 660 * testsuite/libgomp.c/target-simd-clone-1.c: Restrict 661 'scan-offload-ipa-dump's to 662 'only_for_offload_target amdgcn-amdhsa'. 663 * testsuite/libgomp.c/target-simd-clone-2.c: Likewise. 664 * testsuite/libgomp.c/target-simd-clone-3.c: Likewise. 665 666 2023-11-24 Tobias Burnus <tobias (a] codesourcery.com> 667 668 * libgomp.texi (5.2 Impl. Status): An argument to the destroy clause 669 is now supported. 670 671 2023-11-22 Thomas Schwinge <thomas (a] codesourcery.com> 672 673 * testsuite/libgomp.c/declare-variant-3.h (f30, f35, f53, f70) 674 (f75, f80, f): Add '__attribute__ ((noipa))'. 675 * testsuite/libgomp.c/declare-variant-4.h (gfx803, gfx900, gfx906) 676 (gfx908, gfx90a, f): Likewise. 677 678 2023-11-15 Andrew Stubbs <ams (a] codesourcery.com> 679 Andrew Jenner <andrew (a] codesourcery.com> 680 681 * plugin/plugin-gcn.c (max_isa_vgprs): New. 682 (run_kernel): CDNA2 devices have more VGPRs. 683 684 2023-11-10 Tobias Burnus <tobias (a] codesourcery.com> 685 686 * libgomp.texi (OpenMP Impl. Status): Update for OpenMP TR12; 687 renamed section from TR11. 688 689 2023-11-07 Kwok Cheung Yeung <kcy (a] codesourcery.com> 690 691 * config/linux/target-indirect.c: Move to... 692 * target-indirect.c: ...here. 693 694 2023-11-07 Kwok Cheung Yeung <kcy (a] codesourcery.com> 695 696 * Makefile.am (libgomp_la_SOURCES): Add target-indirect.c. 697 * Makefile.in: Regenerate. 698 * libgomp-plugin.h (GOMP_INDIRECT_ADDR_MAP): New define. 699 (GOMP_OFFLOAD_load_image): Add extra argument. 700 * libgomp.h (struct indirect_splay_tree_key_s): New. 701 (indirect_splay_tree_node, indirect_splay_tree, 702 indirect_splay_tree_key): New. 703 (indirect_splay_compare): New. 704 * libgomp.map (GOMP_5.1.1): Add GOMP_target_map_indirect_ptr. 705 * libgomp.texi (OpenMP 5.1): Update documentation on indirect 706 calls in target region and on indirect clause. 707 (Other new OpenMP 5.2 features): Add entry for virtual function calls. 708 * libgomp_g.h (GOMP_target_map_indirect_ptr): Add prototype. 709 * oacc-host.c (host_load_image): Add extra argument. 710 * target.c (gomp_load_image_to_device): If the GOMP_VERSION is high 711 enough, read host indirect functions table and pass to 712 load_image_func. 713 * config/accel/target-indirect.c: New. 714 * config/linux/target-indirect.c: New. 715 * config/gcn/team.c (build_indirect_map): Add prototype. 716 (gomp_gcn_enter_kernel): Initialize support for indirect 717 function calls on GCN target. 718 * config/nvptx/team.c (build_indirect_map): Add prototype. 719 (gomp_nvptx_main): Initialize support for indirect function 720 calls on NVPTX target. 721 * plugin/plugin-gcn.c (struct gcn_image_desc): Add field for 722 indirect functions count. 723 (GOMP_OFFLOAD_load_image): Add extra argument. If the GOMP_VERSION 724 is high enough, build address translation table and copy it to target 725 memory. 726 * plugin/plugin-nvptx.c (nvptx_tdata): Add field for indirect 727 functions count. 728 (GOMP_OFFLOAD_load_image): Add extra argument. If the GOMP_VERSION 729 is high enough, Build address translation table and copy it to target 730 memory. 731 * testsuite/libgomp.c-c++-common/declare-target-indirect-1.c: New. 732 * testsuite/libgomp.c-c++-common/declare-target-indirect-2.c: New. 733 * testsuite/libgomp.c++/declare-target-indirect-1.C: New. 734 735 2023-11-05 Jakub Jelinek <jakub (a] redhat.com> 736 737 * libgomp.texi (Enabling OpenMP): Adjust wording for attribute syntax 738 supported also in C. 739 740 2023-10-31 Thomas Schwinge <thomas (a] codesourcery.com> 741 742 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Add OpenACC 743 'acc_map_data' variant. 744 745 2023-10-25 Thomas Schwinge <thomas (a] codesourcery.com> 746 747 * oacc-parallel.c (GOACC_data_start): Handle 748 'GOACC_FLAG_LOCAL_DEVICE'. 749 (GOACC_parallel_keyed): Simplify accordingly. 750 * testsuite/libgomp.oacc-fortran/self-1.f90: Adjust. 751 752 2023-10-25 Thomas Schwinge <thomas (a] codesourcery.com> 753 754 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Enhance. 755 * testsuite/libgomp.oacc-c-c++-common/self-1.c: Likewise. 756 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise. 757 * testsuite/libgomp.oacc-c-c++-common/if-self-1.c: New. 758 * testsuite/libgomp.oacc-fortran/self-1.f90: Likewise. 759 760 2023-10-25 Chung-Lin Tang <cltang (a] codesourcery.com> 761 762 * oacc-parallel.c (GOACC_parallel_keyed): Add code to handle 763 GOACC_FLAG_LOCAL_DEVICE case. 764 * testsuite/libgomp.oacc-c-c++-common/self-1.c: New test. 765 766 2023-10-22 Iain Sandoe <iain (a] sandoe.co.uk> 767 768 * Makefile.am: Handle Darwin rpaths. 769 * Makefile.in: Regenerate. 770 * configure: Regenerate. 771 * configure.ac: Handle Darwin rpaths 772 773 2023-10-20 Andrew Stubbs <ams (a] codesourcery.com> 774 775 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX1030): New. 776 (isa_hsa_name): Recognise gfx1030. 777 (isa_code): Likewise. 778 * team.c (defined): Remove s_endpgm. 779 780 2023-10-20 Tobias Burnus <tobias (a] codesourcery.com> 781 782 * omp_lib.f90.in: Tag omp_lock_hint_* as being deprecated when 783 _OPENMP >= 201811. 784 785 2023-10-15 Tobias Burnus <tobias (a] codesourcery.com> 786 787 * libgomp.texi (Enabling OpenMP): Update for C/C++ attributes; 788 improve wording especially for Fortran; mention -fopenmp-simd. 789 (Enabling OpenACC): Minor cleanup; remove conditional compilation 790 sentinel. 791 792 2023-10-15 Tobias Burnus <tobias (a] codesourcery.com> 793 794 * libgomp.texi (ACC_DEVICE_TYPE, ACC_DEVICE_NUM, ACC_PROFLIB): 795 Actually document what the function does. 796 (GCC_ACC_NOTIFY): Remove unused env var. 797 798 2023-10-15 Tobias Burnus <tobias (a] codesourcery.com> 799 800 * libgomp.texi: Replace most future tense by present tense. 801 802 2023-10-14 Tobias Burnus <tobias (a] codesourcery.com> 803 804 * testsuite/libgomp.fortran/allocate-6.f90: Add missing 805 dg-additional-options "-fdump-tree-gimple"; fix scan. 806 807 2023-10-14 Tobias Burnus <tobias (a] codesourcery.com> 808 809 * libgomp.texi: Fix some typos. 810 (Memory Management Routines): Document remaining 5.x routines. 811 (Memory allocation): Make clear when the section applies. 812 813 2023-10-14 Tobias Burnus <tobias (a] codesourcery.com> 814 815 * libgomp.texi (OpenMP Impl. Status): Mention that Fortran now 816 supports the allocate directive for stack variables. 817 * testsuite/libgomp.fortran/allocate-5.f90: New test. 818 * testsuite/libgomp.fortran/allocate-6.f90: New test. 819 * testsuite/libgomp.fortran/allocate-7.f90: New test. 820 * testsuite/libgomp.fortran/allocate-8.f90: New test. 821 822 2023-10-12 Tobias Burnus <tobias (a] codesourcery.com> 823 824 * libgomp.texi (OMP_DEFAULT_DEVICE): Update spec ref; add @ref to 825 OMP_TARGET_OFFLOAD. 826 (OMP_TARGET_OFFLOAD): Update spec ref; add @ref to OMP_DEFAULT_DEVICE; 827 clarify MANDATORY behavior. 828 829 2023-10-12 Zhang, Jun <jun.zhang (a] intel.com> 830 831 * env.c (initialize_env): Use do_adjust_default_spincount. 832 * config/linux/x86/spincount.h: New file. 833 834 2023-10-08 Tobias Burnus <tobias (a] codesourcery.com> 835 836 * testsuite/libgomp.fortran/strictly-structured-block-1.f90: New test. 837 838 2023-10-06 Tobias Burnus <tobias (a] codesourcery.com> 839 840 * libgomp.texi (Device Memory Routines): New. 841 842 2023-10-04 Tobias Burnus <tobias (a] codesourcery.com> 843 844 * libgomp.texi (OpenMP Context Selectors): Clarify 'kind' trait 845 and that other target archs have no 'arch'/'isa' traits implemented. 846 847 2023-09-20 Tobias Burnus <tobias (a] codesourcery.com> 848 849 * libgomp.texi (OpenMP 5.1 Impl.): Mark 'omp allocate' as 850 implemented for C only. 851 * testsuite/libgomp.c/allocate-4.c: New test. 852 * testsuite/libgomp.c/allocate-5.c: New test. 853 * testsuite/libgomp.c/allocate-6.c: New test. 854 855 2023-09-20 Jakub Jelinek <jakub (a] redhat.com> 856 857 PR c++/111392 858 * libgomp.texi: Mark decl attribute was added to the C++ attribute 859 syntax as implemented. 860 861 2023-09-19 Jakub Jelinek <jakub (a] redhat.com> 862 863 PR libgomp/111413 864 * env.c (initialize_env): Don't dereference environ if it is NULL. 865 Reindent. 866 867 2023-09-18 Richard Biener <rguenther (a] suse.de> 868 869 PR tree-optimization/111294 870 * team.c (gomp_team_start): Assert alloca size to avoid false 871 positive alloc-size diagnostic. 872 873 2023-09-12 Thomas Schwinge <thomas (a] codesourcery.com> 874 Chung-Lin Tang <cltang (a] codesourcery.com> 875 876 PR testsuite/91884 877 PR testsuite/109951 878 * configure.ac: Revert earlier changes, instead 879 'AC_SUBST(SYSROOT_CFLAGS_FOR_TARGET)'. 880 * Makefile.in: Regenerate. 881 * configure: Likewise. 882 * testsuite/Makefile.in: Likewise. 883 * testsuite/lib/libgomp.exp (libgomp_init): Remove 884 "Fix up '-funconfigured-libstdc++-v3' in 'GXX_UNDER_TEST'" code. 885 If '--with-build-sysroot=[...]' was specified, use it for 886 build-tree testing. 887 * testsuite/libgomp-site-extra.exp.in (GCC_UNDER_TEST) 888 (GXX_UNDER_TEST, GFORTRAN_UNDER_TEST): Don't set. 889 (SYSROOT_CFLAGS_FOR_TARGET): Set. 890 * testsuite/libgomp.c++/c++.exp (lang_source_re) 891 (lang_include_flags): Set for build-tree testing. 892 * testsuite/libgomp.oacc-c++/c++.exp (lang_source_re) 893 (lang_include_flags): Likewise. 894 895 2023-09-07 Tobias Burnus <tobias (a] codesourcery.com> 896 897 * libgomp.texi (Memory Management Routines): New; add documentation for 898 omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator, 899 omp_get_default_allocator. 900 (OMP_ALLOCATOR): Fix ICV var name; add see-also references. 901 902 2023-09-07 Tobias Burnus <tobias (a] codesourcery.com> 903 904 * target.c (gomp_unload_device): Remove tailing whitespace. 905 906 2023-09-04 Tobias Burnus <tobias (a] codesourcery.com> 907 Thomas Schwinge <thomas (a] codesourcery.com> 908 909 * testsuite/libgomp.c-c++-common/pr100059-1.c: New. 910 911 2023-08-25 Sandra Loosemore <sandra (a] codesourcery.com> 912 913 * libgomp.texi (OpenMP 5.0): Imperfectly-nested loops are done. 914 915 2023-08-25 Sandra Loosemore <sandra (a] codesourcery.com> 916 917 * testsuite/libgomp.fortran/imperfect-destructor.f90: New. 918 * testsuite/libgomp.fortran/imperfect1.f90: New. 919 * testsuite/libgomp.fortran/imperfect2.f90: New. 920 * testsuite/libgomp.fortran/imperfect3.f90: New. 921 * testsuite/libgomp.fortran/imperfect4.f90: New. 922 * testsuite/libgomp.fortran/target-imperfect1.f90: New. 923 * testsuite/libgomp.fortran/target-imperfect2.f90: New. 924 * testsuite/libgomp.fortran/target-imperfect3.f90: New. 925 * testsuite/libgomp.fortran/target-imperfect4.f90: New. 926 927 2023-08-25 Sandra Loosemore <sandra (a] codesourcery.com> 928 929 * testsuite/libgomp.c-c++-common/imperfect1.c: New. 930 * testsuite/libgomp.c-c++-common/imperfect2.c: New. 931 * testsuite/libgomp.c-c++-common/imperfect3.c: New. 932 * testsuite/libgomp.c-c++-common/imperfect4.c: New. 933 * testsuite/libgomp.c-c++-common/imperfect5.c: New. 934 * testsuite/libgomp.c-c++-common/imperfect6.c: New. 935 * testsuite/libgomp.c-c++-common/target-imperfect1.c: New. 936 * testsuite/libgomp.c-c++-common/target-imperfect2.c: New. 937 * testsuite/libgomp.c-c++-common/target-imperfect3.c: New. 938 * testsuite/libgomp.c-c++-common/target-imperfect4.c: New. 939 940 2023-08-25 Sandra Loosemore <sandra (a] codesourcery.com> 941 942 * testsuite/libgomp.c++/attrs-imperfect1.C: New test. 943 * testsuite/libgomp.c++/attrs-imperfect2.C: New test. 944 * testsuite/libgomp.c++/attrs-imperfect3.C: New test. 945 * testsuite/libgomp.c++/attrs-imperfect4.C: New test. 946 * testsuite/libgomp.c++/attrs-imperfect5.C: New test. 947 * testsuite/libgomp.c++/attrs-imperfect6.C: New test. 948 * testsuite/libgomp.c++/imperfect-class-1.C: New test. 949 * testsuite/libgomp.c++/imperfect-class-2.C: New test. 950 * testsuite/libgomp.c++/imperfect-class-3.C: New test. 951 * testsuite/libgomp.c++/imperfect-destructor.C: New test. 952 * testsuite/libgomp.c++/imperfect-template-1.C: New test. 953 * testsuite/libgomp.c++/imperfect-template-2.C: New test. 954 * testsuite/libgomp.c++/imperfect-template-3.C: New test. 955 956 2023-08-22 Francois-Xavier Coudert <fxcoudert (a] gmail.com> 957 958 * testsuite/lib/libgomp.exp: Add effective target. 959 * testsuite/libgomp.c/simd-math-1.c: Avoid calling nonstandard 960 functions. 961 962 2023-08-22 Tobias Burnus <tobias (a] codesourcery.com> 963 964 * libgomp.texi (OpenMP 5.2 status): Add depobj with 965 destroy-var argument as 'N'. Mark defaultmap with 966 'all' category as 'Y'. 967 968 2023-08-19 Tobias Burnus <tobias (a] codesourcery.com> 969 970 PR middle-end/111017 971 * testsuite/libgomp.c-c++-common/non-rect-loop-1.c: New test. 972 973 2023-08-17 Tobias Burnus <tobias (a] codesourcery.com> 974 975 PR libgomp/111024 976 * allocator.c (gomp_init_libnuma): Call numa_available; if 977 not available or not returning 0, disable libnuma usage. 978 979 2023-08-07 Nick Alcock <nick.alcock (a] oracle.com> 980 981 * configure: Regenerate. 982 983 2023-08-07 Alexander von Gluck IV <kallisti5 (a] unixzen.com> 984 985 * configure: Regenerate. 986 987 2023-08-07 Nick Alcock <nick.alcock (a] oracle.com> 988 989 * configure: Regenerate. 990 991 2023-08-07 Nick Alcock <nick.alcock (a] oracle.com> 992 993 * configure: Regenerate. 994 995 2023-08-07 H.J. Lu <hjl.tools (a] gmail.com> 996 997 * configure: Regenerate. 998 999 2023-08-07 H.J. Lu <hjl.tools (a] gmail.com> 1000 1001 * configure: Regenerate. 1002 1003 2023-07-29 Tobias Burnus <tobias (a] codesourcery.com> 1004 1005 * target.c (omp_target_memcpy_rect_worker): Undo dim=1 change for 1006 GOMP_OFFLOAD_CAP_SHARED_MEM. 1007 (omp_target_memcpy_rect_copy): Likewise for lock condition. 1008 (gomp_load_plugin_for_device): Use DLSYM_OPT not DLSYM for 1009 memcpy3d/memcpy2d. 1010 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_memcpy2d, 1011 GOMP_OFFLOAD_memcpy3d): Use memset 0 to nullify reserved and 1012 unused src/dst fields for that mem type; remove '{src,dst}LOD = 0'. 1013 1014 2023-07-26 Tobias Burnus <tobias (a] codesourcery.com> 1015 1016 * libgomp-plugin.h (GOMP_OFFLOAD_memcpy2d, 1017 GOMP_OFFLOAD_memcpy3d): New prototypes. 1018 * libgomp.h (struct gomp_device_descr): Add memcpy2d_func 1019 and memcpy3d_func. 1020 * libgomp.texi (nvtpx): Document when cuMemcpy2D/cuMemcpy3D is used. 1021 * oacc-host.c (memcpy2d_func, .memcpy3d_func): Init with NULL. 1022 * plugin/cuda-lib.def (cuMemcpy2D, cuMemcpy2DUnaligned, 1023 cuMemcpy3D): Invoke via CUDA_ONE_CALL. 1024 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_memcpy2d, 1025 GOMP_OFFLOAD_memcpy3d): New. 1026 * target.c (omp_target_memcpy_rect_worker): 1027 (omp_target_memcpy_rect_check, omp_target_memcpy_rect_copy): 1028 Permit all device-to-device copyies; invoke new plugins for 1029 2D and 3D copying when available. 1030 (gomp_load_plugin_for_device): DLSYM the new plugin functions. 1031 * testsuite/libgomp.c/target-12.c: Fix dimension bug. 1032 * testsuite/libgomp.fortran/target-12.f90: Likewise. 1033 * testsuite/libgomp.fortran/target-memcpy-rect-1.f90: New test. 1034 1035 2023-07-26 Tobias Burnus <tobias (a] codesourcery.com> 1036 1037 * libgomp.texi (OpenMP 5.2 features): Add 'all' for 'defaultmap' as 'N'. 1038 (Tasking Routines): Document omp_in_explicit_task. 1039 (Implementation-defined ICV Initialization): Use @ref not @code. 1040 1041 2023-07-20 Tobias Burnus <tobias (a] codesourcery.com> 1042 1043 * libgomp.texi (OpenMP Runtime Library Routines): 1044 Split long list by adding sections and moving routines there. 1045 (OMP_ALLOCATORS): Fix typo. 1046 1047 2023-07-19 Tobias Burnus <tobias (a] codesourcery.com> 1048 1049 PR fortran/107424 1050 * libgomp.texi (Impl. Status 5.0): Add link to new PR110735. 1051 * testsuite/libgomp.fortran/non-rectangular-loop-1.f90: Enable 1052 commented tests. 1053 * testsuite/libgomp.fortran/non-rectangular-loop-1a.f90: Remove 1054 test file; tests are in non-rectangular-loop-1.f90. 1055 * testsuite/libgomp.fortran/non-rectangular-loop-5.f90: Change 1056 testcase to use a non-constant step to retain the 'sorry' test. 1057 * testsuite/libgomp.fortran/non-rectangular-loop-6.f90: New test. 1058 1059 2023-07-17 Tobias Burnus <tobias (a] codesoucery.com> 1060 Chung-Lin Tang <cltang (a] codesourcery.com> 1061 1062 * testsuite/libgomp.fortran/uses_allocators_1.f90: New test. 1063 * testsuite/libgomp.fortran/uses_allocators_2.f90: New test. 1064 1065 2023-07-14 Tobias Burnus <tobias (a] codesourcery.com> 1066 1067 * libgomp.texi (OMP_ALLOCATOR): Document the default values for 1068 the traits. Add crossref to 'Memory allocation'. 1069 (Memory allocation): Refer to OMP_ALLOCATOR for the available 1070 traits and allocators/mem spaces; document the default value 1071 for the pool_size trait. 1072 1073 2023-07-14 Tobias Burnus <tobias (a] codesourcery.com> 1074 1075 * allocator.c (omp_init_allocator): Check whether symbol from 1076 dlopened libnuma is available before using libnuma for 1077 allocations. 1078 1079 2023-07-13 David Edelsohn <dje.gcc (a] gmail.com> 1080 1081 * testsuite/libgomp.c++/target-map-class-2.C: Require LTO. 1082 * testsuite/libgomp.c-c++-common/requires-4.c: Require LTO. 1083 * testsuite/libgomp.c-c++-common/requires-4a.c: Require LTO. 1084 1085 2023-07-12 Tobias Burnus <tobias (a] codesourcery.com> 1086 1087 * libgomp.texi (OpenMP 5.0): Replace '... stub' by @ref to 1088 'Memory allocation' section which contains the full status. 1089 (TR11): Remove differently worded duplicated entry. 1090 1091 2023-07-12 Tobias Burnus <tobias (a] codesourcery.com> 1092 1093 * allocator.c: Add ifdef for LIBGOMP_USE_LIBNUMA. 1094 (enum gomp_numa_memkind_kind): Renamed from gomp_memkind_kind; 1095 add GOMP_MEMKIND_LIBNUMA. 1096 (struct gomp_libnuma_data, gomp_init_libnuma, gomp_get_libnuma): New. 1097 (omp_init_allocator): Handle partition=nearest with libnuma if avail. 1098 (omp_aligned_alloc, omp_free, omp_aligned_calloc, omp_realloc): Add 1099 numa_alloc_local (+ memset), numa_free, and numa_realloc calls as 1100 needed. 1101 * config/linux/allocator.c (LIBGOMP_USE_LIBNUMA): Define 1102 * libgomp.texi: Fix a typo; use 'fi' instead of its ligature char. 1103 (Memory allocation): Renamed from 'Memory allocation with libmemkind'; 1104 updated for libnuma usage. 1105 * testsuite/libgomp.c-c++-common/alloc-11.c: New test. 1106 * testsuite/libgomp.c-c++-common/alloc-12.c: New test. 1107 1108 2023-07-11 Tobias Burnus <tobias (a] codesourcery.com> 1109 1110 * allocator.c (omp_init_allocator): Use malloc for 1111 omp_high_bw_mem_space when the memkind lib is unavailable 1112 instead of returning omp_null_allocator. 1113 * libgomp.texi (OpenMP 5.0): Fix typo. 1114 (Memory allocation with libmemkind): Document implementation 1115 in more detail. 1116 1117 2023-06-22 Tobias Burnus <tobias (a] codesourcery.com> 1118 1119 * libgomp.texi: Use @var for ICV vars. 1120 (OpenMP Environment Variables): Mention _ALL/_DEV/_DEV_<no> variants, 1121 document which ICV is set and which scope the ICV has; extend/cleanup 1122 some @ref. 1123 (Implementation-defined ICV Initialization): New. 1124 (nvptx): Document the implementation-defined used per-warp stack size. 1125 1126 2023-06-19 Thomas Schwinge <thomas (a] codesourcery.com> 1127 1128 * testsuite/libgomp.c/target-51.c: Fix DejaGnu directive syntax 1129 error. 1130 1131 2023-06-19 Tobias Burnus <tobias (a] codesourcery.com> 1132 1133 * testsuite/libgomp.c/target-51.c: Accept more error msg variants 1134 as expected dg-output. 1135 1136 2023-06-19 Tobias Burnus <tobias (a] codesourcery.com> 1137 1138 PR middle-end/110270 1139 * target.c (gomp_map_vars_internal): Copy host value instead of NULL 1140 for GOMP_MAP_ZERO_LEN_ARRAY_SECTION if not mapped. 1141 * libgomp.texi (OpenMP 5.2 Impl.): Mark as 'Y'. 1142 * testsuite/libgomp.c/target-19.c: Update expected value. 1143 * testsuite/libgomp.c++/target-18.C: Likewise. 1144 * testsuite/libgomp.c++/target-19.C: Likewise. 1145 * testsuite/libgomp.c-c++-common/requires-unified-addr-2.c: New test. 1146 * testsuite/libgomp.c-c++-common/target-implicit-map-3.c: New test. 1147 * testsuite/libgomp.c-c++-common/target-implicit-map-4.c: New test. 1148 1149 2023-06-16 Tobias Burnus <tobias (a] codesourcery.com> 1150 1151 * target.c (resolve_device): Call gomp_get_num_devices early to ensure 1152 gomp_init_targets_once was called before using default-device-var. 1153 * testsuite/libgomp.c/target-55.c: New test. 1154 * testsuite/libgomp.c/target-55a.c: New test. 1155 1156 2023-06-15 Tobias Burnus <tobias (a] codesourcery.com> 1157 1158 * env.c (gomp_def_allocator_envvar): New var. 1159 (parse_allocator): Handle OpenMP 5.1 syntax. 1160 (cleanup_env): New. 1161 (omp_display_env): Output gomp_def_allocator_envvar 1162 for an allocator with traits. 1163 * libgomp.texi (OMP_ALLOCATOR, OMP_AFFINITY_FORMAT, 1164 OMP_DISPLAY_AFFINITY): New. 1165 * testsuite/libgomp.c/allocator-1.c: New test. 1166 * testsuite/libgomp.c/allocator-2.c: New test. 1167 * testsuite/libgomp.c/allocator-3.c: New test. 1168 * testsuite/libgomp.c/allocator-4.c: New test. 1169 * testsuite/libgomp.c/allocator-5.c: New test. 1170 * testsuite/libgomp.c/allocator-6.c: New test. 1171 1172 2023-06-14 Thomas Schwinge <thomas (a] codesourcery.com> 1173 1174 * target.c (resolve_device): Align a 1175 'OMP_TARGET_OFFLOAD=mandatory' diagnostic with others. 1176 * testsuite/libgomp.c/target-51.c: Adjust. 1177 1178 2023-06-14 Thomas Schwinge <thomas (a] codesourcery.com> 1179 1180 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Don't 1181 set. 1182 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): 1183 Likewise. 1184 * testsuite/libgomp.c/simd-math-1.c: Remove 1185 '-foffload-options=-lm'. 1186 * testsuite/libgomp.fortran/fortran-torture_execute_math.f90: 1187 Likewise. 1188 * testsuite/libgomp.oacc-fortran/fortran-torture_execute_math.f90: 1189 Likewise. 1190 1191 2023-06-14 Thomas Schwinge <thomas (a] codesourcery.com> 1192 1193 * testsuite/libgomp.fortran/fortran-torture_execute_math.f90: New. 1194 * testsuite/libgomp.oacc-fortran/fortran-torture_execute_math.f90: 1195 Likewise. 1196 1197 2023-06-14 Thomas Schwinge <thomas (a] codesourcery.com> 1198 1199 * testsuite/libgomp.c/target-51.c: Fix typo. 1200 1201 2023-06-14 Tobias Burnus <tobias (a] codesourcery.com> 1202 1203 * env.c (gomp_default_icv_values): Init default_device_var to 1204 an nonconforming value - INT_MIN. 1205 (initialize_env): After env-var parsing, set default_device_var to 1206 device 0 unless OMP_TARGET_OFFLOAD=mandatory. 1207 (omp_display_env): If default_device_var is INT_MIN, call 1208 gomp_init_targets_once. 1209 * icv-device.c (omp_get_default_device): Likewise. 1210 * libgomp.texi (OMP_DEFAULT_DEVICE): Update init description. 1211 (OpenMP 5.2 Impl. Status): Mark OMP_TARGET_OFFLOAD=mandatory as 'Y'. 1212 * target.c (resolve_device): Improve error message device-num < 0 1213 with 'mandatory' and no no-host devices available. 1214 (gomp_target_init): Set default-device-var if INT_MIN. 1215 * testsuite/libgomp.c/target-48.c: New test. 1216 * testsuite/libgomp.c/target-49.c: New test. 1217 * testsuite/libgomp.c/target-50.c: New test. 1218 * testsuite/libgomp.c/target-50a.c: New test. 1219 * testsuite/libgomp.c/target-51.c: New test. 1220 * testsuite/libgomp.c/target-52.c: New test. 1221 * testsuite/libgomp.c/target-53.c: New test. 1222 * testsuite/libgomp.c/target-54.c: New test. 1223 1224 2023-06-13 Tobias Burnus <tobias (a] codesourcery.com> 1225 1226 PR libgomp/109837 1227 * testsuite/libgomp.c-c++-common/requires-unified-addr-1.c: New test. 1228 * testsuite/libgomp.fortran/requires-unified-addr-1.f90: New test. 1229 1230 2023-06-12 Tobias Burnus <tobias (a] codesourcery.com> 1231 1232 * target.c (gomp_to_device_kind_p, gomp_map_vars_internal): Replace 1233 GOMP_MAP_PRESENT_{FROM,TO,TOFROM,ACLLOC} by GOMP_MAP_FORCE_PRESENT. 1234 (gomp_map_vars_internal, gomp_update): Likewise; unify and improve 1235 error message. 1236 * testsuite/libgomp.c-c++-common/target-present-2.c: Update for 1237 changed error message. 1238 * testsuite/libgomp.fortran/target-present-1.f90: Likewise. 1239 * testsuite/libgomp.fortran/target-present-2.f90: Likewise. 1240 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise. 1241 * testsuite/libgomp.c-c++-common/target-present-1.c: Likewise and 1242 extend testcase to check that data is copied when needed. 1243 * testsuite/libgomp.c-c++-common/target-present-3.c: Likewise. 1244 * testsuite/libgomp.fortran/target-present-3.f90: Likewise. 1245 1246 2023-06-07 Thomas Schwinge <thomas (a] codesourcery.com> 1247 Tobias Burnus <tobias (a] codesourcery.com> 1248 1249 * testsuite/libgomp.c-c++-common/target-present-1.c: Run code 1250 also for non-offload_device targets; check that it runs 1251 successfully for those and for all until a checkpoint for all 1252 * testsuite/libgomp.c-c++-common/target-present-2.c: Likewise. 1253 * testsuite/libgomp.c-c++-common/target-present-3.c: Likewise. 1254 * testsuite/libgomp.fortran/target-present-1.f90: Likewise. 1255 * testsuite/libgomp.fortran/target-present-3.f90: Likewise. 1256 * testsuite/libgomp.fortran/target-present-2.f90: Likewise; 1257 add missing vars to map clause. 1258 1259 2023-06-06 Tobias Burnus <tobias (a] codesourcery.com> 1260 1261 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Regard 1262 unified_address requirement as supported. 1263 * libgomp.texi (OpenMP 5.0, AMD Radeon, nvptx): Remove 1264 'unified_address' from the not-supported requirements. 1265 1266 2023-06-06 Kwok Cheung Yeung <kcy (a] codesourcery.com> 1267 Tobias Burnus <tobias (a] codesourcery.com> 1268 1269 * libgomp.texi (OpenMP 5.1 Impl. status): Set 'present' support for 1270 defaultmap to 'Y', add 'Y' entry for 'present' on to/from/map clauses. 1271 * target.c (gomp_to_device_kind_p): Add map kinds with 'present' 1272 modifier. 1273 (gomp_map_vars_existing): Use new GOMP_MAP_FORCE_P macro. 1274 (gomp_map_vars_internal, gomp_update, gomp_target_rev): 1275 Emit runtime error if memory region not present. 1276 * testsuite/libgomp.c-c++-common/target-present-1.c: New test. 1277 * testsuite/libgomp.c-c++-common/target-present-2.c: New test. 1278 * testsuite/libgomp.c-c++-common/target-present-3.c: New test. 1279 * testsuite/libgomp.fortran/target-present-1.f90: New test. 1280 * testsuite/libgomp.fortran/target-present-2.f90: New test. 1281 * testsuite/libgomp.fortran/target-present-3.f90: New test. 1282 1283 2023-06-02 Thomas Schwinge <thomas (a] codesourcery.com> 1284 1285 PR testsuite/66005 1286 * testsuite/lib/libgomp.exp: 'flock' through stdout. 1287 * testsuite/flock: New. 1288 * configure.ac (FLOCK): Point to that if no 'flock' available, but 1289 'perl' is. 1290 * configure: Regenerate. 1291 1292 2023-06-02 Thomas Schwinge <thomas (a] codesourcery.com> 1293 1294 * configure.ac (PERL): Remove. 1295 * configure: Regenerate. 1296 * Makefile.in: Likewise. 1297 * testsuite/Makefile.in: Likewise. 1298 1299 2023-06-01 Tobias Burnus <tobias (a] codesourcery.com> 1300 1301 * libgomp.texi (OpenMP 5.2): Mark pure-directive handling as 'Y'. 1302 1303 2023-05-26 Tobias Burnus <tobias (a] codesourcery.com> 1304 1305 * testsuite/libgomp.fortran/allocate-4.f90: Update dg-error. 1306 1307 2023-05-21 Tobias Burnus <tobias (a] codesourcery.com> 1308 1309 PR libgomp/109875 1310 * config/gcn/target.c (GOMP_teams4): Honor nteams-var ICV. 1311 * config/nvptx/target.c (GOMP_teams4): Likewise. 1312 * testsuite/libgomp.c-c++-common/teams-nteams-icv-1.c: New test. 1313 * testsuite/libgomp.c-c++-common/teams-nteams-icv-2.c: New test. 1314 * testsuite/libgomp.c-c++-common/teams-nteams-icv-3.c: New test. 1315 * testsuite/libgomp.c-c++-common/teams-nteams-icv-4.c: New test. 1316 1317 2023-05-19 Jakub Jelinek <jakub (a] redhat.com> 1318 1319 PR libgomp/109904 1320 * configure.ac (link_gomp): Include also $DL_LIBS. 1321 * configure: Regenerated. 1322 1323 2023-05-17 Tobias Burnus <tobias (a] codesourcery.com> 1324 1325 * testsuite/libgomp.fortran/target-enter-data-3.f90: Uncomment 1326 'target exit data'. 1327 * testsuite/libgomp.fortran/target-enter-data-4.f90: New test. 1328 * testsuite/libgomp.fortran/target-enter-data-5.f90: New test. 1329 * testsuite/libgomp.fortran/target-enter-data-6.f90: New test. 1330 * testsuite/libgomp.fortran/target-enter-data-7.f90: New test. 1331 1332 2023-05-15 Thomas Schwinge <thomas (a] codesourcery.com> 1333 1334 PR testsuite/66005 1335 * configure.ac: Look for 'flock'. 1336 * testsuite/Makefile.am (gcc_test_parallel_slots): Enable parallel testing. 1337 * testsuite/config/default.exp: Don't 'load_lib "standard.exp"' here... 1338 * testsuite/lib/libgomp.exp: ... but here, instead. 1339 (libgomp_load): Override for parallel testing. 1340 * testsuite/libgomp-site-extra.exp.in (FLOCK): Set. 1341 * configure: Regenerate. 1342 * Makefile.in: Regenerate. 1343 * testsuite/Makefile.in: Regenerate. 1344 1345 2023-05-15 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 1346 Thomas Schwinge <thomas (a] codesourcery.com> 1347 1348 PR testsuite/66005 1349 * testsuite/Makefile.am (PWD_COMMAND): New variable. 1350 (%/site.exp): New target. 1351 (check_p_numbers0, check_p_numbers1, check_p_numbers2) 1352 (check_p_numbers3, check_p_numbers4, check_p_numbers5) 1353 (check_p_numbers6, check_p_numbers, gcc_test_parallel_slots) 1354 (check_p_subdirs) 1355 (check_DEJAGNU_libgomp_targets): New variables. 1356 ($(check_DEJAGNU_libgomp_targets)): New target. 1357 ($(check_DEJAGNU_libgomp_targets)): New dependency. 1358 (check-DEJAGNU $(check_DEJAGNU_libgomp_targets)): New targets. 1359 * testsuite/Makefile.in: Regenerate. 1360 * testsuite/lib/libgomp.exp: For parallel testing, 1361 'load_file ../libgomp-test-support.exp'. 1362 1363 2023-05-15 Thomas Schwinge <thomas (a] codesourcery.com> 1364 1365 PR testsuite/91884 1366 * configure.ac: 'AC_SUBST(CXX)'. 1367 * configure: Regenerate. 1368 * Makefile.in: Likewise. 1369 * testsuite/Makefile.in: Likewise. 1370 * testsuite/libgomp-site-extra.exp.in (GXX_UNDER_TEST) 1371 (GFORTRAN_UNDER_TEST): Set. 1372 * testsuite/lib/libgomp.exp (libgomp_init): Adjust. 1373 * testsuite/libgomp.c++/c++.exp: Use 'GXX_UNDER_TEST'. 1374 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. 1375 * testsuite/libgomp.fortran/fortran.exp: Use 1376 'GFORTRAN_UNDER_TEST'. 1377 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 1378 1379 2023-05-15 Thomas Schwinge <thomas (a] codesourcery.com> 1380 1381 PR testsuite/91884 1382 * testsuite/lib/libgomp.exp (libgomp_target_compile): Don't 1383 specify compiler. 1384 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Specify compiler. 1385 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise. 1386 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise. 1387 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS): 1388 Likewise. 1389 * testsuite/libgomp.oacc-c++/c++.exp (ALWAYS_CFLAGS): Likewise. 1390 * testsuite/libgomp.oacc-c/c.exp (ALWAYS_CFLAGS): Likewise. 1391 * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS): 1392 Likewise. 1393 1394 2023-05-12 Tobias Burnus <tobias (a] codesourcery.com> 1395 1396 PR libstdc++/109816 1397 * testsuite/libgomp.c++/target-map-class-1.C: New test. 1398 * testsuite/libgomp.c++/target-map-class-2.C: New test. 1399 1400 2023-05-12 Thomas Schwinge <thomas (a] codesourcery.com> 1401 1402 * testsuite/lib/libgomp.exp (libgomp_target_compile): Generalize 1403 'lang_library_path' into a list of 'lang_library_paths'. 1404 * testsuite/libgomp.c++/c++.exp: Adjust. 1405 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. 1406 * testsuite/libgomp.fortran/fortran.exp: Adjust. Use that for 1407 libquadmath, too. 1408 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 1409 1410 2023-05-12 Thomas Schwinge <thomas (a] codesourcery.com> 1411 1412 * testsuite/lib/libgomp.exp (libgomp_target_compile): Don't look 1413 at 'lang_test_file_found'. 1414 * testsuite/libgomp.c++/c++.exp: Don't set and use it, and instead 1415 'return' early if not able to test. Simplify 'ld_library_path' setup. 1416 * testsuite/libgomp.fortran/fortran.exp: Likewise. 1417 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. 1418 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 1419 1420 2023-05-12 Thomas Schwinge <thomas (a] codesourcery.com> 1421 1422 * testsuite/libgomp.c++/c++.exp: Resolve 'lang_test_file_found' 1423 first. 1424 * testsuite/libgomp.fortran/fortran.exp: Likewise. 1425 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. 1426 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 1427 1428 2023-05-12 Thomas Schwinge <thomas (a] codesourcery.com> 1429 1430 * testsuite/libgomp.c++/c++.exp: Localize 'lang_[...]' etc. 1431 * testsuite/libgomp.c/c.exp: Likewise. 1432 * testsuite/libgomp.fortran/fortran.exp: Likewise. 1433 * testsuite/libgomp.graphite/graphite.exp: Likewise. 1434 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. 1435 * testsuite/libgomp.oacc-c/c.exp: Likewise. 1436 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 1437 1438 2023-05-09 Thomas Schwinge <thomas (a] codesourcery.com> 1439 1440 * testsuite/libgomp.c++/c++.exp: Don't set 'lang_test_file'. 1441 * testsuite/libgomp.fortran/fortran.exp: Likewise. 1442 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. 1443 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 1444 * testsuite/libgomp.c/c.exp: Unset 'lang_test_file_found' instead of 1445 'lang_test_file'. 1446 * testsuite/libgomp.oacc-c/c.exp: Likewise. 1447 * testsuite/libgomp.graphite/graphite.exp: Likewise. 1448 * testsuite/lib/libgomp.exp (libgomp_target_compile): Look for 1449 'lang_test_file_found' instead of 'lang_test_file'. 1450 1451 2023-05-09 Thomas Schwinge <thomas (a] codesourcery.com> 1452 1453 * testsuite/lib/libgomp.exp (libgomp_init): Only use 'blddir' if 1454 set. 1455 * testsuite/libgomp.c++/c++.exp: Likewise. 1456 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. 1457 1458 2023-05-09 Thomas Schwinge <thomas (a] codesourcery.com> 1459 1460 * testsuite/libgomp.c++/c++.exp (blddir): Don't set. 1461 * testsuite/libgomp.oacc-c++/c++.exp (blddir): Likewise. 1462 1463 2023-05-08 Thomas Schwinge <thomas (a] codesourcery.com> 1464 1465 * testsuite/libgomp.c++/c++.exp: Use 'lang_include_flags' instead 1466 of 'libstdcxx_includes'. 1467 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. 1468 1469 2023-05-08 Thomas Schwinge <thomas (a] codesourcery.com> 1470 1471 * target.c (gomp_target_rev): Instead of 'dev_to_host_cpy', 1472 'host_to_dev_cpy', 'token', take a single 'goacc_asyncqueue'. 1473 * libgomp.h (gomp_target_rev): Adjust. 1474 * libgomp-plugin.c (GOMP_PLUGIN_target_rev): Adjust. 1475 * libgomp-plugin.h (GOMP_PLUGIN_target_rev): Adjust. 1476 * plugin/plugin-gcn.c (process_reverse_offload): Adjust. 1477 * plugin/plugin-nvptx.c (rev_off_dev_to_host_cpy) 1478 (rev_off_host_to_dev_cpy): Remove. 1479 (GOMP_OFFLOAD_run): Adjust. 1480 1481 2023-05-04 Julian Brown <julian (a] codesourcery.com> 1482 1483 PR fortran/109622 1484 * testsuite/libgomp.fortran/pr109622.f90: Move test... 1485 * testsuite/libgomp.oacc-fortran/pr109622.f90: ...to here. Ignore 1486 vector length warning. 1487 * testsuite/libgomp.fortran/pr109622-2.f90: Move test... 1488 * testsuite/libgomp.oacc-fortran/pr109622-2.f90: ...to here. Add 1489 missing copyin/copyout variable. Ignore vector length warnings. 1490 * testsuite/libgomp.fortran/pr109622-3.f90: Move test... 1491 * testsuite/libgomp.oacc-fortran/pr109622-3.f90: ...to here. Ignore 1492 vector length warnings. 1493 * testsuite/libgomp.oacc-fortran/pr109622-4.f90: New test. 1494 1495 2023-04-28 Julian Brown <julian (a] codesourcery.com> 1496 1497 PR fortran/109622 1498 * testsuite/libgomp.fortran/pr109622.f90: New test. 1499 * testsuite/libgomp.fortran/pr109622-2.f90: New test. 1500 * testsuite/libgomp.fortran/pr109622-3.f90: New test. 1501 1502 2023-04-25 Tobias Burnus <tobias (a] codesourcery.com> 1503 1504 * testsuite/libgomp.c-c++-common/scan-1.c: New test. 1505 * testsuite/libgomp.c/scan-23.c: New test. 1506 * testsuite/libgomp.fortran/scan-2.f90: New test. 1507 1508 2023-03-28 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 1509 1510 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Add 1511 weak_undefined options. 1512 1513 2023-03-24 Tobias Burnus <tobias (a] codesourcery.com> 1514 1515 * libgomp.texi (Offload-Target Specifics): Grammar fix. 1516 1517 2023-03-24 Thomas Schwinge <thomas (a] codesourcery.com> 1518 1519 PR fortran/104949 1520 * target.c (gomp_map_vars_internal) <GOMP_MAP_FIRSTPRIVATE>: Add 1521 caveat/safeguard. 1522 1523 2023-03-10 Thomas Schwinge <thomas (a] codesourcery.com> 1524 1525 PR libgomp/90596 1526 * target.c (gomp_map_vars_internal): Allow for 1527 'param_kind == GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_TARGET'. 1528 * oacc-parallel.c (GOACC_parallel_keyed): Pass 1529 'GOMP_MAP_VARS_TARGET' to 'goacc_map_vars'. 1530 * plugin/plugin-gcn.c (alloc_by_agent, gcn_exec) 1531 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec): 1532 Adjust, simplify. 1533 (gomp_offload_free): Remove. 1534 * plugin/plugin-nvptx.c (nvptx_exec, GOMP_OFFLOAD_openacc_exec) 1535 (GOMP_OFFLOAD_openacc_async_exec): Adjust, simplify. 1536 (cuda_free_argmem): Remove. 1537 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: 1538 Adjust. 1539 1540 2023-03-10 Thomas Schwinge <thomas (a] codesourcery.com> 1541 1542 * target.c (gomp_copy_host2dev, gomp_map_vars_internal): Allow 1543 libgomp 'cbuf' buffering with OpenACC 'async' for 'ephemeral' 1544 data. 1545 1546 2023-03-10 Thomas Schwinge <thomas (a] codesourcery.com> 1547 1548 * target.c (gomp_map_vars_internal): Use 'OFFSET_INLINED' for 1549 'GOMP_MAP_IF_PRESENT'. 1550 * plugin/plugin-gcn.c (gcn_exec, GOMP_OFFLOAD_openacc_exec) 1551 (GOMP_OFFLOAD_openacc_async_exec): Adjust. 1552 * plugin/plugin-nvptx.c (nvptx_exec, GOMP_OFFLOAD_openacc_exec) 1553 (GOMP_OFFLOAD_openacc_async_exec): Likewise. 1554 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: Add 'async' 1555 testing. 1556 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: Likewise. 1557 1558 2023-03-10 Thomas Schwinge <thomas (a] codesourcery.com> 1559 1560 * oacc-async.c (goacc_wait): Remove 'acc_async_test' -> skip 1561 shortcut. 1562 1563 2023-03-10 Thomas Schwinge <thomas (a] codesourcery.com> 1564 1565 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Document/verify 1566 another aspect of OpenACC 'async' semantics. 1567 1568 2023-03-10 Thomas Schwinge <thomas (a] codesourcery.com> 1569 1570 * plugin/plugin-gcn.c (gcn_exec): Fix 'acc_ev_enqueue_launch_end' 1571 position. 1572 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: 1573 Verify 'acc_ev_alloc', 'acc_ev_free'. 1574 1575 2023-03-09 Hongyu Wang <hongyu.wang (a] intel.com> 1576 1577 PR libgomp/109062 1578 * env.c (wait_policy): Initialize to -1. 1579 (initialize_icvs): Initialize icvs->wait_policy to -1. 1580 * testsuite/libgomp.c-c++-common/pr109062.c: New test. 1581 1582 2023-03-08 Tobias Burnus <tobias (a] codesourcery.com> 1583 1584 * libgomp.texi (Offload-Target Specifics): Mention GCN_STACK_SIZE. 1585 1586 2023-03-02 Kwok Cheung Yeung <kcy (a] codesourcery.com> 1587 Paul-Antoine Arras <pa (a] codesourcery.com> 1588 1589 * testsuite/libgomp.c/simd-math-1.c: New testcase. 1590 1591 2023-03-01 Tobias Burnus <tobias (a] codesourcery.com> 1592 1593 PR middle-end/108546 1594 * testsuite/libgomp.fortran/is_device_ptr-3.f90: New test. 1595 * testsuite/libgomp.fortran/use_device_ptr-optional-4.f90: New test. 1596 1597 2023-02-22 Thomas Schwinge <thomas (a] codesourcery.com> 1598 1599 * testsuite/libgomp.fortran/alloc-10.f90: Use 1600 '-Wno-complain-wrong-lang'. 1601 * testsuite/libgomp.fortran/alloc-11.f90: Likewise. 1602 * testsuite/libgomp.fortran/alloc-7.f90: Likewise. 1603 * testsuite/libgomp.fortran/alloc-9.f90: Likewise. 1604 * testsuite/libgomp.fortran/allocate-1.f90: Likewise. 1605 * testsuite/libgomp.fortran/depend-4.f90: Likewise. 1606 * testsuite/libgomp.fortran/depend-5.f90: Likewise. 1607 * testsuite/libgomp.fortran/depend-6.f90: Likewise. 1608 * testsuite/libgomp.fortran/depend-7.f90: Likewise. 1609 * testsuite/libgomp.fortran/depend-inoutset-1.f90: Likewise. 1610 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: 1611 Likewise. 1612 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: 1613 Likewise. 1614 * testsuite/libgomp.fortran/order-reproducible-1.f90: Likewise. 1615 * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise. 1616 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise. 1617 * testsuite/libgomp.fortran/task-detach-6.f90: Remove left-over 1618 'dg-prune-output'. 1619 1620 2023-02-16 Jakub Jelinek <jakub (a] redhat.com> 1621 1622 * libgomp.texi: Fix typos - theads -> threads. 1623 1624 2023-02-16 Jakub Jelinek <jakub (a] redhat.com> 1625 1626 * testsuite/libgomp.fortran/target-nowait-array-section.f90: Fix 1627 comment typo and improve its wording. 1628 1629 2023-02-15 Tobias Burnus <tobias (a] codesourcery.com> 1630 1631 * target.c (gomp_target_rev): Dereference ptr 1632 to get device address. 1633 * testsuite/libgomp.fortran/reverse-offload-5.f90: Add test 1634 for unallocated allocatable. 1635 1636 2023-02-15 Tobias Burnus <tobias (a] codesourcery.com> 1637 1638 * target.c (gomp_map_vars_internal): Add 'i > 0' before doing a 1639 kind check. 1640 (GOMP_target_enter_exit_data): If the next map item is 1641 GOMP_MAP_ALWAYS_POINTER map it together with the current item. 1642 * testsuite/libgomp.fortran/target-enter-data-3.f90: New test. 1643 1644 2023-02-09 Tobias Burnus <tobias (a] codesourcery.com> 1645 1646 PR fortran/107424 1647 * testsuite/libgomp.fortran/non-rectangular-loop-1.f90: New test. 1648 * testsuite/libgomp.fortran/non-rectangular-loop-1a.f90: New test. 1649 * testsuite/libgomp.fortran/non-rectangular-loop-2.f90: New test. 1650 * testsuite/libgomp.fortran/non-rectangular-loop-3.f90: New test. 1651 * testsuite/libgomp.fortran/non-rectangular-loop-4.f90: New test. 1652 * testsuite/libgomp.fortran/non-rectangular-loop-5.f90: New test. 1653 1654 2023-02-07 Thomas Schwinge <thomas (a] codesourcery.com> 1655 1656 * testsuite/libgomp.fortran/reverse-offload-6.f90: Fix nvptx 1657 offloading compilation. 1658 1659 2023-02-03 Tobias Burnus <tobias (a] codesourcery.com> 1660 1661 * target.c (gomp_target_rev): Handle mapnum == 0 and avoid 1662 freeing not allocated memory. 1663 * testsuite/libgomp.fortran/reverse-offload-6.f90: New test. 1664 1665 2023-02-03 Tobias Burnus <tobias (a] codesourcery.com> 1666 1667 * libgomp.texi (5.0 Impl. Status, gcn specifics): Update for 1668 reverse offload. 1669 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Accept 1670 reverse-offload requirement. 1671 1672 2023-02-02 Andrew Stubbs <ams (a] codesourcery.com> 1673 1674 * config/gcn/libgomp-gcn.h (DEFAULT_GCN_STACK_SIZE): New define. 1675 (DEFAULT_TEAM_ARENA_SIZE): New define. 1676 (struct heap): Move to this file. 1677 (struct kernargs_abi): Likewise. 1678 * config/gcn/team.c (gomp_gcn_enter_kernel): Use team arena size from 1679 the kernargs. 1680 * libgomp.h: Include libgomp-gcn.h. 1681 (TEAM_ARENA_SIZE): Remove. 1682 (team_malloc): Update the error message. 1683 * plugin/plugin-gcn.c (struct kernargs): Move common content to 1684 struct kernargs_abi. 1685 (struct agent_info): Rename team arenas to ephemeral memories. 1686 (struct team_arena_list): Rename .... 1687 (struct ephemeral_memories_list): to this. 1688 (struct heap): Delete. 1689 (team_arena_size): New variable. 1690 (stack_size): New variable. 1691 (print_kernel_dispatch): Update debug messages. 1692 (init_environment_variables): Read GCN_TEAM_ARENA_SIZE. 1693 Read GCN_STACK_SIZE. 1694 (get_team_arena): Rename ... 1695 (configure_ephemeral_memories): ... to this, and set up stacks. 1696 (release_team_arena): Rename ... 1697 (release_ephemeral_memories): ... to this. 1698 (destroy_team_arenas): Rename ... 1699 (destroy_ephemeral_memories): ... to this. 1700 (create_kernel_dispatch): Add num_threads parameter. 1701 Adjust for kernargs_abi refactor and ephemeral memories. 1702 (release_kernel_dispatch): Adjust for ephemeral memories. 1703 (run_kernel): Pass thread-count to create_kernel_dispatch. 1704 (GOMP_OFFLOAD_init_device): Adjust for ephemeral memories. 1705 (GOMP_OFFLOAD_fini_device): Adjust for ephemeral memories. 1706 1707 2023-02-02 Tobias Burnus <tobias (a] codesourcery.com> 1708 1709 * libgomp.texi (OpenMP TR11): Fix item for 'strict' modifier. 1710 1711 2023-02-01 Tobias Burnus <tobias (a] codesourcery.com> 1712 1713 * testsuite/libgomp.fortran/allocate-3.f90: Fix ALIGN 1714 usage, remove unused -fdump-tree-original. 1715 * testsuite/libgomp.fortran/allocate-4.f90: New. 1716 1717 2023-02-01 Tobias Burnus <tobias (a] codesourcery.com> 1718 1719 * libgomp.texi (5.0 Impl. Status): Update 'requires' and 'ancestor'. 1720 (GCN): Add item about 'omp requires'. 1721 (nvptx): Likewise; add item about reverse offload. 1722 1723 2023-01-27 Tobias Burnus <tobias (a] codesourcery.com> 1724 1725 PR fortran/108558 1726 * testsuite/libgomp.fortran/has_device_addr.f90: New test. 1727 1728 2023-01-23 Tobias Burnus <tobias (a] codesourcery.com> 1729 1730 * libgomp.texi (OpenMP 5.0): Set non-rectangular 1731 loop nest back to 'P' as Fortran support is incomplete. 1732 1733 2023-01-19 Jakub Jelinek <jakub (a] redhat.com> 1734 1735 PR middle-end/108459 1736 * testsuite/libgomp.c/pr108459.c: New test. 1737 1738 2023-01-17 Martin Liska <mliska (a] suse.cz> 1739 1740 * Makefile.in: Regenerate. 1741 * configure: Regenerate. 1742 1743 2023-01-07 LIU Hao <lh_mouse (a] 126.com> 1744 1745 PR middle-end/108300 1746 * config/mingw32/proc.c: Define `WIN32_LEAN_AND_MEAN` before 1747 <windows.h>. 1748 1749 2023-01-05 Jakub Jelinek <jakub (a] redhat.com> 1750 1751 PR c++/108286 1752 * testsuite/libgomp.c++/pr108286.C: New test. 1753 1754 2023-01-02 Jakub Jelinek <jakub (a] redhat.com> 1755 1756 * libgomp.texi: Bump @copying's copyright year. 1757 1758 2022-12-21 Chung-Lin Tang <cltang (a] codesourcery.com> 1759 1760 PR target/99555 1761 * config/nvptx/bar.c (generation_to_barrier): Remove. 1762 (futex_wait,futex_wake,do_spin,do_wait): Remove. 1763 (GOMP_WAIT_H): Remove. 1764 (#include "../linux/bar.c"): Remove. 1765 (gomp_barrier_wait_end): New function. 1766 (gomp_barrier_wait): Likewise. 1767 (gomp_barrier_wait_last): Likewise. 1768 (gomp_team_barrier_wait_end): Likewise. 1769 (gomp_team_barrier_wait): Likewise. 1770 (gomp_team_barrier_wait_final): Likewise. 1771 (gomp_team_barrier_wait_cancel_end): Likewise. 1772 (gomp_team_barrier_wait_cancel): Likewise. 1773 (gomp_team_barrier_cancel): Likewise. 1774 * config/nvptx/bar.h (gomp_barrier_t): Remove waiters, lock fields. 1775 (gomp_barrier_init): Remove init of waiters, lock fields. 1776 (gomp_team_barrier_wake): Remove prototype, add new static inline 1777 function. 1778 1779 2022-12-21 Jakub Jelinek <jakub (a] redhat.com> 1780 1781 PR c++/108180 1782 * testsuite/libgomp.c++/pr108180.C: New test. 1783 1784 2022-12-16 Tobias Burnus <tobias (a] codesourcery.com> 1785 1786 PR libfortran/108056 1787 * testsuite/libgomp.fortran/allocate-4.f90: Remove 1788 accidentally added file. 1789 1790 2022-12-15 Tobias Burnus <tobias (a] codesourcery.com> 1791 1792 PR libfortran/108056 1793 * testsuite/libgomp.fortran/allocate-4.f90: New file. 1794 1795 2022-12-14 Julian Brown <julian (a] codesourcery.com> 1796 1797 * testsuite/libgomp.fortran/combined-directive-splitting-1.f90: New 1798 test. 1799 1800 2022-12-10 Tobias Burnus <tobias (a] codesourcery.com> 1801 1802 * libgomp.h (struct target_mem_desc): Predeclare; move 1803 below after 'reverse_splay_tree_node' and add rev_array 1804 member. 1805 (struct reverse_splay_tree_key_s, reverse_splay_compare): New. 1806 (reverse_splay_tree_node, reverse_splay_tree, 1807 reverse_splay_tree_key): New typedef. 1808 (struct gomp_device_descr): Add mem_map_rev member. 1809 * oacc-host.c (host_dispatch): NULL init .mem_map_rev. 1810 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_get_num_devices): Claim 1811 support for GOMP_REQUIRES_REVERSE_OFFLOAD. 1812 * splay-tree.h (splay_tree_callback_stop): New typedef; like 1813 splay_tree_callback but returning int not void. 1814 (splay_tree_foreach_lazy): Define; like splay_tree_foreach but 1815 taking splay_tree_callback_stop as argument. 1816 * splay-tree.c (splay_tree_foreach_internal_lazy, 1817 splay_tree_foreach_lazy): New; but early exit if callback returns 1818 nonzero. 1819 * target.c: Instatiate splay_tree_c with splay_tree_prefix 'reverse'. 1820 (gomp_map_lookup_rev): New. 1821 (gomp_load_image_to_device): Handle reverse-offload function 1822 lookup table. 1823 (gomp_unload_image_from_device): Free devicep->mem_map_rev. 1824 (struct gomp_splay_tree_rev_lookup_data, gomp_splay_tree_rev_lookup, 1825 gomp_map_rev_lookup, struct cpy_data, gomp_map_cdata_lookup_int, 1826 gomp_map_cdata_lookup): New auxiliary structs and functions for 1827 gomp_target_rev. 1828 (gomp_target_rev): Implement reverse offloading and its mapping. 1829 (gomp_target_init): Init current_device.mem_map_rev.root. 1830 * testsuite/libgomp.fortran/reverse-offload-2.f90: New test. 1831 * testsuite/libgomp.fortran/reverse-offload-3.f90: New test. 1832 * testsuite/libgomp.fortran/reverse-offload-4.f90: New test. 1833 * testsuite/libgomp.fortran/reverse-offload-5.f90: New test. 1834 * testsuite/libgomp.fortran/reverse-offload-5a.f90: New test without 1835 mapping of on-device allocated variables. 1836 1837 2022-12-09 Tobias Burnus <tobias (a] codesourcery.com> 1838 1839 * libgomp.texi (5.1 Impl. Status): Split allocate clause/directive 1840 item about 'align'; mark clause as 'Y' and directive as 'N'. 1841 * testsuite/libgomp.fortran/allocate-2.f90: New test. 1842 * testsuite/libgomp.fortran/allocate-3.f90: New test. 1843 1844 2022-12-06 Marcel Vollweiler <marcel (a] codesourcery.com> 1845 1846 * config/gcn/icv-device.c (omp_get_teams_thread_limit): Added to 1847 allow processing of device-specific values. 1848 (omp_set_teams_thread_limit): Likewise. 1849 (ialias): Likewise. 1850 * config/nvptx/icv-device.c (omp_get_teams_thread_limit): Likewise. 1851 (omp_set_teams_thread_limit): Likewise. 1852 (ialias): Likewise. 1853 * icv-device.c (omp_get_teams_thread_limit): Likewise. 1854 (ialias): Likewise. 1855 (omp_set_teams_thread_limit): Likewise. 1856 * icv.c (omp_set_teams_thread_limit): Removed. 1857 (omp_get_teams_thread_limit): Likewise. 1858 (ialias): Likewise. 1859 * libgomp.texi: Updated documentation for nvptx and gcn corresponding 1860 to the limitation of the number of teams. 1861 * plugin/plugin-gcn.c (limit_teams): New helper function that limits 1862 the number of teams by twice the number of compute units. 1863 (parse_target_attributes): Limit the number of teams on gcn offload 1864 devices. 1865 * target.c (get_gomp_offload_icvs): Added teams_thread_limit_var 1866 handling. 1867 (gomp_load_image_to_device): Added a size check for the ICVs struct 1868 variable. 1869 (gomp_copy_back_icvs): New function that is used in GOMP_target_ext to 1870 copy back the ICV values from device to host. 1871 (GOMP_target_ext): Update the number of teams and threads in the kernel 1872 args also considering device-specific values. 1873 * testsuite/libgomp.c-c++-common/icv-4.c: Fixed an error in the reading 1874 of OMP_TEAMS_THREAD_LIMIT from the environment. 1875 * testsuite/libgomp.c-c++-common/icv-5.c: Extended. 1876 * testsuite/libgomp.c-c++-common/icv-6.c: Extended. 1877 * testsuite/libgomp.c-c++-common/icv-7.c: Extended. 1878 * testsuite/libgomp.c-c++-common/icv-9.c: New test. 1879 * testsuite/libgomp.fortran/icv-5.f90: New test. 1880 * testsuite/libgomp.fortran/icv-6.f90: New test. 1881 1882 2022-12-06 Tobias Burnus <tobias (a] codesourcery.com> 1883 1884 * libgomp.texi (OpenMP 5.2): Add missing 'the'. 1885 (TR11): Add missing '@tab N @tab'. 1886 1887 2022-11-30 Tobias Burnus <tobias (a] codesourcery.com> 1888 1889 * libgomp.texi (OpenMP Context Selectors): Add 'gfx803' to gcn's isa. 1890 1891 2022-11-30 Paul-Antoine Arras <pa (a] codesourcery.com> 1892 1893 * testsuite/libgomp.c/declare-variant-4-fiji.c: New test. 1894 * testsuite/libgomp.c/declare-variant-4-gfx803.c: New test. 1895 * testsuite/libgomp.c/declare-variant-4-gfx900.c: New test. 1896 * testsuite/libgomp.c/declare-variant-4-gfx906.c: New test. 1897 * testsuite/libgomp.c/declare-variant-4-gfx908.c: New test. 1898 * testsuite/libgomp.c/declare-variant-4-gfx90a.c: New test. 1899 * testsuite/libgomp.c/declare-variant-4.h: New header file. 1900 1901 2022-11-28 Tobias Burnus <tobias (a] codesourcery.com> 1902 1903 * libgomp.texi (OpenMP 5.2): Mark end-directive as Y. 1904 1905 2022-11-25 Sandra Loosemore <sandra (a] codesourcery.com> 1906 1907 * testsuite/lib/libgomp.exp: Load scanoffloadipa.exp library. 1908 * testsuite/libgomp.c/target-simd-clone-1.c: New. 1909 * testsuite/libgomp.c/target-simd-clone-2.c: New. 1910 * testsuite/libgomp.c/target-simd-clone-3.c: New. 1911 1912 2022-11-25 Tobias Burnus <tobias (a] codesourcery.com> 1913 1914 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Use unsigned int 1915 for 'i' to match 'fn_entries'; regard absent GOMP_REV_OFFLOAD_VAR 1916 as valid and the code having no reverse-offload code. 1917 * testsuite/libgomp.c-c++-common/reverse-offload-2.c: New test. 1918 1919 2022-11-25 Tobias Burnus <tobias (a] codesourcery.com> 1920 1921 * libgomp.texi (OpenMP Implementation Status): Add three 5.1 items 1922 and status for Technical Report (TR) 11. 1923 1924 2022-11-21 Tobias Burnus <tobias (a] codesourcery.com> 1925 1926 * config/gcn/libgomp-gcn.h (struct output): 1927 Remove 'msg_u64' from the union, change 1928 value_u64[2] to value_u64[6]. 1929 * config/gcn/target.c (GOMP_target_ext): Update accordingly. 1930 * plugin/plugin-gcn.c (process_reverse_offload, console_output): 1931 Likewise. 1932 1933 2022-11-19 Tobias Burnus <tobias (a] codesourcery.com> 1934 1935 * config/gcn/libgomp-gcn.h: New file; contains 1936 struct output, declared previously in plugin-gcn.c. 1937 * config/gcn/target.c: Include it. 1938 (GOMP_ADDITIONAL_ICVS): Declare as extern var. 1939 (GOMP_target_ext): Handle reverse offload. 1940 * plugin/plugin-gcn.c: Include libgomp-gcn.h. 1941 (struct kernargs): Replace struct def by the one 1942 from libgomp-gcn.h for output_data. 1943 (process_reverse_offload): New. 1944 (console_output): Call it. 1945 1946 2022-11-16 Tobias Burnus <tobias (a] codesourcery.com> 1947 Andrew Stubbs <ams (a] codesourcery.com> 1948 1949 * config/gcn/team.c (gomp_gcn_enter_kernel): Use 1950 __builtin_gcn_kernarg_ptr instead of asm ("s8"). 1951 1952 2022-11-14 Martin Liska <mliska (a] suse.cz> 1953 1954 Revert: 1955 2022-11-14 Martin Liska <mliska (a] suse.cz> 1956 1957 * doc/amd-radeon-gcn.rst: New file. 1958 * doc/conf.py: New file. 1959 * doc/copyright.rst: New file. 1960 * doc/cuda-streams-usage.rst: New file. 1961 * doc/enabling-openacc.rst: New file. 1962 * doc/enabling-openmp.rst: New file. 1963 * doc/first-invocation-nvidia-cublas-library-api.rst: New file. 1964 * doc/first-invocation-openacc-library-api.rst: New file. 1965 * doc/funding.rst: New file. 1966 * doc/general-public-license-3.rst: New file. 1967 * doc/gnu-free-documentation-license.rst: New file. 1968 * doc/implementation-status-and-implementation-defined-behavior.rst: New file. 1969 * doc/index.rst: New file. 1970 * doc/indices-and-tables.rst: New file. 1971 * doc/introduction.rst: New file. 1972 * doc/memory-allocation-with-libmemkind.rst: New file. 1973 * doc/nvptx.rst: New file. 1974 * doc/offload-target-specifics.rst: New file. 1975 * doc/openacc-environment-variables.rst: New file. 1976 * doc/openacc-environment-variables/accdevicenum.rst: New file. 1977 * doc/openacc-environment-variables/accdevicetype.rst: New file. 1978 * doc/openacc-environment-variables/accproflib.rst: New file. 1979 * doc/openacc-environment-variables/gccaccnotify.rst: New file. 1980 * doc/openacc-introduction.rst: New file. 1981 * doc/openacc-library-and-environment-variables.rst: New file. 1982 * doc/openacc-library-interoperability.rst: New file. 1983 * doc/openacc-profiling-interface.rst: New file. 1984 * doc/openacc-runtime-library-routines.rst: New file. 1985 * doc/openacc-runtime-library-routines/accasynctest.rst: New file. 1986 * doc/openacc-runtime-library-routines/accasynctestall.rst: New file. 1987 * doc/openacc-runtime-library-routines/accattach.rst: New file. 1988 * doc/openacc-runtime-library-routines/acccopyin.rst: New file. 1989 * doc/openacc-runtime-library-routines/acccopyout.rst: New file. 1990 * doc/openacc-runtime-library-routines/acccreate.rst: New file. 1991 * doc/openacc-runtime-library-routines/accdelete.rst: New file. 1992 * doc/openacc-runtime-library-routines/accdetach.rst: New file. 1993 * doc/openacc-runtime-library-routines/accdeviceptr.rst: New file. 1994 * doc/openacc-runtime-library-routines/accfree.rst: New file. 1995 * doc/openacc-runtime-library-routines/accgetcudastream.rst: New file. 1996 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst: New file. 1997 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst: New file. 1998 * doc/openacc-runtime-library-routines/accgetdevicenum.rst: New file. 1999 * doc/openacc-runtime-library-routines/accgetdevicetype.rst: New file. 2000 * doc/openacc-runtime-library-routines/accgetnumdevices.rst: New file. 2001 * doc/openacc-runtime-library-routines/accgetproperty.rst: New file. 2002 * doc/openacc-runtime-library-routines/acchostptr.rst: New file. 2003 * doc/openacc-runtime-library-routines/accinit.rst: New file. 2004 * doc/openacc-runtime-library-routines/accispresent.rst: New file. 2005 * doc/openacc-runtime-library-routines/accmalloc.rst: New file. 2006 * doc/openacc-runtime-library-routines/accmapdata.rst: New file. 2007 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst: New file. 2008 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst: New file. 2009 * doc/openacc-runtime-library-routines/accondevice.rst: New file. 2010 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst: New file. 2011 * doc/openacc-runtime-library-routines/accpresentorcreate.rst: New file. 2012 * doc/openacc-runtime-library-routines/accproflookup.rst: New file. 2013 * doc/openacc-runtime-library-routines/accprofregister.rst: New file. 2014 * doc/openacc-runtime-library-routines/accprofunregister.rst: New file. 2015 * doc/openacc-runtime-library-routines/accregisterlibrary.rst: New file. 2016 * doc/openacc-runtime-library-routines/accsetcudastream.rst: New file. 2017 * doc/openacc-runtime-library-routines/accsetdevicenum.rst: New file. 2018 * doc/openacc-runtime-library-routines/accsetdevicetype.rst: New file. 2019 * doc/openacc-runtime-library-routines/accshutdown.rst: New file. 2020 * doc/openacc-runtime-library-routines/accunmapdata.rst: New file. 2021 * doc/openacc-runtime-library-routines/accupdatedevice.rst: New file. 2022 * doc/openacc-runtime-library-routines/accupdateself.rst: New file. 2023 * doc/openacc-runtime-library-routines/accwait.rst: New file. 2024 * doc/openacc-runtime-library-routines/accwaitall.rst: New file. 2025 * doc/openacc-runtime-library-routines/accwaitallasync.rst: New file. 2026 * doc/openacc-runtime-library-routines/accwaitasync.rst: New file. 2027 * doc/openmp-context-selectors.rst: New file. 2028 * doc/openmp-environment-variables.rst: New file. 2029 * doc/openmp-environment-variables/gompcpuaffinity.rst: New file. 2030 * doc/openmp-environment-variables/gompdebug.rst: New file. 2031 * doc/openmp-environment-variables/gomprtemsthreadpools.rst: New file. 2032 * doc/openmp-environment-variables/gompspincount.rst: New file. 2033 * doc/openmp-environment-variables/gompstacksize.rst: New file. 2034 * doc/openmp-environment-variables/ompcancellation.rst: New file. 2035 * doc/openmp-environment-variables/ompdefaultdevice.rst: New file. 2036 * doc/openmp-environment-variables/ompdisplayenv.rst: New file. 2037 * doc/openmp-environment-variables/ompdynamic.rst: New file. 2038 * doc/openmp-environment-variables/ompmaxactivelevels.rst: New file. 2039 * doc/openmp-environment-variables/ompmaxtaskpriority.rst: New file. 2040 * doc/openmp-environment-variables/ompnested.rst: New file. 2041 * doc/openmp-environment-variables/ompnumteams.rst: New file. 2042 * doc/openmp-environment-variables/ompnumthreads.rst: New file. 2043 * doc/openmp-environment-variables/ompplaces.rst: New file. 2044 * doc/openmp-environment-variables/ompprocbind.rst: New file. 2045 * doc/openmp-environment-variables/ompschedule.rst: New file. 2046 * doc/openmp-environment-variables/ompstacksize.rst: New file. 2047 * doc/openmp-environment-variables/omptargetoffload.rst: New file. 2048 * doc/openmp-environment-variables/ompteamsthreadlimit.rst: New file. 2049 * doc/openmp-environment-variables/ompthreadlimit.rst: New file. 2050 * doc/openmp-environment-variables/ompwaitpolicy.rst: New file. 2051 * doc/openmp-implementation-specifics.rst: New file. 2052 * doc/openmp-implementation-status.rst: New file. 2053 * doc/openmp-implementation-status/openmp-45.rst: New file. 2054 * doc/openmp-implementation-status/openmp-50.rst: New file. 2055 * doc/openmp-implementation-status/openmp-51.rst: New file. 2056 * doc/openmp-implementation-status/openmp-52.rst: New file. 2057 * doc/openmp-runtime-library-routines.rst: New file. 2058 * doc/openmp-runtime-library-routines/ompdestroylock.rst: New file. 2059 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst: New file. 2060 * doc/openmp-runtime-library-routines/ompfulfillevent.rst: New file. 2061 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst: New file. 2062 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst: New file. 2063 * doc/openmp-runtime-library-routines/ompgetcancellation.rst: New file. 2064 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst: New file. 2065 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst: New file. 2066 * doc/openmp-runtime-library-routines/ompgetdynamic.rst: New file. 2067 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst: New file. 2068 * doc/openmp-runtime-library-routines/ompgetlevel.rst: New file. 2069 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst: New file. 2070 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst: New file. 2071 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst: New file. 2072 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst: New file. 2073 * doc/openmp-runtime-library-routines/ompgetnested.rst: New file. 2074 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst: New file. 2075 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst: New file. 2076 * doc/openmp-runtime-library-routines/ompgetnumteams.rst: New file. 2077 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst: New file. 2078 * doc/openmp-runtime-library-routines/ompgetprocbind.rst: New file. 2079 * doc/openmp-runtime-library-routines/ompgetschedule.rst: New file. 2080 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst: New file. 2081 * doc/openmp-runtime-library-routines/ompgetteamnum.rst: New file. 2082 * doc/openmp-runtime-library-routines/ompgetteamsize.rst: New file. 2083 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst: New file. 2084 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst: New file. 2085 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst: New file. 2086 * doc/openmp-runtime-library-routines/ompgetwtick.rst: New file. 2087 * doc/openmp-runtime-library-routines/ompgetwtime.rst: New file. 2088 * doc/openmp-runtime-library-routines/ompinfinal.rst: New file. 2089 * doc/openmp-runtime-library-routines/ompinitlock.rst: New file. 2090 * doc/openmp-runtime-library-routines/ompinitnestlock.rst: New file. 2091 * doc/openmp-runtime-library-routines/ompinparallel.rst: New file. 2092 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst: New file. 2093 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst: New file. 2094 * doc/openmp-runtime-library-routines/ompsetdynamic.rst: New file. 2095 * doc/openmp-runtime-library-routines/ompsetlock.rst: New file. 2096 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst: New file. 2097 * doc/openmp-runtime-library-routines/ompsetnested.rst: New file. 2098 * doc/openmp-runtime-library-routines/ompsetnestlock.rst: New file. 2099 * doc/openmp-runtime-library-routines/ompsetnumteams.rst: New file. 2100 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst: New file. 2101 * doc/openmp-runtime-library-routines/ompsetschedule.rst: New file. 2102 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst: New file. 2103 * doc/openmp-runtime-library-routines/omptestlock.rst: New file. 2104 * doc/openmp-runtime-library-routines/omptestnestlock.rst: New file. 2105 * doc/openmp-runtime-library-routines/ompunsetlock.rst: New file. 2106 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst: New file. 2107 * doc/reporting-bugs.rst: New file. 2108 * doc/the-libgomp-abi.rst: New file. 2109 * doc/the-libgomp-abi/implementing-atomic-construct.rst: New file. 2110 * doc/the-libgomp-abi/implementing-barrier-construct.rst: New file. 2111 * doc/the-libgomp-abi/implementing-critical-construct.rst: New file. 2112 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst: 2113 New file. 2114 * doc/the-libgomp-abi/implementing-flush-construct.rst: New file. 2115 * doc/the-libgomp-abi/implementing-for-construct.rst: New file. 2116 * doc/the-libgomp-abi/implementing-master-construct.rst: New file. 2117 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst: New file. 2118 * doc/the-libgomp-abi/implementing-ordered-construct.rst: New file. 2119 * doc/the-libgomp-abi/implementing-parallel-construct.rst: New file. 2120 * doc/the-libgomp-abi/implementing-private-clause.rst: New file. 2121 * doc/the-libgomp-abi/implementing-reduction-clause.rst: New file. 2122 * doc/the-libgomp-abi/implementing-sections-construct.rst: New file. 2123 * doc/the-libgomp-abi/implementing-single-construct.rst: New file. 2124 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst: New file. 2125 2126 2022-11-14 Martin Liska <mliska (a] suse.cz> 2127 2128 Revert: 2129 2022-11-14 Martin Liska <mliska (a] suse.cz> 2130 2131 * Makefile.in: Support Sphinx based documentation. 2132 2133 2022-11-14 Martin Liska <mliska (a] suse.cz> 2134 2135 Revert: 2136 2022-11-14 Martin Liska <mliska (a] suse.cz> 2137 2138 * libgomp.texi: Removed. 2139 2140 2022-11-14 Martin Liska <mliska (a] suse.cz> 2141 2142 Revert: 2143 2022-11-14 Martin Liska <mliska (a] suse.cz> 2144 2145 * Makefile.in: Support --with-sphinx-build. 2146 * configure.ac: Likewise.. 2147 * configure: Regenerate. 2148 2149 2022-11-14 Martin Liska <mliska (a] suse.cz> 2150 2151 Revert: 2152 2022-11-09 Martin Liska <mliska (a] suse.cz> 2153 2154 * Makefile.in: Build info pages conditionally. 2155 2156 2022-11-14 Martin Liska <mliska (a] suse.cz> 2157 2158 Revert: 2159 2022-11-14 Martin Liska <mliska (a] suse.cz> 2160 2161 * doc/amd-radeon-gcn.rst: 2162 Add trailing newline. 2163 * doc/copyright.rst: 2164 Add trailing newline. 2165 * doc/cuda-streams-usage.rst: 2166 Add trailing newline. 2167 * doc/enabling-openacc.rst: 2168 Add trailing newline. 2169 * doc/enabling-openmp.rst: 2170 Add trailing newline. 2171 * doc/first-invocation-nvidia-cublas-library-api.rst: 2172 Add trailing newline. 2173 * doc/first-invocation-openacc-library-api.rst: 2174 Add trailing newline. 2175 * doc/funding.rst: 2176 Add trailing newline. 2177 * doc/general-public-license-3.rst: 2178 Add trailing newline. 2179 * doc/gnu-free-documentation-license.rst: 2180 Add trailing newline. 2181 * doc/implementation-status-and-implementation-defined-behavior.rst: 2182 Add trailing newline. 2183 * doc/index.rst: 2184 Add trailing newline. 2185 * doc/indices-and-tables.rst: 2186 Add trailing newline. 2187 * doc/introduction.rst: 2188 Add trailing newline. 2189 * doc/memory-allocation-with-libmemkind.rst: 2190 Add trailing newline. 2191 * doc/nvptx.rst: 2192 Add trailing newline. 2193 * doc/offload-target-specifics.rst: 2194 Add trailing newline. 2195 * doc/openacc-environment-variables.rst: 2196 Add trailing newline. 2197 * doc/openacc-environment-variables/accdevicenum.rst: 2198 Add trailing newline. 2199 * doc/openacc-environment-variables/accdevicetype.rst: 2200 Add trailing newline. 2201 * doc/openacc-environment-variables/accproflib.rst: 2202 Add trailing newline. 2203 * doc/openacc-environment-variables/gccaccnotify.rst: 2204 Add trailing newline. 2205 * doc/openacc-introduction.rst: 2206 Add trailing newline. 2207 * doc/openacc-library-and-environment-variables.rst: 2208 Add trailing newline. 2209 * doc/openacc-library-interoperability.rst: 2210 Add trailing newline. 2211 * doc/openacc-profiling-interface.rst: 2212 Add trailing newline. 2213 * doc/openacc-runtime-library-routines.rst: 2214 Add trailing newline. 2215 * doc/openacc-runtime-library-routines/accasynctest.rst: 2216 Add trailing newline. 2217 * doc/openacc-runtime-library-routines/accasynctestall.rst: 2218 Add trailing newline. 2219 * doc/openacc-runtime-library-routines/accattach.rst: 2220 Add trailing newline. 2221 * doc/openacc-runtime-library-routines/acccopyin.rst: 2222 Add trailing newline. 2223 * doc/openacc-runtime-library-routines/acccopyout.rst: 2224 Add trailing newline. 2225 * doc/openacc-runtime-library-routines/acccreate.rst: 2226 Add trailing newline. 2227 * doc/openacc-runtime-library-routines/accdelete.rst: 2228 Add trailing newline. 2229 * doc/openacc-runtime-library-routines/accdetach.rst: 2230 Add trailing newline. 2231 * doc/openacc-runtime-library-routines/accdeviceptr.rst: 2232 Add trailing newline. 2233 * doc/openacc-runtime-library-routines/accfree.rst: 2234 Add trailing newline. 2235 * doc/openacc-runtime-library-routines/accgetcudastream.rst: 2236 Add trailing newline. 2237 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst: 2238 Add trailing newline. 2239 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst: 2240 Add trailing newline. 2241 * doc/openacc-runtime-library-routines/accgetdevicenum.rst: 2242 Add trailing newline. 2243 * doc/openacc-runtime-library-routines/accgetdevicetype.rst: 2244 Add trailing newline. 2245 * doc/openacc-runtime-library-routines/accgetnumdevices.rst: 2246 Add trailing newline. 2247 * doc/openacc-runtime-library-routines/accgetproperty.rst: 2248 Add trailing newline. 2249 * doc/openacc-runtime-library-routines/acchostptr.rst: 2250 Add trailing newline. 2251 * doc/openacc-runtime-library-routines/accinit.rst: 2252 Add trailing newline. 2253 * doc/openacc-runtime-library-routines/accispresent.rst: 2254 Add trailing newline. 2255 * doc/openacc-runtime-library-routines/accmalloc.rst: 2256 Add trailing newline. 2257 * doc/openacc-runtime-library-routines/accmapdata.rst: 2258 Add trailing newline. 2259 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst: 2260 Add trailing newline. 2261 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst: 2262 Add trailing newline. 2263 * doc/openacc-runtime-library-routines/accondevice.rst: 2264 Add trailing newline. 2265 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst: 2266 Add trailing newline. 2267 * doc/openacc-runtime-library-routines/accpresentorcreate.rst: 2268 Add trailing newline. 2269 * doc/openacc-runtime-library-routines/accproflookup.rst: 2270 Add trailing newline. 2271 * doc/openacc-runtime-library-routines/accprofregister.rst: 2272 Add trailing newline. 2273 * doc/openacc-runtime-library-routines/accprofunregister.rst: 2274 Add trailing newline. 2275 * doc/openacc-runtime-library-routines/accregisterlibrary.rst: 2276 Add trailing newline. 2277 * doc/openacc-runtime-library-routines/accsetcudastream.rst: 2278 Add trailing newline. 2279 * doc/openacc-runtime-library-routines/accsetdevicenum.rst: 2280 Add trailing newline. 2281 * doc/openacc-runtime-library-routines/accsetdevicetype.rst: 2282 Add trailing newline. 2283 * doc/openacc-runtime-library-routines/accshutdown.rst: 2284 Add trailing newline. 2285 * doc/openacc-runtime-library-routines/accunmapdata.rst: 2286 Add trailing newline. 2287 * doc/openacc-runtime-library-routines/accupdatedevice.rst: 2288 Add trailing newline. 2289 * doc/openacc-runtime-library-routines/accupdateself.rst: 2290 Add trailing newline. 2291 * doc/openacc-runtime-library-routines/accwait.rst: 2292 Add trailing newline. 2293 * doc/openacc-runtime-library-routines/accwaitall.rst: 2294 Add trailing newline. 2295 * doc/openacc-runtime-library-routines/accwaitallasync.rst: 2296 Add trailing newline. 2297 * doc/openacc-runtime-library-routines/accwaitasync.rst: 2298 Add trailing newline. 2299 * doc/openmp-context-selectors.rst: 2300 Add trailing newline. 2301 * doc/openmp-environment-variables.rst: 2302 Add trailing newline. 2303 * doc/openmp-environment-variables/gompcpuaffinity.rst: 2304 Add trailing newline. 2305 * doc/openmp-environment-variables/gompdebug.rst: 2306 Add trailing newline. 2307 * doc/openmp-environment-variables/gomprtemsthreadpools.rst: 2308 Add trailing newline. 2309 * doc/openmp-environment-variables/gompspincount.rst: 2310 Add trailing newline. 2311 * doc/openmp-environment-variables/gompstacksize.rst: 2312 Add trailing newline. 2313 * doc/openmp-environment-variables/ompcancellation.rst: 2314 Add trailing newline. 2315 * doc/openmp-environment-variables/ompdefaultdevice.rst: 2316 Add trailing newline. 2317 * doc/openmp-environment-variables/ompdisplayenv.rst: 2318 Add trailing newline. 2319 * doc/openmp-environment-variables/ompdynamic.rst: 2320 Add trailing newline. 2321 * doc/openmp-environment-variables/ompmaxactivelevels.rst: 2322 Add trailing newline. 2323 * doc/openmp-environment-variables/ompmaxtaskpriority.rst: 2324 Add trailing newline. 2325 * doc/openmp-environment-variables/ompnested.rst: 2326 Add trailing newline. 2327 * doc/openmp-environment-variables/ompnumteams.rst: 2328 Add trailing newline. 2329 * doc/openmp-environment-variables/ompnumthreads.rst: 2330 Add trailing newline. 2331 * doc/openmp-environment-variables/ompplaces.rst: 2332 Add trailing newline. 2333 * doc/openmp-environment-variables/ompprocbind.rst: 2334 Add trailing newline. 2335 * doc/openmp-environment-variables/ompschedule.rst: 2336 Add trailing newline. 2337 * doc/openmp-environment-variables/ompstacksize.rst: 2338 Add trailing newline. 2339 * doc/openmp-environment-variables/omptargetoffload.rst: 2340 Add trailing newline. 2341 * doc/openmp-environment-variables/ompteamsthreadlimit.rst: 2342 Add trailing newline. 2343 * doc/openmp-environment-variables/ompthreadlimit.rst: 2344 Add trailing newline. 2345 * doc/openmp-environment-variables/ompwaitpolicy.rst: 2346 Add trailing newline. 2347 * doc/openmp-implementation-specifics.rst: 2348 Add trailing newline. 2349 * doc/openmp-implementation-status.rst: 2350 Add trailing newline. 2351 * doc/openmp-implementation-status/openmp-45.rst: 2352 Add trailing newline. 2353 * doc/openmp-implementation-status/openmp-50.rst: 2354 Add trailing newline. 2355 * doc/openmp-implementation-status/openmp-51.rst: 2356 Add trailing newline. 2357 * doc/openmp-implementation-status/openmp-52.rst: 2358 Add trailing newline. 2359 * doc/openmp-runtime-library-routines.rst: 2360 Add trailing newline. 2361 * doc/openmp-runtime-library-routines/ompdestroylock.rst: 2362 Add trailing newline. 2363 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst: 2364 Add trailing newline. 2365 * doc/openmp-runtime-library-routines/ompfulfillevent.rst: 2366 Add trailing newline. 2367 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst: 2368 Add trailing newline. 2369 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst: 2370 Add trailing newline. 2371 * doc/openmp-runtime-library-routines/ompgetcancellation.rst: 2372 Add trailing newline. 2373 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst: 2374 Add trailing newline. 2375 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst: 2376 Add trailing newline. 2377 * doc/openmp-runtime-library-routines/ompgetdynamic.rst: 2378 Add trailing newline. 2379 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst: 2380 Add trailing newline. 2381 * doc/openmp-runtime-library-routines/ompgetlevel.rst: 2382 Add trailing newline. 2383 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst: 2384 Add trailing newline. 2385 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst: 2386 Add trailing newline. 2387 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst: 2388 Add trailing newline. 2389 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst: 2390 Add trailing newline. 2391 * doc/openmp-runtime-library-routines/ompgetnested.rst: 2392 Add trailing newline. 2393 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst: 2394 Add trailing newline. 2395 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst: 2396 Add trailing newline. 2397 * doc/openmp-runtime-library-routines/ompgetnumteams.rst: 2398 Add trailing newline. 2399 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst: 2400 Add trailing newline. 2401 * doc/openmp-runtime-library-routines/ompgetprocbind.rst: 2402 Add trailing newline. 2403 * doc/openmp-runtime-library-routines/ompgetschedule.rst: 2404 Add trailing newline. 2405 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst: 2406 Add trailing newline. 2407 * doc/openmp-runtime-library-routines/ompgetteamnum.rst: 2408 Add trailing newline. 2409 * doc/openmp-runtime-library-routines/ompgetteamsize.rst: 2410 Add trailing newline. 2411 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst: 2412 Add trailing newline. 2413 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst: 2414 Add trailing newline. 2415 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst: 2416 Add trailing newline. 2417 * doc/openmp-runtime-library-routines/ompgetwtick.rst: 2418 Add trailing newline. 2419 * doc/openmp-runtime-library-routines/ompgetwtime.rst: 2420 Add trailing newline. 2421 * doc/openmp-runtime-library-routines/ompinfinal.rst: 2422 Add trailing newline. 2423 * doc/openmp-runtime-library-routines/ompinitlock.rst: 2424 Add trailing newline. 2425 * doc/openmp-runtime-library-routines/ompinitnestlock.rst: 2426 Add trailing newline. 2427 * doc/openmp-runtime-library-routines/ompinparallel.rst: 2428 Add trailing newline. 2429 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst: 2430 Add trailing newline. 2431 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst: 2432 Add trailing newline. 2433 * doc/openmp-runtime-library-routines/ompsetdynamic.rst: 2434 Add trailing newline. 2435 * doc/openmp-runtime-library-routines/ompsetlock.rst: 2436 Add trailing newline. 2437 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst: 2438 Add trailing newline. 2439 * doc/openmp-runtime-library-routines/ompsetnested.rst: 2440 Add trailing newline. 2441 * doc/openmp-runtime-library-routines/ompsetnestlock.rst: 2442 Add trailing newline. 2443 * doc/openmp-runtime-library-routines/ompsetnumteams.rst: 2444 Add trailing newline. 2445 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst: 2446 Add trailing newline. 2447 * doc/openmp-runtime-library-routines/ompsetschedule.rst: 2448 Add trailing newline. 2449 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst: 2450 Add trailing newline. 2451 * doc/openmp-runtime-library-routines/omptestlock.rst: 2452 Add trailing newline. 2453 * doc/openmp-runtime-library-routines/omptestnestlock.rst: 2454 Add trailing newline. 2455 * doc/openmp-runtime-library-routines/ompunsetlock.rst: 2456 Add trailing newline. 2457 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst: 2458 Add trailing newline. 2459 * doc/reporting-bugs.rst: 2460 Add trailing newline. 2461 * doc/the-libgomp-abi.rst: 2462 Add trailing newline. 2463 * doc/the-libgomp-abi/implementing-atomic-construct.rst: 2464 Add trailing newline. 2465 * doc/the-libgomp-abi/implementing-barrier-construct.rst: 2466 Add trailing newline. 2467 * doc/the-libgomp-abi/implementing-critical-construct.rst: 2468 Add trailing newline. 2469 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst: 2470 Add trailing newline. 2471 * doc/the-libgomp-abi/implementing-flush-construct.rst: 2472 Add trailing newline. 2473 * doc/the-libgomp-abi/implementing-for-construct.rst: 2474 Add trailing newline. 2475 * doc/the-libgomp-abi/implementing-master-construct.rst: 2476 Add trailing newline. 2477 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst: 2478 Add trailing newline. 2479 * doc/the-libgomp-abi/implementing-ordered-construct.rst: 2480 Add trailing newline. 2481 * doc/the-libgomp-abi/implementing-parallel-construct.rst: 2482 Add trailing newline. 2483 * doc/the-libgomp-abi/implementing-private-clause.rst: 2484 Add trailing newline. 2485 * doc/the-libgomp-abi/implementing-reduction-clause.rst: 2486 Add trailing newline. 2487 * doc/the-libgomp-abi/implementing-sections-construct.rst: 2488 Add trailing newline. 2489 * doc/the-libgomp-abi/implementing-single-construct.rst: 2490 Add trailing newline. 2491 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst: 2492 Add trailing newline. 2493 2494 2022-11-14 Martin Liska <mliska (a] suse.cz> 2495 2496 Revert: 2497 2022-11-09 Martin Liska <mliska (a] suse.cz> 2498 2499 * Makefile.in: Add missing HAS_SPHINX_BUILD. 2500 2501 2022-11-14 Martin Liska <mliska (a] suse.cz> 2502 2503 Revert: 2504 2022-11-14 Martin Liska <mliska (a] suse.cz> 2505 2506 * doc/conf.py: Add newline at last line. 2507 2508 2022-11-14 Martin Liska <mliska (a] suse.cz> 2509 2510 Revert: 2511 2022-11-14 Martin Liska <mliska (a] suse.cz> 2512 2513 PR other/107620 2514 * configure: Regenerate. 2515 * configure.ac: Always set sphinx-build. 2516 2517 2022-11-13 Martin Liska <mliska (a] suse.cz> 2518 2519 PR other/107620 2520 * configure: Regenerate. 2521 * configure.ac: Always set sphinx-build. 2522 2523 2022-11-12 Jakub Jelinek <jakub (a] redhat.com> 2524 2525 PR libgomp/107641 2526 * env.c (parse_unsigned_long): Cast params[2] to uintptr_t rather than 2527 unsigned long. Change type of upper from unsigned to unsigned long. 2528 2529 2022-11-10 Martin Liska <mliska (a] suse.cz> 2530 2531 * doc/conf.py: Add newline at last line. 2532 2533 2022-11-09 Martin Liska <mliska (a] suse.cz> 2534 2535 * Makefile.in: Add missing HAS_SPHINX_BUILD. 2536 2537 2022-11-09 Martin Liska <mliska (a] suse.cz> 2538 2539 * doc/amd-radeon-gcn.rst: 2540 Add trailing newline. 2541 * doc/copyright.rst: 2542 Add trailing newline. 2543 * doc/cuda-streams-usage.rst: 2544 Add trailing newline. 2545 * doc/enabling-openacc.rst: 2546 Add trailing newline. 2547 * doc/enabling-openmp.rst: 2548 Add trailing newline. 2549 * doc/first-invocation-nvidia-cublas-library-api.rst: 2550 Add trailing newline. 2551 * doc/first-invocation-openacc-library-api.rst: 2552 Add trailing newline. 2553 * doc/funding.rst: 2554 Add trailing newline. 2555 * doc/general-public-license-3.rst: 2556 Add trailing newline. 2557 * doc/gnu-free-documentation-license.rst: 2558 Add trailing newline. 2559 * doc/implementation-status-and-implementation-defined-behavior.rst: 2560 Add trailing newline. 2561 * doc/index.rst: 2562 Add trailing newline. 2563 * doc/indices-and-tables.rst: 2564 Add trailing newline. 2565 * doc/introduction.rst: 2566 Add trailing newline. 2567 * doc/memory-allocation-with-libmemkind.rst: 2568 Add trailing newline. 2569 * doc/nvptx.rst: 2570 Add trailing newline. 2571 * doc/offload-target-specifics.rst: 2572 Add trailing newline. 2573 * doc/openacc-environment-variables.rst: 2574 Add trailing newline. 2575 * doc/openacc-environment-variables/accdevicenum.rst: 2576 Add trailing newline. 2577 * doc/openacc-environment-variables/accdevicetype.rst: 2578 Add trailing newline. 2579 * doc/openacc-environment-variables/accproflib.rst: 2580 Add trailing newline. 2581 * doc/openacc-environment-variables/gccaccnotify.rst: 2582 Add trailing newline. 2583 * doc/openacc-introduction.rst: 2584 Add trailing newline. 2585 * doc/openacc-library-and-environment-variables.rst: 2586 Add trailing newline. 2587 * doc/openacc-library-interoperability.rst: 2588 Add trailing newline. 2589 * doc/openacc-profiling-interface.rst: 2590 Add trailing newline. 2591 * doc/openacc-runtime-library-routines.rst: 2592 Add trailing newline. 2593 * doc/openacc-runtime-library-routines/accasynctest.rst: 2594 Add trailing newline. 2595 * doc/openacc-runtime-library-routines/accasynctestall.rst: 2596 Add trailing newline. 2597 * doc/openacc-runtime-library-routines/accattach.rst: 2598 Add trailing newline. 2599 * doc/openacc-runtime-library-routines/acccopyin.rst: 2600 Add trailing newline. 2601 * doc/openacc-runtime-library-routines/acccopyout.rst: 2602 Add trailing newline. 2603 * doc/openacc-runtime-library-routines/acccreate.rst: 2604 Add trailing newline. 2605 * doc/openacc-runtime-library-routines/accdelete.rst: 2606 Add trailing newline. 2607 * doc/openacc-runtime-library-routines/accdetach.rst: 2608 Add trailing newline. 2609 * doc/openacc-runtime-library-routines/accdeviceptr.rst: 2610 Add trailing newline. 2611 * doc/openacc-runtime-library-routines/accfree.rst: 2612 Add trailing newline. 2613 * doc/openacc-runtime-library-routines/accgetcudastream.rst: 2614 Add trailing newline. 2615 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst: 2616 Add trailing newline. 2617 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst: 2618 Add trailing newline. 2619 * doc/openacc-runtime-library-routines/accgetdevicenum.rst: 2620 Add trailing newline. 2621 * doc/openacc-runtime-library-routines/accgetdevicetype.rst: 2622 Add trailing newline. 2623 * doc/openacc-runtime-library-routines/accgetnumdevices.rst: 2624 Add trailing newline. 2625 * doc/openacc-runtime-library-routines/accgetproperty.rst: 2626 Add trailing newline. 2627 * doc/openacc-runtime-library-routines/acchostptr.rst: 2628 Add trailing newline. 2629 * doc/openacc-runtime-library-routines/accinit.rst: 2630 Add trailing newline. 2631 * doc/openacc-runtime-library-routines/accispresent.rst: 2632 Add trailing newline. 2633 * doc/openacc-runtime-library-routines/accmalloc.rst: 2634 Add trailing newline. 2635 * doc/openacc-runtime-library-routines/accmapdata.rst: 2636 Add trailing newline. 2637 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst: 2638 Add trailing newline. 2639 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst: 2640 Add trailing newline. 2641 * doc/openacc-runtime-library-routines/accondevice.rst: 2642 Add trailing newline. 2643 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst: 2644 Add trailing newline. 2645 * doc/openacc-runtime-library-routines/accpresentorcreate.rst: 2646 Add trailing newline. 2647 * doc/openacc-runtime-library-routines/accproflookup.rst: 2648 Add trailing newline. 2649 * doc/openacc-runtime-library-routines/accprofregister.rst: 2650 Add trailing newline. 2651 * doc/openacc-runtime-library-routines/accprofunregister.rst: 2652 Add trailing newline. 2653 * doc/openacc-runtime-library-routines/accregisterlibrary.rst: 2654 Add trailing newline. 2655 * doc/openacc-runtime-library-routines/accsetcudastream.rst: 2656 Add trailing newline. 2657 * doc/openacc-runtime-library-routines/accsetdevicenum.rst: 2658 Add trailing newline. 2659 * doc/openacc-runtime-library-routines/accsetdevicetype.rst: 2660 Add trailing newline. 2661 * doc/openacc-runtime-library-routines/accshutdown.rst: 2662 Add trailing newline. 2663 * doc/openacc-runtime-library-routines/accunmapdata.rst: 2664 Add trailing newline. 2665 * doc/openacc-runtime-library-routines/accupdatedevice.rst: 2666 Add trailing newline. 2667 * doc/openacc-runtime-library-routines/accupdateself.rst: 2668 Add trailing newline. 2669 * doc/openacc-runtime-library-routines/accwait.rst: 2670 Add trailing newline. 2671 * doc/openacc-runtime-library-routines/accwaitall.rst: 2672 Add trailing newline. 2673 * doc/openacc-runtime-library-routines/accwaitallasync.rst: 2674 Add trailing newline. 2675 * doc/openacc-runtime-library-routines/accwaitasync.rst: 2676 Add trailing newline. 2677 * doc/openmp-context-selectors.rst: 2678 Add trailing newline. 2679 * doc/openmp-environment-variables.rst: 2680 Add trailing newline. 2681 * doc/openmp-environment-variables/gompcpuaffinity.rst: 2682 Add trailing newline. 2683 * doc/openmp-environment-variables/gompdebug.rst: 2684 Add trailing newline. 2685 * doc/openmp-environment-variables/gomprtemsthreadpools.rst: 2686 Add trailing newline. 2687 * doc/openmp-environment-variables/gompspincount.rst: 2688 Add trailing newline. 2689 * doc/openmp-environment-variables/gompstacksize.rst: 2690 Add trailing newline. 2691 * doc/openmp-environment-variables/ompcancellation.rst: 2692 Add trailing newline. 2693 * doc/openmp-environment-variables/ompdefaultdevice.rst: 2694 Add trailing newline. 2695 * doc/openmp-environment-variables/ompdisplayenv.rst: 2696 Add trailing newline. 2697 * doc/openmp-environment-variables/ompdynamic.rst: 2698 Add trailing newline. 2699 * doc/openmp-environment-variables/ompmaxactivelevels.rst: 2700 Add trailing newline. 2701 * doc/openmp-environment-variables/ompmaxtaskpriority.rst: 2702 Add trailing newline. 2703 * doc/openmp-environment-variables/ompnested.rst: 2704 Add trailing newline. 2705 * doc/openmp-environment-variables/ompnumteams.rst: 2706 Add trailing newline. 2707 * doc/openmp-environment-variables/ompnumthreads.rst: 2708 Add trailing newline. 2709 * doc/openmp-environment-variables/ompplaces.rst: 2710 Add trailing newline. 2711 * doc/openmp-environment-variables/ompprocbind.rst: 2712 Add trailing newline. 2713 * doc/openmp-environment-variables/ompschedule.rst: 2714 Add trailing newline. 2715 * doc/openmp-environment-variables/ompstacksize.rst: 2716 Add trailing newline. 2717 * doc/openmp-environment-variables/omptargetoffload.rst: 2718 Add trailing newline. 2719 * doc/openmp-environment-variables/ompteamsthreadlimit.rst: 2720 Add trailing newline. 2721 * doc/openmp-environment-variables/ompthreadlimit.rst: 2722 Add trailing newline. 2723 * doc/openmp-environment-variables/ompwaitpolicy.rst: 2724 Add trailing newline. 2725 * doc/openmp-implementation-specifics.rst: 2726 Add trailing newline. 2727 * doc/openmp-implementation-status.rst: 2728 Add trailing newline. 2729 * doc/openmp-implementation-status/openmp-45.rst: 2730 Add trailing newline. 2731 * doc/openmp-implementation-status/openmp-50.rst: 2732 Add trailing newline. 2733 * doc/openmp-implementation-status/openmp-51.rst: 2734 Add trailing newline. 2735 * doc/openmp-implementation-status/openmp-52.rst: 2736 Add trailing newline. 2737 * doc/openmp-runtime-library-routines.rst: 2738 Add trailing newline. 2739 * doc/openmp-runtime-library-routines/ompdestroylock.rst: 2740 Add trailing newline. 2741 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst: 2742 Add trailing newline. 2743 * doc/openmp-runtime-library-routines/ompfulfillevent.rst: 2744 Add trailing newline. 2745 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst: 2746 Add trailing newline. 2747 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst: 2748 Add trailing newline. 2749 * doc/openmp-runtime-library-routines/ompgetcancellation.rst: 2750 Add trailing newline. 2751 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst: 2752 Add trailing newline. 2753 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst: 2754 Add trailing newline. 2755 * doc/openmp-runtime-library-routines/ompgetdynamic.rst: 2756 Add trailing newline. 2757 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst: 2758 Add trailing newline. 2759 * doc/openmp-runtime-library-routines/ompgetlevel.rst: 2760 Add trailing newline. 2761 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst: 2762 Add trailing newline. 2763 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst: 2764 Add trailing newline. 2765 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst: 2766 Add trailing newline. 2767 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst: 2768 Add trailing newline. 2769 * doc/openmp-runtime-library-routines/ompgetnested.rst: 2770 Add trailing newline. 2771 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst: 2772 Add trailing newline. 2773 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst: 2774 Add trailing newline. 2775 * doc/openmp-runtime-library-routines/ompgetnumteams.rst: 2776 Add trailing newline. 2777 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst: 2778 Add trailing newline. 2779 * doc/openmp-runtime-library-routines/ompgetprocbind.rst: 2780 Add trailing newline. 2781 * doc/openmp-runtime-library-routines/ompgetschedule.rst: 2782 Add trailing newline. 2783 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst: 2784 Add trailing newline. 2785 * doc/openmp-runtime-library-routines/ompgetteamnum.rst: 2786 Add trailing newline. 2787 * doc/openmp-runtime-library-routines/ompgetteamsize.rst: 2788 Add trailing newline. 2789 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst: 2790 Add trailing newline. 2791 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst: 2792 Add trailing newline. 2793 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst: 2794 Add trailing newline. 2795 * doc/openmp-runtime-library-routines/ompgetwtick.rst: 2796 Add trailing newline. 2797 * doc/openmp-runtime-library-routines/ompgetwtime.rst: 2798 Add trailing newline. 2799 * doc/openmp-runtime-library-routines/ompinfinal.rst: 2800 Add trailing newline. 2801 * doc/openmp-runtime-library-routines/ompinitlock.rst: 2802 Add trailing newline. 2803 * doc/openmp-runtime-library-routines/ompinitnestlock.rst: 2804 Add trailing newline. 2805 * doc/openmp-runtime-library-routines/ompinparallel.rst: 2806 Add trailing newline. 2807 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst: 2808 Add trailing newline. 2809 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst: 2810 Add trailing newline. 2811 * doc/openmp-runtime-library-routines/ompsetdynamic.rst: 2812 Add trailing newline. 2813 * doc/openmp-runtime-library-routines/ompsetlock.rst: 2814 Add trailing newline. 2815 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst: 2816 Add trailing newline. 2817 * doc/openmp-runtime-library-routines/ompsetnested.rst: 2818 Add trailing newline. 2819 * doc/openmp-runtime-library-routines/ompsetnestlock.rst: 2820 Add trailing newline. 2821 * doc/openmp-runtime-library-routines/ompsetnumteams.rst: 2822 Add trailing newline. 2823 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst: 2824 Add trailing newline. 2825 * doc/openmp-runtime-library-routines/ompsetschedule.rst: 2826 Add trailing newline. 2827 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst: 2828 Add trailing newline. 2829 * doc/openmp-runtime-library-routines/omptestlock.rst: 2830 Add trailing newline. 2831 * doc/openmp-runtime-library-routines/omptestnestlock.rst: 2832 Add trailing newline. 2833 * doc/openmp-runtime-library-routines/ompunsetlock.rst: 2834 Add trailing newline. 2835 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst: 2836 Add trailing newline. 2837 * doc/reporting-bugs.rst: 2838 Add trailing newline. 2839 * doc/the-libgomp-abi.rst: 2840 Add trailing newline. 2841 * doc/the-libgomp-abi/implementing-atomic-construct.rst: 2842 Add trailing newline. 2843 * doc/the-libgomp-abi/implementing-barrier-construct.rst: 2844 Add trailing newline. 2845 * doc/the-libgomp-abi/implementing-critical-construct.rst: 2846 Add trailing newline. 2847 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst: 2848 Add trailing newline. 2849 * doc/the-libgomp-abi/implementing-flush-construct.rst: 2850 Add trailing newline. 2851 * doc/the-libgomp-abi/implementing-for-construct.rst: 2852 Add trailing newline. 2853 * doc/the-libgomp-abi/implementing-master-construct.rst: 2854 Add trailing newline. 2855 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst: 2856 Add trailing newline. 2857 * doc/the-libgomp-abi/implementing-ordered-construct.rst: 2858 Add trailing newline. 2859 * doc/the-libgomp-abi/implementing-parallel-construct.rst: 2860 Add trailing newline. 2861 * doc/the-libgomp-abi/implementing-private-clause.rst: 2862 Add trailing newline. 2863 * doc/the-libgomp-abi/implementing-reduction-clause.rst: 2864 Add trailing newline. 2865 * doc/the-libgomp-abi/implementing-sections-construct.rst: 2866 Add trailing newline. 2867 * doc/the-libgomp-abi/implementing-single-construct.rst: 2868 Add trailing newline. 2869 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst: 2870 Add trailing newline. 2871 2872 2022-11-09 Martin Liska <mliska (a] suse.cz> 2873 2874 * Makefile.in: Build info pages conditionally. 2875 2876 2022-11-09 Martin Liska <mliska (a] suse.cz> 2877 2878 * Makefile.in: Support --with-sphinx-build. 2879 * configure.ac: Likewise.. 2880 * configure: Regenerate. 2881 2882 2022-11-09 Martin Liska <mliska (a] suse.cz> 2883 2884 * libgomp.texi: Removed. 2885 2886 2022-11-09 Martin Liska <mliska (a] suse.cz> 2887 2888 * Makefile.in: Support Sphinx based documentation. 2889 2890 2022-11-09 Martin Liska <mliska (a] suse.cz> 2891 2892 * doc/amd-radeon-gcn.rst: New file. 2893 * doc/conf.py: New file. 2894 * doc/copyright.rst: New file. 2895 * doc/cuda-streams-usage.rst: New file. 2896 * doc/enabling-openacc.rst: New file. 2897 * doc/enabling-openmp.rst: New file. 2898 * doc/first-invocation-nvidia-cublas-library-api.rst: New file. 2899 * doc/first-invocation-openacc-library-api.rst: New file. 2900 * doc/funding.rst: New file. 2901 * doc/general-public-license-3.rst: New file. 2902 * doc/gnu-free-documentation-license.rst: New file. 2903 * doc/implementation-status-and-implementation-defined-behavior.rst: New file. 2904 * doc/index.rst: New file. 2905 * doc/indices-and-tables.rst: New file. 2906 * doc/introduction.rst: New file. 2907 * doc/memory-allocation-with-libmemkind.rst: New file. 2908 * doc/nvptx.rst: New file. 2909 * doc/offload-target-specifics.rst: New file. 2910 * doc/openacc-environment-variables.rst: New file. 2911 * doc/openacc-environment-variables/accdevicenum.rst: New file. 2912 * doc/openacc-environment-variables/accdevicetype.rst: New file. 2913 * doc/openacc-environment-variables/accproflib.rst: New file. 2914 * doc/openacc-environment-variables/gccaccnotify.rst: New file. 2915 * doc/openacc-introduction.rst: New file. 2916 * doc/openacc-library-and-environment-variables.rst: New file. 2917 * doc/openacc-library-interoperability.rst: New file. 2918 * doc/openacc-profiling-interface.rst: New file. 2919 * doc/openacc-runtime-library-routines.rst: New file. 2920 * doc/openacc-runtime-library-routines/accasynctest.rst: New file. 2921 * doc/openacc-runtime-library-routines/accasynctestall.rst: New file. 2922 * doc/openacc-runtime-library-routines/accattach.rst: New file. 2923 * doc/openacc-runtime-library-routines/acccopyin.rst: New file. 2924 * doc/openacc-runtime-library-routines/acccopyout.rst: New file. 2925 * doc/openacc-runtime-library-routines/acccreate.rst: New file. 2926 * doc/openacc-runtime-library-routines/accdelete.rst: New file. 2927 * doc/openacc-runtime-library-routines/accdetach.rst: New file. 2928 * doc/openacc-runtime-library-routines/accdeviceptr.rst: New file. 2929 * doc/openacc-runtime-library-routines/accfree.rst: New file. 2930 * doc/openacc-runtime-library-routines/accgetcudastream.rst: New file. 2931 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst: New file. 2932 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst: New file. 2933 * doc/openacc-runtime-library-routines/accgetdevicenum.rst: New file. 2934 * doc/openacc-runtime-library-routines/accgetdevicetype.rst: New file. 2935 * doc/openacc-runtime-library-routines/accgetnumdevices.rst: New file. 2936 * doc/openacc-runtime-library-routines/accgetproperty.rst: New file. 2937 * doc/openacc-runtime-library-routines/acchostptr.rst: New file. 2938 * doc/openacc-runtime-library-routines/accinit.rst: New file. 2939 * doc/openacc-runtime-library-routines/accispresent.rst: New file. 2940 * doc/openacc-runtime-library-routines/accmalloc.rst: New file. 2941 * doc/openacc-runtime-library-routines/accmapdata.rst: New file. 2942 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst: New file. 2943 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst: New file. 2944 * doc/openacc-runtime-library-routines/accondevice.rst: New file. 2945 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst: New file. 2946 * doc/openacc-runtime-library-routines/accpresentorcreate.rst: New file. 2947 * doc/openacc-runtime-library-routines/accproflookup.rst: New file. 2948 * doc/openacc-runtime-library-routines/accprofregister.rst: New file. 2949 * doc/openacc-runtime-library-routines/accprofunregister.rst: New file. 2950 * doc/openacc-runtime-library-routines/accregisterlibrary.rst: New file. 2951 * doc/openacc-runtime-library-routines/accsetcudastream.rst: New file. 2952 * doc/openacc-runtime-library-routines/accsetdevicenum.rst: New file. 2953 * doc/openacc-runtime-library-routines/accsetdevicetype.rst: New file. 2954 * doc/openacc-runtime-library-routines/accshutdown.rst: New file. 2955 * doc/openacc-runtime-library-routines/accunmapdata.rst: New file. 2956 * doc/openacc-runtime-library-routines/accupdatedevice.rst: New file. 2957 * doc/openacc-runtime-library-routines/accupdateself.rst: New file. 2958 * doc/openacc-runtime-library-routines/accwait.rst: New file. 2959 * doc/openacc-runtime-library-routines/accwaitall.rst: New file. 2960 * doc/openacc-runtime-library-routines/accwaitallasync.rst: New file. 2961 * doc/openacc-runtime-library-routines/accwaitasync.rst: New file. 2962 * doc/openmp-context-selectors.rst: New file. 2963 * doc/openmp-environment-variables.rst: New file. 2964 * doc/openmp-environment-variables/gompcpuaffinity.rst: New file. 2965 * doc/openmp-environment-variables/gompdebug.rst: New file. 2966 * doc/openmp-environment-variables/gomprtemsthreadpools.rst: New file. 2967 * doc/openmp-environment-variables/gompspincount.rst: New file. 2968 * doc/openmp-environment-variables/gompstacksize.rst: New file. 2969 * doc/openmp-environment-variables/ompcancellation.rst: New file. 2970 * doc/openmp-environment-variables/ompdefaultdevice.rst: New file. 2971 * doc/openmp-environment-variables/ompdisplayenv.rst: New file. 2972 * doc/openmp-environment-variables/ompdynamic.rst: New file. 2973 * doc/openmp-environment-variables/ompmaxactivelevels.rst: New file. 2974 * doc/openmp-environment-variables/ompmaxtaskpriority.rst: New file. 2975 * doc/openmp-environment-variables/ompnested.rst: New file. 2976 * doc/openmp-environment-variables/ompnumteams.rst: New file. 2977 * doc/openmp-environment-variables/ompnumthreads.rst: New file. 2978 * doc/openmp-environment-variables/ompplaces.rst: New file. 2979 * doc/openmp-environment-variables/ompprocbind.rst: New file. 2980 * doc/openmp-environment-variables/ompschedule.rst: New file. 2981 * doc/openmp-environment-variables/ompstacksize.rst: New file. 2982 * doc/openmp-environment-variables/omptargetoffload.rst: New file. 2983 * doc/openmp-environment-variables/ompteamsthreadlimit.rst: New file. 2984 * doc/openmp-environment-variables/ompthreadlimit.rst: New file. 2985 * doc/openmp-environment-variables/ompwaitpolicy.rst: New file. 2986 * doc/openmp-implementation-specifics.rst: New file. 2987 * doc/openmp-implementation-status.rst: New file. 2988 * doc/openmp-implementation-status/openmp-45.rst: New file. 2989 * doc/openmp-implementation-status/openmp-50.rst: New file. 2990 * doc/openmp-implementation-status/openmp-51.rst: New file. 2991 * doc/openmp-implementation-status/openmp-52.rst: New file. 2992 * doc/openmp-runtime-library-routines.rst: New file. 2993 * doc/openmp-runtime-library-routines/ompdestroylock.rst: New file. 2994 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst: New file. 2995 * doc/openmp-runtime-library-routines/ompfulfillevent.rst: New file. 2996 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst: New file. 2997 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst: New file. 2998 * doc/openmp-runtime-library-routines/ompgetcancellation.rst: New file. 2999 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst: New file. 3000 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst: New file. 3001 * doc/openmp-runtime-library-routines/ompgetdynamic.rst: New file. 3002 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst: New file. 3003 * doc/openmp-runtime-library-routines/ompgetlevel.rst: New file. 3004 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst: New file. 3005 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst: New file. 3006 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst: New file. 3007 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst: New file. 3008 * doc/openmp-runtime-library-routines/ompgetnested.rst: New file. 3009 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst: New file. 3010 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst: New file. 3011 * doc/openmp-runtime-library-routines/ompgetnumteams.rst: New file. 3012 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst: New file. 3013 * doc/openmp-runtime-library-routines/ompgetprocbind.rst: New file. 3014 * doc/openmp-runtime-library-routines/ompgetschedule.rst: New file. 3015 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst: New file. 3016 * doc/openmp-runtime-library-routines/ompgetteamnum.rst: New file. 3017 * doc/openmp-runtime-library-routines/ompgetteamsize.rst: New file. 3018 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst: New file. 3019 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst: New file. 3020 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst: New file. 3021 * doc/openmp-runtime-library-routines/ompgetwtick.rst: New file. 3022 * doc/openmp-runtime-library-routines/ompgetwtime.rst: New file. 3023 * doc/openmp-runtime-library-routines/ompinfinal.rst: New file. 3024 * doc/openmp-runtime-library-routines/ompinitlock.rst: New file. 3025 * doc/openmp-runtime-library-routines/ompinitnestlock.rst: New file. 3026 * doc/openmp-runtime-library-routines/ompinparallel.rst: New file. 3027 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst: New file. 3028 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst: New file. 3029 * doc/openmp-runtime-library-routines/ompsetdynamic.rst: New file. 3030 * doc/openmp-runtime-library-routines/ompsetlock.rst: New file. 3031 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst: New file. 3032 * doc/openmp-runtime-library-routines/ompsetnested.rst: New file. 3033 * doc/openmp-runtime-library-routines/ompsetnestlock.rst: New file. 3034 * doc/openmp-runtime-library-routines/ompsetnumteams.rst: New file. 3035 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst: New file. 3036 * doc/openmp-runtime-library-routines/ompsetschedule.rst: New file. 3037 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst: New file. 3038 * doc/openmp-runtime-library-routines/omptestlock.rst: New file. 3039 * doc/openmp-runtime-library-routines/omptestnestlock.rst: New file. 3040 * doc/openmp-runtime-library-routines/ompunsetlock.rst: New file. 3041 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst: New file. 3042 * doc/reporting-bugs.rst: New file. 3043 * doc/the-libgomp-abi.rst: New file. 3044 * doc/the-libgomp-abi/implementing-atomic-construct.rst: New file. 3045 * doc/the-libgomp-abi/implementing-barrier-construct.rst: New file. 3046 * doc/the-libgomp-abi/implementing-critical-construct.rst: New file. 3047 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst: 3048 New file. 3049 * doc/the-libgomp-abi/implementing-flush-construct.rst: New file. 3050 * doc/the-libgomp-abi/implementing-for-construct.rst: New file. 3051 * doc/the-libgomp-abi/implementing-master-construct.rst: New file. 3052 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst: New file. 3053 * doc/the-libgomp-abi/implementing-ordered-construct.rst: New file. 3054 * doc/the-libgomp-abi/implementing-parallel-construct.rst: New file. 3055 * doc/the-libgomp-abi/implementing-private-clause.rst: New file. 3056 * doc/the-libgomp-abi/implementing-reduction-clause.rst: New file. 3057 * doc/the-libgomp-abi/implementing-sections-construct.rst: New file. 3058 * doc/the-libgomp-abi/implementing-single-construct.rst: New file. 3059 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst: New file. 3060 3061 2022-11-04 Thomas Schwinge <thomas (a] codesourcery.com> 3062 3063 * libgomp-plugin.h (OFFLOAD_TARGET_TYPE_INTEL_MIC): Remove. 3064 * libgomp.texi (OpenMP Context Selectors): Remove Intel MIC 3065 documentation. 3066 * plugin/configfrag.ac <enable_offload_targets> 3067 [*-intelmic-* | *-intelmicemul-*]: Remove. 3068 * configure: Regenerate. 3069 * testsuite/lib/libgomp.exp (libgomp_init): Remove 'liboffloadmic' 3070 handling. 3071 (offload_target_to_openacc_device_type) 3072 [$offload_target = *-intelmic*]: Remove. 3073 (check_effective_target_offload_device_intel_mic) 3074 (check_effective_target_offload_device_any_intel_mic): Remove. 3075 * testsuite/libgomp.c-c++-common/on_device_arch.h 3076 (device_arch_intel_mic, on_device_arch_intel_mic, any_device_arch) 3077 (any_device_arch_intel_mic): Remove. 3078 * testsuite/libgomp.c-c++-common/target-45.c: Remove 3079 'offload_device_any_intel_mic' XFAIL. 3080 * testsuite/libgomp.fortran/target10.f90: Likewise. 3081 3082 2022-11-03 Tobias Burnus <tobias (a] codesourcery.com> 3083 3084 * testsuite/libgomp.fortran/target-11.f90: New test. 3085 * testsuite/libgomp.fortran/target-13.f90: New test. 3086 3087 2022-11-02 Thomas Schwinge <thomas (a] codesourcery.com> 3088 3089 PR libgomp/106643 3090 PR fortran/96668 3091 * oacc-mem.c (goacc_enter_data_internal): Support 3092 OpenACC 'declare create' with Fortran allocatable arrays, part II. 3093 * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-directive.f90: 3094 Adjust. 3095 * testsuite/libgomp.oacc-fortran/pr106643-1.f90: New. 3096 3097 2022-11-02 Thomas Schwinge <thomas (a] codesourcery.com> 3098 3099 PR libgomp/106643 3100 * oacc-mem.c (goacc_enter_data_internal): Support 3101 OpenACC 'declare create' with Fortran allocatable arrays, part I. 3102 * testsuite/libgomp.oacc-fortran/declare-allocatable-1-directive.f90: 3103 New. 3104 * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-directive.f90: 3105 New. 3106 3107 2022-11-02 Thomas Schwinge <thomas (a] codesourcery.com> 3108 3109 * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-runtime.f90: 3110 New. 3111 3112 2022-11-02 Thomas Schwinge <thomas (a] codesourcery.com> 3113 3114 * testsuite/libgomp.oacc-fortran/declare-allocatable-1-runtime.f90: 3115 New. 3116 3117 2022-11-02 Cesar Philippidis <cesar (a] codesourcery.com> 3118 Thomas Schwinge <thomas (a] codesourcery.com> 3119 3120 * testsuite/libgomp.oacc-fortran/declare-allocatable-1.f90: New. 3121 3122 2022-10-28 Julian Brown <julian (a] codesourcery.com> 3123 Thomas Schwinge <thomas (a] codesourcery.com> 3124 3125 PR middle-end/90115 3126 * testsuite/libgomp.oacc-fortran/declare-1.f90: Adjust scan output. 3127 * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise. 3128 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise. 3129 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise. 3130 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise. 3131 3132 2022-10-24 Thomas Schwinge <thomas (a] codesourcery.com> 3133 3134 * plugin/plugin-nvptx.c (nvptx_open_device): Initialize 3135 'ptx_dev->rev_data'. 3136 3137 2022-10-24 Tobias Burnus <tobias (a] codesourcery.com> 3138 3139 * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Remove 3140 'static' for this variable. 3141 * config/nvptx/libgomp-nvptx.h: New file. 3142 * config/nvptx/target.c: Include it. 3143 (GOMP_ADDITIONAL_ICVS): Declare extern var. 3144 (GOMP_REV_OFFLOAD_VAR): Declare var. 3145 (GOMP_target_ext): Handle reverse offload. 3146 * libgomp-plugin.h (GOMP_PLUGIN_target_rev): New prototype. 3147 * libgomp-plugin.c (GOMP_PLUGIN_target_rev): New, call ... 3148 * target.c (gomp_target_rev): ... this new stub function. 3149 * libgomp.h (gomp_target_rev): Declare. 3150 * libgomp.map (GOMP_PLUGIN_1.4): New; add GOMP_PLUGIN_target_rev. 3151 * plugin/cuda-lib.def (cuMemHostAlloc): Add. 3152 * plugin/plugin-nvptx.c: Include libgomp-nvptx.h. 3153 (struct ptx_device): Add rev_data member. 3154 (nvptx_open_device): Remove async_engines query, last used in 3155 r10-304-g1f4c5b9b; add unified-address assert check. 3156 (GOMP_OFFLOAD_get_num_devices): Claim unified address 3157 support. 3158 (GOMP_OFFLOAD_load_image): Free rev_fn_table if no 3159 offload functions exist. Make offload var available 3160 on host and device. 3161 (rev_off_dev_to_host_cpy, rev_off_host_to_dev_cpy): New. 3162 (GOMP_OFFLOAD_run): Handle reverse offload. 3163 3164 2022-10-21 Thomas Schwinge <thomas (a] codesourcery.com> 3165 3166 PR tree-optimization/107195 3167 PR target/107344 3168 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Restore SESE 3169 regions checking. 3170 3171 2022-10-20 Tobias Burnus <tobias (a] codesourcery.com> 3172 3173 * testsuite/lib/libgomp.exp (check_effective_target_offload_device_gcn): 3174 New. 3175 * testsuite/libgomp.c-c++-common/on_device_arch.h (device_arch_gcn, 3176 on_device_arch_gcn): New. 3177 * testsuite/libgomp.c-c++-common/requires-4a.c: New test; copied from 3178 requires-4.c but using heap-allocated memory. 3179 3180 2022-10-20 Thomas Schwinge <thomas (a] codesourcery.com> 3181 3182 PR target/105421 3183 * testsuite/libgomp.oacc-c-c++-common/private-big-1.c: New. 3184 3185 2022-10-17 Thomas Schwinge <thomas (a] codesourcery.com> 3186 3187 * testsuite/libgomp.c/reverse-offload-sm30.c: Fix nvptx-specific 3188 '-foffload-options' syntax. 3189 3190 2022-10-13 Tobias Burnus <tobias (a] codesourcery.com> 3191 3192 * testsuite/libgomp.fortran/task-7.f90: New test. 3193 * testsuite/libgomp.fortran/task-8.f90: New test. 3194 * testsuite/libgomp.fortran/task-in-explicit-1.f90: New test. 3195 * testsuite/libgomp.fortran/task-in-explicit-2.f90: New test. 3196 * testsuite/libgomp.fortran/task-in-explicit-3.f90: New test. 3197 * testsuite/libgomp.fortran/task-reduction-17.f90: New test. 3198 * testsuite/libgomp.fortran/task-reduction-18.f90: New test. 3199 3200 2022-10-12 Jakub Jelinek <jakub (a] redhat.com> 3201 3202 * libgomp.texi (OpenMP 5.2): Fix up allocator -> allocate directive 3203 in deprecation bullet. 3204 3205 2022-10-12 Jakub Jelinek <jakub (a] redhat.com> 3206 3207 * omp.h.in (omp_in_explicit_task): Declare. 3208 * omp_lib.h.in (omp_in_explicit_task): Likewise. 3209 * omp_lib.f90.in (omp_in_explicit_task): New interface. 3210 * libgomp.map (OMP_5.2): New symbol version, export 3211 omp_in_explicit_task and omp_in_explicit_task_. 3212 * task.c (omp_in_explicit_task): New function. 3213 * fortran.c (omp_in_explicit_task): Add ialias_redirect. 3214 (omp_in_explicit_task_): New function. 3215 * libgomp.texi (OpenMP 5.2): Mark omp_in_explicit_task as implemented. 3216 * testsuite/libgomp.c-c++-common/task-in-explicit-1.c: New test. 3217 * testsuite/libgomp.c-c++-common/task-in-explicit-2.c: New test. 3218 * testsuite/libgomp.c-c++-common/task-in-explicit-3.c: New test. 3219 3220 2022-10-12 Jakub Jelinek <jakub (a] redhat.com> 3221 3222 * task.c (gomp_create_artificial_team): Fix up handling of invocations 3223 from within explicit task. 3224 * target.c (GOMP_target_ext): Likewise. 3225 * testsuite/libgomp.c/task-7.c: New test. 3226 * testsuite/libgomp.c/task-8.c: New test. 3227 * testsuite/libgomp.c-c++-common/task-reduction-17.c: New test. 3228 * testsuite/libgomp.c-c++-common/task-reduction-18.c: New test. 3229 3230 2022-10-12 Martin Liska <mliska (a] suse.cz> 3231 3232 * configure: Regenerate. 3233 3234 2022-10-11 Olivier Hainque <hainque (a] adacore.com> 3235 Olivier Hainque <hainque (a] adacore.com> 3236 3237 * configure: Regenerate. 3238 3239 2022-10-05 Tobias Burnus <tobias (a] codesourcery.com> 3240 3241 * libgomp.texi (OpenMP 5.1 Impl. Status): Mark 'assume' as 'Y'. 3242 3243 2022-10-04 Jakub Jelinek <jakub (a] redhat.com> 3244 3245 * libgomp.texi (Support begin/end declare target syntax in C/C++): 3246 Mark as implemented. 3247 3248 2022-09-30 Tobias Burnus <tobias (a] codesourcery.com> 3249 3250 PR fortran/105318 3251 * testsuite/libgomp.fortran/is_device_ptr-2.f90: New test. 3252 3253 2022-09-28 Tobias Burnus <tobias (a] codesourcery.com> 3254 3255 * libgomp.texi (OpenMP 5.1): Mark 'assume' as implemented 3256 for C/C++. Remove duplicated 'begin declare target' entry. 3257 3258 2022-09-24 Jakub Jelinek <jakub (a] redhat.com> 3259 3260 PR c/106981 3261 * testsuite/libgomp.c-c++-common/pr106981.c: New test. 3262 3263 2022-09-14 Julian Brown <julian (a] codesourcery.com> 3264 3265 * testsuite/libgomp.oacc-c-c++-common/deep-copy-15.c: New test. 3266 * testsuite/libgomp.oacc-c-c++-common/deep-copy-16.c: New test. 3267 * testsuite/libgomp.oacc-c++/deep-copy-17.C: New test. 3268 * testsuite/libgomp.oacc-c-c++-common/deep-copy-arrayofstruct.c: Move 3269 test to here, make "run" test. 3270 3271 2022-09-13 Jakub Jelinek <jakub (a] redhat.com> 3272 3273 PR libgomp/106906 3274 * env.c (get_icv_member_addr): Cast false to void * before assigning 3275 it to icv_addr[1], and comment the whole assignment out. 3276 3277 2022-09-13 Tobias Burnus <tobias (a] codesourcery.com> 3278 3279 * libgomp.texi (gcn): Move misplaced -march=sm_30 remark to ... 3280 (nvptx): ... here. 3281 3282 2022-09-12 Tobias Burnus <tobias (a] codesourcery.com> 3283 3284 * libgomp.texi (Offload-Target Specifics: nvptx): Document 3285 that reverse offload requires >= -march=sm_35. 3286 * testsuite/libgomp.c-c++-common/requires-4.c: Build for nvptx 3287 with -misa=sm_35. 3288 * testsuite/libgomp.c-c++-common/requires-5.c: Likewise. 3289 * testsuite/libgomp.c-c++-common/requires-6.c: Likewise. 3290 * testsuite/libgomp.c-c++-common/reverse-offload-1.c: Likewise. 3291 * testsuite/libgomp.fortran/reverse-offload-1.f90: Likewise. 3292 * testsuite/libgomp.c/reverse-offload-sm30.c: New test. 3293 3294 2022-09-12 Tobias Burnus <tobias (a] codesourcery.com> 3295 3296 * libgomp.texi (OpenMP 5.1 Impl. Status): Add two new minor items. 3297 (OpenMP 5.2 Impl. Status): Improve omp/omx/ompx wording. 3298 3299 2022-09-12 Jakub Jelinek <jakub (a] redhat.com> 3300 3301 PR libgomp/106894 3302 * testsuite/libgomp.c-c++-common/icv-6.c: Include string.h. 3303 (main): Avoid tests for which corresponding non-_ALL suffixed variable 3304 is in the environment, or for OMP_NUM_TEAMS on the device 3305 OMP_NUM_TEAMS_DEV_?. 3306 3307 2022-09-10 Iain Sandoe <iain (a] sandoe.co.uk> 3308 3309 * env.c (initialize_env): Include libiberty environ.h. 3310 3311 2022-09-09 Tobias Burnus <tobias (a] codesourcery.com> 3312 3313 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Read offload 3314 function address table '$offload_func_table' if rev_fn_table 3315 is not NULL. 3316 3317 2022-09-09 Tobias Burnus <tobias (a] codesourcery.com> 3318 3319 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Read 3320 .offload_func_table to populate rev_fn_table when requested. 3321 3322 2022-09-09 Tobias Burnus <tobias (a] codesourcery.com> 3323 3324 * libgomp-plugin.h (GOMP_OFFLOAD_load_image): Add 3325 'uint64_t **rev_fn_table' argument. 3326 * oacc-host.c (host_load_image): Likewise. 3327 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Likewise; 3328 currently unused. 3329 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise. 3330 * target.c (gomp_load_image_to_device): Update call but pass 3331 NULL for now. 3332 3333 2022-09-09 Jakub Jelinek <jakub (a] redhat.com> 3334 3335 PR libgomp/106894 3336 * env.c (initialize_env) <case PARSE_BIND>: Use char ** instead of 3337 char * for dest[1] initialization from params[1]. Formatting fixes. 3338 3339 2022-09-08 Tobias Burnus <tobias (a] codesourcery.com> 3340 3341 PR fortran/106670 3342 * libgomp.texi (OpenMP 5.2): Add comment to ompx/omx entry. 3343 3344 2022-09-08 Tobias Burnus <tobias (a] codesourcery.com> 3345 3346 * libgomp.texi (OpenMP-Implementation Specifics): New; add libmemkind 3347 section; move OpenMP Context Selectors from ... 3348 (Offload-Target Specifics): ... here; add 'AMD Radeo (GCN)' and 3349 'nvptx' sections. 3350 3351 2022-09-08 Marcel Vollweiler <marcel (a] codesourcery.com> 3352 3353 * config/gcn/icv-device.c (omp_get_default_device): Return device- 3354 specific ICV. 3355 (omp_get_max_teams): Added for GCN devices. 3356 (omp_set_num_teams): Likewise. 3357 (ialias): Likewise. 3358 * config/nvptx/icv-device.c (omp_get_default_device): Return device- 3359 specific ICV. 3360 (omp_get_max_teams): Added for NVPTX devices. 3361 (omp_set_num_teams): Likewise. 3362 (ialias): Likewise. 3363 * env.c (struct gomp_icv_list): New struct to store entries of initial 3364 ICV values. 3365 (struct gomp_offload_icv_list): New struct to store entries of device- 3366 specific ICV values that are copied to the device and back. 3367 (struct gomp_default_icv_values): New struct to store default values of 3368 ICVs according to the OpenMP standard. 3369 (parse_schedule): Generalized for different variants of OMP_SCHEDULE. 3370 (print_env_var_error): Function that prints an error for invalid values 3371 for ICVs. 3372 (parse_unsigned_long_1): Removed getenv. Generalized. 3373 (parse_unsigned_long): Likewise. 3374 (parse_int_1): Likewise. 3375 (parse_int): Likewise. 3376 (parse_int_secure): Likewise. 3377 (parse_unsigned_long_list): Likewise. 3378 (parse_target_offload): Likewise. 3379 (parse_bind_var): Likewise. 3380 (parse_stacksize): Likewise. 3381 (parse_boolean): Likewise. 3382 (parse_wait_policy): Likewise. 3383 (parse_allocator): Likewise. 3384 (omp_display_env): Extended to output different variants of environment 3385 variables. 3386 (print_schedule): New helper function for omp_display_env which prints 3387 the values of run_sched_var. 3388 (print_proc_bind): New helper function for omp_display_env which prints 3389 the values of proc_bind_var. 3390 (enum gomp_parse_type): Collection of types used for parsing environment 3391 variables. 3392 (ENTRY): Preprocess string lengths of environment variables. 3393 (OMP_VAR_CNT): Preprocess table size. 3394 (OMP_HOST_VAR_CNT): Likewise. 3395 (INT_MAX_STR_LEN): Constant for the maximal number of digits of a device 3396 number. 3397 (gomp_get_icv_flag): Returns if a flag for a particular ICV is set. 3398 (gomp_set_icv_flag): Sets a flag for a particular ICV. 3399 (print_device_specific_icvs): New helper function for omp_display_env to 3400 print device specific ICV values. 3401 (get_device_num): New helper function for parse_device_specific. 3402 Extracts the device number from an environment variable name. 3403 (get_icv_member_addr): Gets the memory address for a particular member 3404 of an ICV struct. 3405 (gomp_get_initial_icv_item): Get a list item of gomp_initial_icv_list. 3406 (initialize_icvs): New function to initialize a gomp_initial_icvs 3407 struct. 3408 (add_initial_icv_to_list): Adds an ICV struct to gomp_initial_icv_list. 3409 (startswith): Checks if a string starts with a given prefix. 3410 (initialize_env): Extended to parse the new syntax of environment 3411 variables. 3412 * icv-device.c (omp_get_max_teams): Added. 3413 (ialias): Likewise. 3414 (omp_set_num_teams): Likewise. 3415 * icv.c (omp_set_num_teams): Moved to icv-device.c. 3416 (omp_get_max_teams): Likewise. 3417 (ialias): Likewise. 3418 * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Removed. 3419 (GOMP_ADDITIONAL_ICVS): New target-side struct that 3420 holds the designated ICVs of the target device. 3421 * libgomp.h (enum gomp_icvs): Collection of ICVs. 3422 (enum gomp_device_num): Definition of device numbers for _ALL, _DEV, and 3423 no suffix. 3424 (enum gomp_env_suffix): Collection of possible suffixes of environment 3425 variables. 3426 (struct gomp_initial_icvs): Contains all ICVs for which we need to store 3427 initial values. 3428 (struct gomp_default_icv):New struct to hold ICVs for which we need 3429 to store initial values. 3430 (struct gomp_icv_list): Definition of a linked list that is used for 3431 storing ICVs for the devices and also for _DEV, _ALL, and without 3432 suffix. 3433 (struct gomp_offload_icvs): New struct to hold ICVs that are copied to 3434 a device. 3435 (struct gomp_offload_icv_list): Definition of a linked list that holds 3436 device-specific ICVs that are copied to devices. 3437 (gomp_get_initial_icv_item): Get a list item of gomp_initial_icv_list. 3438 (gomp_get_icv_flag): Returns if a flag for a particular ICV is set. 3439 * libgomp.texi: Updated. 3440 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Extended to read 3441 further ICVs from the offload image. 3442 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise. 3443 * target.c (gomp_get_offload_icv_item): Get a list item of 3444 gomp_offload_icv_list. 3445 (get_gomp_offload_icvs): New. Returns the ICV values 3446 depending on the device num and the variable hierarchy. 3447 (gomp_load_image_to_device): Extended to copy further ICVs to a device. 3448 * testsuite/libgomp.c-c++-common/icv-5.c: New test. 3449 * testsuite/libgomp.c-c++-common/icv-6.c: New test. 3450 * testsuite/libgomp.c-c++-common/icv-7.c: New test. 3451 * testsuite/libgomp.c-c++-common/icv-8.c: New test. 3452 * testsuite/libgomp.c-c++-common/omp-display-env-1.c: New test. 3453 * testsuite/libgomp.c-c++-common/omp-display-env-2.c: New test. 3454 3455 2022-09-08 Jakub Jelinek <jakub (a] redhat.com> 3456 3457 * libgomp.texi (OpenMP 5.2): Mention that omp_cur_iteration is now 3458 fully supported. 3459 * testsuite/libgomp.c/doacross-4.c: New test. 3460 * testsuite/libgomp.c/doacross-5.c: New test. 3461 * testsuite/libgomp.c/doacross-6.c: New test. 3462 * testsuite/libgomp.c/doacross-7.c: New test. 3463 3464 2022-09-05 Tobias Burnus <tobias (a] codesourcery.com> 3465 3466 * libgomp.texi (OpenMP 5.2): Update doacross/omp_cur_iteration status. 3467 3468 2022-08-26 Tobias Burnus <tobias (a] codesourcery.com> 3469 3470 * libgomp.texi (OpenMP 5.0): Mark 'ancestor' as implemented but 3471 refer to 'requires'. 3472 * testsuite/libgomp.c-c++-common/reverse-offload-1-aux.c: New test. 3473 * testsuite/libgomp.c-c++-common/reverse-offload-1.c: New test. 3474 * testsuite/libgomp.fortran/reverse-offload-1-aux.f90: New test. 3475 * testsuite/libgomp.fortran/reverse-offload-1.f90: New test. 3476 3477 2022-08-17 Tobias Burnus <tobias (a] codesourcery.com> 3478 3479 PR middle-end/106548 3480 * testsuite/libgomp.c/linear-2.c: New test. 3481 3482 2022-08-17 Tobias Burnus <tobias (a] codesourcery.com> 3483 3484 * splay-tree.h: Fix splay_* macro unsetting if 3485 splay_tree_prefix is defined. 3486 3487 2022-07-29 Tobias Burnus <tobias (a] codesourcery.com> 3488 3489 * testsuite/libgomp.c-c++-common/pr106449-2.c: New test. 3490 3491 2022-07-29 Jakub Jelinek <jakub (a] redhat.com> 3492 3493 PR middle-end/106449 3494 * testsuite/libgomp.c-c++-common/pr106449.c: New test. 3495 3496 2022-07-12 Tobias Burnus <tobias (a] codesourcery.com> 3497 3498 * target.c (gomp_target_init): Added tailing '\n' to gomp_debug. 3499 3500 2022-07-12 Thomas Schwinge <thomas (a] codesourcery.com> 3501 3502 PR middle-end/101551 3503 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: XFAIL 3504 'offloading_enabled' diagnostics issue. 3505 3506 2022-07-11 Thomas Schwinge <thomas (a] codesourcery.com> 3507 3508 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Enhance 3509 '_Pragma' diagnostics verification. 3510 3511 2022-07-10 Lewis Hyatt <lhyatt (a] gmail.com> 3512 3513 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Adapt for 3514 improved warning locations. 3515 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Likewise. 3516 3517 2022-07-08 Thomas Schwinge <thomas (a] codesourcery.com> 3518 3519 * testsuite/libgomp.c-c++-common/requires-1.c: Add 'dg-note's. 3520 * testsuite/libgomp.c-c++-common/requires-2.c: Likewise. 3521 * testsuite/libgomp.c-c++-common/requires-3.c: Likewise. 3522 * testsuite/libgomp.c-c++-common/requires-7.c: Likewise. 3523 * testsuite/libgomp.fortran/requires-1.f90: Likewise. 3524 3525 2022-07-07 Thomas Schwinge <thomas (a] codesourcery.com> 3526 3527 * target.c (GOMP_offload_register, GOMP_offload_unregister): 3528 Denote as legacy entry points. 3529 * testsuite/lib/libgomp.exp 3530 (check_effective_target_offload_target_any): New proc. 3531 * testsuite/libgomp.c-c++-common/requires-1.c: Enable for 3532 'offload_target_any'. 3533 * testsuite/libgomp.c-c++-common/requires-3.c: Likewise. 3534 * testsuite/libgomp.c-c++-common/requires-7.c: Likewise. 3535 * testsuite/libgomp.fortran/requires-1.f90: Likewise. 3536 3537 2022-07-07 Thomas Schwinge <thomas (a] codesourcery.com> 3538 3539 * testsuite/libgomp.c-c++-common/requires-4.c: Enhance testing. 3540 * testsuite/libgomp.c-c++-common/requires-5.c: Likewise. 3541 3542 2022-07-07 Thomas Schwinge <thomas (a] codesourcery.com> 3543 3544 * testsuite/libgomp.c-c++-common/requires-3.c: Adjust. 3545 3546 2022-07-06 Thomas Schwinge <thomas (a] codesourcery.com> 3547 3548 * target.c (GOMP_offload_register_ver): Clarify 'target_data' -> 3549 'data'. 3550 (GOMP_offload_unregister_ver): Likewise. Fix up 'target_data'. 3551 3552 2022-07-04 Tobias Burnus <tobias (a] codesourcery.com> 3553 Jakub Jelinek <jakub (a] redhat.com> 3554 3555 * libgomp.texi (OpenMP 5.2): Mark linear-clause change as 'Y'. 3556 3557 2022-07-04 Tobias Burnus <tobias (a] codesourcery.com> 3558 Chung-Lin Tang <cltang (a] codesourcery.com> 3559 Thomas Schwinge <thomas (a] codesourcery.com> 3560 3561 * libgomp-plugin.h (GOMP_OFFLOAD_get_num_devices): Add 3562 omp_requires_mask arg. 3563 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Likewise; 3564 return -1 when device available but omp_requires_mask != 0. 3565 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_get_num_devices): Likewise. 3566 * oacc-host.c (host_get_num_devices, host_openacc_get_property): 3567 Update call. 3568 * oacc-init.c (resolve_device, acc_init_1, acc_shutdown_1, 3569 goacc_attach_host_thread_to_device, acc_get_num_devices, 3570 acc_set_device_num, get_property_any): Likewise. 3571 * target.c (omp_requires_mask): New global var. 3572 (gomp_requires_to_name): New. 3573 (GOMP_offload_register_ver): Handle passed omp_requires_mask. 3574 (gomp_target_init): Handle omp_requires_mask. 3575 * libgomp.texi (OpenMP 5.0): Update requires impl. status. 3576 (OpenMP 5.1): Add a missed item. 3577 (OpenMP 5.2): Mark linear-clause change as supported in C/C++. 3578 * testsuite/libgomp.c-c++-common/requires-1-aux.c: New test. 3579 * testsuite/libgomp.c-c++-common/requires-1.c: New test. 3580 * testsuite/libgomp.c-c++-common/requires-2-aux.c: New test. 3581 * testsuite/libgomp.c-c++-common/requires-2.c: New test. 3582 * testsuite/libgomp.c-c++-common/requires-3-aux.c: New test. 3583 * testsuite/libgomp.c-c++-common/requires-3.c: New test. 3584 * testsuite/libgomp.c-c++-common/requires-4-aux.c: New test. 3585 * testsuite/libgomp.c-c++-common/requires-4.c: New test. 3586 * testsuite/libgomp.c-c++-common/requires-5-aux.c: New test. 3587 * testsuite/libgomp.c-c++-common/requires-5.c: New test. 3588 * testsuite/libgomp.c-c++-common/requires-6.c: New test. 3589 * testsuite/libgomp.c-c++-common/requires-7-aux.c: New test. 3590 * testsuite/libgomp.c-c++-common/requires-7.c: New test. 3591 * testsuite/libgomp.fortran/requires-1-aux.f90: New test. 3592 * testsuite/libgomp.fortran/requires-1.f90: New test. 3593 3594 2022-07-01 Tobias Burnus <tobias (a] codesourcery.com> 3595 3596 * libgomp.texi (OpenMP 5.2): Mark target enter/exit data 3597 with fromto as implemented. 3598 3599 2022-06-28 Martin Liska <mliska (a] suse.cz> 3600 3601 * acinclude.m4: Fix typo in mold linker detection. 3602 * Makefile.in: Regenerate. 3603 * configure: Regenerate. 3604 3605 2022-06-21 Jakub Jelinek <jakub (a] redhat.com> 3606 Paul Iannetta <piannetta (a] kalrayinc.com> 3607 3608 PR libgomp/106045 3609 * testsuite/libgomp.c/target-31.c: Add private (i) clause. 3610 3611 2022-06-17 Martin Liska <mliska (a] suse.cz> 3612 3613 * libgomp.texi: Add table header for new features of 3614 OpenMP 5.2. 3615 3616 2022-06-15 Jakub Jelinek <jakub (a] redhat.com> 3617 3618 * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c (main): Initialize 3619 q to ddress of an automatic variable. Use -5 instead of -1 in 3620 omp_get_mapped_ptr call. Add test with omp_initial_device. 3621 * testsuite/libgomp.fortran/get-mapped-ptr-1.f90 (main): Use -5 instead 3622 of -1 in omp_get_mapped_ptr call. Add test with omp_initial_device. 3623 Renumber stop arguments afterwards. 3624 3625 2022-06-13 Jakub Jelinek <jakub (a] redhat.com> 3626 3627 * omp.h.in (omp_initial_device, omp_invalid_device): New enumerators. 3628 * omp_lib.f90.in (omp_initial_device, omp_invalid_device): New 3629 parameters. 3630 * omp_lib.h.in (omp_initial_device, omp_invalid_device): Likewise. 3631 * target.c (resolve_device): Add remapped argument, handle 3632 GOMP_DEVICE_ICV only if remapped is true (and clear remapped), 3633 for negative values, treat GOMP_DEVICE_FALLBACK as fallback only 3634 if remapped, otherwise treat omp_initial_device that way. For 3635 omp_invalid_device, always emit gomp_fatal, even when 3636 OMP_TARGET_OFFLOAD isn't mandatory. 3637 (GOMP_target, GOMP_target_ext, GOMP_target_data, GOMP_target_data_ext, 3638 GOMP_target_update, GOMP_target_update_ext, 3639 GOMP_target_enter_exit_data): Pass true as remapped argument to 3640 resolve_device. 3641 (omp_target_alloc, omp_target_free, omp_target_is_present, 3642 omp_target_memcpy_check, omp_target_associate_ptr, 3643 omp_target_disassociate_ptr, omp_get_mapped_ptr, 3644 omp_target_is_accessible): Pass false as remapped argument to 3645 resolve_device. Treat omp_initial_device the same as 3646 gomp_get_num_devices (). Don't bypass resolve_device calls if 3647 device_num is negative. 3648 (omp_pause_resource): Treat omp_initial_device the same as 3649 gomp_get_num_devices (). Call resolve_device. 3650 * icv-device.c (omp_set_default_device): Always set to device_num 3651 even when it is negative. 3652 * libgomp.texi: Document that Conforming device numbers, 3653 omp_initial_device and omp_invalid_device is implemented. 3654 * testsuite/libgomp.c/target-41.c (main): Add test with 3655 omp_initial_device. 3656 * testsuite/libgomp.c/target-45.c: New test. 3657 * testsuite/libgomp.c/target-46.c: New test. 3658 * testsuite/libgomp.c/target-47.c: New test. 3659 * testsuite/libgomp.c-c++-common/target-is-accessible-1.c (main): Add 3660 test with omp_initial_device. Use -5 instead of -1 for negative value 3661 test. 3662 * testsuite/libgomp.fortran/target-is-accessible-1.f90 (main): 3663 Likewise. Reorder stop numbers. 3664 3665 2022-06-10 Jakub Jelinek <jakub (a] redhat.com> 3666 3667 * allocator.c (gomp_init_memkind): Call dlopen with "libmemkind.so.0" 3668 rather than "libmemkind.so". 3669 3670 2022-06-10 Thomas Schwinge <thomas (a] codesourcery.com> 3671 3672 * plugin/Makefrag.am: Evaluate 'if PLUGIN_NVPTX_DYNAMIC' to true. 3673 * plugin/configfrag.ac (--with-cuda-driver) 3674 (--with-cuda-driver-include, --with-cuda-driver-lib) 3675 (CUDA_DRIVER_INCLUDE, CUDA_DRIVER_LIB, PLUGIN_NVPTX_CPPFLAGS) 3676 (PLUGIN_NVPTX_LDFLAGS, PLUGIN_NVPTX_LIBS, PLUGIN_NVPTX_DYNAMIC): 3677 Remove. 3678 * testsuite/libgomp-test-support.exp.in (cuda_driver_include) 3679 (cuda_driver_lib): Remove. 3680 * testsuite/lib/libgomp.exp (libgomp_init): Don't consider these. 3681 * Makefile.in: Regenerate. 3682 * configure: Likewise. 3683 * testsuite/Makefile.in: Likewise. 3684 3685 2022-06-09 Jakub Jelinek <jakub (a] redhat.com> 3686 3687 * config/linux/allocator.c: Fix up #include directive. 3688 3689 2022-06-09 Jakub Jelinek <jakub (a] redhat.com> 3690 3691 * allocator.c: Include dlfcn.h if LIBGOMP_USE_MEMKIND is defined. 3692 (enum gomp_memkind_kind): New type. 3693 (struct omp_allocator_data): Add memkind field if LIBGOMP_USE_MEMKIND 3694 is defined. 3695 (struct gomp_memkind_data): New type. 3696 (memkind_data, memkind_data_once): New variables. 3697 (gomp_init_memkind, gomp_get_memkind): New functions. 3698 (omp_init_allocator): Initialize data.memkind, don't fail for 3699 omp_high_bw_mem_space if libmemkind supports it. 3700 (omp_aligned_alloc, omp_free, omp_aligned_calloc, omp_realloc): Add 3701 memkind support of LIBGOMP_USE_MEMKIND is defined. 3702 * config/linux/allocator.c: New file. 3703 3704 2022-06-03 Tobias Burnus <tobias (a] codesourcery.com> 3705 3706 * libgomp.texi (OpenMP 5.2): Mark scope w/ firstprivate/allocate as Y. 3707 * testsuite/libgomp.fortran/scope-2.f90: New test. 3708 3709 2022-06-02 David Malcolm <dmalcolm (a] redhat.com> 3710 3711 * testsuite/lib/libgomp.exp: Add load_gcc_lib of scansarif.exp. 3712 3713 2022-05-31 Jakub Jelinek <jakub (a] redhat.com> 3714 3715 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add testcase for 3716 scope construct with allocate clause. 3717 * testsuite/libgomp.c-c++-common/allocate-3.c (foo): Likewise. 3718 * testsuite/libgomp.c-c++-common/scope-2.c: New test. 3719 3720 2022-05-28 Tobias Burnus <tobias (a] codesourcery.com> 3721 3722 * libgomp.texi (OpenMP 5.2): Mark 'enter' clause as supported. 3723 * testsuite/libgomp.fortran/declare-target-1.f90: Extend to test 3724 explicit 'to' and 'enter' clause. 3725 * testsuite/libgomp.fortran/declare-target-2.f90: Update accordingly. 3726 3727 2022-05-28 Jakub Jelinek <jakub (a] redhat.com> 3728 3729 PR libgomp/105745 3730 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Don't define for 3731 defined(HAVE__ALIGNED_MALLOC) case. 3732 * alloc.c (gomp_aligned_alloc): Move defined(HAVE__ALIGNED_MALLOC) 3733 handling as last option before fallback instead of first. 3734 (gomp_aligned_free): For defined(HAVE__ALIGNED_MALLOC) call 3735 _aligned_free. 3736 3737 2022-05-27 Jakub Jelinek <jakub (a] redhat.com> 3738 3739 * testsuite/libgomp.c-c++-common/target-40.c: Modify some existing to 3740 clauses to enter. 3741 * testsuite/libgomp.c/target-41.c: Likewise. 3742 3743 2022-05-27 Tobias Burnus <tobias (a] codesourcery.com> 3744 3745 * libgomp.texi (Other new OpenMP 5.1 features): Add 3746 'begin declare target'. 3747 (Other new OpenMP 5.2 features): New. 3748 3749 2022-05-25 Jakub Jelinek <jakub (a] redhat.com> 3750 3751 * task.c (gomp_task_run_post_handle_dependers): If empty_task 3752 is the last task taskwait depend depends on, wake it up. 3753 Similarly if it is the last child of a taskgroup, use atomic 3754 store instead of decrement and awak taskgroup wait if any. 3755 * testsuite/libgomp.c-c++-common/taskwait-depend-nowait-2.c: New test. 3756 3757 2022-05-24 Andrew Stubbs <ams (a] codesourcery.com> 3758 3759 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add 3760 EF_AMDGPU_MACH_AMDGCN_GFX90a. 3761 (gcn_gfx90a_s): New. 3762 (isa_hsa_name): Support gfx90a. 3763 (isa_code): Likewise. 3764 3765 2022-05-24 Tobias Burnus <tobias (a] codesourcery.com> 3766 3767 PR c/105378 3768 * libgomp.texi (OpenMP 5.1): Set 'taskwait nowait' to 'Y'. 3769 * testsuite/libgomp.fortran/taskwait-depend-nowait-1.f90: New. 3770 3771 2022-05-24 Jakub Jelinek <jakub (a] redhat.com> 3772 3773 PR c/105378 3774 * libgomp_g.h (GOMP_taskwait_depend_nowait): Declare. 3775 * libgomp.map (GOMP_taskwait_depend_nowait): Export at GOMP_5.1.1. 3776 * task.c (empty_task): New function. 3777 (gomp_task_run_post_handle_depend_hash): Declare earlier. 3778 (gomp_task_run_post_handle_depend): Declare. 3779 (GOMP_task): Optimize fn == empty_task if there is nothing to wait 3780 for. 3781 (gomp_task_run_post_handle_dependers): Optimize task->fn == empty_task. 3782 (GOMP_taskwait_depend_nowait): New function. 3783 * testsuite/libgomp.c-c++-common/taskwait-depend-nowait-1.c: New test. 3784 3785 2022-05-23 Tobias Burnus <tobias (a] codesourcery.com> 3786 3787 PR fortran/104949 3788 * target.c (gomp_map_vars_internal, copy_firstprivate_data): 3789 Support attach for GOMP_MAP_FIRSTPRIVATE. 3790 * testsuite/libgomp.fortran/target-firstprivate-1.f90: New test. 3791 * testsuite/libgomp.fortran/target-firstprivate-2.f90: New test. 3792 * testsuite/libgomp.fortran/target-firstprivate-3.f90: New test. 3793 3794 2022-05-20 Marcel Vollweiler <marcel (a] codesourcery.com> 3795 3796 * libgomp.map: Added omp_target_memcpy_async and 3797 omp_target_memcpy_rect_async. 3798 * libgomp.texi: Both functions are now supported. 3799 * omp.h.in: Added omp_target_memcpy_async and 3800 omp_target_memcpy_rect_async. 3801 * omp_lib.f90.in: Added interfaces for both new functions. 3802 * omp_lib.h.in: Likewise. 3803 * target.c (ialias_redirect): Added for GOMP_task. 3804 (omp_target_memcpy): Restructured into check and copy part. 3805 (omp_target_memcpy_check): New helper function for omp_target_memcpy and 3806 omp_target_memcpy_async that checks requirements. 3807 (omp_target_memcpy_copy): New helper function for omp_target_memcpy and 3808 omp_target_memcpy_async that performs the memcpy. 3809 (omp_target_memcpy_async_helper): New helper function that is used in 3810 omp_target_memcpy_async for the asynchronous task. 3811 (omp_target_memcpy_async): Added. 3812 (omp_target_memcpy_rect): Restructured into check and copy part. 3813 (omp_target_memcpy_rect_check): New helper function for 3814 omp_target_memcpy_rect and omp_target_memcpy_rect_async that checks 3815 requirements. 3816 (omp_target_memcpy_rect_copy): New helper function for 3817 omp_target_memcpy_rect and omp_target_memcpy_rect_async that performs 3818 the memcpy. 3819 (omp_target_memcpy_rect_async_helper): New helper function that is used 3820 in omp_target_memcpy_rect_async for the asynchronous task. 3821 (omp_target_memcpy_rect_async): Added. 3822 * task.c (ialias): Added for GOMP_task. 3823 * testsuite/libgomp.c-c++-common/target-memcpy-async-1.c: New test. 3824 * testsuite/libgomp.c-c++-common/target-memcpy-async-2.c: New test. 3825 * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-1.c: New test. 3826 * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-2.c: New test. 3827 * testsuite/libgomp.fortran/target-memcpy-async-1.f90: New test. 3828 * testsuite/libgomp.fortran/target-memcpy-async-2.f90: New test. 3829 * testsuite/libgomp.fortran/target-memcpy-rect-async-1.f90: New test. 3830 * testsuite/libgomp.fortran/target-memcpy-rect-async-2.f90: New test. 3831 3832 2022-05-18 Tobias Burnus <tobias (a] codesourcery.com> 3833 3834 * libgomp.texi (OpenMP 5.1): Set 'inoutset' to Y. 3835 (OpenMP Context Selectors): Add missing comma. 3836 * testsuite/libgomp.fortran/depend-5.f90: Add inoutset test. 3837 * testsuite/libgomp.fortran/depend-6.f90: Likewise. 3838 * testsuite/libgomp.fortran/depend-7.f90: Likewise. 3839 * testsuite/libgomp.fortran/depend-inoutset-1.f90: New test. 3840 3841 2022-05-17 Jakub Jelinek <jakub (a] redhat.com> 3842 3843 * libgomp.texi (OpenMP 5.1): Remove "Not inside target regions" 3844 comment for omp_display_env feature. 3845 3846 2022-05-17 Tobias Burnus <tobias (a] codesourcery.com> 3847 3848 * libgomp.texi (Offload-Target Specifics): New chapter; add section 3849 to document OpenMP context selectors. 3850 3851 2022-05-17 Jakub Jelinek <jakub (a] redhat.com> 3852 3853 * libgomp.h (struct gomp_task_depend_entry): Change is_in type 3854 from bool to unsigned char. 3855 * task.c (gomp_task_handle_depend): Handle GOMP_DEPEND_INOUTSET. 3856 Ignore dependencies where 3857 task->depend[i].is_in && task->depend[i].is_in == ent->is_in 3858 rather than just task->depend[i].is_in && ent->is_in. Remember 3859 whether GOMP_DEPEND_IN loop is needed and guard the loop with that 3860 conditional. 3861 (gomp_task_maybe_wait_for_dependencies): Handle GOMP_DEPEND_INOUTSET. 3862 Ignore dependencies where elem.is_in && elem.is_in == ent->is_in 3863 rather than just elem.is_in && ent->is_in. 3864 * testsuite/libgomp.c-c++-common/depend-1.c (test): Add task with 3865 inoutset depend-kind. 3866 * testsuite/libgomp.c-c++-common/depend-2.c (test): Likewise. 3867 * testsuite/libgomp.c-c++-common/depend-3.c (test): Likewise. 3868 * testsuite/libgomp.c-c++-common/depend-inoutset-1.c: New test. 3869 3870 2022-05-17 Tobias Burnus <tobias (a] codesourcery.com> 3871 3872 * libgomp.texi (OpenMP Implementation Status): Add 5.2 table. 3873 3874 2022-05-17 Tobias Burnus <tobias (a] codesourcery.com> 3875 3876 * libgomp.texi (OpenMP 5.1): Set omp_all_memory to 'Y'. 3877 * testsuite/libgomp.fortran/depend-5.f90: New test. 3878 * testsuite/libgomp.fortran/depend-6.f90: New test. 3879 * testsuite/libgomp.fortran/depend-7.f90: New test. 3880 3881 2022-05-16 Marcel Vollweiler <marcel (a] codesourcery.com> 3882 3883 * testsuite/libgomp.c++/target-has-device-addr-7.C: New test. 3884 * testsuite/libgomp.c++/target-has-device-addr-8.C: New test. 3885 * testsuite/libgomp.c++/target-has-device-addr-9.C: New test. 3886 3887 2022-05-13 Tobias Burnus <tobias (a] codesourcery.com> 3888 3889 * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test. 3890 3891 2022-05-13 Tobias Burnus <tobias (a] codesourcery.com> 3892 3893 * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test. 3894 3895 2022-05-13 Thomas Schwinge <thomas (a] codesourcery.com> 3896 3897 * plugin/Makefrag.am (libgomp_plugin_nvptx_la_CPPFLAGS) 3898 [PLUGIN_NVPTX_DYNAMIC]: Don't append '$(PLUGIN_NVPTX_CPPFLAGS)'. 3899 (libgomp_plugin_nvptx_la_LDFLAGS) [PLUGIN_NVPTX_DYNAMIC]: Don't 3900 append '$(PLUGIN_NVPTX_LDFLAGS)'. 3901 * Makefile.in: Regenerate. 3902 3903 2022-05-12 Thomas Schwinge <thomas (a] codesourcery.com> 3904 3905 * Makefile.am (libgomp_la_LIBADD): Initialize. 3906 * plugin/configfrag.ac (DL_LIBS): New. 3907 (PLUGIN_GCN_LIBS): Remove. 3908 (PLUGIN_NVPTX_LIBS): Don't set in the 'PLUGIN_NVPTX_DYNAMIC' case. 3909 * plugin/Makefrag.am (libgomp_la_LIBADD) 3910 (libgomp_plugin_gcn_la_LIBADD): Consider '$(DL_LIBS)'. 3911 (libgomp_plugin_nvptx_la_LIBADD) <PLUGIN_NVPTX_DYNAMIC>: Likewise. 3912 * Makefile.in: Regenerate. 3913 * config.h.in: Likewise. 3914 * configure: Likewise. 3915 * testsuite/Makefile.in: Likewise. 3916 3917 2022-05-12 Thomas Schwinge <thomas (a] codesourcery.com> 3918 3919 * plugin/Makefrag.am: Handle 'PLUGIN_NVPTX_DYNAMIC'. 3920 * plugin/configfrag.ac (PLUGIN_NVPTX_DYNAMIC): Change 3921 'AC_DEFINE_UNQUOTED' into 'AM_CONDITIONAL'. 3922 * plugin/plugin-nvptx.c: Split 'PLUGIN_NVPTX_DYNAMIC' into 3923 'PLUGIN_NVPTX_INCLUDE_SYSTEM_CUDA_H' and 3924 'PLUGIN_NVPTX_LINK_LIBCUDA'. 3925 * Makefile.in: Regenerate. 3926 * config.h.in: Likewise. 3927 * configure: Likewise. 3928 3929 2022-05-12 Thomas Schwinge <thomas (a] codesourcery.com> 3930 3931 * plugin/configfrag.ac: Don't 'AC_SUBST' and 'AC_DEFINE_UNQUOTED' 3932 for 'PLUGIN_GCN', 'PLUGIN_NVPTX'. 3933 * Makefile.in: Regenerate. 3934 * config.h.in: Likewise. 3935 * configure: Likewise. 3936 * testsuite/Makefile.in: Likewise. 3937 3938 2022-05-12 Jakub Jelinek <jakub (a] redhat.com> 3939 3940 * libgomp.h (struct gomp_task): Add depend_all_memory member. 3941 * task.c (gomp_init_task): Initialize depend_all_memory. 3942 (gomp_task_handle_depend): Handle omp_all_memory. 3943 (gomp_task_run_post_handle_depend_hash): Clear 3944 parent->depend_all_memory if equal to current task. 3945 (gomp_task_maybe_wait_for_dependencies): Handle omp_all_memory. 3946 * testsuite/libgomp.c-c++-common/depend-1.c: New test. 3947 * testsuite/libgomp.c-c++-common/depend-2.c: New test. 3948 * testsuite/libgomp.c-c++-common/depend-3.c: New test. 3949 3950 2022-05-11 Thomas Schwinge <thomas (a] codesourcery.com> 3951 3952 * plugin/configfrag.ac: Remove '--with-hsa-runtime', 3953 '--with-hsa-runtime-include', '--with-hsa-runtime-lib' processing. 3954 * Makefile.in: Regenerate. 3955 * configure: Likewise. 3956 * testsuite/Makefile.in: Likewise. 3957 3958 2022-05-11 Thomas Schwinge <thomas (a] codesourcery.com> 3959 3960 * plugin/Makefrag.am (libgomp_plugin_gcn_la_CPPFLAGS): Don't 3961 consider 'PLUGIN_GCN_CPPFLAGS'. 3962 (libgomp_plugin_gcn_la_LDFLAGS): Don't consider 3963 'PLUGIN_GCN_LDFLAGS'. 3964 * plugin/configfrag.ac (PLUGIN_GCN_CPPFLAGS, PLUGIN_GCN_LDFLAGS): 3965 Remove. 3966 * Makefile.in: Regenerate. 3967 * configure: Likewise. 3968 * testsuite/Makefile.in: Likewise. 3969 3970 2022-05-11 Thomas Schwinge <thomas (a] codesourcery.com> 3971 3972 * plugin/configfrag.ac (HSA_RUNTIME_CPPFLAGS) 3973 (HSA_RUNTIME_LDFLAGS): Remove. 3974 * configure: Regenerate. 3975 3976 2022-05-11 Thomas Schwinge <thomas (a] codesourcery.com> 3977 3978 * testsuite/lib/libgomp.exp (libgomp_init): Don't 3979 'append always_ld_library_path ":$hsa_runtime_lib"'. 3980 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib): Don't set. 3981 3982 2022-05-10 Thomas Schwinge <thomas (a] codesourcery.com> 3983 3984 * testsuite/libgomp.fortran/use_device_addr-5.f90: Fix up 3985 multi-device testing. 3986 3987 2022-05-06 Marcel Vollweiler <marcel (a] codesourcery.com> 3988 3989 * libgomp.map: Added omp_target_is_accessible. 3990 * libgomp.texi: Tagged omp_target_is_accessible as supported. 3991 * omp.h.in: Added omp_target_is_accessible. 3992 * omp_lib.f90.in: Added interface for omp_target_is_accessible. 3993 * omp_lib.h.in: Likewise. 3994 * target.c (omp_target_is_accessible): Added implementation of 3995 omp_target_is_accessible. 3996 * testsuite/libgomp.c-c++-common/target-is-accessible-1.c: New test. 3997 * testsuite/libgomp.fortran/target-is-accessible-1.f90: New test. 3998 3999 2022-05-05 Sandra Loosemore <sandra (a] codesourcery.com> 4000 4001 * libgomp.texi (OpenMP 5.0): Feature is now fully supported. 4002 4003 2022-05-04 Tobias Burnus <tobias (a] codesourcery.com> 4004 4005 * plugin/plugin-gcn.c (isa_matches_agent): Suggest -foffload-options. 4006 4007 2022-05-04 Tobias Burnus <tobias (a] codesourcery.com> 4008 4009 * testsuite/libgomp.fortran/use_device_addr-5.f90: New test. 4010 4011 2022-05-03 Marcel Vollweiler <marcel (a] codesourcery.com> 4012 4013 * libgomp.map: Added omp_get_mapped_ptr. 4014 * libgomp.texi: Tagged omp_get_mapped_ptr as supported. 4015 * omp.h.in: Added omp_get_mapped_ptr. 4016 * omp_lib.f90.in: Added interface for omp_get_mapped_ptr. 4017 * omp_lib.h.in: Likewise. 4018 * target.c (omp_get_mapped_ptr): Added implementation of 4019 omp_get_mapped_ptr. 4020 * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c: New test. 4021 * testsuite/libgomp.c-c++-common/get-mapped-ptr-2.c: New test. 4022 * testsuite/libgomp.c-c++-common/get-mapped-ptr-3.c: New test. 4023 * testsuite/libgomp.c-c++-common/get-mapped-ptr-4.c: New test. 4024 * testsuite/libgomp.fortran/get-mapped-ptr-1.f90: New test. 4025 * testsuite/libgomp.fortran/get-mapped-ptr-2.f90: New test. 4026 * testsuite/libgomp.fortran/get-mapped-ptr-3.f90: New test. 4027 * testsuite/libgomp.fortran/get-mapped-ptr-4.f90: New test. 4028 4029 2022-04-28 Thomas Schwinge <thomas (a] codesourcery.com> 4030 4031 PR fortran/104717 4032 * testsuite/libgomp.oacc-fortran/print-1.f90: Add OpenACC 4033 privatization scanning. For GCN offloading compilation, raise 4034 '-mgang-private-size'. 4035 4036 2022-04-26 Jakub Jelinek <jakub (a] redhat.com> 4037 4038 PR libgomp/105358 4039 * work.c (gomp_init_work_share): Don't mask of adjustment for 4040 dynamic long long realignment if struct gomp_work_share has smaller 4041 alignof than long long. 4042 * loop.c (GOMP_loop_start): Don't use inline_ordered_team_ids if 4043 struct gomp_work_share has smaller alignof than long long or if 4044 sizeof (struct gomp_work_share) is smaller than 4045 INLINE_ORDERED_TEAM_IDS_OFF. 4046 * loop_ull.c (GOMP_loop_ull_start): Likewise. 4047 * sections.c (GOMP_sections2_start): Likewise. 4048 4049 2022-04-25 Jakub Jelinek <jakub (a] redhat.com> 4050 Thomas Schwinge <thomas (a] codesourcery.com> 4051 4052 PR fortran/104717 4053 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Adjust. 4054 4055 2022-04-13 Jakub Jelinek <jakub (a] redhat.com> 4056 4057 * libgomp.texi: Fix a typo - mutexinouset -> mutexinoutset. 4058 4059 2022-04-06 Thomas Schwinge <thomas (a] codesourcery.com> 4060 4061 * plugin/cuda/cuda.h: Remove file. 4062 * plugin/plugin-nvptx.c [PLUGIN_NVPTX_DYNAMIC]: Include 4063 "cuda/cuda.h" instead of <cuda.h>. 4064 * plugin/configfrag.ac <PLUGIN_NVPTX_DYNAMIC>: Don't set 4065 'PLUGIN_NVPTX_CPPFLAGS'. 4066 * configure: Regenerate. 4067 4068 2022-04-05 Chung-Lin Tang <cltang (a] codesourcery.com> 4069 4070 * testsuite/libgomp.fortran/use_device_ptr-4.f90: New testcase. 4071 4072 2022-04-04 Tom de Vries <tdevries (a] suse.de> 4073 4074 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Use 4075 on_device_arch_nvptx instead of offload_target_nvptx. 4076 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same. 4077 4078 2022-04-01 Tom de Vries <tdevries (a] suse.de> 4079 4080 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Define 4081 and use REC_DEPTH. 4082 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same. 4083 4084 2022-04-01 Tom de Vries <tdevries (a] suse.de> 4085 4086 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: Fix 4087 num_workers check. 4088 4089 2022-03-29 Chenghua Xu <xuchenghua (a] loongson.cn> 4090 Lulu Cheng <chenglulu (a] loongson.cn> 4091 4092 * configure.tgt: Add LoongArch triplet. 4093 4094 2022-03-28 Tom de Vries <tdevries (a] suse.de> 4095 4096 * plugin/configfrag.ac: Use /$(libexecdir:\$(exec_prefix)/%=%)/ 4097 instead of /libexec/. 4098 * configure: Regenerate. 4099 4100 2022-03-25 Tom de Vries <tdevries (a] suse.de> 4101 4102 PR libgomp/105042 4103 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Reduce 4104 execution time. 4105 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Same. 4106 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Same. 4107 4108 2022-03-23 Tobias Burnus <tobias (a] codesourcery.com> 4109 4110 PR middle-end/104285 4111 * testsuite/libgomp.c++/target-same-name-2-a.C: New test. 4112 * testsuite/libgomp.c++/target-same-name-2-b.C: New test. 4113 * testsuite/libgomp.c++/target-same-name-2.C: New test. 4114 * testsuite/libgomp.c-c++-common/target-same-name-1-a.c: New test. 4115 * testsuite/libgomp.c-c++-common/target-same-name-1-b.c: New test. 4116 * testsuite/libgomp.c-c++-common/target-same-name-1.c: New test. 4117 4118 2022-03-22 Tom de Vries <tdevries (a] suse.de> 4119 4120 PR target/104916 4121 PR target/104783 4122 * testsuite/libgomp.c/pr104783-2.c: New test. 4123 4124 2022-03-18 Tobias Burnus <tobias (a] codesourcery.com> 4125 4126 PR fortran/103039 4127 * testsuite/libgomp.fortran/associate4.f90: New test. 4128 4129 2022-03-18 Tom de Vries <tdevries (a] suse.de> 4130 4131 PR target/104952 4132 * testsuite/libgomp.c/pr104952-1.c: New test. 4133 * testsuite/libgomp.c/pr104952-2.c: New test. 4134 4135 2022-03-18 Jakub Jelinek <jakub (a] redhat.com> 4136 4137 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Move seen 4138 variable next to pl variable. 4139 4140 2022-03-17 Thomas Schwinge <thomas (a] codesourcery.com> 4141 4142 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: 4143 Enhance. 4144 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise. 4145 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise. 4146 4147 2022-03-17 Thomas Schwinge <thomas (a] codesourcery.com> 4148 4149 PR middle-end/90115 4150 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Enhance. 4151 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise. 4152 4153 2022-03-16 Marcel Vollweiler <marcel (a] codesourcery.com> 4154 4155 * fortran.c (omp_set_num_teams_8_): Call omp_set_num_teams instead of 4156 omp_set_max_active_levels. 4157 * testsuite/libgomp.fortran/icv-8.f90: New test. 4158 4159 2022-03-16 Thomas Schwinge <thomas (a] codesourcery.com> 4160 4161 PR testsuite/102841 4162 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Adjust. 4163 4164 2022-03-13 Tobias Burnus <tobias (a] codesourcery.com> 4165 4166 * libgomp.texi: Fix typo. 4167 4168 2022-03-12 Thomas Schwinge <thomas (a] codesourcery.com> 4169 4170 PR middle-end/100280 4171 PR middle-end/104892 4172 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust. 4173 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise. 4174 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: 4175 Likewise. 4176 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c: 4177 Likewise. 4178 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise. 4179 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise. 4180 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: 4181 Likewise. 4182 4183 2022-03-12 Thomas Schwinge <thomas (a] codesourcery.com> 4184 4185 PR middle-end/104892 4186 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Point 4187 to PR104892. 4188 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise, 4189 enable '--param=openacc-kernels=decompose' and adjust. 4190 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c: 4191 Likewise. 4192 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise. 4193 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: 4194 Likewise. 4195 4196 2022-03-12 Thomas Schwinge <thomas (a] codesourcery.com> 4197 4198 PR middle-end/90115 4199 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Enhance. 4200 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c: Likewise. 4201 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise. 4202 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Likewise. 4203 4204 2022-03-12 Thomas Schwinge <thomas (a] codesourcery.com> 4205 4206 PR middle-end/100280 4207 PR middle-end/104086 4208 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c: 4209 Merge this... 4210 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c: 4211 ..., and this... 4212 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: ... into 4213 this, and adjust. 4214 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: 4215 Extend. 4216 4217 2022-03-10 Hafiz Abid Qadeer <abidh (a] codesourcery.com> 4218 4219 * testsuite/libgomp.fortran/allocate-1.f90: Remove pool_size 4220 trait. Test last index in w and v array. Remove redundant 4221 assignment to V(1). Move alignment checks at the end of 4222 parallel region. 4223 4224 2022-03-10 Tom de Vries <tdevries (a] suse.de> 4225 4226 * testsuite/libgomp.c/pr104783.c: New test. 4227 4228 2022-03-10 Thomas Schwinge <thomas (a] codesourcery.com> 4229 4230 PR middle-end/90115 4231 PR middle-end/102330 4232 PR middle-end/104774 4233 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: 4234 Enhance. 4235 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c: 4236 Adjust. 4237 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c: 4238 Likewise. 4239 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c: 4240 Likewise. 4241 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c: 4242 Likewise. 4243 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c: 4244 Likewise. 4245 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c: 4246 Likewise. 4247 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c: 4248 Likewise. 4249 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c: 4250 Likewise. 4251 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c: 4252 Likewise. 4253 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c: 4254 Likewise. 4255 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c: 4256 Likewise. 4257 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c: 4258 Likewise. 4259 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c: 4260 Likewise. 4261 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise. 4262 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise. 4263 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise. 4264 4265 2022-03-10 Thomas Schwinge <thomas (a] codesourcery.com> 4266 4267 PR middle-end/90115 4268 * testsuite/libgomp.oacc-fortran/routine-1.f90: Enhance. 4269 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise. 4270 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise. 4271 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise. 4272 4273 2022-03-04 Thomas Schwinge <thomas (a] codesourcery.com> 4274 4275 PR testsuite/104791 4276 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Fix 4277 expected diagnostics. 4278 4279 2022-03-04 Thomas Schwinge <thomas (a] codesourcery.com> 4280 4281 PR middle-end/104784 4282 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c: 4283 Test with '--param=openacc-kernels=decompose'. 4284 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c: 4285 Likewise. 4286 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c: 4287 Likewise. 4288 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c: 4289 Likewise. 4290 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c: 4291 Likewise. 4292 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c: 4293 Likewise. 4294 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c: 4295 Likewise. 4296 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c: 4297 Likewise. 4298 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c: 4299 Likewise. 4300 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c: 4301 Likewise. 4302 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c: 4303 Likewise. 4304 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c: 4305 Likewise. 4306 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c: 4307 Likewise. 4308 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c: 4309 Likewise. 4310 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c: 4311 Likewise. 4312 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c: 4313 Likewise. 4314 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c: 4315 Likewise. 4316 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c: 4317 Likewise. 4318 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c: 4319 Likewise. 4320 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c: 4321 Likewise. 4322 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90: 4323 Likewise. 4324 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90: 4325 Likewise. 4326 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90: 4327 Likewise. 4328 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90: 4329 Likewise. 4330 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90: 4331 Likewise. 4332 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90: 4333 Likewise. 4334 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90: 4335 Likewise. 4336 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90: 4337 Likewise. 4338 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90: 4339 Likewise. 4340 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90: 4341 Likewise. 4342 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90: 4343 Likewise. 4344 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90: 4345 Likewise. 4346 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90: 4347 Likewise. 4348 4349 2022-03-04 Thomas Schwinge <thomas (a] codesourcery.com> 4350 4351 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c: 4352 Test '-fopt-info-omp-all'. 4353 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c: 4354 Likewise. 4355 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c: 4356 Likewise. 4357 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c: 4358 Likewise. 4359 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c: 4360 Likewise. 4361 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c: 4362 Likewise. 4363 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c: 4364 Likewise. 4365 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c: 4366 Likewise. 4367 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c: 4368 Likewise. 4369 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c: 4370 Likewise. 4371 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c: 4372 Likewise. 4373 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c: 4374 Likewise. 4375 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c: 4376 Likewise. 4377 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c: 4378 Likewise. 4379 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c: 4380 Likewise. 4381 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c: 4382 Likewise. 4383 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c: 4384 Likewise. 4385 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c: 4386 Likewise. 4387 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c: 4388 Likewise. 4389 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c: 4390 Likewise. 4391 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90: 4392 Likewise. 4393 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90: 4394 Likewise. 4395 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90: 4396 Likewise. 4397 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90: 4398 Likewise. 4399 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90: 4400 Likewise. 4401 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90: 4402 Likewise. 4403 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90: 4404 Likewise. 4405 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90: 4406 Likewise. 4407 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90: 4408 Likewise. 4409 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90: 4410 Likewise. 4411 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90: 4412 Likewise. 4413 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90: 4414 Likewise. 4415 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90: 4416 Likewise. 4417 4418 2022-03-04 Thomas Schwinge <thomas (a] codesourcery.com> 4419 4420 PR middle-end/100280 4421 PR middle-end/104132 4422 PR middle-end/104133 4423 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: 4424 Extend. 4425 4426 2022-03-04 Thomas Schwinge <thomas (a] codesourcery.com> 4427 4428 PR middle-end/100280 4429 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust. 4430 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: 4431 Likewise. 4432 4433 2022-03-04 Thomas Schwinge <thomas (a] codesourcery.com> 4434 4435 PR middle-end/100280 4436 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust. 4437 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: 4438 Likewise. 4439 4440 2022-02-28 Tom de Vries <tdevries (a] suse.de> 4441 4442 * testsuite/libgomp.c/declare-variant-3-sm30.c: Add -foffload=-mptx=_. 4443 * testsuite/libgomp.c/declare-variant-3-sm35.c: Same. 4444 * testsuite/libgomp.c/declare-variant-3-sm53.c: Same. 4445 * testsuite/libgomp.c/declare-variant-3-sm70.c: Same. 4446 * testsuite/libgomp.c/declare-variant-3-sm75.c: Same. 4447 * testsuite/libgomp.c/declare-variant-3-sm80.c: Same. 4448 4449 2022-02-24 Tom de Vries <tdevries (a] suse.de> 4450 4451 * testsuite/libgomp.c/declare-variant-3-sm30.c: New test. 4452 * testsuite/libgomp.c/declare-variant-3-sm35.c: New test. 4453 * testsuite/libgomp.c/declare-variant-3-sm53.c: New test. 4454 * testsuite/libgomp.c/declare-variant-3-sm70.c: New test. 4455 * testsuite/libgomp.c/declare-variant-3-sm75.c: New test. 4456 * testsuite/libgomp.c/declare-variant-3-sm80.c: New test. 4457 * testsuite/libgomp.c/declare-variant-3.h: New header file. 4458 4459 2022-02-22 Thomas Schwinge <thomas (a] codesourcery.com> 4460 4461 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Fix OpenACC 4462 gang-redundant execution. 4463 4464 2022-02-22 Tom de Vries <tdevries (a] suse.de> 4465 4466 PR target/99555 4467 * config/nvptx/bar.c (generation_to_barrier): New function, copied 4468 from config/rtems/bar.c. 4469 (futex_wait, futex_wake): New function. 4470 (do_spin, do_wait): New function, copied from config/linux/wait.h. 4471 (gomp_barrier_wait_end, gomp_barrier_wait_last) 4472 (gomp_team_barrier_wake, gomp_team_barrier_wait_end): 4473 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): Remove 4474 and replace with include of config/linux/bar.c. 4475 * config/nvptx/bar.h (gomp_barrier_t): Add fields waiters and lock. 4476 (gomp_barrier_init): Init new fields. 4477 * testsuite/libgomp.c-c++-common/task-detach-6.c: Remove nvptx-specific 4478 workarounds. 4479 * testsuite/libgomp.c/pr99555-1.c: Same. 4480 * testsuite/libgomp.fortran/task-detach-6.f90: Same. 4481 4482 2022-02-22 Tom de Vries <tdevries (a] suse.de> 4483 4484 PR testsuite/104146 4485 * testsuite/libgomp.c++/pr96390.C: Add additional-option 4486 -foffload=-Wa,--verify for nvptx. 4487 * testsuite/libgomp.c-c++-common/pr96390.c: Same. 4488 4489 2022-02-15 Tobias Burnus <tobias (a] codesourcery.com> 4490 4491 * testsuite/libgomp.fortran/depend-4.f90: New test. 4492 4493 2022-02-10 Tobias Burnus <tobias (a] codesourcery.com> 4494 4495 PR c++/102204 4496 * testsuite/libgomp.c++/target-virtual-1.C: New test. 4497 4498 2022-02-10 Marcel Vollweiler <marcel (a] codesourcery.com> 4499 4500 * libgomp.texi: Updated entry for HAS_DEVICE_ADDR. 4501 * target.c (copy_firstprivate_data): Copy only if host address is not 4502 NULL. 4503 * testsuite/libgomp.c++/target-has-device-addr-2.C: New test. 4504 * testsuite/libgomp.c++/target-has-device-addr-4.C: New test. 4505 * testsuite/libgomp.c++/target-has-device-addr-5.C: New test. 4506 * testsuite/libgomp.c++/target-has-device-addr-6.C: New test. 4507 * testsuite/libgomp.c-c++-common/target-has-device-addr-1.c: New test. 4508 * testsuite/libgomp.c/target-has-device-addr-3.c: New test. 4509 * testsuite/libgomp.fortran/target-has-device-addr-1.f90: New test. 4510 * testsuite/libgomp.fortran/target-has-device-addr-2.f90: New test. 4511 * testsuite/libgomp.fortran/target-has-device-addr-3.f90: New test. 4512 * testsuite/libgomp.fortran/target-has-device-addr-4.f90: New test. 4513 4514 2022-02-08 Jakub Jelinek <jakub (a] redhat.com> 4515 4516 PR libgomp/104385 4517 * task.c (gomp_task_run_post_handle_dependers): If parent is NULL, 4518 clear task->parent. 4519 * testsuite/libgomp.c/pr104385.c: New test. 4520 4521 2022-02-04 Tobias Burnus <tobias (a] codesourcery.com> 4522 4523 * testsuite/libgomp.fortran/allocate-1.f90: Remove spurious 4524 STOP of previous commit. 4525 4526 2022-02-04 Tobias Burnus <tobias (a] codesourcery.com> 4527 4528 * testsuite/libgomp.fortran/allocate-1.c (is_64bit_aligned): Renamed 4529 from is_64bit_aligned_. 4530 * testsuite/libgomp.fortran/allocate-1.f90: Fix interface decl 4531 and use it, more implicit none, remove unused argument. 4532 4533 2022-02-03 David Seifert <soap (a] gentoo.org> 4534 Jakub Jelinek <jakub (a] redhat.com> 4535 4536 * configure.ac: Support --disable-werror. 4537 * configure: Regenerate. 4538 4539 2022-02-01 Tom de Vries <tdevries (a] suse.de> 4540 4541 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: Remove 4542 PR83812 workaround. 4543 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: Same. 4544 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90: Same. 4545 4546 2022-02-01 Tom de Vries <tdevries (a] suse.de> 4547 4548 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Reduce 4549 num_workers for nvidia accelerator to fix libgomp error 'insufficient 4550 resources'. 4551 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: 4552 Same. 4553 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Same. 4554 4555 2022-02-01 Tom de Vries <tdevries (a] suse.de> 4556 4557 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce 4558 recursion depth. 4559 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same. 4560 4561 2022-01-31 Martin Liska <mliska (a] suse.cz> 4562 4563 * acinclude.m4: Detect *_ld_is_mold and use it. 4564 * configure: Regenerate. 4565 4566 2022-01-27 Tobias Burnus <tobias (a] codesourcery.com> 4567 4568 * libgomp.texi (OpenMP 5.0): Update implementation status. 4569 4570 2022-01-21 Thomas Schwinge <thomas (a] codesourcery.com> 4571 4572 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Strengthen. 4573 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise. 4574 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise. 4575 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise. 4576 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise. 4577 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise. 4578 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise. 4579 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise. 4580 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise. 4581 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise. 4582 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise. 4583 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise. 4584 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise. 4585 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise. 4586 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise. 4587 4588 2022-01-19 Marcel Vollweiler <marcel (a] codesourcery.com> 4589 4590 * config/gcn/icv-device.c: Make GOMP_DEVICE_NUM_VAR public (remove 4591 "static") to make the device num available in the offload image. 4592 4593 2022-01-19 Martin Liska <mliska (a] suse.cz> 4594 Thomas Schwinge <thomas (a] codesourcery.com> 4595 4596 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update scanning 4597 patterns. 4598 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise. 4599 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: 4600 Likewise. 4601 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise. 4602 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise. 4603 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise. 4604 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise. 4605 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: 4606 Likewise. 4607 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: 4608 Likewise. 4609 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: 4610 Likewise. 4611 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: 4612 Likewise. 4613 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: 4614 Likewise. 4615 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: 4616 Likewise. 4617 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise. 4618 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise. 4619 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise. 4620 4621 2022-01-18 Martin Liska <mliska (a] suse.cz> 4622 4623 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update keyword 4624 in dg-warning. 4625 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise. 4626 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise. 4627 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise. 4628 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise. 4629 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise. 4630 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise. 4631 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Likewise. 4632 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: Likewise. 4633 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: Likewise. 4634 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: Likewise. 4635 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Likewise. 4636 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: Likewise. 4637 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise. 4638 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise. 4639 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise. 4640 4641 2022-01-17 Thomas Schwinge <thomas (a] codesourcery.com> 4642 4643 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Extend. 4644 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise. 4645 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise. 4646 4647 2022-01-17 Julian Brown <julian (a] codesourcery.com> 4648 Thomas Schwinge <thomas (a] codesourcery.com> 4649 4650 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: New test. 4651 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: New test. 4652 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: New test. 4653 4654 2022-01-16 Kwok Cheung Yeung <kcy (a] codesourcery.com> 4655 Andrew Stubbs <ams (a] codesourcery.com> 4656 4657 * plugin/plugin-gcn.c (parse_target_attributes): Automatically set 4658 the number of teams and threads if necessary. 4659 (gcn_exec): Automatically set the number of gangs and workers if 4660 necessary. 4661 4662 2022-01-13 Hafiz Abid Qadeer <abidh (a] codesourcery.com> 4663 4664 * testsuite/libgomp.fortran/allocate-1.c: New test. 4665 * testsuite/libgomp.fortran/allocate-1.f90: New test. 4666 * libgomp.texi: Remove string that says that allocate clause 4667 support is for C/C++ only. 4668 4669 2022-01-13 Thomas Schwinge <thomas (a] codesourcery.com> 4670 4671 * testsuite/libgomp.c-c++-common/on_device_arch.h 4672 (any_device_arch, any_device_arch_intel_mic): New. 4673 * testsuite/lib/libgomp.exp 4674 (check_effective_target_offload_device_any_intel_mic): New. 4675 * testsuite/libgomp.c-c++-common/target-45.c: Use it. 4676 * testsuite/libgomp.fortran/target10.f90: Likewise. 4677 4678 2022-01-13 Thomas Schwinge <thomas (a] codesourcery.com> 4679 4680 PR tree-optimization/102192 4681 * testsuite/libgomp.oacc-fortran/routine-10.f90: Document current 4682 '-Wuninitialized' diagnostics. 4683 4684 2022-01-13 Thomas Schwinge <thomas (a] codesourcery.com> 4685 4686 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Document 4687 current '-Wuninitialized' diagnostics. 4688 * testsuite/libgomp.oacc-fortran/data-5.f90: Likewise. 4689 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Likewise. 4690 * testsuite/libgomp.oacc-fortran/gemm.f90: Likewise. 4691 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Likewise. 4692 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise. 4693 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise. 4694 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: Likewise. 4695 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise. 4696 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise. 4697 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise. 4698 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: 4699 Likewise. 4700 4701 2022-01-13 Thomas Schwinge <thomas (a] codesourcery.com> 4702 4703 * testsuite/libgomp.c/address-space-1.c: Remove 'dg-xfail-run-if' 4704 for 'offload_device_intel_mic'. 4705 4706 2022-01-13 Julian Brown <julian (a] codesourcery.com> 4707 Thomas Schwinge <thomas (a] codesourcery.com> 4708 4709 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Remove GCN 4710 offloading execution XFAIL. 4711 4712 2022-01-13 Thomas Schwinge <thomas (a] codesourcery.com> 4713 4714 PR middle-end/100280 4715 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c: 4716 Update. 4717 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise. 4718 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: 4719 Likewise. 4720 4721 2022-01-13 Thomas Schwinge <thomas (a] codesourcery.com> 4722 4723 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c: 4724 Enhance. 4725 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c: 4726 Likewise. 4727 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Likewise. 4728 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise. 4729 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: Likewise. 4730 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: Likewise. 4731 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: 4732 Likewise. 4733 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise. 4734 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise. 4735 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise. 4736 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise. 4737 4738 2022-01-04 Tobias Burnus <tobias (a] codesourcery.com> 4739 4740 * testsuite/libgomp.c-c++-common/target-45.c: Iterate over all devices. 4741 * testsuite/libgomp.fortran/target10.f90: Likewise. 4742 4743 2022-01-04 Chung-Lin Tang <cltang (a] codesourcery.com> 4744 4745 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Change uses of STRINGX 4746 into XSTRING when looking for GOMP_DEVICE_NUM_VAR in offload image. 4747 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise. 4748 4749 2022-01-03 Jakub Jelinek <jakub (a] redhat.com> 4750 4751 * libgomp.texi: Bump @copying's copyright year. 4752 4753 2021-12-13 Tobias Burnus <tobias (a] codesourcery.com> 4754 4755 * libgomp.texi (OpenMP 5.1): Set Fortran support for atomic to 'Y'. 4756 * testsuite/libgomp.fortran/atomic-19.f90: New test. 4757 4758 2021-12-10 Andrew Stubbs <ams (a] codesourcery.com> 4759 4760 * plugin/plugin-gcn.c (struct gcn_image_desc): Remove global_variables. 4761 (GOMP_OFFLOAD_load_image): Locate the offload variables via the 4762 table, not individual symbols. 4763 4764 2021-12-09 Chung-Lin Tang <cltang (a] codesourcery.com> 4765 4766 * testsuite/libgomp.c++/target-lambda-1.C: Only run under 4767 "target offload_device_nonshared_as" 4768 * testsuite/libgomp.c++/target-this-3.C: Likewise. 4769 * testsuite/libgomp.c++/target-this-4.C: Likewise. 4770 4771 2021-12-08 Chung-Lin Tang <cltang (a] codesourcery.com> 4772 4773 * target.c (gomp_map_vars_existing): Make sure attached pointer is 4774 not overwritten during cross-host/device copying. 4775 (gomp_update): Likewise. 4776 (gomp_exit_data): Likewise. 4777 * testsuite/libgomp.c++/target-11.C: Adjust testcase. 4778 * testsuite/libgomp.c++/target-12.C: Likewise. 4779 * testsuite/libgomp.c++/target-15.C: Likewise. 4780 * testsuite/libgomp.c++/target-16.C: Likewise. 4781 * testsuite/libgomp.c++/target-17.C: Likewise. 4782 * testsuite/libgomp.c++/target-21.C: Likewise. 4783 * testsuite/libgomp.c++/target-23.C: Likewise. 4784 * testsuite/libgomp.c/target-23.c: Likewise. 4785 * testsuite/libgomp.c/target-29.c: Likewise. 4786 * testsuite/libgomp.c-c++-common/target-implicit-map-2.c: New testcase. 4787 4788 2021-12-08 Chung-Lin Tang <cltang (a] codesourcery.com> 4789 4790 PR middle-end/92120 4791 * libgomp.h (gomp_attach_pointer): Add bool parameter. 4792 * oacc-mem.c (acc_attach_async): Update call to gomp_attach_pointer. 4793 (goacc_enter_data_internal): Likewise. 4794 * target.c (gomp_map_vars_existing): Update assert condition to 4795 include GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION. 4796 (gomp_map_pointer): Add 'bool allow_zero_length_array_sections' 4797 parameter, add support for mapping a pointer with NULL target. 4798 (gomp_attach_pointer): Add 'bool allow_zero_length_array_sections' 4799 parameter, add support for attaching a pointer with NULL target. 4800 (gomp_map_vars_internal): Update calls to gomp_map_pointer and 4801 gomp_attach_pointer, add handling for 4802 GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION, and 4803 GOMP_MAP_POINTER_TO_ZERO_LENGTH_ARRAY_SECTION cases. 4804 * testsuite/libgomp.c++/target-23.C: New testcase. 4805 * testsuite/libgomp.c++/target-lambda-1.C: New testcase. 4806 * testsuite/libgomp.c++/target-lambda-2.C: New testcase. 4807 * testsuite/libgomp.c++/target-this-1.C: New testcase. 4808 * testsuite/libgomp.c++/target-this-2.C: New testcase. 4809 * testsuite/libgomp.c++/target-this-3.C: New testcase. 4810 * testsuite/libgomp.c++/target-this-4.C: New testcase. 4811 * testsuite/libgomp.c++/target-this-5.C: New testcase. 4812 4813 2021-12-04 Tobias Burnus <tobias (a] codesourcery.com> 4814 4815 * libgomp.texi (OpenMP 5.1): Update status. 4816 4817 2021-12-04 Tobias Burnus <tobias (a] codesourcery.com> 4818 4819 * libgomp.texi (OMP_PLACES): Extend description for OMP 5.1 changes. 4820 4821 2021-12-02 Chung-Lin Tang <cltang (a] codesourcery.com> 4822 4823 PR fortran/90030 4824 * testsuite/libgomp.oacc-fortran/pr90030.f90: New test. 4825 * testsuite/libgomp.fortran/pr90030.f90: New test. 4826 4827 2021-11-30 Kwok Cheung Yeung <kcy (a] codesourcery.com> 4828 Thomas Schwinge <thomas (a] codesourcery.com> 4829 4830 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Remove 4831 temporary skip. 4832 4833 2021-11-30 Cesar Philippidis <cesar (a] codesourcery.com> 4834 Thomas Schwinge <thomas (a] codesourcery.com> 4835 4836 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Temporarily 4837 skip. 4838 4839 2021-11-29 Richard Biener <rguenther (a] suse.de> 4840 4841 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): Remove unreachable 4842 return. 4843 4844 2021-11-24 Jakub Jelinek <jakub (a] redhat.com> 4845 4846 PR middle-end/103384 4847 * testsuite/libgomp.c/declare-variant-2.c: New test. 4848 4849 2021-11-18 David Edelsohn <dje.gcc (a] gmail.com> 4850 4851 * alloc.c (gomp_aligned_alloc): Fix typo. 4852 4853 2021-11-18 Jakub Jelinek <jakub (a] redhat.com> 4854 4855 PR libgomp/102838 4856 * libgomp.h (GOMP_USE_ALIGNED_WORK_SHARES): Define if 4857 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined and __AMDGCN__ is not. 4858 (struct gomp_work_share): Use GOMP_USE_ALIGNED_WORK_SHARES instead of 4859 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC. 4860 * work.c (alloc_work_share, gomp_work_share_start): Likewise. 4861 * team.c (gomp_new_team): If GOMP_USE_ALIGNED_WORK_SHARES, use 4862 gomp_aligned_alloc instead of team_malloc. 4863 4864 2021-11-18 Jakub Jelinek <jakub (a] redhat.com> 4865 4866 PR libgomp/102838 4867 * alloc.c (gomp_aligned_alloc): Prefer _aligned_alloc over 4868 memalign over posix_memalign over aligned_alloc over fallback 4869 with malloc instead of aligned_alloc over _aligned_alloc over 4870 posix_memalign over memalign over fallback with malloc. For 4871 aligned_alloc, round up size up to multiple of al. 4872 4873 2021-11-16 Jakub Jelinek <jakub (a] redhat.com> 4874 4875 * libgomp.texi (OpenMP 5.1): Mark thread_limit clause to target 4876 construct as implemented. 4877 4878 2021-11-15 Tobias Burnus <tobias (a] codesourcery.com> 4879 4880 * testsuite/libgomp.fortran/thread-limit-1.f90: New test. 4881 4882 2021-11-15 Jakub Jelinek <jakub (a] redhat.com> 4883 4884 * task.c (gomp_create_target_task): Copy args array as well. 4885 * target.c (gomp_target_fallback): Add args argument. 4886 Set gomp_icv (true)->thread_limit_var if thread_limit is present. 4887 (GOMP_target): Adjust gomp_target_fallback caller. 4888 (GOMP_target_ext): Likewise. 4889 (gomp_target_task_fn): Likewise. 4890 * config/nvptx/team.c (gomp_nvptx_main): Set 4891 gomp_global_icv.thread_limit_var. 4892 * testsuite/libgomp.c-c++-common/thread-limit-1.c: New test. 4893 4894 2021-11-15 Jakub Jelinek <jakub (a] redhat.com> 4895 4896 * config/nvptx/team.c (__gomp_team_num): Define as 4897 __attribute__((shared)) var. 4898 (gomp_nvptx_main): Initialize __gomp_team_num to 0. 4899 * config/nvptx/target.c (__gomp_team_num): Declare as 4900 extern __attribute__((shared)) var. 4901 (GOMP_teams4): Use __gomp_team_num as the team number instead of 4902 %ctaid.x. If first, initialize it to %ctaid.x. If num_teams_lower 4903 is bigger than num_blocks, use num_teams_lower teams and arrange for 4904 bumping of __gomp_team_num if !first and returning false once we run 4905 out of teams. 4906 * config/nvptx/teams.c (__gomp_team_num): Declare as 4907 extern __attribute__((shared)) var. 4908 (omp_get_team_num): Return __gomp_team_num value instead of %ctaid.x. 4909 4910 2021-11-15 Jakub Jelinek <jakub (a] redhat.com> 4911 4912 * testsuite/libgomp.c/teams-5.c: New test. 4913 4914 2021-11-12 Jakub Jelinek <jakub (a] redhat.com> 4915 4916 PR target/103201 4917 * config/gcn/icv-device.c (omp_get_num_teams, omp_get_team_num): Move 4918 to ... 4919 * config/gcn/teams.c: ... here. New file. 4920 4921 2021-11-12 Chung-Lin Tang <cltang (a] codesourcery.com> 4922 4923 * target.c (gomp_map_vars_existing): Add 'bool implicit' parameter, add 4924 implicit map handling to allow a "superset" existing map as valid case. 4925 (get_kind): Adjust to filter out GOMP_MAP_IMPLICIT bits in return value. 4926 (get_implicit): New function to extract implicit status. 4927 (gomp_map_fields_existing): Adjust arguments in calls to 4928 gomp_map_vars_existing, and add uses of get_implicit. 4929 (gomp_map_vars_internal): Likewise. 4930 * testsuite/libgomp.c-c++-common/target-implicit-map-1.c: New test. 4931 4932 2021-11-12 Jakub Jelinek <jakub (a] redhat.com> 4933 4934 * libgomp_g.h (GOMP_teams4): Declare. 4935 * libgomp.map (GOMP_5.1): Export GOMP_teams4. 4936 * target.c (GOMP_teams4): New function. 4937 * config/nvptx/target.c (GOMP_teams): Remove. 4938 (GOMP_teams4): New function. 4939 * config/gcn/target.c (GOMP_teams): Remove. 4940 (GOMP_teams4): New function. 4941 * testsuite/libgomp.c/teams-4.c (main): Expect exactly 2 4942 teams instead of <= 2. 4943 * testsuite/libgomp.c-c++-common/teams-2.c: New test. 4944 4945 2021-11-11 Tobias Burnus <tobias (a] codesourcery.com> 4946 4947 * testsuite/libgomp.fortran/teams-1.f90: New test. 4948 4949 2021-11-11 Jakub Jelinek <jakub (a] redhat.com> 4950 4951 * libgomp.h (struct gomp_thread): Add num_teams and team_num members. 4952 * team.c (struct gomp_thread_start_data): Likewise. 4953 (gomp_thread_start): Initialize thr->num_teams and thr->team_num. 4954 (gomp_team_start): Initialize start_data->num_teams and 4955 start_data->team_num. Update nthr->num_teams and nthr->team_num. 4956 * teams.c (gomp_num_teams, gomp_team_num): Remove. 4957 (GOMP_teams_reg): Set and restore thr->num_teams and thr->team_num 4958 instead of gomp_num_teams and gomp_team_num. 4959 (omp_get_num_teams): Use thr->num_teams + 1 instead of gomp_num_teams. 4960 (omp_get_team_num): Use thr->team_num instead of gomp_team_num. 4961 * testsuite/libgomp.c/teams-4.c: New test. 4962 4963 2021-11-11 Jakub Jelinek <jakub (a] redhat.com> 4964 4965 * testsuite/libgomp.c-c++-common/teams-1.c: New test. 4966 4967 2021-11-09 Thomas Schwinge <thomas (a] codesourcery.com> 4968 4969 * env.c (parse_gomp_openacc_dim): Restore parsing. 4970 4971 2021-10-30 Tobias Burnus <tobias (a] codesourcery.com> 4972 4973 PR middle-end/102972 4974 * testsuite/libgomp.c-c++-common/icv-3.c: Nest API calls inside 4975 parallel construct. 4976 * testsuite/libgomp.c-c++-common/icv-4.c: Likewise. 4977 * testsuite/libgomp.c/target-3.c: Likewise. 4978 * testsuite/libgomp.c/target-5.c: Likewise. 4979 * testsuite/libgomp.c/target-6.c: Likewise. 4980 * testsuite/libgomp.c/target-teams-1.c: Likewise. 4981 * testsuite/libgomp.c/teams-1.c: Likewise. 4982 * testsuite/libgomp.c/thread-limit-2.c: Likewise. 4983 * testsuite/libgomp.c/thread-limit-3.c: Likewise. 4984 * testsuite/libgomp.c/thread-limit-4.c: Likewise. 4985 * testsuite/libgomp.c/thread-limit-5.c: Likewise. 4986 * testsuite/libgomp.fortran/icv-3.f90: Likewise. 4987 * testsuite/libgomp.fortran/icv-4.f90: Likewise. 4988 * testsuite/libgomp.fortran/teams1.f90: Likewise. 4989 4990 2021-10-29 Aldy Hernandez <aldyh (a] redhat.com> 4991 4992 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for threading changes. 4993 * testsuite/libgomp.graphite/force-parallel-8.c: Same. 4994 4995 2021-10-27 Jakub Jelinek <jakub (a] redhat.com> 4996 4997 * libgomp.texi (OpenMP 5.0): Mention that Non-rectangular loop nests 4998 aren't implemented for Fortran yet. 4999 5000 2021-10-27 Jakub Jelinek <jakub (a] redhat.com> 5001 5002 * testsuite/libgomp.c/loop-26.c: New test. 5003 * testsuite/libgomp.c/loop-27.c: New test. 5004 5005 2021-10-25 Tobias Burnus <tobias (a] codesourcery.com> 5006 5007 PR testsuite/102910 5008 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Use __builtin_alloca 5009 instead of #include <alloca.h> + alloca. 5010 5011 2021-10-21 Chung-Lin Tang <cltang (a] codesourcery.com> 5012 5013 * libgomp.texi (Support of strictly structured blocks in Fortran): 5014 Adjust to 'Y'. 5015 * testsuite/libgomp.fortran/task-reduction-16.f90: Adjust testcase. 5016 5017 2021-10-20 Chung-Lin Tang <cltang (a] codesourcery.com> 5018 5019 * testsuite/libgomp.fortran/target-in-reduction-1.f90: New test. 5020 * testsuite/libgomp.fortran/target-in-reduction-2.f90: New test. 5021 5022 2021-10-20 Jakub Jelinek <jakub (a] redhat.com> 5023 5024 PR libgomp/102838 5025 * libgomp.h (struct gomp_work_share_1st_cacheline): New type. 5026 (struct gomp_work_share): Only use aligned(64) attribute if 5027 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined, otherwise just 5028 add padding before lock to ensure lock is at offset 64 bytes 5029 into the structure. 5030 (gomp_workshare_struct_check1, gomp_workshare_struct_check2): 5031 New poor man's static assertions. 5032 * work.c (gomp_work_share_start): Use gomp_aligned_alloc instead of 5033 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC. 5034 5035 2021-10-20 Aldy Hernandez <aldyh (a] redhat.com> 5036 Richard Biener <rguenther (a] suse.de> 5037 5038 * testsuite/libgomp.graphite/force-parallel-5.c: Remove xfail. 5039 5040 2021-10-18 Jakub Jelinek <jakub (a] redhat.com> 5041 5042 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Add 5043 && gomp_places_list_len < count after nfirst <= nlast loop condition. 5044 5045 2021-10-18 Tobias Burnus <tobias (a] codesourcery.com> 5046 5047 PR fortran/102086 5048 PR fortran/92189 5049 PR fortran/92621 5050 PR fortran/101308 5051 PR fortran/101309 5052 PR fortran/101635 5053 PR fortran/92482 5054 * testsuite/libgomp.fortran/optional-bind-c.f90: New test. 5055 5056 2021-10-15 Jakub Jelinek <jakub (a] redhat.com> 5057 5058 * testsuite/libgomp.c/affinity-1.c (struct places): Change name field 5059 type from char [50] to const char *. 5060 (places_array): Add a testcase for simplified syntax place followed 5061 by length or length and stride. 5062 5063 2021-10-15 Jakub Jelinek <jakub (a] redhat.com> 5064 5065 * env.c (parse_one_place): Handle non-negative-number the same 5066 as { non-negative-number }. Reject even !number:1 and 5067 !number:1:stride or !place:1 or !place:1:stride instead of just 5068 length other than 1. 5069 * libgomp.texi (OpenMP 5.1): Document OMP_PLACES syntax extensions 5070 and OMP_NUM_TEAMS/OMP_TEAMS_THREAD_LIMIT and 5071 omp_{set_num,get_max}_teams/omp_{s,g}et_teams_thread_limit features 5072 as implemented. 5073 * testsuite/libgomp.c/affinity-1.c: Add a test for the 5.1 place 5074 simplified syntax. 5075 5076 2021-10-15 Jakub Jelinek <jakub (a] redhat.com> 5077 5078 * env.c (parse_schedule): For strtoul or strtoull calls which don't 5079 clearly reject return value 0 as invalid handle the case where end 5080 pointer is the same as first argument as invalid. 5081 (parse_unsigned_long_1): Likewise. 5082 (parse_one_place): Likewise. 5083 (parse_places_var): Likewise. 5084 (parse_stacksize): Likewise. 5085 (parse_spincount): Likewise. 5086 (parse_affinity): Likewise. 5087 (parse_gomp_openacc_dim): Likewise. Avoid strict aliasing violation. 5088 Make code valid C89. 5089 * config/linux/affinity.c (gomp_affinity_find_last_cache_level): 5090 For strtoul calls which don't clearly reject return value 0 as 5091 invalid handle the case where end pointer is the same as first 5092 argument as invalid. 5093 (gomp_affinity_init_level_1): Likewise. 5094 (gomp_affinity_init_numa_domains): Likewise. 5095 * config/rtems/proc.c (parse_thread_pools): Likewise. 5096 5097 2021-10-15 Jakub Jelinek <jakub (a] redhat.com> 5098 5099 * config/linux/affinity.c (gomp_affinity_init_level_1): For level 1 5100 after creating count places clean up and return immediately. 5101 * testsuite/libgomp.c/places-6.c: New test. 5102 * testsuite/libgomp.c/places-7.c: New test. 5103 * testsuite/libgomp.c/places-8.c: New test. 5104 * testsuite/libgomp.c/places-9.c: New test. 5105 * testsuite/libgomp.c/places-10.c: New test. 5106 5107 2021-10-15 Jakub Jelinek <jakub (a] redhat.com> 5108 5109 * env.c (parse_places_var): Handle numa_domains as level 5. 5110 * config/linux/affinity.c (gomp_affinity_init_numa_domains): New 5111 function. 5112 (gomp_affinity_init_level): Use it instead of 5113 gomp_affinity_init_level_1 for level == 5. 5114 * testsuite/libgomp.c/places-5.c: New test. 5115 5116 2021-10-15 Jakub Jelinek <jakub (a] redhat.com> 5117 5118 * env.c (parse_places_var): Handle ll_caches as level 4. 5119 * config/linux/affinity.c (gomp_affinity_find_last_cache_level): New 5120 function. 5121 (gomp_affinity_init_level_1): Handle level 4 as logical cpus sharing 5122 last level cache. 5123 (gomp_affinity_init_level): Likewise. 5124 * testsuite/libgomp.c/places-1.c: New test. 5125 * testsuite/libgomp.c/places-2.c: New test. 5126 * testsuite/libgomp.c/places-3.c: New test. 5127 * testsuite/libgomp.c/places-4.c: New test. 5128 5129 2021-10-14 Kwok Cheung Yeung <kcy (a] codesourcery.com> 5130 5131 * libgomp.texi (OpenMP 5.0): Update entry for declare variant 5132 directive. 5133 5134 2021-10-14 Kwok Cheung Yeung <kcy (a] codesourcery.com> 5135 5136 * testsuite/libgomp.fortran/declare-variant-1.f90: New test. 5137 5138 2021-10-12 Julian Brown <julian (a] codesourcery.com> 5139 5140 * target.c (gomp_copy_host2dev): Release device lock on cbuf 5141 error path. 5142 5143 2021-10-12 Tobias Burnus <tobias (a] codesourcery.com> 5144 5145 * testsuite/libgomp.fortran/icv-3.f90: New. 5146 * testsuite/libgomp.fortran/icv-4.f90: New. 5147 5148 2021-10-12 Jakub Jelinek <jakub (a] redhat.com> 5149 5150 * libgomp.texi (omp_get_max_teams, omp_get_teams_thread_limit, 5151 omp_set_num_teams, omp_set_teams_thread_limit, OMP_NUM_TEAMS, 5152 OMP_TEAMS_THREAD_LIMIT): Document. 5153 5154 2021-10-12 Jakub Jelinek <jakub (a] redhat.com> 5155 5156 * libgomp.texi (omp_get_device_num): Move @node before omp_get_dynamic 5157 to avoid makeinfo warnings. 5158 5159 2021-10-12 Jakub Jelinek <jakub (a] redhat.com> 5160 5161 * testsuite/libgomp.c-c++-common/icv-3.c: New test. 5162 * testsuite/libgomp.c-c++-common/icv-4.c: New test. 5163 5164 2021-10-12 Jakub Jelinek <jakub (a] redhat.com> 5165 5166 PR libgomp/102628 5167 PR libgomp/102668 5168 * testsuite/libgomp.c-c++-common/alloc-9.c (main): Decrease 5169 allocation sizes from 420 to 320 and from 768 to 568. 5170 * testsuite/libgomp.fortran/alloc-11.f90: Likewise. 5171 * testsuite/libgomp.fortran/alloc-1.F90: Change expected alignment 5172 for cr from 16 to 4. 5173 5174 2021-10-12 Jakub Jelinek <jakub (a] redhat.com> 5175 5176 * testsuite/libgomp.c/scan-11.c: Remove option -fvect-cost-model=cheap. 5177 * testsuite/libgomp.c/scan-12.c: Likewise. 5178 * testsuite/libgomp.c/scan-13.c: Likewise. 5179 * testsuite/libgomp.c/scan-14.c: Likewise. 5180 * testsuite/libgomp.c/scan-15.c: Likewise. 5181 * testsuite/libgomp.c/scan-16.c: Likewise. 5182 * testsuite/libgomp.c/scan-17.c: Likewise. 5183 * testsuite/libgomp.c/scan-18.c: Likewise. 5184 * testsuite/libgomp.c/scan-19.c: Likewise. 5185 * testsuite/libgomp.c/scan-20.c: Likewise. 5186 * testsuite/libgomp.c/scan-21.c: Likewise. 5187 * testsuite/libgomp.c/scan-22.c: Likewise. 5188 * testsuite/libgomp.c++/scan-9.C: Likewise. 5189 * testsuite/libgomp.c++/scan-10.C: Likewise. 5190 * testsuite/libgomp.c++/scan-11.C: Likewise. 5191 * testsuite/libgomp.c++/scan-12.C: Likewise. 5192 * testsuite/libgomp.c++/scan-13.C: Likewise. 5193 * testsuite/libgomp.c++/scan-14.C: Likewise. 5194 * testsuite/libgomp.c++/scan-15.C: Likewise. 5195 * testsuite/libgomp.c++/scan-16.C: Likewise. 5196 5197 2021-10-12 Kewen Lin <linkw (a] linux.ibm.com> 5198 5199 * testsuite/libgomp.graphite/force-parallel-8.c: Add --param max-stores-to-sink=0. 5200 5201 2021-10-11 Marcel Vollweiler <marcel (a] codesourcery.com> 5202 5203 * allocator.c (omp_init_allocator): Replace omp_atv_sequential with 5204 omp_atv_serialized. 5205 * omp.h.in: Add deprecated flag for omp_atv_sequential. 5206 * omp_lib.f90.in: Add deprecated flag for omp_atv_sequential. 5207 * testsuite/libgomp.c-c++-common/alloc-10.c: New test. 5208 * testsuite/libgomp.fortran/alloc-12.f90: New test. 5209 5210 2021-10-11 Jakub Jelinek <jakub (a] redhat.com> 5211 5212 * omp.h.in (omp_set_num_teams, omp_get_max_teams, 5213 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare. 5214 * omp_lib.f90.in (omp_set_num_teams, omp_get_max_teams, 5215 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare. 5216 * omp_lib.h.in (omp_set_num_teams, omp_get_max_teams, 5217 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare. 5218 * libgomp.h (gomp_nteams_var, gomp_teams_thread_limit_var): Declare. 5219 * libgomp.map (OMP_5.1): Export omp_get_max_teams{,_}, 5220 omp_get_teams_thread_limit{,_}, omp_set_num_teams{,_,_8_} and 5221 omp_set_teams_thread_limit{,_,_8_}. 5222 * icv.c (omp_set_num_teams, omp_get_max_teams, 5223 omp_set_teams_thread_limit, omp_get_teams_thread_limit): New 5224 functions. 5225 * env.c (gomp_nteams_var, gomp_teams_thread_limit_var): Define. 5226 (omp_display_env): Print OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT. 5227 (initialize_env): Handle OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT env 5228 vars. 5229 * teams.c (GOMP_teams_reg): If thread_limit is not specified, use 5230 gomp_teams_thread_limit_var as fallback if not zero. If num_teams 5231 is not specified, use gomp_nteams_var. 5232 * fortran.c (omp_set_num_teams, omp_get_max_teams, 5233 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Add 5234 ialias_redirect. 5235 (omp_set_num_teams_, omp_set_num_teams_8_, omp_get_max_teams_, 5236 omp_set_teams_thread_limit_, omp_set_teams_thread_limit_8_, 5237 omp_get_teams_thread_limit_): New functions. 5238 5239 2021-10-09 liuhongt <hongtao.liu (a] intel.com> 5240 5241 * testsuite/libgomp.c++/scan-10.C: Add option -fvect-cost-model=cheap. 5242 * testsuite/libgomp.c++/scan-11.C: Ditto. 5243 * testsuite/libgomp.c++/scan-12.C: Ditto. 5244 * testsuite/libgomp.c++/scan-13.C: Ditto. 5245 * testsuite/libgomp.c++/scan-14.C: Ditto. 5246 * testsuite/libgomp.c++/scan-15.C: Ditto. 5247 * testsuite/libgomp.c++/scan-16.C: Ditto. 5248 * testsuite/libgomp.c++/scan-9.C: Ditto. 5249 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: Ditto. 5250 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: Ditto. 5251 * testsuite/libgomp.c/scan-11.c: Ditto. 5252 * testsuite/libgomp.c/scan-12.c: Ditto. 5253 * testsuite/libgomp.c/scan-13.c: Ditto. 5254 * testsuite/libgomp.c/scan-14.c: Ditto. 5255 * testsuite/libgomp.c/scan-15.c: Ditto. 5256 * testsuite/libgomp.c/scan-16.c: Ditto. 5257 * testsuite/libgomp.c/scan-17.c: Ditto. 5258 * testsuite/libgomp.c/scan-18.c: Ditto. 5259 * testsuite/libgomp.c/scan-19.c: Ditto. 5260 * testsuite/libgomp.c/scan-20.c: Ditto. 5261 * testsuite/libgomp.c/scan-21.c: Ditto. 5262 * testsuite/libgomp.c/scan-22.c: Ditto. 5263 5264 2021-10-09 Jakub Jelinek <jakub (a] redhat.com> 5265 5266 * libgomp.texi (OpenMP 5.1): Mention implemented support for 5267 structured block sequences in C/C++. Mention support for 5268 unconstrained/reproducible modifiers on order clause. 5269 Mention partial (C/C++ only) support of extentensions to atomics 5270 construct. Mention partial (C/C++ on clause only) support of 5271 align/allocator modifiers on allocate clause. 5272 5273 2021-10-02 Tobias Burnus <tobias (a] codesourcery.com> 5274 5275 * testsuite/libgomp.fortran/order-reproducible-1.f90: New test 5276 based on libgomp.c-c++-common/order-reproducible-1.c. 5277 * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise. 5278 * testsuite/libgomp.fortran/my-usleep.c: New test. 5279 5280 2021-10-01 Tobias Burnus <tobias (a] codesourcery.com> 5281 5282 * testsuite/libgomp.fortran/alloc-10.f90: Fix alignment check. 5283 * testsuite/libgomp.fortran/alloc-7.f90: Fix array access. 5284 * testsuite/libgomp.fortran/alloc-8.f90: Likewise. 5285 * testsuite/libgomp.fortran/alloc-11.f90: New test for omp_realloc, 5286 based on libgomp.c-c++-common/alloc-9.c. 5287 5288 2021-10-01 Jakub Jelinek <jakub (a] redhat.com> 5289 5290 * testsuite/libgomp.c-c++-common/order-reproducible-1.c: New test. 5291 * testsuite/libgomp.c-c++-common/order-reproducible-2.c: New test. 5292 5293 2021-10-01 Jakub Jelinek <jakub (a] redhat.com> 5294 5295 * affinity-fmt.c (omp_get_team_num, omp_get_num_teams): Add 5296 ialias_redirect. 5297 * env.c (handle_omp_display_env): Use ialias_call. 5298 * icv-device.c: Move ialias right below each function. 5299 (omp_get_device_num): Use ialias_call. 5300 * fortran.c (omp_fulfill_event): Add ialias_redirect. 5301 * icv.c (omp_get_active_level): Add ialias_redirect. 5302 5303 2021-10-01 Jakub Jelinek <jakub (a] redhat.com> 5304 5305 * omp.h.in (omp_aligned_alloc, omp_aligned_calloc): Add 5306 __alloc_align__ (1) attribute. 5307 * testsuite/libgomp.c-c++-common/alloc-9.c: New test. 5308 5309 2021-09-30 Tobias Burnus <tobias (a] codesourcery.com> 5310 5311 * testsuite/libgomp.fortran/alloc-7.f90: Add dg-prune-output 5312 for -fintrinsic-modules-path= warning of the C compiler. 5313 * testsuite/libgomp.fortran/alloc-9.f90: Likewise. 5314 * testsuite/libgomp.fortran/alloc-10.f90: Likewise. 5315 5316 2021-09-30 Tobias Burnus <tobias (a] codesourcery.com> 5317 5318 * libgomp.texi (OpenMP 5.1): Set implementation status to Y for 5319 omp_aligned_{,c}alloc and omp_{c,re}alloc routines. 5320 * omp_lib.f90.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc, 5321 omp_realloc): Add. 5322 * omp_lib.h.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc, 5323 omp_realloc): Add. 5324 * testsuite/libgomp.fortran/alloc-10.f90: New test. 5325 * testsuite/libgomp.fortran/alloc-6.f90: New test. 5326 * testsuite/libgomp.fortran/alloc-7.c: New test. 5327 * testsuite/libgomp.fortran/alloc-7.f90: New test. 5328 * testsuite/libgomp.fortran/alloc-8.f90: New test. 5329 * testsuite/libgomp.fortran/alloc-9.f90: New test. 5330 5331 2021-09-30 Jakub Jelinek <jakub (a] redhat.com> 5332 5333 * omp.h.in (omp_aligned_alloc, omp_calloc, omp_aligned_calloc, 5334 omp_realloc): New prototypes. 5335 (omp_alloc): Move after omp_free prototype, add __malloc__ (omp_free) 5336 attribute. 5337 * allocator.c: Include string.h. 5338 (omp_aligned_alloc): No longer static, add ialias. Add new_alignment 5339 variable and use it instead of alignment so that when retrying the old 5340 alignment is used again. Don't retry if new alignment is the same 5341 as old alignment, unless allocator had pool size. 5342 (omp_alloc, GOMP_alloc, GOMP_free): Use ialias_call. 5343 (omp_aligned_calloc, omp_calloc, omp_realloc): New functions. 5344 * libgomp.map (OMP_5.0.2): Export omp_aligned_alloc, omp_calloc, 5345 omp_aligned_calloc and omp_realloc. 5346 * testsuite/libgomp.c-c++-common/alloc-4.c (main): Add 5347 omp_aligned_alloc, omp_calloc and omp_aligned_calloc tests. 5348 * testsuite/libgomp.c-c++-common/alloc-5.c: New test. 5349 * testsuite/libgomp.c-c++-common/alloc-6.c: New test. 5350 * testsuite/libgomp.c-c++-common/alloc-7.c: New test. 5351 * testsuite/libgomp.c-c++-common/alloc-8.c: New test. 5352 5353 2021-09-28 Tobias Burnus <tobias (a] codesourcery.com> 5354 5355 PR libgomp/96661 5356 * configure.ac: Only check for int-type = 2*size_t support when 5357 building with Fortran support. 5358 * configure: Regenerate. 5359 5360 2021-09-28 Thomas Schwinge <thomas (a] codesourcery.com> 5361 5362 * testsuite/libgomp.oacc-fortran/if-1.f90: Adjust. 5363 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise. 5364 5365 2021-09-27 Aldy Hernandez <aldyh (a] redhat.com> 5366 5367 * team.c: Initialize start_data. 5368 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust. 5369 * testsuite/libgomp.graphite/force-parallel-8.c: Adjust. 5370 5371 2021-09-27 Tobias Burnus <tobias (a] codesourcery.com> 5372 5373 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Change 5374 dg-message back to dg-note. 5375 5376 2021-09-27 Tobias Burnus <tobias (a] codesourcery.com> 5377 5378 PR fortran/94070 5379 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Update 5380 expected dg-note output. 5381 5382 2021-09-22 Tobias Burnus <tobias (a] codesourcery.com> 5383 5384 PR fortran/55534 5385 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Revert 5386 r12-3722 by removing -Wno-missing-include-dirs. 5387 * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS): Likewise. 5388 5389 2021-09-22 Jakub Jelinek <jakub (a] redhat.com> 5390 5391 * testsuite/libgomp.c-c++-common/allocate-2.c: New test. 5392 * testsuite/libgomp.c-c++-common/allocate-3.c: New test. 5393 5394 2021-09-21 Tobias Burnus <tobias (a] codesourcery.com> 5395 5396 PR fortran/55534 5397 * testsuite/libgomp.fortran/fortran.exp: Add -Wno-missing-include-dirs 5398 to ALWAYS_CFLAGS. 5399 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 5400 5401 2021-09-18 Jakub Jelinek <jakub (a] redhat.com> 5402 5403 * testsuite/libgomp.c++/default-1.C: New test. 5404 * testsuite/libgomp.c-c++-common/default-1.c: New test. 5405 * libgomp.texi (OpenMP 5.1): Mark "private and firstprivate argument 5406 to default clause in C and C++" as implemented. 5407 5408 2021-09-17 Julian Brown <julian (a] codesourcery.com> 5409 5410 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Update. 5411 5412 2021-09-17 Julian Brown <julian (a] codesourcery.com> 5413 5414 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: New test. 5415 5416 2021-09-17 Jakub Jelinek <jakub (a] redhat.com> 5417 5418 * libgomp.texi (OpenMP 5.1): Spelling fix, 5419 declare variante -> declare variant. 5420 5421 2021-09-17 Jakub Jelinek <jakub (a] redhat.com> 5422 5423 * testsuite/libgomp.c-c++-common/atomic-19.c: Drop c effective target. 5424 Use /* */ comments instead of //. 5425 * testsuite/libgomp.c-c++-common/atomic-20.c: Likewise. 5426 * testsuite/libgomp.c-c++-common/atomic-21.c: Likewise. 5427 * testsuite/libgomp.c++/atomic-16.C: New test. 5428 * testsuite/libgomp.c++/atomic-17.C: New test. 5429 5430 2021-09-10 Jakub Jelinek <jakub (a] redhat.com> 5431 5432 * testsuite/libgomp.c-c++-common/atomic-19.c: New test. 5433 * testsuite/libgomp.c-c++-common/atomic-20.c: New test. 5434 * testsuite/libgomp.c-c++-common/atomic-21.c: New test. 5435 5436 2021-09-07 Tobias Burnus <tobias (a] codesourcery.com> 5437 5438 * libgomp.texi (OpenMP Implementation Status): Extend 5439 OpenMP 5.0 section. 5440 (OpenACC Profiling Interface): Fix typo. 5441 5442 2021-09-07 Tobias Burnus <tobias (a] codesourcery.com> 5443 5444 * libgomp.texi (Enabling OpenMP): Refer to OMP spec in general 5445 not to 4.5; link to new section. 5446 (OpenMP Implementation Status): New. 5447 5448 2021-09-06 Thomas Schwinge <thomas (a] codesourcery.com> 5449 5450 * testsuite/libgomp.c/target-43.c: '-latomic' for nvptx offloading. 5451 5452 2021-09-03 Tobias Burnus <tobias (a] codesourcery.com> 5453 5454 * testsuite/libgomp.c-c++-common/error-1.c: Use \r\n not \n\r in 5455 dg-output. 5456 * testsuite/libgomp.fortran/error-1.f90: Likewise. 5457 5458 2021-08-23 Thomas Schwinge <thomas (a] codesourcery.com> 5459 Jakub Jelinek <jakub (a] redhat.com> 5460 5461 * testsuite/libgomp.c/address-space-1.c: New file. 5462 5463 2021-08-23 Thomas Schwinge <thomas (a] codesourcery.com> 5464 5465 * testsuite/lib/libgomp.exp 5466 (check_effective_target_offload_target_intelmic): Remove 'proc'. 5467 (check_effective_target_offload_device_intel_mic): New 'proc'. 5468 * testsuite/libgomp.c-c++-common/on_device_arch.h 5469 (device_arch_intel_mic, on_device_arch_intel_mic): New. 5470 * testsuite/libgomp.c-c++-common/target-45.c: Use that for 5471 'dg-xfail-run-if'. 5472 * testsuite/libgomp.fortran/target10.f90: Likewise. 5473 5474 2021-08-23 Tobias Burnus <tobias (a] codesourcery.com> 5475 5476 * testsuite/libgomp.fortran/taskloop-4-a.f90: New test. 5477 * testsuite/libgomp.fortran/taskloop-4.f90: New test. 5478 * testsuite/libgomp.fortran/taskloop-5-a.f90: New test. 5479 * testsuite/libgomp.fortran/taskloop-5.f90: New test. 5480 5481 2021-08-23 Jakub Jelinek <jakub (a] redhat.com> 5482 5483 * taskloop.c (GOMP_taskloop): Handle GOMP_TASK_FLAG_STRICT. 5484 * testsuite/libgomp.c-c++-common/taskloop-4.c (main): Fix up comment. 5485 * testsuite/libgomp.c-c++-common/taskloop-5.c: New test. 5486 5487 2021-08-22 Thomas Schwinge <thomas (a] codesourcery.com> 5488 5489 * config/nvptx/error.c (fwrite, exit): Override, too. 5490 * testsuite/libgomp.c-c++-common/error-1.c: Add a minimum amount 5491 of offloading testing. 5492 * testsuite/libgomp.fortran/error-1.f90: Likewise. 5493 5494 2021-08-20 Tobias Burnus <tobias (a] codesourcery.com> 5495 5496 * testsuite/libgomp.fortran/error-1.f90: New test. 5497 5498 2021-08-20 Jakub Jelinek <jakub (a] redhat.com> 5499 5500 * libgomp.map (GOMP_5.1): Add GOMP_error and GOMP_warning. 5501 * libgomp_g.h (GOMP_warning, GOMP_error): Declare. 5502 * error.c (GOMP_warning, GOMP_error): New functions. 5503 * testsuite/libgomp.c-c++-common/error-1.c: New test. 5504 5505 2021-08-18 Tobias Burnus <tobias (a] codesourcery.com> 5506 5507 * omp_lib.f90.in (omp_alloc, omp_free, omp_target_alloc, 5508 omp_target_free. omp_target_is_present, omp_target_memcpy, 5509 omp_target_memcpy_rect, omp_target_associate_ptr, 5510 omp_target_disassociate_ptr): Add interface. 5511 * omp_lib.h.in (omp_alloc, omp_free, omp_target_alloc, 5512 omp_target_free. omp_target_is_present, omp_target_memcpy, 5513 omp_target_memcpy_rect, omp_target_associate_ptr, 5514 omp_target_disassociate_ptr): Add interface. 5515 * testsuite/libgomp.fortran/alloc-1.F90: Remove local 5516 interface block for omp_alloc + omp_free. 5517 * testsuite/libgomp.fortran/alloc-4.f90: Likewise. 5518 * testsuite/libgomp.fortran/refcount-1.f90: New test. 5519 * testsuite/libgomp.fortran/target-12.f90: New test. 5520 5521 2021-08-18 Jakub Jelinek <jakub (a] redhat.com> 5522 5523 * testsuite/libgomp.c-c++-common/nothing-1.c: New test. 5524 5525 2021-08-17 Tobias Burnus <tobias (a] codesourcery.com> 5526 5527 * testsuite/libgomp.fortran/scope-1.f90: New test. 5528 * testsuite/libgomp.fortran/task-reduction-16.f90: New test. 5529 5530 2021-08-17 Jakub Jelinek <jakub (a] redhat.com> 5531 5532 * Makefile.am (libgomp_la_SOURCES): Add scope.c 5533 * Makefile.in: Regenerated. 5534 * libgomp_g.h (GOMP_scope_start): Declare. 5535 * libgomp.map: Add GOMP_scope_start@@GOMP_5.1. 5536 * scope.c: New file. 5537 * testsuite/libgomp.c-c++-common/scope-1.c: New test. 5538 * testsuite/libgomp.c-c++-common/task-reduction-16.c: New test. 5539 5540 2021-08-16 Thomas Schwinge <thomas (a] codesourcery.com> 5541 5542 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Address 5543 '?:' issues. 5544 5545 2021-08-16 Tobias Burnus <tobias (a] codesourcery.com> 5546 5547 * testsuite/libgomp.fortran/masked-1.f90: New test. 5548 5549 2021-08-13 Thomas Schwinge <thomas (a] codesourcery.com> 5550 5551 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Adjust. 5552 5553 2021-08-12 Jakub Jelinek <jakub (a] redhat.com> 5554 5555 * testsuite/libgomp.c-c++-common/masked-1.c: New test. 5556 5557 2021-08-12 Tobias Burnus <tobias (a] codesourcery.com> 5558 5559 * env.c (parse_bind_var): Accept 'primary' as alias for 5560 'master'. 5561 (omp_display_env): Add TODO comment to 5562 change 'master' to 'primary' in proc_bind for OpenMP 5.1. 5563 * libgomp.texi: Change 'master thread' to 'primary thread' 5564 in line with OpenMP 5.1. 5565 (omp_get_proc_bind): Add omp_proc_bind_primary and note that 5566 omp_proc_bind_master is an alias of it. 5567 (OMP_PROC_BIND): Mention 'PRIMARY'. 5568 * omp.h.in (__GOMP_DEPRECATED_5_1): Define. 5569 (omp_proc_bind_primary): Add. 5570 (omp_proc_bind_master): Deprecate for OpenMP 5.1. 5571 * omp_lib.f90.in (omp_proc_bind_primary): Add. 5572 (omp_proc_bind_master): Deprecate for OpenMP 5.1. 5573 * omp_lib.h.in (omp_proc_bind_primary): Add. 5574 * testsuite/libgomp.c/affinity-1.c: Check that 5575 'primary' works and is identical to 'master'. 5576 5577 2021-08-09 Julian Brown <julian (a] codesourcery.com> 5578 Kwok Cheung Yeung <kcy (a] codesourcery.com> 5579 Thomas Schwinge <thomas (a] codesourcery.com> 5580 5581 * plugin/plugin-gcn.c (gcn_exec): Change default number of workers to 5582 16. 5583 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c 5584 [acc_device_radeon]: Update. 5585 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c 5586 [ACC_DEVICE_TYPE_radeon]: Likewise. 5587 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c 5588 [acc_device_radeon]: Likewise. 5589 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c 5590 [ACC_DEVICE_TYPE_radeon]: Likewise. 5591 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: XFAIL for 5592 'openacc_radeon_accel_selected' and '-O0'. 5593 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise. 5594 5595 2021-08-05 Chung-Lin Tang <cltang (a] codesourcery.com> 5596 5597 * icv-device.c (omp_get_device_num): New API function, host side. 5598 * fortran.c (omp_get_device_num_): New interface function. 5599 * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Define macro symbol. 5600 * libgomp.map (OMP_5.0.2): New version space with omp_get_device_num, 5601 omp_get_device_num_. 5602 * libgomp.texi (omp_get_device_num): Add documentation for new API 5603 function. 5604 * omp.h.in (omp_get_device_num): Add declaration. 5605 * omp_lib.f90.in (omp_get_device_num): Likewise. 5606 * omp_lib.h.in (omp_get_device_num): Likewise. 5607 * target.c (gomp_load_image_to_device): If additional entry for device 5608 number exists at end of returned entries from 'load_image_func' hook, 5609 copy the assigned device number over to the device variable. 5610 * config/gcn/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global. 5611 (omp_get_device_num): New API function, device side. 5612 * plugin/plugin-gcn.c ("symcat.h"): Add include. 5613 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR 5614 at end of returned 'target_table' entries. 5615 * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global. 5616 (omp_get_device_num): New API function, device side. 5617 * plugin/plugin-nvptx.c ("symcat.h"): Add include. 5618 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR 5619 at end of returned 'target_table' entries. 5620 * testsuite/lib/libgomp.exp 5621 (check_effective_target_offload_target_intelmic): New function for 5622 testing for intelmic offloading. 5623 * testsuite/libgomp.c-c++-common/target-45.c: New test. 5624 * testsuite/libgomp.fortran/target10.f90: New test. 5625 5626 2021-07-30 Thomas Schwinge <thomas (a] codesourcery.com> 5627 Ulrich Drepper <drepper (a] redhat.com> 5628 5629 * fortran.c (omp_display_env_, omp_display_env_8_): Only 5630 '#ifndef LIBGOMP_OFFLOADED_ONLY'. 5631 5632 2021-07-29 Thomas Schwinge <thomas (a] codesourcery.com> 5633 Julian Brown <julian (a] codesourcery.com> 5634 Kwok Cheung Yeung <kcy (a] codesourcery.com> 5635 5636 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: 5637 's%oaccdevlow%oaccloops%g'. 5638 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise. 5639 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise. 5640 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c: 5641 Likewise. 5642 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: 5643 Likewise. 5644 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: 5645 Likewise. 5646 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: 5647 Likewise. 5648 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: 5649 Likewise. 5650 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: 5651 Likewise. 5652 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: 5653 Likewise. 5654 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: 5655 Likewise. 5656 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise. 5657 5658 2021-07-29 Aldy Hernandez <aldyh (a] redhat.com> 5659 5660 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for 5661 threader. 5662 * testsuite/libgomp.graphite/force-parallel-8.c: Same. 5663 5664 2021-07-27 Ulrich Drepper <drepper (a] gmail.com> 5665 5666 * env.c (wait_policy, stacksize): New static variables, 5667 move out of handle_omp_display_env. 5668 (omp_display_env): New function. The meat of the old 5669 handle_omp_display_env function. 5670 (handle_omp_display_env): Change to not take parameters 5671 and instead use the global variables. Only perform 5672 parsing, defer to omp_display_env for the implementation. 5673 (initialize_env): Remove local variables wait_policy and 5674 stacksize. Don't pass parameters to handle_omp_display_env. 5675 * fortran.c: Add ialias_redirect for omp_display_env. 5676 (omp_display_env_, omp_display_env_8_): New functions. 5677 * libgomp.map (OMP_5.1): New version. Add omp_display_env, 5678 omp_display_env_, and omp_display_env_8_. 5679 * omp.h.in: Declare omp_display_env. 5680 * omp_lib.f90.in: Likewise. 5681 * omp_lib.h.in: Likewise. 5682 5683 2021-07-27 Thomas Schwinge <thomas (a] codesourcery.com> 5684 Julian Brown <julian (a] codesourcery.com> 5685 5686 * target.c (gomp_coalesce_buf_add): Update comment. 5687 (gomp_copy_host2dev, gomp_map_vars_internal): Don't expect to see 5688 'aq && cbuf'. 5689 (gomp_map_vars_internal): Only 'if (!aq)', do 5690 'gomp_coalesce_buf_add'. 5691 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Remove 5692 XFAIL. 5693 5694 2021-07-27 Julian Brown <julian (a] codesourcery.com> 5695 Thomas Schwinge <thomas (a] codesourcery.com> 5696 5697 * libgomp.h (gomp_copy_host2dev): Update prototype. 5698 * oacc-mem.c (memcpy_tofrom_device, update_dev_host): Add new 5699 argument to gomp_copy_host2dev (false). 5700 * plugin/plugin-gcn.c (struct copy_data): Remove free_src field. 5701 (copy_data): Don't free src. 5702 (queue_push_copy): Remove free_src handling. 5703 (GOMP_OFFLOAD_dev2dev): Update call to queue_push_copy. 5704 (GOMP_OFFLOAD_openacc_async_host2dev): Remove source-data 5705 snapshotting. 5706 (GOMP_OFFLOAD_openacc_async_dev2host): Update call to 5707 queue_push_copy. 5708 * target.c (goacc_device_copy_async): Add SRCADDR_ORIG parameter. 5709 (gomp_copy_host2dev): Add EPHEMERAL parameter. Snapshot source 5710 data when true, and set up deferred freeing of temporary buffer. 5711 (gomp_copy_dev2host): Update call to goacc_device_copy_async. 5712 (gomp_map_vars_existing, gomp_map_pointer, gomp_attach_pointer) 5713 (gomp_detach_pointer, gomp_map_vars_internal, gomp_update): Update 5714 calls to gomp_copy_host2dev with appropriate ephemeral argument. 5715 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: Remove 5716 XFAIL. 5717 5718 2021-07-27 Thomas Schwinge <thomas (a] codesourcery.com> 5719 Tom de Vries <tom (a] codesourcery.com> 5720 5721 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: New file. 5722 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Likewise. 5723 5724 2021-07-27 Thomas Schwinge <thomas (a] codesourcery.com> 5725 5726 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Clarify 5727 sequencing of 'async' data copying vs. profiling events. 5728 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: 5729 Likewise. 5730 5731 2021-07-27 Thomas Schwinge <thomas (a] codesourcery.com> 5732 Julian Brown <julian (a] codesourcery.com> 5733 5734 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: Fix OpenACC 5735 'async'/'wait' issue. 5736 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: Likewise. 5737 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: Likewise. 5738 * testsuite/libgomp.oacc-fortran/lib-16.f90: Likewise. 5739 5740 2021-07-21 Thomas Schwinge <thomas (a] codesourcery.com> 5741 Joseph Myers <joseph (a] codesourcery.com> 5742 Cesar Philippidis <cesar (a] codesourcery.com> 5743 5744 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c: New 5745 file. 5746 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: 5747 Likewise. 5748 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2_2.c: 5749 Likewise. 5750 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise. 5751 5752 2021-07-20 Thomas Schwinge <thomas (a] codesourcery.com> 5753 5754 PR target/101484 5755 * configure.tgt [amdgcn*-*-*] (XCFLAGS): Add 5756 '-Wno-error=array-bounds'. 5757 * config/gcn/team.c: Remove '-Werror=array-bounds' work-around. 5758 * libgomp.h [__AMDGCN__]: Likewise. 5759 5760 2021-07-19 Thomas Schwinge <thomas (a] codesourcery.com> 5761 5762 PR target/101484 5763 * config/gcn/team.c: Apply '-Werror=array-bounds' work-around. 5764 * libgomp.h [__AMDGCN__]: Likewise. 5765 5766 2021-07-13 Jakub Jelinek <jakub (a] redhat.com> 5767 Florian Weimer <fweimer (a] redhat.com> 5768 5769 * config/linux/sem.h: Don't include limits.h. 5770 (SEM_WAIT): Define to -__INT_MAX__ - 1 instead of INT_MIN. 5771 * config/linux/affinity.c: Include limits.h. 5772 5773 2021-07-01 Jakub Jelinek <jakub (a] redhat.com> 5774 5775 PR middle-end/94366 5776 * testsuite/libgomp.c-c++-common/pr94366.c: New test. 5777 5778 2021-06-29 Tobias Burnus <tobias (a] codesourcery.com> 5779 5780 PR other/67300 5781 * testsuite/libgomp.c-c++-common/reduction-16.c: Replace 5782 -foffload=nvptx-none= by -foffload-options=nvptx-none= to 5783 avoid disabling other offload targets. 5784 * testsuite/libgomp.c-c++-common/reduction-5.c: Likewise. 5785 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise. 5786 * testsuite/libgomp.c/target-44.c: Likewise. 5787 5788 2021-06-29 Tobias Burnus <tobias (a] codesourcery.com> 5789 5790 * testsuite/libgomp.fortran/defaultmap-8.f90 (bar): Determine whether 5791 target has shared memory and disable some scalar pointer/allocatable 5792 checks if not as firstprivate does not work. 5793 5794 2021-06-25 Chung-Lin Tang <cltang (a] codesourcery.com> 5795 5796 PR testsuite/101114 5797 * testsuite/libgomp.c-c++-common/struct-elem-5.c: 5798 Add "target offload_device_nonshared_as" condition for enabling test. 5799 5800 2021-06-24 Jakub Jelinek <jakub (a] redhat.com> 5801 5802 * testsuite/libgomp.c-c++-common/target-in-reduction-1.c: New test. 5803 * testsuite/libgomp.c-c++-common/target-in-reduction-2.c: New test. 5804 * testsuite/libgomp.c++/target-in-reduction-1.C: New test. 5805 * testsuite/libgomp.c++/target-in-reduction-2.C: New test. 5806 5807 2021-06-23 Jakub Jelinek <jakub (a] redhat.com> 5808 5809 PR middle-end/101167 5810 * testsuite/libgomp.c-c++-common/task-reduction-15.c: New test. 5811 5812 2021-06-17 Chung-Lin Tang <cltang (a] codesourcery.com> 5813 5814 * hashtab.h (htab_clear): New function with initialization code 5815 factored out from... 5816 (htab_create): ...here, adjust to use htab_clear function. 5817 * libgomp.h (REFCOUNT_SPECIAL): New symbol to denote range of 5818 special refcount values, add comments. 5819 (REFCOUNT_INFINITY): Adjust definition to use REFCOUNT_SPECIAL. 5820 (REFCOUNT_LINK): Likewise. 5821 (REFCOUNT_STRUCTELEM): New special refcount range for structure 5822 element siblings. 5823 (REFCOUNT_STRUCTELEM_P): Macro for testing for structure element 5824 sibling maps. 5825 (REFCOUNT_STRUCTELEM_FLAG_FIRST): Flag to indicate first sibling. 5826 (REFCOUNT_STRUCTELEM_FLAG_LAST): Flag to indicate last sibling. 5827 (REFCOUNT_STRUCTELEM_FIRST_P): Macro to test _FIRST flag. 5828 (REFCOUNT_STRUCTELEM_LAST_P): Macro to test _LAST flag. 5829 (struct splay_tree_key_s): Add structelem_refcount and 5830 structelem_refcount_ptr fields into a union with dynamic_refcount. 5831 Add comments. 5832 (gomp_map_vars): Delete declaration. 5833 (gomp_map_vars_async): Likewise. 5834 (gomp_unmap_vars): Likewise. 5835 (gomp_unmap_vars_async): Likewise. 5836 (goacc_map_vars): New declaration. 5837 (goacc_unmap_vars): Likewise. 5838 * oacc-mem.c (acc_map_data): Adjust to use goacc_map_vars. 5839 (goacc_enter_datum): Likewise. 5840 (goacc_enter_data_internal): Likewise. 5841 * oacc-parallel.c (GOACC_parallel_keyed): Adjust to use goacc_map_vars 5842 and goacc_unmap_vars. 5843 (GOACC_data_start): Adjust to use goacc_map_vars. 5844 (GOACC_data_end): Adjust to use goacc_unmap_vars. 5845 * target.c (hash_entry_type): New typedef. 5846 (htab_alloc): New function hook for hashtab.h. 5847 (htab_free): Likewise. 5848 (htab_hash): Likewise. 5849 (htab_eq): Likewise. 5850 (hashtab.h): Add file include. 5851 (gomp_increment_refcount): New function. 5852 (gomp_decrement_refcount): Likewise. 5853 (gomp_map_vars_existing): Add refcount_set parameter, adjust to use 5854 gomp_increment_refcount. 5855 (gomp_map_fields_existing): Add refcount_set parameter, adjust calls 5856 to gomp_map_vars_existing. 5857 (gomp_map_vars_internal): Add refcount_set parameter, add local openmp_p 5858 variable to guard OpenMP specific paths, adjust calls to 5859 gomp_map_vars_existing, add structure element sibling splay_tree_key 5860 sequence creation code, adjust Fortran map case to avoid increment 5861 under OpenMP. 5862 (gomp_map_vars): Adjust to static, add refcount_set parameter, manage 5863 local refcount_set if caller passed in NULL, adjust call to 5864 gomp_map_vars_internal. 5865 (gomp_map_vars_async): Adjust and rename into... 5866 (goacc_map_vars): ...this new function, adjust call to 5867 gomp_map_vars_internal. 5868 (gomp_remove_splay_tree_key): New function with code factored out from 5869 gomp_remove_var_internal. 5870 (gomp_remove_var_internal): Add code to handle removing multiple 5871 splay_tree_key sequence for structure elements, adjust code to use 5872 gomp_remove_splay_tree_key for splay-tree key removal. 5873 (gomp_unmap_vars_internal): Add refcount_set parameter, adjust to use 5874 gomp_decrement_refcount. 5875 (gomp_unmap_vars): Adjust to static, add refcount_set parameter, manage 5876 local refcount_set if caller passed in NULL, adjust call to 5877 gomp_unmap_vars_internal. 5878 (gomp_unmap_vars_async): Adjust and rename into... 5879 (goacc_unmap_vars): ...this new function, adjust call to 5880 gomp_unmap_vars_internal. 5881 (GOMP_target): Manage refcount_set and adjust calls to gomp_map_vars and 5882 gomp_unmap_vars. 5883 (GOMP_target_ext): Likewise. 5884 (gomp_target_data_fallback): Adjust call to gomp_map_vars. 5885 (GOMP_target_data): Likewise. 5886 (GOMP_target_data_ext): Likewise. 5887 (GOMP_target_end_data): Adjust call to gomp_unmap_vars. 5888 (gomp_exit_data): Add refcount_set parameter, adjust to use 5889 gomp_decrement_refcount, adjust to queue splay-tree keys for removal 5890 after main loop. 5891 (GOMP_target_enter_exit_data): Manage refcount_set and adjust calls to 5892 gomp_map_vars and gomp_exit_data. 5893 (gomp_target_task_fn): Likewise. 5894 * testsuite/libgomp.c-c++-common/refcount-1.c: New testcase. 5895 * testsuite/libgomp.c-c++-common/struct-elem-1.c: New testcase. 5896 * testsuite/libgomp.c-c++-common/struct-elem-2.c: New testcase. 5897 * testsuite/libgomp.c-c++-common/struct-elem-3.c: New testcase. 5898 * testsuite/libgomp.c-c++-common/struct-elem-4.c: New testcase. 5899 * testsuite/libgomp.c-c++-common/struct-elem-5.c: New testcase. 5900 5901 2021-06-15 Tobias Burnus <tobias (a] codesourcery.com> 5902 5903 PR fortran/92568 5904 * testsuite/libgomp.fortran/defaultmap-8.f90: New test. 5905 5906 2021-06-10 Andrew Stubbs <ams (a] codesourcery.com> 5907 Thomas Schwinge <thomas (a] codesourcery.com> 5908 5909 * libgomp.map (GOACC_2.0.2): New symbol version. 5910 * libgomp_g.h (GOACC_enter_data, GOACC_exit_data) New prototypes. 5911 * oacc-mem.c (GOACC_enter_data, GOACC_exit_data) New functions. 5912 5913 2021-06-10 Thomas Schwinge <thomas (a] codesourcery.com> 5914 Andrew Stubbs <ams (a] codesourcery.com> 5915 5916 * oacc-mem.c (goacc_enter_exit_data_internal): New function, 5917 extracted from... 5918 (GOACC_enter_exit_data): ... here. 5919 (GOACC_declare): Use it. 5920 5921 2021-06-10 Thomas Schwinge <thomas (a] codesourcery.com> 5922 5923 * oacc-parallel.c (GOACC_declare): Move... 5924 * oacc-mem.c: ... here. 5925 * libgomp_g.h: Adjust. 5926 5927 2021-06-10 Andrew Stubbs <ams (a] codesourcery.com> 5928 Thomas Schwinge <thomas (a] codesourcery.com> 5929 5930 * oacc-parallel.c (GOACC_declare): Clean up 'GOMP_MAP_POINTER' 5931 handling. 5932 5933 2021-06-10 Jakub Jelinek <jakub (a] redhat.com> 5934 5935 PR tree-optimization/100981 5936 * testsuite/libgomp.fortran/pr100981-2.f90 (cdcdot): Initialize 5937 dsdotr and dsdoti to 0. 5938 5939 2021-06-09 H.J. Lu <hjl.tools (a] gmail.com> 5940 5941 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -march=i486 5942 if atomic compare-and-swap is supported on 'int'. 5943 5944 2021-06-09 Richard Biener <rguenther (a] suse.de> 5945 5946 PR tree-optimization/100981 5947 * testsuite/libgomp.fortran/pr100981-2.f90: New testcase. 5948 5949 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com> 5950 5951 * plugin/plugin-gcn.c (gcn_exec): Force 'num_workers (1)' 5952 unconditionally. 5953 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: 5954 Update. 5955 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise. 5956 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise. 5957 5958 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com> 5959 5960 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Enable for all but 5961 '-DACC_MEM_SHARED=0'. 5962 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise. 5963 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise. 5964 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise. 5965 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise. 5966 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. 5967 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise. 5968 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise. 5969 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. 5970 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise. 5971 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise. 5972 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise. 5973 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise. 5974 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise. 5975 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise. 5976 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Add 5977 'acc_device_radeon' testing. 5978 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise. 5979 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise. 5980 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise. 5981 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Enable for all. 5982 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise. 5983 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise. 5984 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise. 5985 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise. 5986 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise. 5987 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise. 5988 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Improve checking 5989 for non-'openacc_nvidia_accel_selected'. 5990 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise. 5991 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Clarify that "Not 5992 all implement this checking". 5993 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise. 5994 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise. 5995 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise. 5996 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise. 5997 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise. 5998 5999 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com> 6000 6001 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Simplify. 6002 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: Update. 6003 6004 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com> 6005 6006 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Fix 6007 for 'acc_device_radeon'. 6008 6009 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com> 6010 6011 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Enhance 6012 for non-'acc_device_nvidia'. 6013 6014 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com> 6015 6016 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Add 6017 'acc_device_radeon' testing. 6018 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise. 6019 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise. 6020 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise. 6021 6022 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com> 6023 6024 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Don't 6025 require 'openacc_nvidia_accel_selected'. Fix up for 6026 'ACC_DEVICE_TYPE_radeon'. 6027 6028 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com> 6029 6030 * testsuite/libgomp.oacc-c++/declare-1.C: Don't require 6031 'openacc_nvidia_accel_selected'. 6032 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise. 6033 6034 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com> 6035 6036 * testsuite/lib/libgomp.exp 6037 (check_effective_target_openacc_radeon_accel_selected): 6038 Streamline. 6039 6040 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com> 6041 6042 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Revert 6043 PR80547 workaround. 6044 6045 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com> 6046 6047 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c 6048 <acc_device_nvidia>: Update comment. 6049 6050 2021-05-28 Tobias Burnus <tobias (a] codesourcery.com> 6051 6052 * testsuite/libgomp.fortran/depend-iterator-2.f90: New test. 6053 6054 2021-05-27 Jakub Jelinek <jakub (a] redhat.com> 6055 6056 * testsuite/lib/libgomp.exp (check_effective_target_openacc_cuda, 6057 check_effective_target_openacc_cublas, 6058 check_effective_target_openacc_cudart): New. 6059 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Require effective 6060 target openacc_cublas. 6061 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise. 6062 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise. 6063 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Require effective 6064 target openacc_cuda. 6065 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise. 6066 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise. 6067 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise. 6068 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise. 6069 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise. 6070 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise. 6071 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise. 6072 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise. 6073 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Likewise. 6074 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise. 6075 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise. 6076 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise. 6077 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise. 6078 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise. 6079 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise. 6080 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise. 6081 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Require effective 6082 targets openacc_cublas and openacc_cudart. 6083 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise. 6084 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise. 6085 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise. 6086 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise. 6087 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: 6088 Require effective target openacc_cudart. 6089 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Add -DUSE_CUDA_H 6090 for effective target openacc_cuda and add && defined USE_CUDA_H to 6091 preprocessor conditionals. Guard -lcuda also on openacc_cuda 6092 effective target. 6093 6094 2021-05-26 Jakub Jelinek <jakub (a] redhat.com> 6095 6096 PR libgomp/100573 6097 * config/nvptx/target.c (GOMP_target_ext, GOMP_target_data_ext, 6098 GOMP_target_end_data, GOMP_target_update_ext, 6099 GOMP_target_enter_exit_data): New dummy entrypoints. 6100 * config/gcn/target.c (GOMP_target_ext, GOMP_target_data_ext, 6101 GOMP_target_end_data, GOMP_target_update_ext, 6102 GOMP_target_enter_exit_data): Likewise. 6103 * testsuite/libgomp.c-c++-common/for-3.c (DO_PRAGMA, OMPTEAMS, 6104 OMPFROM, OMPTO): Define. 6105 (main): Remove #pragma omp target teams around all the tests. 6106 * testsuite/libgomp.c-c++-common/target-41.c: New test. 6107 * testsuite/libgomp.c-c++-common/target-42.c: New test. 6108 6109 2021-05-25 Jakub Jelinek <jakub (a] redhat.com> 6110 6111 PR middle-end/99928 6112 * testsuite/libgomp.c-c++-common/reduction-17.c: New test. 6113 6114 2021-05-24 Tobias Burnus <tobias (a] codesourcery.com> 6115 6116 PR fortran/86470 6117 * testsuite/libgomp.fortran/class-firstprivate-1.f90: New test. 6118 * testsuite/libgomp.fortran/class-firstprivate-2.f90: New test. 6119 * testsuite/libgomp.fortran/class-firstprivate-3.f90: New test. 6120 6121 2021-05-22 Thomas Schwinge <thomas (a] codesourcery.com> 6122 6123 PR testsuite/90115 6124 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Prune 6125 uninteresting/varying diagnostics. 6126 6127 2021-05-21 Thomas Schwinge <thomas (a] codesourcery.com> 6128 6129 PR middle-end/90115 6130 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Update. 6131 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise. 6132 6133 2021-05-21 Thomas Schwinge <thomas (a] codesourcery.com> 6134 6135 PR middle-end/90115 6136 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: New 6137 file. 6138 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update. 6139 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Likewise. 6140 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: 6141 Likewise. 6142 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c: 6143 Likewise. 6144 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c: 6145 Likewise. 6146 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c: 6147 Likewise. 6148 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c: 6149 Likewise. 6150 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c: 6151 Likewise. 6152 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c: 6153 Likewise. 6154 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c: 6155 Likewise. 6156 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c: 6157 Likewise. 6158 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c: 6159 Likewise. 6160 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c: 6161 Likewise. 6162 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c: 6163 Likewise. 6164 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c: 6165 Likewise. 6166 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c: 6167 Likewise. 6168 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c: 6169 Likewise. 6170 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c: 6171 Likewise. 6172 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c: 6173 Likewise. 6174 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c: 6175 Likewise. 6176 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c: 6177 Likewise. 6178 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c: 6179 Likewise. 6180 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c: 6181 Likewise. 6182 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise. 6183 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise. 6184 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise. 6185 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise. 6186 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise. 6187 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise. 6188 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise. 6189 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise. 6190 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise. 6191 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise. 6192 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise. 6193 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise. 6194 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise. 6195 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise. 6196 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: 6197 Likewise. 6198 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c: 6199 Likewise. 6200 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: 6201 Likewise. 6202 * testsuite/libgomp.oacc-c-c++-common/private-variables.c: 6203 Likewise. 6204 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise. 6205 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: 6206 Likewise. 6207 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise. 6208 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise. 6209 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise. 6210 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise. 6211 * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise. 6212 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise. 6213 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90: 6214 Likewise. 6215 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90: 6216 Likewise. 6217 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90: 6218 Likewise. 6219 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90: 6220 Likewise. 6221 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90: 6222 Likewise. 6223 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90: 6224 Likewise. 6225 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90: 6226 Likewise. 6227 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90: 6228 Likewise. 6229 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90: 6230 Likewise. 6231 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90: 6232 Likewise. 6233 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90: 6234 Likewise. 6235 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90: 6236 Likewise. 6237 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90: 6238 Likewise. 6239 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise. 6240 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise. 6241 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90: 6242 Likewise. 6243 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90: 6244 Likewise. 6245 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise. 6246 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise. 6247 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise. 6248 6249 2021-05-21 Julian Brown <julian (a] codesourcery.com> 6250 Chung-Lin Tang <cltang (a] codesourcery.com> 6251 Thomas Schwinge <thomas (a] codesourcery.com> 6252 6253 PR middle-end/90115 6254 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c: New 6255 test. 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 6261 2021-05-21 Thomas Schwinge <thomas (a] codesourcery.com> 6262 6263 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Don't skip 6264 for nvptx offloading. 6265 6266 2021-05-21 Tobias Burnus <tobias (a] codesourcery.com> 6267 6268 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: New. 6269 6270 2021-05-19 Thomas Schwinge <thomas (a] codesourcery.com> 6271 6272 PR target/83812 6273 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: New. 6274 6275 2021-05-19 Julian Brown <julian (a] codesourcery.com> 6276 6277 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: New. 6278 6279 2021-05-18 Thomas Schwinge <thomas (a] codesourcery.com> 6280 6281 * testsuite/lib/libgomp.exp 6282 (check_effective_target_offload_target_nvptx): Don't shadow global 6283 'offload_targets' variable. 6284 6285 2021-05-18 Thomas Schwinge <thomas (a] codesourcery.com> 6286 6287 * testsuite/libgomp.c-c++-common/reduction-5.c: Restrict 6288 '-latomic' to nvptx offloading compilation. 6289 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise. 6290 6291 2021-05-18 Thomas Schwinge <thomas (a] codesourcery.com> 6292 6293 * testsuite/libgomp.c/target-44.c: Restrict '-latomic' to nvptx 6294 offloading compilation. 6295 6296 2021-05-17 Kwok Cheung Yeung <kcy (a] codesourcery.com> 6297 6298 * task.c (omp_fulfill_event): Call gomp_team_barrier_set_task_pending 6299 if new tasks generated. 6300 * testsuite/libgomp.c-c++-common/task-detach-13.c: New. 6301 6302 2021-05-14 Tobias Burnus <tobias (a] codesourcery.com> 6303 6304 * testsuite/libgomp.fortran/parallel-master.f90: New test. 6305 6306 2021-05-13 Martin Liska <mliska (a] suse.cz> 6307 6308 PR testsuite/100569 6309 * testsuite/libgomp.c/omp-nested-3.c: Prune new LTO warning. 6310 * testsuite/libgomp.c/pr46032-2.c: Likewise. 6311 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c: Likewise. 6312 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c: Likewise. 6313 6314 2021-05-12 Tobias Burnus <tobias (a] codesourcery.com> 6315 6316 * testsuite/libgomp.c-c++-common/task-detach-12.c: New test. 6317 * testsuite/libgomp.fortran/task-detach-12.f90: New test. 6318 6319 2021-05-11 Jakub Jelinek <jakub (a] redhat.com> 6320 6321 PR middle-end/100471 6322 * taskloop.c (GOMP_taskloop): If GOMP_TASK_FLAG_REDUCTION and not 6323 GOMP_TASK_FLAG_NOGROUP, when doing early return clear the task 6324 reduction pointer. 6325 * testsuite/libgomp.c/task-reduction-4.c: New test. 6326 6327 2021-05-07 Tobias Burnus <tobias (a] codesourcery.com> 6328 Tom de Vries <tdevries (a] suse.de> 6329 6330 * testsuite/libgomp.c-c++-common/reduction-5.c: New test, testing 6331 complex/floating-point || + && reduction with 'omp target'. 6332 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise. 6333 6334 2021-05-04 Tobias Burnus <tobias (a] codesourcery.com> 6335 6336 * testsuite/libgomp.c-c++-common/reduction-1.c: New test. 6337 * testsuite/libgomp.c-c++-common/reduction-2.c: New test. 6338 * testsuite/libgomp.c-c++-common/reduction-3.c: New test. 6339 * testsuite/libgomp.c-c++-common/reduction-4.c: New file. 6340 6341 2021-05-04 Tobias Burnus <tobias (a] codesourcery.com> 6342 6343 PR testsuite/100397 6344 * testsuite/libgomp.fortran/depobj-1.f90 (dep2, dep3): Move var 6345 declaration to scope of non-'depend'-guarded assignment to avoid races. 6346 6347 2021-05-03 Tom de Vries <tdevries (a] suse.de> 6348 6349 PR target/100321 6350 * testsuite/libgomp.c/target-44.c: New test. 6351 6352 2021-04-30 Roman Zhuykov <zhroma (a] ispras.ru> 6353 6354 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-3.c: New test. 6355 6356 2021-04-29 Tom de Vries <tdevries (a] suse.de> 6357 6358 * testsuite/libgomp.c/pr81778.c: New test. 6359 6360 2021-04-29 Tom de Vries <tdevries (a] suse.de> 6361 6362 PR target/100232 6363 * testsuite/libgomp.c/target-43.c: New file. 6364 6365 2021-04-28 Jakub Jelinek <jakub (a] redhat.com> 6366 Tobias Burnus <tobias (a] codesourcery.com> 6367 6368 * configure.ac (OFFLOAD_DEFAULTED): AC_DEFINE if offload-defaulted. 6369 * target.c (gomp_load_plugin_for_device): If set and if a plugin 6370 can't be dlopened, silently assume it has no devices. 6371 * Makefile.in: Regenerate. 6372 * config.h.in: Regenerate. 6373 * configure: Regenerate. 6374 6375 2021-04-26 Tobias Burnus <tobias (a] codesourcery.com> 6376 6377 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: 6378 Use [Ww]arning in dg-bogus as FE diagnostic and default 6379 diagnostic differ and the result depends on ENABLE_OFFLOAD. 6380 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise. 6381 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise. 6382 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise. 6383 6384 2021-04-26 Tobias Burnus <tobias (a] codesourcery.com> 6385 6386 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: 6387 Correct spelling in dg-bogus to match -Wopenacc-parallelism. 6388 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise. 6389 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise. 6390 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise. 6391 6392 2021-04-26 Thomas Schwinge <thomas (a] codesourcery.com> 6393 Nathan Sidwell <nathan (a] codesourcery.com> 6394 Tom de Vries <vries (a] codesourcery.com> 6395 Julian Brown <julian (a] codesourcery.com> 6396 Kwok Cheung Yeung <kcy (a] codesourcery.com> 6397 6398 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Specify 6399 '-Wopenacc-parallelism', and match diagnostics, as appropriate. 6400 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise. 6401 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise. 6402 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise. 6403 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise. 6404 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: 6405 Likewise. 6406 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise. 6407 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise. 6408 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise. 6409 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: 6410 Likewise. 6411 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise. 6412 * testsuite/libgomp.oacc-c-c++-common/private-variables.c: 6413 Likewise. 6414 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise. 6415 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise. 6416 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise. 6417 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise. 6418 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise. 6419 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: 6420 Likewise. 6421 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise. 6422 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise. 6423 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise. 6424 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise. 6425 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise. 6426 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise. 6427 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise. 6428 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise. 6429 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise. 6430 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. 6431 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise. 6432 6433 2021-04-26 Thomas Schwinge <thomas (a] codesourcery.com> 6434 6435 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Don't 6436 compile with '-w'. 6437 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise. 6438 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: 6439 Likewise. 6440 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise. 6441 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: Likewise. 6442 * testsuite/libgomp.oacc-fortran/parallel-reduction.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/reduction-7.f90: Likewise. 6447 6448 2021-04-22 Richard Biener <rguenther (a] suse.de> 6449 6450 * testsuite/libgomp.c-c++-common/reduction-16.c: Use -latomic 6451 only on nvptx-none. 6452 6453 2021-04-21 Tobias Burnus <tobias (a] codesourcery.com> 6454 6455 * testsuite/libgomp.fortran/depobj-1.f90: Use omp_lib's 6456 omp_depend_kind instead of defining it as 16. 6457 6458 2021-04-21 Tobias Burnus <tobias (a] codesourcery.com> 6459 6460 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type): 6461 New, based on check_effective_target_offload_target_nvptx. 6462 (check_effective_target_offload_target_nvptx): Call it. 6463 (check_effective_target_offload_target_amdgcn): New. 6464 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: 6465 Require target offload_target_nvptx || offload_target_amdgcn. 6466 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: Likewise. 6467 * testsuite/libgomp.c/pr86416-1.c: Likewise. 6468 * testsuite/libgomp.c/pr86416-2.c: Likewise. 6469 6470 2021-04-21 Tobias Burnus <tobias (a] codesourcery.com> 6471 6472 * testsuite/libgomp.fortran/depobj-1.f90: New test. 6473 6474 2021-04-19 Thomas Schwinge <thomas (a] codesourcery.com> 6475 6476 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c: 6477 '-fopenacc-kernels=[...]' -> '--param=openacc-kernels=[...]'. 6478 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c: 6479 Likewise. 6480 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: 6481 Likewise. 6482 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise. 6483 6484 2021-04-15 Thomas Schwinge <thomas (a] codesourcery.com> 6485 6486 PR target/99555 6487 * testsuite/lib/libgomp.exp 6488 (check_effective_target_offload_device_nvptx): New. 6489 * testsuite/libgomp.c/pr99555-1.c <nvptx offload device>: Until 6490 resolved, make sure that we exit quickly, with error status, 6491 XFAILed. 6492 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise. 6493 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise. 6494 6495 2021-04-14 Jakub Jelinek <jakub (a] redhat.com> 6496 6497 PR testsuite/100071 6498 * testsuite/libgomp.fortran/alloc-1.F90: Call c_f_pointer after last 6499 cp = omp_alloc with cp, p arguments instead of cq, q and call 6500 c_f_pointer after last cq = omp_alloc with cq, q. 6501 6502 2021-04-11 Hafiz Abid Qadeer <abidh (a] codesourcery.com> 6503 6504 PR middle-end/98088 6505 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Add check 6506 for loop with GT/GE condition. 6507 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise. 6508 6509 2021-04-09 Thomas Schwinge <thomas (a] codesourcery.com> 6510 6511 PR middle-end/84991 6512 PR middle-end/84992 6513 PR middle-end/90779 6514 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: New. 6515 6516 2021-04-09 Jakub Jelinek <jakub (a] redhat.com> 6517 6518 PR libgomp/99984 6519 * team.c (gomp_thread_start): Call pthread_setspecific for 6520 !(defined HAVE_TLS || defined USE_EMUTLS) only after local_thr 6521 has been initialized to avoid false positive warning. 6522 6523 2021-03-29 Tobias Burnus <tobias (a] codesourcery.com> 6524 6525 PR target/99555 6526 * testsuite/lib/on_device_arch.c: Move to ... 6527 * testsuite/libgomp.c-c++-common/on_device_arch.h: ... here. 6528 * testsuite/libgomp.fortran/on_device_arch.c: New file; 6529 #include on_device_arch.h. 6530 * testsuite/libgomp.c-c++-common/task-detach-6.c: #include 6531 on_device_arch.h instead of using dg-additional-source. 6532 * testsuite/libgomp.c/pr99555-1.c: Likewise. 6533 * testsuite/libgomp.fortran/task-detach-6.f90: Update to use 6534 on_device_arch.c without relative paths. 6535 6536 2021-03-25 Thomas Schwinge <thomas (a] codesourcery.com> 6537 6538 * plugin/plugin-gcn.c (init_environment_variables): Don't prepend 6539 the 'HSA_RUNTIME_LIB' path to 'libhsa-runtime64.so'. 6540 * plugin/configfrag.ac (HSA_RUNTIME_LIB): Clean up. 6541 * config.h.in: Regenerate. 6542 * configure: Likewise. 6543 6544 2021-03-25 Thomas Schwinge <thomas (a] codesourcery.com> 6545 6546 PR target/99555 6547 * testsuite/lib/on_device_arch.c: New file. 6548 * testsuite/libgomp.c/pr99555-1.c: Likewise. 6549 * testsuite/libgomp.c-c++-common/task-detach-6.c: Until resolved, 6550 skip for nvptx offloading, with error status. 6551 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise. 6552 6553 2021-03-25 Thomas Schwinge <thomas (a] codesourcery.com> 6554 6555 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: 6556 OpenACC 'serial' construct diagnostic for nvptx offloading. 6557 6558 2021-03-15 Tobias Burnus <tobias (a] codesourcery.com> 6559 6560 PR c++/99509 6561 * testsuite/libgomp.c-c++-common/declare_target-1.c: New test. 6562 6563 2021-03-12 Tobias Burnus <tobias (a] codesourcery.com> 6564 6565 PR fortran/98858 6566 * testsuite/libgomp.fortran/use_device_ptr-3.f90: New test. 6567 6568 2021-03-04 Jakub Jelinek <jakub (a] redhat.com> 6569 6570 * configure.ac: Add AC_CHECK_SIZEOF([void *]). 6571 * plugin/configfrag.ac: Check $ac_cv_sizeof_void_p value instead of 6572 checking of -m32 or -mx32 options on the command line. 6573 * config.h.in: Regenerated. 6574 * configure: Regenerated. 6575 6576 2021-02-27 Iain Sandoe <iain (a] sandoe.co.uk> 6577 6578 * testsuite/libgomp.c-c++-common/pr96390.c: Require alias 6579 support from the target. 6580 6581 2021-02-25 Kwok Cheung Yeung <kcy (a] codesourcery.com> 6582 Jakub Jelinek <jakub (a] redhat.com> 6583 6584 PR libgomp/98738 6585 * libgomp.h (enum gomp_task_kind): Add GOMP_TASK_DETACHED. 6586 (struct gomp_task): Replace detach and completion_sem fields with 6587 union containing completion_sem and detach_team. Add deferred_p 6588 field. 6589 (struct gomp_team): Remove task_detach_queue. 6590 * task.c: Include assert.h. 6591 (gomp_init_task): Initialize deferred_p and completion_sem fields. 6592 Rearrange initialization order of fields. 6593 (task_fulfilled_p): Delete. 6594 (GOMP_task): Use address of task as the event handle. Remove 6595 initialization of detach field. Initialize deferred_p field. 6596 Use automatic local for completion_sem. Initialize detach_team field 6597 for deferred tasks. 6598 (gomp_barrier_handle_tasks): Remove handling of task_detach_queue. 6599 Set kind of suspended detach task to GOMP_TASK_DETACHED and 6600 decrement task_running_count. Move finish_cancelled block out of 6601 else branch. Relocate call to gomp_team_barrier_done. 6602 (GOMP_taskwait): Handle tasks with completion events that have not 6603 been fulfilled. 6604 (GOMP_taskgroup_end): Likewise. 6605 (omp_fulfill_event): Use address of task as event handle. Post to 6606 completion_sem for undeferred tasks. Clear detach_team if task 6607 has not finished. For finished tasks, handle post-execution tasks, 6608 call gomp_team_barrier_wake if necessary, and free task. 6609 * team.c (gomp_new_team): Remove initialization of task_detach_queue. 6610 (free_team): Remove free of task_detach_queue. 6611 * testsuite/libgomp.c-c++-common/task-detach-1.c: Fix formatting. 6612 * testsuite/libgomp.c-c++-common/task-detach-2.c: Fix formatting. 6613 * testsuite/libgomp.c-c++-common/task-detach-3.c: Fix formatting. 6614 * testsuite/libgomp.c-c++-common/task-detach-4.c: Fix formatting. 6615 * testsuite/libgomp.c-c++-common/task-detach-5.c: Fix formatting. 6616 Change data-sharing of detach events on enclosing parallel to private. 6617 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise. Remove 6618 taskwait directive. 6619 * testsuite/libgomp.c-c++-common/task-detach-7.c: New. 6620 * testsuite/libgomp.c-c++-common/task-detach-8.c: New. 6621 * testsuite/libgomp.c-c++-common/task-detach-9.c: New. 6622 * testsuite/libgomp.c-c++-common/task-detach-10.c: New. 6623 * testsuite/libgomp.c-c++-common/task-detach-11.c: New. 6624 * testsuite/libgomp.fortran/task-detach-1.f90: Fix formatting. 6625 * testsuite/libgomp.fortran/task-detach-2.f90: Fix formatting. 6626 * testsuite/libgomp.fortran/task-detach-3.f90: Fix formatting. 6627 * testsuite/libgomp.fortran/task-detach-4.f90: Fix formatting. 6628 * testsuite/libgomp.fortran/task-detach-5.f90: Fix formatting. 6629 Change data-sharing of detach events on enclosing parallel to private. 6630 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise. Remove 6631 taskwait directive. 6632 * testsuite/libgomp.fortran/task-detach-7.f90: New. 6633 * testsuite/libgomp.fortran/task-detach-8.f90: New. 6634 * testsuite/libgomp.fortran/task-detach-9.f90: New. 6635 * testsuite/libgomp.fortran/task-detach-10.f90: New. 6636 * testsuite/libgomp.fortran/task-detach-11.f90: New. 6637 6638 2021-02-22 Tobias Burnus <tobias (a] codesourcery.com> 6639 6640 PR fortran/99171 6641 * testsuite/libgomp.fortran/dummy-procs-1.f90: New test. 6642 6643 2021-02-17 Julian Brown <julian (a] codesourcery.com> 6644 6645 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Remove 6646 expected errors. 6647 6648 2021-02-17 Julian Brown <julian (a] codesourcery.com> 6649 6650 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: New test. 6651 * testsuite/libgomp.oacc-fortran/update-dt-array.f90: Likewise. 6652 6653 2021-02-11 Uro Bizjak <ubizjak (a] gmail.com> 6654 6655 * config/linux/x86/futex.h (__futex_wait): 6656 Revert output type back to long. 6657 (__futex_wake): Ditto. 6658 (futex_wait): Update for revert. 6659 (futex_wake): Ditto. 6660 6661 2021-02-11 Uro Bizjak <ubizjak (a] gmail.com> 6662 6663 * config/linux/x86/futex.h (__futex_wait): New static inline 6664 wrapper function. Correct output type to int and 6665 timeout type to void *. 6666 (__futex_wake): New static inline wrapper function. 6667 Correct output type to int. 6668 (futex_wait): Use __futex_wait. 6669 (futex_wake): Use __futex_wake. 6670 6671 2021-02-10 Julian Brown <julian (a] codesourcery.com> 6672 6673 PR fortran/98979 6674 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Add expected 6675 errors. 6676 6677 2021-02-04 Julian Brown <julian (a] codesourcery.com> 6678 6679 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: New test. 6680 6681 2021-02-03 Andrew Stubbs <ams (a] codesourcery.com> 6682 6683 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add 6684 EF_AMDGPU_MACH_AMDGCN_GFX908. 6685 (gcn_gfx908_s): New constant string. 6686 (isa_hsa_name): Add gfx908. 6687 (isa_code): Add gfx908. 6688 6689 2021-01-25 Kwok Cheung Yeung <kcy (a] codesourcery.com> 6690 6691 * libgomp.texi (omp_fulfill_event): New entry. 6692 6693 2021-01-20 Jakub Jelinek <jakub (a] redhat.com> 6694 6695 * task.c (GOMP_task): Rename priority argument to priority_arg, 6696 add priority automatic variable and modify that variable. Instead of 6697 clearing detach argument when GOMP_TASK_FLAG_DETACH bit is not set, 6698 check flags for that bit. 6699 6700 2021-01-19 Tobias Burnus <tobias (a] codesourcery.com> 6701 6702 PR fortran/98476 6703 * testsuite/libgomp.fortran/is_device_ptr-1.f90: New test. 6704 6705 2021-01-18 Andreas Schwab <schwab (a] suse.de> 6706 6707 * configure.tgt (riscv64*-*-linux*): Add linux to config_path. 6708 6709 2021-01-18 Sebastian Huber <sebastian.huber (a] embedded-brains.de> 6710 6711 * config/rtems/sem.h (gomp_sem_getcount): New function. 6712 6713 2021-01-18 Jakub Jelinek <jakub (a] redhat.com> 6714 6715 * config/linux/sem.h (gomp_sem_getcount): New function. 6716 * config/posix/sem.h (gomp_sem_getcount): New function. 6717 * config/posix/sem.c (gomp_sem_getcount): New function. 6718 * config/accel/sem.h (gomp_sem_getcount): New function. 6719 * task.c (task_fulfilled_p): Use gomp_sem_getcount. 6720 (omp_fulfill_event): Likewise. 6721 6722 2021-01-16 Kwok Cheung Yeung <kcy (a] codesourcery.com> 6723 6724 * fortran.c (omp_fulfill_event_): New. 6725 * libgomp.h (struct gomp_task): Add detach and completion_sem fields. 6726 (struct gomp_team): Add task_detach_queue and task_detach_count 6727 fields. 6728 * libgomp.map (OMP_5.0.1): Add omp_fulfill_event and omp_fulfill_event_. 6729 * libgomp_g.h (GOMP_task): Add extra argument. 6730 * omp.h.in (enum omp_event_handle_t): New. 6731 (omp_fulfill_event): New. 6732 * omp_lib.f90.in (omp_event_handle_kind): New. 6733 (omp_fulfill_event): New. 6734 * omp_lib.h.in (omp_event_handle_kind): New. 6735 (omp_fulfill_event): Declare. 6736 * priority_queue.c (priority_tree_find): New. 6737 (priority_list_find): New. 6738 (priority_queue_find): New. 6739 * priority_queue.h (priority_queue_predicate): New. 6740 (priority_queue_find): New. 6741 * task.c (gomp_init_task): Initialize detach field. 6742 (task_fulfilled_p): New. 6743 (GOMP_task): Add detach argument. Ignore detach argument if 6744 GOMP_TASK_FLAG_DETACH not set in flags. Initialize completion_sem 6745 field. Copy address of completion_sem into detach argument and 6746 into the start of the data record. Wait for detach event if task 6747 not deferred. 6748 (gomp_barrier_handle_tasks): Queue tasks with unfulfilled events. 6749 Remove completed tasks and requeue dependent tasks. 6750 (omp_fulfill_event): New. 6751 * team.c (gomp_new_team): Initialize task_detach_queue and 6752 task_detach_count fields. 6753 (free_team): Free task_detach_queue field. 6754 * testsuite/libgomp.c-c++-common/task-detach-1.c: New testcase. 6755 * testsuite/libgomp.c-c++-common/task-detach-2.c: New testcase. 6756 * testsuite/libgomp.c-c++-common/task-detach-3.c: New testcase. 6757 * testsuite/libgomp.c-c++-common/task-detach-4.c: New testcase. 6758 * testsuite/libgomp.c-c++-common/task-detach-5.c: New testcase. 6759 * testsuite/libgomp.c-c++-common/task-detach-6.c: New testcase. 6760 * testsuite/libgomp.fortran/task-detach-1.f90: New testcase. 6761 * testsuite/libgomp.fortran/task-detach-2.f90: New testcase. 6762 * testsuite/libgomp.fortran/task-detach-3.f90: New testcase. 6763 * testsuite/libgomp.fortran/task-detach-4.f90: New testcase. 6764 * testsuite/libgomp.fortran/task-detach-5.f90: New testcase. 6765 * testsuite/libgomp.fortran/task-detach-6.f90: New testcase. 6766 6767 2021-01-15 Jakub Jelinek <jakub (a] redhat.com> 6768 6769 PR target/70454 6770 * configure.tgt: For i?86 and x86_64 determine if -march=i486 needs to 6771 be added through preprocessor check on 6772 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4. 6773 6774 2021-01-14 Thomas Schwinge <thomas (a] codesourcery.com> 6775 6776 PR libgomp/65099 6777 * plugin/configfrag.ac (PLUGIN_NVPTX): Restrict to supported 6778 configurations. 6779 * configure: Regenerate. 6780 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Remove 64-bit 6781 check. 6782 6783 2021-01-05 Samuel Thibault <samuel.thibault (a] ens-lyon.org> 6784 6785 * configure: Re-generate. 6786 6787 2021-01-05 Samuel Thibault <samuel.thibault (a] ens-lyon.org> 6788 6789 * configure: Re-generate. 6790 6791 2021-01-05 Julian Brown <julian (a] codesourcery.com> 6792 6793 * plugin/plugin-nvptx.c (SOFTSTACK_CACHE_LIMIT): New define. 6794 (struct ptx_device): Add omp_stacks struct. 6795 (nvptx_open_device): Initialise cached-stacks housekeeping info. 6796 (nvptx_close_device): Free cached stacks block and mutex. 6797 (nvptx_stacks_free): New function. 6798 (nvptx_alloc): Add SUPPRESS_ERRORS parameter. 6799 (GOMP_OFFLOAD_alloc): Add strategies for freeing soft-stacks block. 6800 (nvptx_stacks_alloc): Rename to... 6801 (nvptx_stacks_acquire): This. Cache stacks block between runs if same 6802 size or smaller is required. 6803 (nvptx_stacks_free): Remove. 6804 (GOMP_OFFLOAD_run): Call nvptx_stacks_acquire and lock stacks block 6805 during kernel execution. 6806 6807 2021-01-01 Jakub Jelinek <jakub (a] redhat.com> 6808 6809 * libgomp.texi: Bump @copying's copyright year. 6810 6811 2020-12-28 Gerald Pfeifer <gerald (a] pfeifer.com> 6812 6813 * libgomp.texi (Top): Avoid bad "up" link. 6814 6815 2020-12-18 Jakub Jelinek <jakub (a] redhat.com> 6816 6817 * testsuite/libgomp.c/task-6.c: New test. 6818 6819 2020-12-09 Andrew Stubbs <ams (a] codesourcery.com> 6820 6821 * plugin/plugin-gcn.c: Include hsa_ext_amd.h. 6822 (HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT): Delete redundant definition. 6823 6824 2020-12-08 Tobias Burnus <tobias (a] codesourcery.com> 6825 6826 * testsuite/libgomp.fortran/scan-1.f90: New test. 6827 6828 2020-12-05 Iain Sandoe <iain (a] sandoe.co.uk> 6829 6830 PR target/97865 6831 * configure: Regenerate. 6832 6833 2020-11-29 John David Anglin <danglin (a] gcc.gnu.org> 6834 6835 * configure: Regenerate. 6836 6837 2020-11-25 Thomas Schwinge <thomas (a] codesourcery.com> 6838 6839 * testsuite/libgomp.oacc-c++/cache-1.C: New. 6840 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Update. 6841 6842 2020-11-25 Andrew Stubbs <ams (a] codesourcery.com> 6843 6844 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Adjust 6845 expected results. 6846 6847 2020-11-24 Andrew Stubbs <ams (a] codesourcery.com> 6848 6849 * plugin/plugin-gcn.c: Don't redefine relocations if elf.h has them. 6850 (reserved): Delete unused define. 6851 6852 2020-11-24 Thomas Schwinge <thomas (a] codesourcery.com> 6853 6854 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Avoid 6855 Tcl 8.5-specific behavior. 6856 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise. 6857 6858 2020-11-18 Kwok Cheung Yeung <kcy (a] codesourcery.com> 6859 6860 * env.c (gomp_global_icv): Remove nest_var field. Add 6861 max_active_levels_var field. 6862 (gomp_max_active_levels_var): Remove. 6863 (parse_boolean): Return true on success. 6864 (handle_omp_display_env): Express OMP_NESTED in terms of 6865 max_active_levels_var. Change format specifier for 6866 max_active_levels_var. 6867 (initialize_env): Set max_active_levels_var from 6868 OMP_MAX_ACTIVE_LEVELS, OMP_NESTED, OMP_NUM_THREADS and 6869 OMP_PROC_BIND. 6870 * icv.c (omp_set_nested): Express in terms of 6871 max_active_levels_var. 6872 (omp_get_nested): Likewise. 6873 (omp_set_max_active_levels): Use max_active_levels_var field instead 6874 of gomp_max_active_levels_var. 6875 (omp_get_max_active_levels): Likewise. 6876 * libgomp.h (struct gomp_task_icv): Remove nest_var field. Add 6877 max_active_levels_var field. 6878 (gomp_supported_active_levels): Set to UCHAR_MAX. 6879 (gomp_max_active_levels_var): Delete. 6880 * libgomp.texi (omp_get_nested): Update documentation. 6881 (omp_set_nested): Likewise. 6882 (OMP_MAX_ACTIVE_LEVELS): Likewise. 6883 (OMP_NESTED): Likewise. 6884 (OMP_NUM_THREADS): Likewise. 6885 (OMP_PROC_BIND): Likewise. 6886 * parallel.c (gomp_resolve_num_threads): Replace reference 6887 to nest_var with max_active_levels_var. Use max_active_levels_var 6888 field instead of gomp_max_active_levels_var. 6889 6890 2020-11-18 Tobias Burnus <tobias (a] codesourcery.com> 6891 6892 * testsuite/libgomp.c/usleep.h (fallback_usleep): Renamed from 6893 nvptx_usleep; use also for device={arch(gcn)}. 6894 6895 2020-11-14 Jakub Jelinek <jakub (a] redhat.com> 6896 6897 * testsuite/libgomp.c-c++-common/allocate-1.c (struct S): New type. 6898 (foo): Add tests for non-VLA private and firstprivate clauses on 6899 omp task. 6900 (bar): Likewise. Remove taking of address from private/firstprivate 6901 variables. 6902 * testsuite/libgomp.c++/allocate-1.C (struct S): New type. 6903 (foo): Add p, q, px and s arguments. Add tests for array reductions 6904 and for non-VLA private and firstprivate clauses on omp task. 6905 (bar): Removed. 6906 (main): Adjust foo caller. Don't call bar. 6907 6908 2020-11-13 Gerg Barany <gergo (a] codesourcery.com> 6909 Thomas Schwinge <thomas (a] codesourcery.com> 6910 6911 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c: 6912 New. 6913 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c: 6914 Likewise. 6915 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: 6916 Likewise. 6917 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust. 6918 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise. 6919 6920 2020-11-13 Gerg Barany <gergo (a] codesourcery.com> 6921 Thomas Schwinge <thomas (a] codesourcery.com> 6922 6923 PR fortran/94358 6924 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: New. 6925 6926 2020-11-13 Jakub Jelinek <jakub (a] redhat.com> 6927 6928 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add tests 6929 for array reductions. 6930 (main): Adjust foo callers. 6931 6932 2020-11-12 Jakub Jelinek <jakub (a] redhat.com> 6933 6934 * libgomp.map (GOMP_alloc, GOMP_free): Export at GOMP_5.0.1. 6935 * omp.h.in (omp_alloc): Add malloc and alloc_size attributes. 6936 * libgomp_g.h (GOMP_alloc, GOMP_free): Declare. 6937 * allocator.c (omp_aligned_alloc): New for now static function, 6938 add alignment argument and handle it. 6939 (omp_alloc): Reimplement using omp_aligned_alloc. 6940 (GOMP_alloc, GOMP_free): New functions. 6941 (omp_free): Add ialias. 6942 * testsuite/libgomp.c-c++-common/allocate-1.c: New test. 6943 * testsuite/libgomp.c++/allocate-1.C: New test. 6944 6945 2020-11-12 Thomas Schwinge <thomas (a] codesourcery.com> 6946 6947 PR fortran/97782 6948 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Adjust. 6949 6950 2020-11-10 Chung-Lin Tang <cltang (a] codesourcery.com> 6951 6952 * libgomp.h (enum gomp_map_vars_kind): Adjust enum values to be bit-flag 6953 usable. 6954 * oacc-mem.c (acc_map_data): Adjust gomp_map_vars argument flags to 6955 'GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_ENTER_DATA'. 6956 (goacc_enter_datum): Likewise for call to gomp_map_vars_async. 6957 (goacc_enter_data_internal): Likewise. 6958 * target.c (gomp_map_vars_internal): 6959 Change checks of GOMP_MAP_VARS_ENTER_DATA to use bit-and (&). Adjust use 6960 of gomp_attach_pointer for OpenMP cases. 6961 (gomp_exit_data): Add handling of GOMP_MAP_DETACH. 6962 (GOMP_target_enter_exit_data): Add handling of GOMP_MAP_ATTACH. 6963 * testsuite/libgomp.c-c++-common/ptr-attach-1.c: New testcase. 6964 6965 2020-11-05 Ulrich Drepper <drepper (a] redhat.com> 6966 Kwok Cheung Yeung <kcy (a] codesourcery.com> 6967 6968 * Makefile.am (%.mod): Add -cpp and -fopenmp to compile flags. 6969 * Makefile.in: Regenerate. 6970 * fortran.c: Wrap uses of omp_set_nested and omp_get_nested with 6971 pragmas to ignore -Wdeprecated-declarations warnings. 6972 * icv.c: Likewise. 6973 * omp.h.in (__GOMP_DEPRECATED_5_0): Define. 6974 Mark omp_lock_hint_* enum values, omp_lock_hint_t, omp_set_nested, 6975 and omp_get_nested with __GOMP_DEPRECATED_5_0. 6976 * omp_lib.f90.in: Mark omp_get_nested and omp_set_nested as 6977 deprecated. 6978 * testsuite/libgomp.c++/affinity-1.C: Add -Wno-deprecated-declarations 6979 to test options. 6980 * testsuite/libgomp.c/affinity-1.c: Likewise. 6981 * testsuite/libgomp.c/affinity-2.c: Likewise. 6982 * testsuite/libgomp.c/appendix-a/a.15.1.c: Likewise. 6983 * testsuite/libgomp.c/lib-1.c: Likewise. 6984 * testsuite/libgomp.c/nested-1.c: Likewise. 6985 * testsuite/libgomp.c/nested-2.c: Likewise. 6986 * testsuite/libgomp.c/nested-3.c: Likewise. 6987 * testsuite/libgomp.c/pr32362-1.c: Likewise. 6988 * testsuite/libgomp.c/pr32362-2.c: Likewise. 6989 * testsuite/libgomp.c/pr32362-3.c: Likewise. 6990 * testsuite/libgomp.c/pr35549.c: Likewise. 6991 * testsuite/libgomp.c/pr42942.c: Likewise. 6992 * testsuite/libgomp.c/pr61200.c: Likewise. 6993 * testsuite/libgomp.c/sort-1.c: Likewise. 6994 * testsuite/libgomp.c/target-5.c: Likewise. 6995 * testsuite/libgomp.c/target-6.c: Likewise. 6996 * testsuite/libgomp.c/teams-1.c: Likewise. 6997 * testsuite/libgomp.c/thread-limit-1.c: Likewise. 6998 * testsuite/libgomp.c/thread-limit-2.c: Likewise. 6999 * testsuite/libgomp.c/thread-limit-4.c: Likewise. 7000 * testsuite/libgomp.fortran/affinity1.f90: Likewise. 7001 * testsuite/libgomp.fortran/lib1.f90: Likewise. 7002 * testsuite/libgomp.fortran/lib2.f: Likewise. 7003 * testsuite/libgomp.fortran/nested1.f90: Likewise. 7004 * testsuite/libgomp.fortran/teams1.f90: Likewise. 7005 7006 2020-11-02 Thomas Schwinge <thomas (a] codesourcery.com> 7007 7008 PR target/85486 7009 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Simplify and enhance. 7010 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise. 7011 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise. 7012 7013 2020-11-02 Thomas Schwinge <thomas (a] codesourcery.com> 7014 7015 PR testsuite/80219 7016 PR testsuite/85303 7017 * testsuite/lib/libgomp.exp (libgomp_init): Set 7018 'gcc_warning_prefix', 'gcc_error_prefix'. 7019 7020 2020-10-30 Jakub Jelinek <jakub (a] redhat.com> 7021 7022 * target.c (gomp_map_vars_internal): Use FIELD_TGT_EMPTY macro 7023 even in field_tgt_clear initializer. 7024 7025 2020-10-28 Jakub Jelinek <jakub (a] redhat.com> 7026 7027 * testsuite/libgomp.c/target-42.c: New test. 7028 7029 2020-10-28 Jakub Jelinek <jakub (a] redhat.com> 7030 Tom de Vries <tdevries (a] suse.de> 7031 7032 PR testsuite/81690 7033 * testsuite/libgomp.c/usleep.h: New file. 7034 * testsuite/libgomp.c/target-32.c: Include usleep.h. 7035 (main): Use tgt_usleep instead of usleep. 7036 * testsuite/libgomp.c/thread-limit-2.c: Include usleep.h. 7037 (main): Use tgt_usleep instead of usleep. 7038 7039 2020-10-28 Jakub Jelinek <jakub (a] redhat.com> 7040 7041 PR lto/96680 7042 * testsuite/libgomp.c/declare-variant-1.c: New test. 7043 7044 2020-10-22 Jakub Jelinek <jakub (a] redhat.com> 7045 7046 * testsuite/libgomp.c/target-41.c: New test. 7047 7048 2020-10-22 Jakub Jelinek <jakub (a] redhat.com> 7049 7050 * icv.c (omp_get_initial_device): Remove including corresponding 7051 ialias. 7052 * icv-device.c (omp_get_initial_device): New function. Return 7053 gomp_get_num_devices (). Add ialias. 7054 * target.c (resolve_device): Don't fail with 7055 OMP_TARGET_OFFLOAD=mandatory if device_id is equal to 7056 gomp_get_num_devices (). 7057 (omp_target_alloc, omp_target_free, omp_target_is_present, 7058 omp_target_memcpy, omp_target_memcpy_rect, omp_target_associate_ptr, 7059 omp_target_disassociate_ptr, omp_pause_resource): Use 7060 gomp_get_num_devices () instead of GOMP_DEVICE_HOST_FALLBACK on the 7061 first use in the functions, in uses dominated by the 7062 gomp_get_num_devices call use num_devices_openmp instead. 7063 * libgomp.texi (omp_get_initial_device): Document. 7064 * config/gcn/icv-device.c (omp_get_initial_device): New function. 7065 Add ialias. 7066 * config/nvptx/icv-device.c (omp_get_initial_device): Likewise. 7067 * testsuite/libgomp.c/target-40.c: New test. 7068 7069 2020-10-21 Jakub Jelinek <jakub (a] redhat.com> 7070 7071 * env.c (parse_target_offload): Change new_offload var type to int, 7072 preinitialize to -1, remove found var and test new_offload != -1 7073 instead of found. 7074 7075 2020-10-20 Jakub Jelinek <jakub (a] redhat.com> 7076 7077 * target.c (gomp_target_init): Inside of the function, use automatic 7078 variables corresponding to num_devices, num_devices_openmp and devices 7079 global variables and update the globals only at the end of the 7080 function. 7081 7082 2020-10-20 Kwok Cheung Yeung <kcy (a] codesourcery.com> 7083 7084 * env.c (gomp_target_offload_var): New. 7085 (parse_target_offload): New. 7086 (handle_omp_display_env): Print value of OMP_TARGET_OFFLOAD. 7087 (initialize_env): Parse OMP_TARGET_OFFLOAD. 7088 * libgomp.h (gomp_target_offload_t): New. 7089 (gomp_target_offload_var): New. 7090 * libgomp.texi (OMP_TARGET_OFFLOAD): New section. 7091 * target.c (resolve_device): Generate error if device not found and 7092 offloading is mandatory. 7093 (gomp_target_fallback): Generate error if offloading is mandatory. 7094 (GOMP_target): Add argument in call to gomp_target_fallback. 7095 (GOMP_target_ext): Likewise. 7096 (gomp_target_data_fallback): Generate error if offloading is mandatory. 7097 (GOMP_target_data): Add argument in call to gomp_target_data_fallback. 7098 (GOMP_target_data_ext): Likewise. 7099 (gomp_target_task_fn): Add argument in call to gomp_target_fallback. 7100 (gomp_target_init): Return early if offloading is disabled. 7101 7102 2020-10-15 Kwok Cheung Yeung <kcy (a] codesourcery.com> 7103 7104 * libgomp.texi (omp_get_max_active_levels): Modify description. 7105 (omp_get_supported_active_levels): Make descriptions consistent. 7106 7107 2020-10-14 Jakub Jelinek <jakub (a] redhat.com> 7108 7109 * libgomp.texi (omp_get_supported_active_levels): Fix a typo. 7110 7111 2020-10-13 Kwok Cheung Yeung <kcy (a] codesourcery.com> 7112 7113 * env.c (gomp_max_active_levels_var): Initialize to 7114 gomp_supported_active_levels. 7115 (initialize_env): Limit gomp_max_active_levels_var to be at most 7116 equal to gomp_supported_active_levels. 7117 * fortran.c (omp_get_supported_active_levels): Add ialias_redirect. 7118 (omp_get_supported_active_levels_): New. 7119 * icv.c (omp_set_max_active_levels): Limit gomp_max_active_levels_var 7120 to at most equal to gomp_supported_active_levels. 7121 (omp_get_supported_active_levels): New. 7122 * libgomp.h (gomp_supported_active_levels): New. 7123 * libgomp.map (OMP_5.0.1): Add omp_get_supported_active_levels and 7124 omp_get_supported_active_levels_. 7125 * libgomp.texi (omp_get_supported_active_levels): New. 7126 (omp_set_max_active_levels): Update. Add reference to 7127 omp_get_supported_active_levels. 7128 * omp.h.in (omp_get_supported_active_levels): New. 7129 * omp_lib.f90.in (omp_get_supported_active_levels): New. 7130 * omp_lib.h.in (omp_get_supported_active_levels): New. 7131 * testsuite/libgomp.c/lib-2.c (main): Check omp_get_max_active_levels 7132 against omp_get_supported_active_levels. 7133 * testsuite/libgomp.fortran/lib4.f90 (lib4): Likewise. 7134 7135 2020-10-11 Clement Chigot <clement.chigot (a] atos.net> 7136 7137 * config/t-aix: Delete and recreate libgomp before creating 7138 FAT library. 7139 7140 2020-10-08 Tom de Vries <tdevries (a] suse.de> 7141 7142 PR libgomp/81802 7143 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_run): Report launch 7144 dimensions. 7145 7146 2020-10-06 Tom de Vries <tdevries (a] suse.de> 7147 7148 * testsuite/libgomp.oacc-fortran/declare-5.f90: Add xfail for PR92790. 7149 7150 2020-10-06 Tom de Vries <tdevries (a] suse.de> 7151 7152 PR middle-end/90861 7153 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Remove xfail. 7154 7155 2020-10-05 Tom de Vries <tdevries (a] suse.de> 7156 7157 PR fortran/95654 7158 * testsuite/libgomp.fortran/pr95654.f90: New test. 7159 7160 2020-10-02 Tobias Burnus <tobias (a] codesourcery.com> 7161 7162 * Makefile.in: Regenerate with automake 1.15.1. 7163 * aclocal.m4: Likewise. 7164 * configure: Likewise. 7165 * testsuite/Makefile.in: Likewise. 7166 7167 2020-09-30 Andrew Stubbs <ams (a] codesourcery.com> 7168 7169 * parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx 7170 and amdgcn targets. 7171 7172 2020-09-30 Tobias Burnus <tobias (a] codesourcery.com> 7173 7174 * testsuite/libgomp.fortran/declare-target-3.f90: New test. 7175 7176 2020-09-29 Andrew Stubbs <ams (a] codesourcery.com> 7177 7178 * config/gcn/bar.c (gomp_barrier_wait_end): Skip the barrier if the 7179 total number of threads is one. 7180 (gomp_team_barrier_wake): Likewise. 7181 (gomp_team_barrier_wait_end): Likewise. 7182 (gomp_team_barrier_wait_cancel_end): Likewise. 7183 * config/nvptx/bar.c (gomp_barrier_wait_end): Likewise. 7184 (gomp_team_barrier_wake): Likewise. 7185 (gomp_team_barrier_wait_end): Likewise. 7186 (gomp_team_barrier_wait_cancel_end): Likewise. 7187 * testsuite/libgomp.c-c++-common/nested-parallel-unbalanced.c: New test. 7188 7189 2020-09-28 Tobias Burnus <tobias (a] codesourcery.com> 7190 7191 PR middle-end/96390 7192 * testsuite/libgomp.c++/pr96390.C: New test. 7193 * testsuite/libgomp.c-c++-common/pr96390.c: New test. 7194 7195 2020-09-27 Clement Chigot <clement.chigot (a] atos.net> 7196 7197 * config/t-aix: Use $(AR) without -X32_64. 7198 7199 2020-09-25 Jakub Jelinek <jakub (a] redhat.com> 7200 7201 * testsuite/libgomp.c/loop-25.c: New test. 7202 7203 2020-09-22 Tobias Burnus <tobias (a] codesourcery.com> 7204 7205 PR fortran/95654 7206 * testsuite/libgomp.fortran/pr66199-5.f90: Make stop codes unique. 7207 7208 2020-09-22 Tom de Vries <tdevries (a] suse.de> 7209 7210 * plugin/plugin-nvptx.c (link_ptx): Print elog if cuLinkComplete call 7211 fails. 7212 7213 2020-09-16 Nathan Sidwell <nathan (a] acm.org> 7214 7215 * testsuite/libgomp.c++/udr-3.C: Add missing ctor. 7216 7217 2020-09-15 Tobias Burnus <tobias (a] codesourcery.com> 7218 7219 PR fortran/96668 7220 * target.c (gomp_map_vars_internal): Initialize has_nullptr. 7221 7222 2020-09-15 Tobias Burnus <tobias (a] codesourcery.com> 7223 7224 PR fortran/96668 7225 * libgomp.h (struct target_var_desc): Add has_null_ptr_assoc member. 7226 * target.c (gomp_map_vars_existing): Add always_to_flag flag. 7227 (gomp_map_vars_existing): Update call to it. 7228 (gomp_map_fields_existing): Likewise 7229 (gomp_map_vars_internal): Update PSET handling such that if a nullptr is 7230 now allocated or if GOMP_MAP_POINTER is used PSET is updated and pointer 7231 remapped. 7232 (GOMP_target_enter_exit_data): Hanlde GOMP_MAP_ALWAYS_POINTER like 7233 GOMP_MAP_POINTER. 7234 * testsuite/libgomp.fortran/map-alloc-ptr-1.f90: New test. 7235 * testsuite/libgomp.fortran/map-alloc-ptr-2.f90: New test. 7236 7237 2020-09-14 Tom de Vries <tdevries (a] suse.de> 7238 7239 * config/nvptx/atomic.c: New file. Add 7240 __sync_val_compare_and_swap_16. 7241 * testsuite/libgomp.c-c++-common/reduction-16.c: Add -latomic for 7242 target offload_target_nvptx. 7243 7244 2020-09-08 Julian Brown <julian (a] codesourcery.com> 7245 7246 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: Remove 7247 iteration-ordering assumptions. 7248 7249 2020-09-08 Julian Brown <julian (a] codesourcery.com> 7250 7251 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Fix race condition. 7252 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise. 7253 7254 2020-08-20 Chung-Lin Tang <cltang (a] codesourcery.com> 7255 7256 * plugin/plugin-nvptx.c (nvptx_free): 7257 Change "GOMP_PLUGIN_acc_thread () == NULL" test into check of 7258 CUDA_ERROR_NOT_PERMITTED status for cuMemGetAddressRange. Adjust 7259 comments. 7260 7261 2020-08-20 Tobias Burnus <tobias (a] codesourcery.com> 7262 7263 * testsuite/libgomp.fortran/lastprivate-conditional-10.f90: New test. 7264 7265 2020-08-13 Kwok Cheung Yeung <kcy (a] codesourcery.com> 7266 7267 * testsuite/libgomp.c-c++-common/reduction-16.c: New. 7268 7269 2020-08-13 Jakub Jelinek <jakub (a] redhat.com> 7270 7271 * testsuite/libgomp.c/loop-22.c (main): Add some further tests. 7272 * testsuite/libgomp.c/loop-23.c (main): Likewise. 7273 * testsuite/libgomp.c/loop-24.c: New test. 7274 7275 2020-08-08 Jakub Jelinek <jakub (a] redhat.com> 7276 Tobias Burnus <tobias (a] codesourcery.com> 7277 7278 PR fortran/93553 7279 * testsuite/libgomp.fortran/pr93553.f90: New test. 7280 7281 2020-08-05 Jakub Jelinek <jakub (a] redhat.com> 7282 7283 * testsuite/libgomp.c/loop-22.c: New test. 7284 * testsuite/libgomp.c/loop-23.c: New test. 7285 7286 2020-08-05 Jakub Jelinek <jakub (a] redhat.com> 7287 7288 PR middle-end/96459 7289 * testsuite/libgomp.c/teams-3.c: New test. 7290 * testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing 7291 if not defined yet. 7292 (N(test)): Use it before all N(f*) calls. 7293 * testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define. 7294 (main): Don't call all test_* functions from within 7295 #pragma omp teams reduction(|:err), call them directly. 7296 7297 2020-08-04 Tom de Vries <tdevries (a] suse.de> 7298 7299 PR target/96428 7300 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test. 7301 * testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test. 7302 7303 2020-08-03 Julian Brown <julian (a] codesourcery.com> 7304 Thomas Schwinge <thomas (a] codesourcery.com> 7305 7306 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Don't run for 7307 shared-memory devices. Extend with further checking. 7308 7309 2020-08-03 Martin Jambor <mjambor (a] suse.cz> 7310 7311 * plugin/Makefrag.am: Remove configuration of HSA plugin. 7312 * aclocal.m4: Regenerated. 7313 * Makefile.in: Regenerated. 7314 * config.h.in: Regenerated. 7315 * configure: Regenerated. 7316 * plugin/configfrag.ac: Likewise. 7317 * plugin/hsa_ext_finalize.h: Removed. 7318 * plugin/plugin-hsa.c: Likewise. 7319 * testsuite/Makefile.in: Regenerated. 7320 * testsuite/lib/libgomp.exp 7321 (offload_target_to_openacc_device_type): Remove hsa case. 7322 (check_effective_target_hsa_offloading_selected_nocache): Removed 7323 (check_effective_target_hsa_offloading_selected): Likewise. 7324 (libgomp_init): Do not add -Wno-hsa to additional_flags. 7325 * testsuite/libgomp.hsa.c/alloca-1.c: Removed test. 7326 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise. 7327 * testsuite/libgomp.hsa.c/bits-insns.c: Likewise. 7328 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise. 7329 * testsuite/libgomp.hsa.c/c.exp: Likewise. 7330 * testsuite/libgomp.hsa.c/complex-1.c: Likewise. 7331 * testsuite/libgomp.hsa.c/complex-align-2.c: Likewise. 7332 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise. 7333 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise. 7334 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise. 7335 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise. 7336 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise. 7337 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise. 7338 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise. 7339 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise. 7340 * testsuite/libgomp.hsa.c/pr69568.c: Likewise. 7341 * testsuite/libgomp.hsa.c/pr82416.c: Likewise. 7342 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise. 7343 * testsuite/libgomp.hsa.c/staticvar.c: Likewise. 7344 * testsuite/libgomp.hsa.c/switch-1.c: Likewise. 7345 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise. 7346 * testsuite/libgomp.hsa.c/switch-sbr-2.c: Likewise. 7347 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise. 7348 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise. 7349 7350 2020-07-27 Julian Brown <julian (a] codesourcery.com> 7351 Thomas Schwinge <thomas (a] codesourcery.com> 7352 7353 * libgomp.h (struct target_var_desc): Rename do_detach field to 7354 is_attach. 7355 * oacc-mem.c (goacc_exit_datum_1): Add assert. Don't set finalize for 7356 GOMP_MAP_FORCE_DETACH. Update checking to use is_attach field. 7357 (goacc_enter_data_internal): Don't affect reference counts 7358 for attach mappings. 7359 (goacc_exit_data_internal): Don't affect reference counts for detach 7360 mappings. 7361 * target.c (gomp_map_vars_existing): Don't affect reference counts for 7362 attach mappings. 7363 (gomp_map_vars_internal): Set renamed is_attach flag unconditionally to 7364 mark attach mappings. 7365 (gomp_unmap_vars_internal): Use is_attach flag to prevent affecting 7366 reference count for attach mappings. 7367 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-1.c: New test. 7368 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test. 7369 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test. 7370 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Mark 7371 test as shouldfail. 7372 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust to fail 7373 gracefully in no-finalize mode. 7374 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-3.c: New file. 7375 7376 2020-07-24 Thomas Schwinge <thomas (a] codesourcery.com> 7377 7378 * testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after 7379 use. 7380 * testsuite/libgomp.oacc-c/c.exp: Likewise. 7381 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 7382 7383 2020-07-23 Julian Brown <julian (a] codesourcery.com> 7384 Thomas Schwinge <thomas (a] codesourcery.com> 7385 7386 * target.c (gomp_unmap_vars_internal): Remove unnecessary forcing of 7387 finalization for detach operation. 7388 * testsuite/libgomp.oacc-c-c++-common/structured-detach-underflow.c: 7389 New test. 7390 7391 2020-07-23 Tobias Burnus <tobias (a] codesourcery.com> 7392 7393 * configure.ac: Add OMP_DEPEND_KIND and OMP_INT128_SIZE. 7394 * libgomp_f.h.in (omp_check_defines): Check whether 7395 sizeof of determined Fortran kind and C typedef match. 7396 * omp_lib.f90.in: Add omp_depened_kind. 7397 * omp_lib.h.in: Likewise; fix omp_alloctrait_key_kind. 7398 * configure: Regenerate. 7399 * Makefile.in: Regenerate. 7400 * testsuite/Makefile.in: Regenerate. 7401 7402 2020-07-22 Tobias Burnus <tobias (a] codesourcery.com> 7403 7404 * testsuite/libgomp.c-c++-common/critical-hint-1.c: New; moved from 7405 gcc/testsuite/c-c++-common/gomp/. 7406 * testsuite/libgomp.c-c++-common/critical-hint-2.c: Likewise. 7407 * testsuite/libgomp.fortran/critical-hint-1.f90: New; moved 7408 from gcc/testsuite/gfortran.dg/gomp/. 7409 * testsuite/libgomp.fortran/critical-hint-2.f90: Likewise. 7410 7411 2020-07-22 Tobias Burnus <tobias (a] codesourcery.com> 7412 7413 * omp_lib.f90.in: Add omp_sync_hint_* and omp_sync_hint_kind. 7414 * omp_lib.h.in: Likewise. 7415 7416 2020-07-18 H.J. Lu <hjl.tools (a] gmail.com> 7417 7418 PR target/95620 7419 * testsuite/libgomp.c/pr95620.c: New test. 7420 7421 2020-07-16 Julian Brown <julian (a] codesourcery.com> 7422 Thomas Schwinge <thomas (a] codesourcery.com> 7423 7424 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test. 7425 * testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test. 7426 7427 2020-07-15 Tobias Burnus <tobias (a] codesourcery.com> 7428 7429 * testsuite/libgomp.fortran/alloc-1.F90: Use c_size_t to 7430 avoid conversion on 32bit systems from 32bit to 64bit due 7431 to -fdefault-integer-8. 7432 7433 2020-07-15 Tobias Burnus <tobias (a] codesourcery.com> 7434 7435 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused 7436 variables; add character(kind=4) tests; update TODO comment. 7437 7438 2020-07-15 Tobias Burnus <tobias (a] codesourcery.com> 7439 7440 * allocator.c: Add ialias for omp_init_allocator and 7441 omp_destroy_allocator. 7442 * configure.ac: Set INTPTR_T_KIND. 7443 * configure: Regenerate. 7444 * Makefile.in: Regenerate. 7445 * testsuite/Makefile.in: Regenerate. 7446 * fortran.c (omp_init_allocator_, omp_destroy_allocator_, 7447 omp_set_default_allocator_, omp_get_default_allocator_): New 7448 functions and ialias_redirect. 7449 * icv.c: Add ialias for omp_set_default_allocator and 7450 omp_get_default_allocator. 7451 * libgomp.map (OMP_5.0.1): Add omp_init_allocator_, 7452 omp_destroy_allocator_, omp_set_default_allocator_ and 7453 omp_get_default_allocator_. 7454 * omp_lib.f90.in: Add allocator traits parameters, declare 7455 allocator routines and add related kind parameters. 7456 * omp_lib.h.in: Likewise. 7457 * testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof. 7458 * testsuite/libgomp.fortran/alloc-1.F90: New test. 7459 * testsuite/libgomp.fortran/alloc-2.F90: New test. 7460 * testsuite/libgomp.fortran/alloc-3.F: New test. 7461 * testsuite/libgomp.fortran/alloc-4.f90: New test. 7462 * testsuite/libgomp.fortran/alloc-5.f90: New test. 7463 7464 2020-07-14 Tom de Vries <tom (a] codesourcery.com> 7465 Cesar Philippidis <cesar (a] codesourcery.com> 7466 Thomas Schwinge <thomas (a] codesourcery.com> 7467 Kwok Cheung Yeung <kcy (a] codesourcery.com> 7468 7469 * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread): 7470 New variable. 7471 (acc_init_1): Set acc_init_thread to pthread_self (). Set 7472 acc_init_state to initializing at the start, and to initialized at the 7473 end. 7474 (self_initializing_p): New function. 7475 (acc_get_device_type): Return acc_device_none if called by thread that 7476 is currently executing acc_init_1. 7477 * libgomp.texi (acc_get_device_type): Update documentation. 7478 (Implementation Status and Implementation-Defined Behavior): Likewise. 7479 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New. 7480 7481 2020-07-14 David Edelsohn <dje.gcc (a] gmail.com> 7482 7483 * config/t-aix: Set BITS from compiler cpp macro. 7484 7485 2020-07-14 Tobias Burnus <tobias (a] codesourcery.com> 7486 7487 * testsuite/libgomp.fortran/struct-elem-map-1.f90: New test. 7488 7489 2020-07-14 Tobias Burnus <tobias (a] codesourcery.com> 7490 7491 PR fortran/67311 7492 * testsuite/libgomp.fortran/target-map-1.f90: New test. 7493 7494 2020-07-14 Jakub Jelinek <jakub (a] redhat.com> 7495 7496 * testsuite/libgomp.c/loop-21.c: New test. 7497 7498 2020-07-13 Julian Brown <julian (a] codesourcery.com> 7499 Thomas Schwinge <thomas (a] codesourcery.com> 7500 7501 * testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test. 7502 7503 2020-07-10 Julian Brown <julian (a] codesourcery.com> 7504 Thomas Schwinge <thomas (a] codesourcery.com> 7505 7506 * libgomp.h (struct splay_tree_key_s): Change virtual_refcount to 7507 dynamic_refcount. 7508 (struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA. 7509 * oacc-mem.c (acc_map_data): Substitute virtual_refcount for 7510 dynamic_refcount. 7511 (acc_unmap_data): Update comment. 7512 (goacc_map_var_existing, goacc_enter_datum): Adjust for 7513 dynamic_refcount semantics. 7514 (goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking. 7515 Adjust for dynamic_refcount semantics. 7516 (goacc_enter_data_internal): Implement "present" case of dynamic 7517 memory-map handling here. Update "non-present" case for 7518 dynamic_refcount semantics. 7519 (goacc_exit_data_internal): Use goacc_exit_datum_1. 7520 * target.c (gomp_map_vars_internal): Remove 7521 GOMP_MAP_VARS_OPENACC_ENTER_DATA handling. Update for dynamic_refcount 7522 handling. 7523 (gomp_unmap_vars_internal): Remove virtual_refcount handling. 7524 (gomp_load_image_to_device): Substitute dynamic_refcount for 7525 virtual_refcount. 7526 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs. 7527 * testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test. 7528 * testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test. 7529 * testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test. 7530 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and 7531 trace output. 7532 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove 7533 trace output. 7534 * testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New 7535 test. 7536 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c: 7537 Remove stale comment. 7538 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs. 7539 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise. 7540 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise. 7541 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise. 7542 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise. 7543 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL. 7544 7545 2020-07-10 Julian Brown <julian (a] codesourcery.com> 7546 Thomas Schwinge <thomas (a] codesourcery.com> 7547 7548 * oacc-mem.c (goacc_map_var_existing): New function. 7549 (goacc_enter_datum): Use above function. 7550 (goacc_exit_datum_1): New function. 7551 (goacc_exit_datum): Use above function. 7552 7553 2020-07-09 Julian Brown <julian (a] codesourcery.com> 7554 Thomas Schwinge <thomas (a] codesourcery.com> 7555 7556 PR middle-end/95270 7557 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test. 7558 * testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test. 7559 7560 2020-07-09 Julian Brown <julian (a] codesourcery.com> 7561 7562 * oacc-mem.c (find_group_last): Group data-movement clauses 7563 (GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent 7564 GOMP_MAP_ATTACH. Allow standalone GOMP_MAP_ATTACH also. 7565 7566 2020-07-09 Jakub Jelinek <jakub (a] redhat.com> 7567 7568 * testsuite/libgomp.c/loop-19.c: New test. 7569 * testsuite/libgomp.c/loop-20.c: New test. 7570 7571 2020-07-09 Jakub Jelinek <jakub (a] redhat.com> 7572 7573 * omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from 7574 2 to -1. Add omp_atv_serialized and define omp_atv_sequential using 7575 it. Remove __omp_alloctrait_value_max__. 7576 * allocator.c (omp_init_allocator): Handle omp_atv_default for 7577 omp_atk_alignment and omp_atk_pool_size. 7578 7579 2020-07-03 Thomas Schwinge <thomas (a] codesourcery.com> 7580 7581 * oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom 7582 behavior for 'GOMP_MAP_FORCE_FROM'. 7583 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL. 7584 7585 2020-07-03 Thomas Schwinge <thomas (a] codesourcery.com> 7586 7587 * oacc-mem.c (goacc_exit_data_internal): Remove 7588 'GOMP_MAP_ALWAYS_FROM' handling. 7589 7590 2020-06-30 Thomas Schwinge <thomas (a] codesourcery.com> 7591 7592 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile 7593 'scan-assembler' with 'scan-offload-rtl'. 7594 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise. 7595 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise. 7596 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise. 7597 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise. 7598 7599 2020-06-30 Thomas Schwinge <thomas (a] codesourcery.com> 7600 7601 * target.c (gomp_map_vars_existing): Assert 'kind != 7602 GOMP_MAP_ATTACH'. 7603 (gomp_map_vars_internal): Clean up. 7604 7605 2020-06-27 Jakub Jelinek <jakub (a] redhat.com> 7606 7607 * testsuite/libgomp.c/loop-17.c: New test. 7608 * testsuite/libgomp.c/loop-18.c: New test. 7609 7610 2020-06-26 Marek Polacek <polacek (a] redhat.com> 7611 7612 * testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14. 7613 7614 2020-06-23 Alexandre Oliva <oliva (a] adacore.com> 7615 7616 * testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp. 7617 * testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps. 7618 7619 2020-06-22 David Edelsohn <dje.gcc (a] gmail.com> 7620 7621 * Makefile.am: Use -include. 7622 * Makefile.in: Regenerate. 7623 7624 2020-06-21 David Edelsohn <dje.gcc (a] gmail.com> 7625 7626 * Makefile.am (tmake_file): Build and install AIX-style FAT libraries. 7627 * Makefile.in: Regenerate 7628 * configure.ac (tmake_file): Substitute. 7629 * configure: Regenerate. 7630 * configure.tgt (powerpc-ibm-aix*): Define tmake_file. 7631 * config/t-aix: New file. 7632 7633 2020-06-17 Thomas Schwinge <thomas (a] codesourcery.com> 7634 7635 PR lto/94848 7636 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add 7637 'dg-do run'. 7638 7639 2020-06-17 Andrew Stubbs <ams (a] codesourcery.com> 7640 7641 * plugin/plugin-gcn.c (init_environment_variables): Use ".so.1" 7642 variant for HSA_RUNTIME_LIB name. 7643 (find_executable_symbol_1): Delete. 7644 (find_executable_symbol): Delete. 7645 (init_kernel_properties): Add ".kd" suffix to symbol names. 7646 (find_load_offset): Delete. 7647 (create_and_finalize_hsa_program): Remove relocation handling. 7648 7649 2020-06-16 Tobias Burnus <tobias (a] codesourcery.com> 7650 7651 * testsuite/libgomp.oacc-fortran/routine-10.f90: New test. 7652 7653 2020-06-08 Tobias Burnus <tobias (a] codesourcery.com> 7654 7655 PR lto/94848 7656 PR middle-end/95551 7657 * testsuite/libgomp.fortran/target-var.f90: New test. 7658 7659 2020-06-05 Thomas Schwinge <thomas (a] codesourcery.com> 7660 Julian Brown <julian (a] codesourcery.com> 7661 7662 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain 7663 special handling. 7664 7665 2020-06-05 Thomas Schwinge <thomas (a] codesourcery.com> 7666 Julian Brown <julian (a] codesourcery.com> 7667 7668 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: 7669 Simplify. 7670 7671 2020-06-05 Julian Brown <julian (a] codesourcery.com> 7672 7673 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test. 7674 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test. 7675 7676 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com> 7677 7678 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: 7679 Evaluate 'copyfrom' individually for each entry. 7680 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update. 7681 7682 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com> 7683 7684 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: 7685 Evaluate 'finalize' individually for each entry. 7686 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file. 7687 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove 7688 file. 7689 7690 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com> 7691 7692 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof' 7693 usage. 7694 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise. 7695 7696 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com> 7697 Julian Brown <julian (a] codesourcery.com> 7698 7699 * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped' 7700 checking. 7701 (acc_unmap_data, goacc_exit_data_internal): Restore 7702 'is_tgt_unmapped' checking. 7703 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New 7704 file. 7705 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust. 7706 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise. 7707 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise. 7708 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise. 7709 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise. 7710 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise. 7711 7712 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com> 7713 Julian Brown <julian (a] codesourcery.com> 7714 7715 * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'. 7716 7717 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com> 7718 7719 PR libgomp/92854 7720 * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting. 7721 7722 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com> 7723 7724 PR libgomp/92854 7725 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some 7726 more. 7727 7728 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com> 7729 Julian Brown <julian (a] codesourcery.com> 7730 7731 * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from 7732 'gomp_map_vars'. 7733 (acc_map_data): Clean up accordingly. 7734 7735 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com> 7736 7737 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior 7738 of over-eager 'finalize' clause. 7739 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New 7740 file. 7741 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise. 7742 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise. 7743 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise. 7744 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise. 7745 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise. 7746 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise. 7747 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise. 7748 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise. 7749 7750 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com> 7751 7752 * oacc-mem.c (goacc_exit_data_internal): Unlock on error path. 7753 7754 2020-06-04 Julian Brown <julian (a] codesourcery.com> 7755 7756 * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on 7757 error path. 7758 (goacc_detach_internal): Likewise. 7759 7760 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com> 7761 7762 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before 7763 the checkpoint. 7764 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise. 7765 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise. 7766 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise. 7767 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise. 7768 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise. 7769 7770 2020-06-02 Jakub Jelinek <jakub (a] redhat.com> 7771 7772 * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not 7773 defined. 7774 7775 2020-05-30 Jakub Jelinek <jakub (a] redhat.com> 7776 7777 * testsuite/libgomp.c-c++-common/alloc-4.c: New test. 7778 7779 2020-05-30 Jakub Jelinek <jakub (a] redhat.com> 7780 7781 * allocator.c (omp_alloc): For size == 0, return NULL early. 7782 7783 2020-05-29 H.J. Lu <hjl.tools (a] gmail.com> 7784 7785 PR bootstrap/95413 7786 * configure: Regenerated. 7787 7788 2020-05-23 Thomas Koenig <tkoenig (a] gcc.gnu.org> 7789 7790 PR libfortran/95191 7791 * testsuite/libgomp.fortran/async_io_9.f90: New test. 7792 7793 2020-05-19 Jakub Jelinek <jakub (a] redhat.com> 7794 7795 * omp.h.in (omp_uintptr_t): New typedef. 7796 (__GOMP_UINTPTR_T_ENUM): Define. 7797 (omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t, 7798 omp_alloctrait_value_t, omp_alloctrait_t): New typedefs. 7799 (__GOMP_DEFAULT_NULL_ALLOCATOR): Define. 7800 (omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator, 7801 omp_get_default_allocator, omp_alloc, omp_free): Declare. 7802 * libgomp.h (struct gomp_team_state): Add def_allocator field. 7803 (gomp_def_allocator): Declare. 7804 * libgomp.map (OMP_5.0.1): Export omp_set_default_allocator, 7805 omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator, 7806 omp_alloc and omp_free. 7807 * team.c (gomp_team_start): Copy over ts.def_allocator. 7808 * env.c (gomp_def_allocator): New variable. 7809 (parse_wait_policy): Adjust function comment. 7810 (parse_allocator): New function. 7811 (handle_omp_display_env): Print OMP_ALLOCATOR. 7812 (initialize_env): Call parse_allocator. 7813 * Makefile.am (libgomp_la_SOURCES): Add allocator.c. 7814 * allocator.c: New file. 7815 * icv.c (omp_set_default_allocator, omp_get_default_allocator): New 7816 functions. 7817 * testsuite/libgomp.c-c++-common/alloc-1.c: New test. 7818 * testsuite/libgomp.c-c++-common/alloc-2.c: New test. 7819 * testsuite/libgomp.c-c++-common/alloc-3.c: New test. 7820 * Makefile.in: Regenerated. 7821 7822 2020-05-15 H.J. Lu <hongjiu.lu (a] intel.com> 7823 7824 PR bootstrap/95147 7825 * configure: Regenerated. 7826 7827 2020-05-14 Thomas Koenig <tkoenig (a] gcc.gnu.org> 7828 7829 PR libfortran/95119 7830 * testsuite/libgomp.fortran/close_errors_1.f90: New test. 7831 7832 2020-05-14 H.J. Lu <hongjiu.lu (a] intel.com> 7833 7834 * configure: Regenerated. 7835 7836 2020-05-14 Jakub Jelinek <jakub (a] redhat.com> 7837 7838 * testsuite/libgomp.c-c++-common/target-40.c: New test. 7839 7840 2020-05-13 Tobias Burnus <tobias (a] codesourcery.com> 7841 7842 PR fortran/94690 7843 * testsuite/libgomp.fortran/pr66199-3.f90: New. 7844 * testsuite/libgomp.fortran/pr66199-4.f90: New. 7845 * testsuite/libgomp.fortran/pr66199-5.f90: New. 7846 * testsuite/libgomp.fortran/pr66199-6.f90: New. 7847 * testsuite/libgomp.fortran/pr66199-7.f90: New. 7848 * testsuite/libgomp.fortran/pr66199-8.f90: New. 7849 * testsuite/libgomp.fortran/pr66199-9.f90: New. 7850 7851 2020-05-12 Jakub Jelinek <jakub (a] redhat.com> 7852 7853 * testsuite/libgomp.c/target-39.c: New test. 7854 7855 2020-04-29 Thomas Schwinge <thomas (a] codesourcery.com> 7856 7857 * config/accel/openacc.f90 (acc_device_current): Set to '-1'. 7858 * openacc.f90 (acc_device_current): Likewise. 7859 * openacc.h (acc_device_current): Likewise. 7860 * openacc_lib.h (acc_device_current): Likewise. 7861 7862 PR target/94282 7863 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove 7864 'dg-allow-blank-lines-in-output'. 7865 7866 * oacc-init.c (get_openacc_name): Handle 'gcn'. 7867 * testsuite/lib/libgomp.exp 7868 (offload_target_to_openacc_device_type) [amdgcn*]: Return 7869 'radeon'. Adjust all users. 7870 (check_effective_target_openacc_amdgcn_accel_present): Rename 7871 to... 7872 (check_effective_target_openacc_radeon_accel_present): ... this. 7873 Adjust all users. 7874 (check_effective_target_openacc_amdgcn_accel_selected): Rename to... 7875 (check_effective_target_openacc_radeon_accel_selected): ... this. 7876 Adjust all users. 7877 7878 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add 7879 'dg-do run'. 7880 7881 2020-04-23 Andrew Stubbs <ams (a] codesourcery.com> 7882 7883 PR other/94629 7884 7885 * plugin/plugin-gcn.c (init_hsa_context): Check return value from 7886 hsa_iterate_agents. 7887 (GOMP_OFFLOAD_init_device): Check return values from both calls to 7888 hsa_agent_iterate_regions. 7889 7890 2020-04-20 Thomas Schwinge <thomas (a] codesourcery.com> 7891 7892 PR middle-end/94635 7893 * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do 7894 run'. 7895 7896 2020-04-20 Tobias Burnus <tobias (a] codesourcery.com> 7897 7898 PR middle-end/94120 7899 * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)' 7900 test case. 7901 7902 2020-04-17 Tobias Burnus <tobias (a] codesourcery.com> 7903 7904 PR middle-end/94635 7905 * testsuite/libgomp.fortran/target-enter-data-2.F90: New. 7906 7907 2020-04-13 Thomas Schwinge <thomas (a] codesourcery.com> 7908 7909 PR libgomp/92843 7910 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c: 7911 Rename to... 7912 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c: 7913 ... this. 7914 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c: 7915 Rename to... 7916 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c: 7917 ... this. 7918 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c: 7919 Rename to... 7920 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c: 7921 ... this. 7922 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c: 7923 Rename to... 7924 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c: 7925 ... this. 7926 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c: 7927 Rename to... 7928 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c: 7929 ... this. 7930 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c: 7931 Rename to... 7932 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c: 7933 ... this. 7934 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c: 7935 Rename to... 7936 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c: 7937 ... this. 7938 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c: 7939 Rename to... 7940 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c: 7941 ... this. 7942 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c: 7943 Rename to... 7944 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c: 7945 ... this. 7946 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c: 7947 Rename to... 7948 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c: 7949 ... this. 7950 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c: 7951 Rename to... 7952 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c: 7953 ... this. 7954 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c: 7955 Rename to... 7956 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c: 7957 ... this. 7958 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c: 7959 Rename to... 7960 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c: 7961 ... this. 7962 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c: 7963 Rename to... 7964 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c: 7965 ... this. 7966 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c: 7967 Rename to... 7968 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c: 7969 ... this. 7970 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:: 7971 Rename to... 7972 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c: 7973 ... this. 7974 7975 2020-04-10 Julian Brown <julian (a] codesourcery.com> 7976 Thomas Schwinge <thomas (a] codesourcery.com> 7977 7978 PR libgomp/92843 7979 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c: 7980 New file. 7981 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c: 7982 Likewise. 7983 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c: 7984 Likewise. 7985 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c: 7986 Likewise. 7987 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c: 7988 Likewise. 7989 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c: 7990 Likewise. 7991 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c: 7992 Likewise. 7993 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c: 7994 Likewise. 7995 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c: 7996 Likewise. 7997 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c: 7998 Likewise. 7999 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c: 8000 Likewise. 8001 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c: 8002 Likewise. 8003 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c: 8004 Likewise. 8005 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c: 8006 Likewise. 8007 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c: 8008 Likewise. 8009 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c: 8010 Likewise. 8011 8012 2020-04-10 Thomas Schwinge <thomas (a] codesourcery.com> 8013 8014 * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do 8015 run'. 8016 8017 2020-04-08 Tobias Burnus <tobias (a] codesourcery.com> 8018 8019 PR middle-end/94120 8020 * libgomp.oacc-c++/declare-pr94120.C: New. 8021 8022 2020-04-06 Maciej W. Rozycki <macro (a] wdc.com> 8023 8024 * configure.ac: Add testsuite/libgomp-site-extra.exp to output 8025 files. 8026 * configure: Regenerate. 8027 * testsuite/libgomp-site-extra.exp.in: New file. 8028 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove 8029 variable. 8030 * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New 8031 variable. 8032 * testsuite/Makefile.in: Regenerate. 8033 8034 2020-04-03 Thomas Schwinge <thomas (a] codesourcery.com> 8035 8036 PR tree-optimization/89713 8037 PR c/94392 8038 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect 8039 'bar.sync'. 8040 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise. 8041 8042 2020-03-31 Tobias Burnus <tobias (a] codesourcery.com> 8043 8044 * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER. 8045 * testsuite/libgomp.fortran/target-enter-data-1.f90: New. 8046 8047 2020-03-24 Tobias Burnus <tobias (a] codesourcery.com> 8048 8049 PR libgomp/81689 8050 * testsuite/libgomp.c/target-link-1.c: Remove xfail. 8051 8052 2020-03-20 Tobias Burnus <tobias (a] codesourcery.com> 8053 8054 PR libgomp/94251 8055 * target.c (gomp_load_image_to_device): Fix link 8056 variable handling. 8057 8058 2020-03-19 Jakub Jelinek <jakub (a] redhat.com> 8059 8060 PR c++/93931 8061 * testsuite/libgomp.c++/pr93931.C: New test. 8062 8063 2020-03-19 Tobias Burnus <tobias (a] codesourcery.com> 8064 8065 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add 8066 dg-allow-blank-lines-in-output. 8067 8068 2020-03-18 Julian Brown <julian (a] codesourcery.com> 8069 Tobias Burnus <tobias (a] codesourcery.com> 8070 8071 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make 8072 it work concurrently. 8073 8074 2020-03-18 Tobias Burnus <tobias (a] codesourcery.com> 8075 8076 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add 8077 #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn. 8078 * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise. 8079 8080 2020-03-14 Jakub Jelinek <jakub (a] redhat.com> 8081 8082 PR middle-end/93566 8083 * testsuite/libgomp.c/pr93566.c: New test. 8084 8085 2020-02-21 Frederik Harwath <frederik (a] codesourcery.com> 8086 8087 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to 8088 changes from 2020-02-19, i.e. use integer(c_size_t) instead of 8089 integer(acc_device_property) for the type of the return value of 8090 acc_get_property. 8091 8092 2020-02-19 Tobias Burnus <tobias (a] codesourcery.com> 8093 8094 * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h. 8095 * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current. 8096 (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup. 8097 * libgomp.texi (Enabling OpenACC): No longer mark as experimental. 8098 (acc_set_device_num): Fix Fortran argument name, use same name for C. 8099 (acc_get_property): Update Fortran interface to post-OpenACC 3.0 8100 corrections; add note about the previous interface and named constant. 8101 (OpenACC library and environment variables): Fix two typos. 8102 * openacc.f90: Use for all procedures the argument names from the spec 8103 as for _h they are user visible. 8104 (openacc_kinds): Rename acc_device_property to 8105 acc_device_property_kinds and change value to int32 ; and update users. 8106 Re-add acc_device_property for for backward compatibility. 8107 (acc_get_property_string_h): Clean up as acc_device_property_kind 8108 changed. 8109 (acc_get_property_h): Likewise and return c_size_t instead of 8110 acc_device_property. 8111 (openacc): Also export acc_device_property_kinds. 8112 (acc_async_test_h, acc_async_test_all_h, acc_on_device_h, 8113 acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value 8114 handling; check against /= 0 instead of == 1 to match C. 8115 * openacc_lib.h: Use for all procedures the argument names from the spec 8116 as for _h they are user visible. Place !GCC$ into the first column to 8117 be active also for fixed-form souce form. 8118 (acc_device_current, acc_device_property_kind, acc_device_property, 8119 acc_property_memory, acc_property_free_memory, acc_property_name, 8120 acc_property_vendor, acc_property_driver): New named constants. 8121 (acc_get_property, acc_get_property_string): New generic interface. 8122 8123 2020-02-13 Frederik Harwath <frederik (a] codesourcery.com> 8124 8125 PR libgomp/93481 8126 * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub. 8127 * target.c (gomp_load_plugin_for_device): Make "async_run" loading 8128 optional. 8129 (gomp_target_task_fn): Assert "devicep->async_run_func". 8130 (clear_unsupported_flags): New function to remove unsupported flags 8131 (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored. 8132 (GOMP_target_ext): Apply clear_unsupported_flags to flags. 8133 * testsuite/libgomp.c/target-33.c: 8134 Remove xfail for offload_target_nvptx. 8135 * testsuite/libgomp.c/target-34.c: Likewise. 8136 8137 2020-02-10 Frederik Harwath <frederik (a] codesourcery.com> 8138 8139 * testsuite/libgomp.c/target-33.c: Add xfail for execution on 8140 offload_target_nvptx, cf. https://gcc.gnu.org/PR81688. 8141 * testsuite/libgomp.c/target-34.c: Likewise. 8142 * testsuite/libgomp.c/target-link-1.c: Add xfail for 8143 offload_target_nvptx, cf. https://gcc.gnu.org/PR81689. 8144 8145 2020-02-09 Jakub Jelinek <jakub (a] redhat.com> 8146 8147 * testsuite/libgomp.c/target-38.c: New test. 8148 8149 2020-02-06 Jakub Jelinek <jakub (a] redhat.com> 8150 8151 PR libgomp/93515 8152 * testsuite/libgomp.c-c++-common/pr93515.c: New test. 8153 8154 2020-02-05 Tobias Burnus <tobias (a] codesourcery.com> 8155 8156 * testsuite/lib/libgomp.exp 8157 (check_effective_target_offload_target_nvptx): Pass flags as 'options' 8158 and not as 'source' argument to libgomp_target_compile. 8159 8160 2020-02-03 Andrew Stubbs <ams (a] codesourcery.com> 8161 8162 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove. 8163 (gcn_gfx801_s): Remove. 8164 (isa_hsa_name): Remove gfx801. 8165 (isa_gcc_name): Remove gfx801/carizzo. 8166 (isa_code): Remove gfx801. 8167 8168 2020-02-03 Julian Brown <julian (a] codesourcery.com> 8169 Tobias Burnus <tobias (a] codesourcery.com> 8170 8171 * libgomp.texi (OpenACC Runtime Library Routines): Document *_async 8172 and *_finalize variants; document acc_attach and acc_detach; update 8173 references from OpenACC 2.0 to 2.6. 8174 * openacc.f90 (openacc_version): Update to 201711. 8175 * openacc_lib.h (openacc_version): Update to 201711. 8176 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected 8177 openacc_version to 201711. 8178 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise. 8179 8180 2020-01-31 Kwok Cheung Yeung <kcy (a] codesourcery.com> 8181 8182 * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count 8183 and vgpr_count fields. 8184 (struct kernel_info): Add a field for a hsa_kernel_description. 8185 (run_kernel): Reduce the number of threads/workers if the requested 8186 number would require too many VGPRs. 8187 (init_basic_kernel_info): Initialize description field with 8188 the hsa_kernel_description entry for the kernel. 8189 8190 2020-01-29 Tobias Burnus <tobias (a] codesourcery.com> 8191 8192 PR bootstrap/93409 8193 * plugin/configfrag.ac (enable_offload_targets): Skip 8194 HSA and GCN plugin besides -m32 also for -mx32. 8195 * configure: Regenerate. 8196 8197 2020-01-29 Frederik Harwath <frederik (a] codesourcery.com> 8198 8199 * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon. 8200 8201 2020-01-29 Frederik Harwath <frederik (a] codesourcery.com> 8202 8203 * plugin-gcn.c (struct agent_info): Add fields "name" and 8204 "vendor_name" ... 8205 (GOMP_OFFLOAD_init_device): ... and init from here. 8206 (struct hsa_context_info): Add field "driver_version_s" ... 8207 (init_hsa_contest): ... and init from here. 8208 (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper 8209 implementation. 8210 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: 8211 Enable test execution for amdgcn and host offloading targets. 8212 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise. 8213 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c 8214 (expect_device_properties): Split function into ... 8215 (expect_device_string_properties): ... this new function ... 8216 (expect_device_memory): ... and this new function. 8217 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c: 8218 Add test. 8219 8220 2020-01-28 Julian Brown <julian (a] codesourcery.com> 8221 8222 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here. 8223 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed 8224 component/non-component variable refs in a single directive. 8225 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise. 8226 8227 2020-01-24 Maciej W. Rozycki <macro (a] wdc.com> 8228 8229 * configure.ac: Handle `--with-toolexeclibdir='. 8230 * Makefile.in: Regenerate. 8231 * aclocal.m4: Regenerate. 8232 * configure: Regenerate. 8233 * testsuite/Makefile.in: Regenerate. 8234 8235 2020-01-24 Frederik Harwath <frederik (a] codesourcery.com> 8236 8237 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c 8238 (expect_device_properties): Remove "expected_free_mem" argument, 8239 change "expected_total_mem" argument type to size_t; 8240 change types of acc_get_property results to size_t, 8241 adapt format strings. 8242 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: 8243 Use %zu instead of %zd to print size_t values. 8244 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and 8245 rename to ... 8246 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this. 8247 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and 8248 rename to ... 8249 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this. 8250 8251 2020-01-23 Andrew Stubbs <ams (a] codesourcery.com> 8252 8253 * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for 8254 the device id. 8255 8256 2020-01-20 Andrew Stubbs <ams (a] codesourcery.com> 8257 8258 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn. 8259 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main): 8260 Adjust test dimensions for amdgcn. 8261 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust 8262 gang/worker/vector expectations dynamically. 8263 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c 8264 (main): Likewise. 8265 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise. 8266 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise. 8267 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise. 8268 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise. 8269 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise. 8270 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise. 8271 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise. 8272 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise. 8273 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c 8274 (acc_gang): Recognise acc_device_radeon. 8275 (acc_worker): Likewise. 8276 (acc_vector): Likewise. 8277 (main): Set expectations for amdgcn. 8278 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c 8279 (main): Adjust gang/worker/vector expectations dynamically. 8280 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise. 8281 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise. 8282 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise. 8283 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations 8284 for amdgcn. 8285 8286 2020-01-17 Andrew Stubbs <ams (a] codesourcery.com> 8287 8288 * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to 8289 acc_device_radeon. 8290 (openacc): Likewise. 8291 * openacc.f90 (openacc_kinds): Likewise. 8292 (openacc): Likewise. 8293 * openacc.h (acc_device_t): Likewise. 8294 * openacc_lib.h: Likewise. 8295 * testsuite/lib/libgomp.exp 8296 (check_effective_target_openacc_amdgcn_accel_present): Likewise. 8297 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c 8298 (cb_compute_construct_end): Likewise. 8299 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c 8300 (cb_enqueue_launch_start): Likewise. 8301 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c 8302 (cb_enter_data_end): Likewise. 8303 (cb_exit_data_start): Likewise. 8304 (cb_exit_data_end): Likewise. 8305 (cb_compute_construct_end): Likewise. 8306 (cb_enqueue_launch_start): Likewise. 8307 (cb_enqueue_launch_end): Likewise. 8308 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c 8309 (main): Likewise. 8310 8311 2020-01-10 Thomas Schwinge <thomas (a] codesourcery.com> 8312 8313 * libgomp-plugin.h (enum goacc_property): New. Adjust all users 8314 to use this instead of 'enum gomp_device_property'. 8315 (GOMP_OFFLOAD_get_property): Rename to... 8316 (GOMP_OFFLOAD_openacc_get_property): ... this. Adjust all users. 8317 * libgomp.h (struct gomp_device_descr): Move 8318 'GOMP_OFFLOAD_openacc_get_property'... 8319 (struct acc_dispatch_t): ... here. Adjust all users. 8320 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove. 8321 8322 * target.c (gomp_map_vars_internal) 8323 <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code 8324 paths. 8325 8326 2020-01-10 Jakub Jelinek <jakub (a] redhat.com> 8327 8328 PR libgomp/93219 8329 * libgomp.h (gomp_print_string): Change return type from void to int. 8330 * affinity-fmt.c (gomp_print_string): Likewise. Return true if 8331 not all characters have been written. 8332 8333 2020-01-08 Tobias Burnus <tobias (a] codesourcery.com> 8334 8335 * libgomp.texi: Fix typos, use https. 8336 8337 2020-01-03 Tobias Burnus <tobias (a] codesourcery.com> 8338 8339 * testsuite/libgomp.fortran/optional-map.f90: Add test for 8340 unallocated/disassociated actual arguments to nonallocatable/nonpointer 8341 dummy arguments; those are/shall be regarded as absent arguments. 8342 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto. 8343 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New. 8344 8345 2020-01-01 Jakub Jelinek <jakub (a] redhat.com> 8346 8347 Update copyright years. 8348 8349 * libgomp.texi: Bump @copying's copyright year. 8350 8351 2019-12-31 Ayush Mittal <ayush.m (a] samsung.com> 8352 8353 PR libgomp/93065 8354 * oacc-init.c (goacc_runtime_deinitialize): New function. 8355 8356 2019-12-28 Jakub Jelinek <jakub (a] redhat.com> 8357 8358 PR bootstrap/93074 8359 * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare. 8360 (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2. 8361 8362 2019-12-22 Maciej W. Rozycki <macro (a] codesourcery.com> 8363 Frederik Harwath <frederik (a] codesourcery.com> 8364 Thomas Schwinge <tschwinge (a] codesourcery.com> 8365 8366 * libgomp.h (gomp_device_descr): Add `get_property_func' member. 8367 * libgomp-plugin.h (gomp_device_property_value): New union. 8368 (gomp_device_property_value): New prototype. 8369 * openacc.h (acc_device_t): Add `acc_device_current' enumeration 8370 constant. 8371 (acc_device_property_t): New enum. 8372 (acc_get_property, acc_get_property_string): New prototypes. 8373 * oacc-init.c (acc_get_device_type): Also assert that result 8374 is not `acc_device_current'. 8375 (get_property_any, acc_get_property, acc_get_property_string): 8376 New functions. 8377 * openacc.f90 (openacc_kinds): Add `acc_device_current' and 8378 `acc_property_memory', `acc_property_free_memory', 8379 `acc_property_name', `acc_property_vendor' and 8380 `acc_property_driver' constants. Add `acc_device_property' data 8381 type. 8382 (openacc_internal): Add `acc_get_property' and 8383 `acc_get_property_string' interfaces. Add `acc_get_property_h', 8384 `acc_get_property_string_h', `acc_get_property_l' and 8385 `acc_get_property_string_l'. 8386 * oacc-host.c (host_get_property): New function. 8387 (host_dispatch): Wire it. 8388 * target.c (gomp_load_plugin_for_device): Handle `get_property'. 8389 * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_', 8390 `acc_get_property_string' and `acc_get_property_string_h_' symbols. 8391 * libgomp.texi (OpenACC Runtime Library Routines): Add 8392 `acc_get_property'. 8393 (acc_get_property): New node. 8394 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New 8395 function (stub). 8396 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function. 8397 * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName', 8398 `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo' 8399 calls. 8400 (GOMP_OFFLOAD_get_property): New function. 8401 (struct ptx_device): Add new field "name". 8402 (cuda_driver_version_s): Add new static variable ... 8403 (nvptx_init): ... and init from here. 8404 8405 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test. 8406 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test. 8407 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test. 8408 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file 8409 with test helper functions. 8410 8411 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test. 8412 8413 2019-12-22 Maciej W. Rozycki <macro (a] wdc.com> 8414 8415 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New 8416 variable. 8417 8418 2019-12-21 Thomas Schwinge <thomas (a] codesourcery.com> 8419 8420 * target.c (gomp_map_vars_internal): Restore 'omp declare target 8421 link' handling. 8422 8423 2019-12-19 Julian Brown <julian (a] codesourcery.com> 8424 8425 * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test. 8426 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test. 8427 * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test. 8428 8429 2019-12-19 Julian Brown <julian (a] codesourcery.com> 8430 Cesar Philippidis <cesar (a] codesourcery.com> 8431 8432 * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test. 8433 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test. 8434 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test. 8435 * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test. 8436 * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test. 8437 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test. 8438 * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test. 8439 * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test. 8440 * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test. 8441 * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test. 8442 * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test. 8443 * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test. 8444 * testsuite/libgomp.oacc-fortran/update-2.f90: New test. 8445 8446 2019-12-19 Julian Brown <julian (a] codesourcery.com> 8447 8448 * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test. 8449 * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test. 8450 * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test. 8451 * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test. 8452 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test. 8453 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test. 8454 * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test. 8455 * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test. 8456 * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test. 8457 * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test. 8458 * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test. 8459 * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test. 8460 8461 2019-12-19 Julian Brown <julian (a] codesourcery.com> 8462 8463 * libgomp.h (struct target_var_desc): Add do_detach flag. 8464 * oacc-init.c (acc_shutdown_1): Free aux block if present. 8465 * oacc-mem.c (find_group_last): Add SIZES parameter. Support 8466 struct components. Tidy up and add some new checks. 8467 (goacc_enter_data_internal): Update call to find_group_last. 8468 (goacc_exit_data_internal): Support detach operations and 8469 GOMP_MAP_STRUCT. 8470 (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or 8471 GOMP_MAP_FORCE_PRESENT in finalization detection code. Handle 8472 attach/detach in enter/exit data detection code. 8473 * target.c (gomp_map_vars_existing): Initialise do_detach field of 8474 tgt_var_desc. 8475 (gomp_map_vars_internal): Support attach. 8476 (gomp_unmap_vars_internal): Support detach. 8477 8478 2019-12-19 Julian Brown <julian (a] codesourcery.com> 8479 Thomas Schwinge <thomas (a] codesourcery.com> 8480 8481 * libgomp.h (struct splay_tree_aux): Add attach_count field. 8482 (gomp_attach_pointer, gomp_detach_pointer): Add prototypes. 8483 * libgomp.map (OACC_2.6): New section. Add acc_attach, 8484 acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize, 8485 acc_detach_finalize_async. 8486 * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal, 8487 acc_detach, acc_detach_async, acc_detach_finalize, 8488 acc_detach_finalize_async): New functions. 8489 * openacc.h (acc_attach, acc_attach_async, acc_detach, 8490 (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add 8491 prototypes. 8492 * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions. 8493 (gomp_remove_var_internal): Free attachment counts if present. 8494 * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test. 8495 * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test. 8496 8497 2019-12-19 Julian Brown <julian (a] codesourcery.com> 8498 Cesar Philippidis <cesar (a] codesourcery.com> 8499 8500 * libgomp.h (gomp_map_val): Add prototype. 8501 * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of 8502 open-coding device-address calculation. 8503 * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in 8504 non-present case. 8505 8506 2019-12-19 Julian Brown <julian (a] codesourcery.com> 8507 8508 * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount 8509 field for virtual_refcount. 8510 (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA. 8511 (gomp_free_memmap): Remove prototype. 8512 * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var 8513 instead of calling gomp_free_memmap. 8514 * oacc-mem.c (acc_map_data): Use virtual_refcount instead of 8515 dynamic_refcount. 8516 (acc_unmap_data): Open code instead of forcing target_mem_desc's 8517 to_free field to NULL then calling gomp_unmap_vars. Handle 8518 REFCOUNT_INFINITY on target blocks. 8519 (goacc_enter_data): Rename to... 8520 (goacc_enter_datum): ...this. Remove MAPNUM parameter and special 8521 handling for mapping groups. Use virtual_refcount instead of 8522 dynamic_refcount. Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for 8523 map_map_vars_async call. Re-do lookup for target pointer return value. 8524 (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call 8525 renamed goacc_enter_datum function. 8526 (goacc_exit_data): Rename to... 8527 (goacc_exit_datum): ...this. Update for virtual_refcount semantics. 8528 (acc_delete, acc_delete_async, acc_delete_finalize, 8529 acc_delete_finalize_async, acc_copyout, acc_copyout_async, 8530 acc_copyout_finalize, acc_copyout_finalize_async): Call renamed 8531 goacc_exit_datum function. 8532 (gomp_acc_remove_pointer, find_pointer): Remove functions. 8533 (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal): 8534 New functions. 8535 (GOACC_enter_exit_data): Use goacc_enter_data_internal and 8536 goacc_exit_data_internal helper functions. 8537 * target.c (gomp_map_vars_internal): Handle 8538 GOMP_MAP_VARS_OPENACC_ENTER_DATA. Update for virtual_refcount 8539 semantics. 8540 (gomp_unmap_vars_internal): Update for virtual_refcount semantics. 8541 (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise 8542 virtual_refcount field instead of dynamic_refcount. 8543 (gomp_free_memmap): Remove function. 8544 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test. 8545 * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test. 8546 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL. 8547 8548 2019-12-19 Julian Brown <julian (a] codesourcery.com> 8549 Thomas Schwinge <thomas (a] codesourcery.com> 8550 8551 * libgomp.h (struct splay_tree_aux): New. 8552 (struct splay_tree_key_s): Replace link_key field with aux pointer. 8553 * target.c (gomp_map_vars_internal): Adjust for link_key being moved 8554 to aux struct. 8555 (gomp_remove_var_internal): Free aux block if present. 8556 (gomp_load_image_to_device): Zero-initialise aux field instead of 8557 link_key field. 8558 (omp_target_associate_pointer): Zero-initialise aux field. 8559 8560 2019-12-18 Jakub Jelinek <jakub (a] redhat.com> 8561 8562 PR middle-end/86416 8563 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than 8564 q or none. 8565 * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than 8566 L or none. 8567 8568 2019-12-19 Julian Brown <julian (a] codesourcery.com> 8569 Maciej W. Rozycki <macro (a] codesourcery.com> 8570 Tobias Burnus <tobias (a] codesourcery.com> 8571 Thomas Schwinge <thomas (a] codesourcery.com> 8572 8573 * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC. 8574 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test. 8575 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test. 8576 * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test. 8577 * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test. 8578 * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test. 8579 * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test. 8580 * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test. 8581 * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test. 8582 8583 2019-12-18 Thomas Schwinge <thomas (a] codesourcery.com> 8584 8585 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be 8586 called... 8587 (goacc_insert_pointer): ... from here, "present" case. 8588 (goacc_insert_pointer): Inline function into... 8589 (GOACC_enter_exit_data): ... here, and simplify. 8590 8591 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be 8592 called... 8593 (goacc_insert_pointer): ... from here, "not present" case. 8594 8595 * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust 8596 all users. 8597 8598 * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call 8599 'goacc_enter_data', 'goacc_exit_data'. 8600 8601 * oacc-mem.c (delete_copyout): Refactor into... 8602 (goacc_exit_data): ... this. Adjust all users. 8603 8604 * oacc-mem.c (present_create_copy): Refactor into... 8605 (goacc_enter_data): ... this. Adjust all users. 8606 8607 * target.c (gomp_unmap_vars_internal): Add a safeguard to 8608 'gomp_remove_var'. 8609 8610 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM' 8611 like 'GOMP_MAP_FROM'. 8612 8613 PR libgomp/92726 8614 PR libgomp/92970 8615 PR libgomp/92984 8616 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host' 8617 fails. 8618 (GOACC_enter_exit_data): Simplify accordingly. 8619 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file, 8620 subsuming... 8621 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file... 8622 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this 8623 file. 8624 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file, 8625 subsuming... 8626 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file... 8627 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this 8628 file. 8629 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file, 8630 subsuming... 8631 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file. 8632 8633 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data' 8634 'finalize' handling. 8635 8636 PR libgomp/92848 8637 * oacc-mem.c (acc_map_data, present_create_copy) 8638 (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'. 8639 (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust. 8640 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove. 8641 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file 8642 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise. 8643 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise. 8644 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise. 8645 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c: 8646 Remove "XFAIL"s. 8647 8648 * target.c (gomp_unmap_tgt): Make it 'static'. 8649 * libgomp.h (gomp_unmap_tgt): Remove. 8650 8651 2019-12-18 Tobias Burnus <tobias (a] codesourcery.com> 8652 8653 PR middle-end/86416 8654 * testsuite/libgomp.c/pr86416-1.c: New. 8655 * testsuite/libgomp.c/pr86416-2.c: New. 8656 8657 2019-12-17 Tobias Burnus <tobias (a] codesourcery.com> 8658 8659 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark 8660 all symbols as public except for the 'use , only' imported symbol, 8661 which is private. 8662 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark 8663 all symbols from module openacc_kinds as PUBLIC 8664 * openacc.f90: Add comment with crossref to that file and openmp_lib.h; 8665 fix comment typo. 8666 * openacc_lib.h (acc_device_gcn): Add this PARAMETER. 8667 8668 2019-12-13 Julian Brown <julian (a] codesourcery.com> 8669 8670 PR libgomp/92881 8671 8672 * libgomp.h (gomp_remove_var_async): Add prototype. 8673 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of 8674 gomp_remove_var. 8675 * target.c (gomp_unref_tgt): Change return type to bool, indicating 8676 whether target_mem_desc was unmapped. 8677 (gomp_unref_tgt_void): New. 8678 (gomp_remove_var): Reimplement in terms of... 8679 (gomp_remove_var_internal): ...this new helper function. 8680 (gomp_remove_var_async): New, implemented using above helper function. 8681 (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of 8682 gomp_unref_tgt. 8683 8684 2019-12-13 Andrew Stubbs <ams (a] codesourcery.com> 8685 8686 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn. 8687 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise. 8688 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise. 8689 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise. 8690 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: 8691 Likewise. 8692 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN. 8693 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise. 8694 8695 2019-12-13 Tobias Burnus <tobias (a] codesourcery.com> 8696 8697 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols 8698 as public except for the 'use , only' imported symbol, which is 8699 private. 8700 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark 8701 all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC 8702 attributes for acc_copyout_finalize and acc_delete_finalize. 8703 8704 2019-12-11 Jakub Jelinek <jakub (a] redhat.com> 8705 8706 PR fortran/92899 8707 * testsuite/libgomp.fortran/atomic1.f90: New test. 8708 8709 2019-12-11 Thomas Schwinge <thomas (a] codesourcery.com> 8710 8711 PR libgomp/92843 8712 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic 8713 reference counting for structured 'REFCOUNT_INFINITY'. Add some 8714 assertions. 8715 (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly. 8716 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file. 8717 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC. 8718 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise. 8719 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise. 8720 8721 * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move... 8722 * oacc-mem.c: ... here. 8723 (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to 8724 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'. 8725 * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer): 8726 Remove. 8727 * libgomp_g.h: Update. 8728 8729 * oacc-parallel.c (GOACC_wait, goacc_wait): Move... 8730 * oacc-async.c: ... here. 8731 * oacc-int.h (goacc_wait): Declare. 8732 * libgomp_g.h: Update 8733 8734 PR libgomp/92854 8735 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c: 8736 New file. 8737 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c: 8738 Likewise. 8739 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c: 8740 Likewise. 8741 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c: 8742 Likewise. 8743 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c: 8744 Likewise. 8745 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c: 8746 Likewise. 8747 8748 2019-12-11 Thomas Schwinge <thomas (a] codesourcery.com> 8749 Julian Brown <julian (a] codesourcery.com> 8750 8751 * target.c (gomp_load_image_to_device, omp_target_associate_ptr): 8752 Initialize 'dynamic_refcount' whenever we initialize 'refcount'. 8753 8754 2019-12-11 Tobias Burnus <tobias (a] codesourcery.com> 8755 8756 * omp_lib.h.in: Fix spelling of function declaration 8757 omp_get_cancell(l)ation. 8758 * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all): 8759 Fix typos. 8760 * env.c: Fix comment typos. 8761 * oacc-host.c: Likewise. 8762 * ordered.c: Likewise. 8763 * task.c: Likewise. 8764 * team.c: Likewise. 8765 * config/gcn/task.c: Likewise. 8766 * config/gcn/team.c: Likewise. 8767 * config/nvptx/task.c: Likewise. 8768 * config/nvptx/team.c: Likewise. 8769 * plugin/plugin-gcn.c: Likewise. 8770 * testsuite/libgomp.fortran/jacobi.f: Likewise. 8771 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise. 8772 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise. 8773 8774 2019-12-11 Tobias Burnus <tobias (a] codesourcery.com> 8775 8776 * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'. 8777 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove 8778 unnecessary 'dg-additional-options "-w"'. 8779 8780 2019-12-09 Thomas Schwinge <thomas (a] codesourcery.com> 8781 Julian Brown <julian (a] codesourcery.com> 8782 8783 PR libgomp/92116 8784 PR libgomp/92877 8785 8786 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users. 8787 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member. 8788 Adjust all users. 8789 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c: 8790 Remove XFAIL. 8791 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c: 8792 Likewise. 8793 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file. 8794 8795 2019-12-09 Thomas Schwinge <thomas (a] codesourcery.com> 8796 8797 PR libgomp/92503 8798 * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'. 8799 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New 8800 file. 8801 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c: 8802 Likewise. 8803 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c: 8804 Likewise. 8805 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c: 8806 Likewise. 8807 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c: 8808 Likewise. 8809 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c: 8810 Likewise. 8811 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust. 8812 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise. 8813 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise. 8814 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise. 8815 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise. 8816 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise. 8817 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise. 8818 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise. 8819 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise. 8820 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise. 8821 8822 PR libgomp/92840 8823 * oacc-mem.c (acc_map_data): Clarify reference counting behavior. 8824 (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'. 8825 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c: 8826 New file. 8827 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c: 8828 Likewise. 8829 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c: 8830 Likewise. 8831 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust. 8832 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust. 8833 8834 PR libgomp/92511 8835 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove 8836 this file... 8837 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and 8838 this file... 8839 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this 8840 file... 8841 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this 8842 file... 8843 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c: 8844 ... with their content moved into, and extended in this new file. 8845 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c: 8846 New file. 8847 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c: 8848 Likewise. 8849 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c: 8850 Likewise. 8851 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c: 8852 Likewise. 8853 8854 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file. 8855 8856 PR libgomp/92854 8857 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file. 8858 8859 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file. 8860 8861 * target.c (gomp_exit_data): Use 'gomp_remove_var'. 8862 8863 2019-12-09 Tobias Burnus <tobias (a] codesourcery.com> 8864 8865 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes 8866 unique. 8867 * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto. 8868 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto. 8869 * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto. 8870 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: 8871 Ditto. 8872 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto. 8873 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto. 8874 8875 2019-12-06 Kwok Cheung Yeung <kcy (a] codesourcery.com> 8876 8877 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro. 8878 8879 2019-12-06 Tobias Burnus <tobias (a] codesourcery.com> 8880 Kwok Cheung Yeung <kcy (a] codesourcery.com> 8881 8882 * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return 8883 if input it a NULL pointer. 8884 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on 8885 diagnostic of NULL pointer. 8886 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto. 8887 * testsuite/libgomp.fortran/optional-map.f90: New. 8888 * testsuite/libgomp.fortran/use_device_addr-1.f90 8889 (test_dummy_opt_callee_1_absent): New. 8890 (test_dummy_opt_call_1): Call it. 8891 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise. 8892 * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise. 8893 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise. 8894 * testsuite/libgomp.oacc-fortran/optional-cache.f95: New. 8895 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New. 8896 * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New. 8897 * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New. 8898 * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New. 8899 * testsuite/libgomp.oacc-fortran/optional-declare.f90: New. 8900 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New. 8901 * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New. 8902 * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New. 8903 * testsuite/libgomp.oacc-fortran/optional-private.f90: New. 8904 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New. 8905 * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New. 8906 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New. 8907 8908 2019-12-05 Tobias Burnus <tobias (a] codesourcery.com> 8909 8910 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't 8911 expect dg-output of 'Error termination.' for GCN. 8912 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise. 8913 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise. 8914 8915 2019-12-04 Jakub Jelinek <jakub (a] redhat.com> 8916 8917 PR fortran/92756 8918 * testsuite/libgomp.fortran/teams1.f90: New test. 8919 * testsuite/libgomp.fortran/teams2.f90: New test. 8920 8921 2019-12-03 Frederik Harwath <frederik (a] codesourcery.com> 8922 8923 * oacc-init.c (acc_known_device_type): Add function. 8924 (unknown_device_type_error): Add function. 8925 (name_of_acc_device_t): Change to call unknown_device_type_error 8926 on unknown type. 8927 (resolve_device): Use acc_known_device_type. 8928 (acc_init): Fail if acc_device_t argument is not valid. 8929 (acc_shutdown): Likewise. 8930 (acc_get_num_devices): Likewise. 8931 (acc_set_device_type): Likewise. 8932 (acc_get_device_num): Likewise. 8933 (acc_set_device_num): Likewise. 8934 (acc_on_device): Add comment that argument validity is not checked. 8935 8936 2019-12-03 Andrew Stubbs <ams (a] codesourcery.com> 8937 8938 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type): 8939 Recognize amdgcn. 8940 (check_effective_target_openacc_amdgcn_accel_present): New proc. 8941 (check_effective_target_openacc_amdgcn_accel_selected): New proc. 8942 * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn. 8943 * testsuite/libgomp.oacc-c/c.exp: Likewise. 8944 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 8945 8946 2019-12-03 Szabolcs Nagy <szabolcs.nagy (a] arm.com> 8947 8948 PR libgomp/91938 8949 * configure.tgt: Avoid IE tls on *-*-musl*. 8950 8951 2019-11-29 Tobias Burnus <tobias (a] codesourcery.com> 8952 8953 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by 8954 adding a common-block test case. 8955 8956 2019-11-29 Jakub Jelinek <jakub (a] redhat.com> 8957 8958 PR c++/60228 8959 * testsuite/libgomp.c++/udr-20.C: New test. 8960 * testsuite/libgomp.c++/udr-21.C: New test. 8961 8962 2019-11-27 Thomas Schwinge <thomas (a] codesourcery.com> 8963 8964 * testsuite/lib/libgomp.exp 8965 (check_effective_target_offload_target_nvptx): New proc. 8966 * testsuite/libgomp.fortran/target-print-1.f90: Use it with 8967 'dg-skip-if'. 8968 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise. 8969 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file. 8970 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise. 8971 8972 2019-11-21 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 8973 8974 * testsuite/libgomp.c/pr39591-1.c: Rename err to e. 8975 * testsuite/libgomp.c/pr39591-2.c: Likewise. 8976 * testsuite/libgomp.c/pr39591-3.c: Likewise. 8977 * testsuite/libgomp.c/private-1.c: Likewise. 8978 * testsuite/libgomp.c/task-1.c: Likewise. 8979 * testsuite/libgomp.c/task-5.c: Renamed err to serr. 8980 8981 2019-11-20 Julian Brown <julian (a] codesourcery.com> 8982 8983 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock 8984 aq->mutex here. 8985 (queue_push_launch): Lock aq->mutex before calling 8986 wait_for_queue_nonfull. 8987 (queue_push_callback): Likewise. 8988 (queue_push_asyncwait): Likewise. 8989 (queue_push_placeholder): Likewise. 8990 8991 2019-11-20 Julian Brown <julian (a] codesourcery.com> 8992 8993 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New. 8994 (copy_data, GOMP_OFFLOAD_host2dev): Use above function. 8995 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy 8996 return code. 8997 8998 2019-11-20 Julian Brown <julian (a] codesourcery.com> 8999 9000 PR libgomp/92511 9001 9002 * oacc-mem.c (present_create_copy): Fix device pointer return value in 9003 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free 9004 in non-present/create case. 9005 (delete_copyout): Change error condition to fail only on copies outside 9006 of mapped block. Adjust error message accordingly. 9007 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test. 9008 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test. 9009 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error 9010 message. 9011 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. 9012 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now. 9013 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise. 9014 9015 2019-11-20 Maciej W. Rozycki <macro (a] wdc.com> 9016 9017 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find 9018 libatomic in build-tree testing. 9019 9020 2019-11-18 Maciej W. Rozycki <macro (a] wdc.com> 9021 9022 * testsuite/Makefile.in: Regenerate. 9023 9024 2019-11-15 Andrew Stubbs <ams (a] codesourcery.com> 9025 9026 * testsuite/libgomp.c/target-print-1.c: New file. 9027 * testsuite/libgomp.fortran/target-print-1.f90: New file. 9028 * testsuite/libgomp.oacc-c/print-1.c: New file. 9029 * testsuite/libgomp.oacc-fortran/print-1.f90: New file. 9030 9031 2019-11-13 Andrew Stubbs <ams (a] codesourcery.com> 9032 Kwok Cheung Yeung <kcy (a] codesourcery.com> 9033 Julian Brown <julian (a] codesourcery.com> 9034 Tom de Vries <tom (a] codesourcery.com> 9035 9036 * plugin/Makefrag.am: Add amdgcn plugin support. 9037 * plugin/configfrag.ac: Likewise. 9038 * plugin/plugin-gcn.c: New file. 9039 * configure: Regenerate. 9040 * Makefile.in: Regenerate. 9041 * testsuite/Makefile.in: Regenerate. 9042 9043 2019-11-13 Andrew Stubbs <ams (a] codesourcery.com> 9044 9045 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena 9046 and use team_malloc variants. 9047 (gomp_gcn_exit_kernel): Use team_free. 9048 * libgomp.h (TEAM_ARENA_SIZE): Define. 9049 (TEAM_ARENA_START): Define. 9050 (TEAM_ARENA_FREE): Define. 9051 (TEAM_ARENA_END): Define. 9052 (team_malloc): New function. 9053 (team_malloc_cleared): New function. 9054 (team_free): New function. 9055 * team.c (gomp_new_team): Initialize and use team_malloc. 9056 (free_team): Use team_free. 9057 (gomp_free_thread): Use team_free. 9058 (gomp_pause_host): Use team_free. 9059 * work.c (gomp_init_work_share): Use team_malloc. 9060 (gomp_fini_work_share): Use team_free. 9061 9062 2019-11-13 Andrew Stubbs <ams (a] codesourcery.com> 9063 Kwok Cheung Yeung <kcy (a] codesourcery.com> 9064 Julian Brown <julian (a] codesourcery.com> 9065 Tom de Vries <tom (a] codesourcery.com> 9066 9067 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c. 9068 * Makefile.in: Regenerate. 9069 * config.h.in (PLUGIN_GCN): Add new undef. 9070 * config/accel/openacc.f90 (acc_device_gcn): New parameter. 9071 * config/gcn/affinity-fmt.c: New file. 9072 * config/gcn/bar.c: New file. 9073 * config/gcn/bar.h: New file. 9074 * config/gcn/doacross.h: New file. 9075 * config/gcn/icv-device.c: New file. 9076 * config/gcn/oacc-target.c: New file. 9077 * config/gcn/simple-bar.h: New file. 9078 * config/gcn/target.c: New file. 9079 * config/gcn/task.c: New file. 9080 * config/gcn/team.c: New file. 9081 * config/gcn/time.c: New file. 9082 * configure.ac: Add amdgcn*-*-*. 9083 * configure: Regenerate. 9084 * configure.tgt: Add amdgcn*-*-*. 9085 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN. 9086 * libgomp.h (gcn_thrs): Add amdgcn variant. 9087 (set_gcn_thrs): Likewise. 9088 (gomp_thread): Likewise. 9089 * oacc-int.h (goacc_thread): Likewise. 9090 * oacc-target.c: New file. 9091 * openacc.f90 (acc_device_gcn): New parameter. 9092 * openacc.h (acc_device_t): Add acc_device_gcn. 9093 * team.c (gomp_free_pool_helper): Add amdgcn support. 9094 9095 2019-11-13 Andrew Stubbs <ams (a] codesourcery.com> 9096 Julian Brown <julian (a] codesourcery.com> 9097 9098 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int 9099 parameter. 9100 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the 9101 queue constructor. 9102 * oacc-host.c (host_openacc_async_construct): Add device parameter. 9103 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add 9104 device parameter. 9105 9106 2019-11-13 Andrew Stubbs <ams (a] codesourcery.com> 9107 9108 * configure.tgt (nvptx*-*-*): Add "accel" directory. 9109 * config/nvptx/libgomp-plugin.c: Move ... 9110 * config/accel/libgomp-plugin.c: ... to here. 9111 * config/nvptx/lock.c: Move ... 9112 * config/accel/lock.c: ... to here. 9113 * config/nvptx/mutex.c: Move ... 9114 * config/accel/mutex.c: ... to here. 9115 * config/nvptx/mutex.h: Move ... 9116 * config/accel/mutex.h: ... to here. 9117 * config/nvptx/oacc-async.c: Move ... 9118 * config/accel/oacc-async.c: ... to here. 9119 * config/nvptx/oacc-cuda.c: Move ... 9120 * config/accel/oacc-cuda.c: ... to here. 9121 * config/nvptx/oacc-host.c: Move ... 9122 * config/accel/oacc-host.c: ... to here. 9123 * config/nvptx/oacc-init.c: Move ... 9124 * config/accel/oacc-init.c: ... to here. 9125 * config/nvptx/oacc-mem.c: Move ... 9126 * config/accel/oacc-mem.c: ... to here. 9127 * config/nvptx/oacc-plugin.c: Move ... 9128 * config/accel/oacc-plugin.c: ... to here. 9129 * config/nvptx/omp-lock.h: Move ... 9130 * config/accel/omp-lock.h: ... to here. 9131 * config/nvptx/openacc.f90: Move ... 9132 * config/accel/openacc.f90: ... to here. 9133 * config/nvptx/pool.h: Move ... 9134 * config/accel/pool.h: ... to here. 9135 * config/nvptx/proc.c: Move ... 9136 * config/accel/proc.c: ... to here. 9137 * config/nvptx/ptrlock.c: Move ... 9138 * config/accel/ptrlock.c: ... to here. 9139 * config/nvptx/ptrlock.h: Move ... 9140 * config/accel/ptrlock.h: ... to here. 9141 * config/nvptx/sem.c: Move ... 9142 * config/accel/sem.c: ... to here. 9143 * config/nvptx/sem.h: Move ... 9144 * config/accel/sem.h: ... to here. 9145 * config/nvptx/thread-stacksize.h: Move ... 9146 * config/accel/thread-stacksize.h: ... to here. 9147 9148 2019-11-12 Maciej W. Rozycki <macro (a] codesourcery.com> 9149 Tobias Burnus <tobias (a] codesourcery.com> 9150 Frederik Harwath <frederik (a] codesourcery.com> 9151 Thomas Schwinge <thomas (a] codesourcery.com> 9152 9153 libgomp/ 9154 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test. 9155 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test. 9156 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test. 9157 9158 2019-11-11 Tobias Burnus <tobias (a] codesourcery.com> 9159 Kwok Cheung Yeung <kcy (a] codesourcery.com> 9160 9161 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend. 9162 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New. 9163 9164 2019-11-11 Thomas Schwinge <thomas (a] codesourcery.com> 9165 9166 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'. 9167 9168 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do 9169 run'. 9170 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise. 9171 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise. 9172 9173 2019-11-06 Thomas Schwinge <thomas (a] codesourcery.com> 9174 9175 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: 9176 Add expected warnings about missing reduction clauses. 9177 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: 9178 Likewise. 9179 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: 9180 Likewise. 9181 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: 9182 Likewise. 9183 9184 2019-11-04 Tobias Burnus <tobias (a] codesourcery.com> 9185 9186 * testsuite/libgomp.fortran/pr66199-1.f90: Remove 9187 'dg-do run' (implies torture test) as 'dg-options "O2"' is used. 9188 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto. 9189 * testsuite/libgomp.fortran/taskloop2.f90: Ditto. 9190 * testsuite/libgomp.fortran/taskloop3.f90: Ditto. 9191 * testsuite/libgomp.fortran/taskloop4.f90: Ditto. 9192 9193 2019-11-04 Tobias Burnus <tobias (a] codesourcery.com> 9194 9195 PR fortran/92305 9196 * testsuite/libgomp.fortran/allocatable2.f90: Use 9197 unique numbers with 'stop'. 9198 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto. 9199 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto. 9200 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto. 9201 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto. 9202 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto. 9203 9204 2019-11-01 Tobias Burnus <tobias (a] codesourcery.com> 9205 9206 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1, 9207 test_dummy_opt_nullptr_callee_1): Add present but unallocated test. 9208 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise. 9209 * testsuite/libgomp.fortran/use_device_addr-3.f90: New. 9210 * testsuite/libgomp.fortran/use_device_addr-4.f90: New. 9211 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New. 9212 9213 2019-10-30 Tobias Burnus <tobias (a] codesourcery.com> 9214 9215 * testsuite/libgomp.fortran/target9.f90: New. 9216 9217 2019-10-30 Tobias Burnus <tobias (a] codesourcery.com> 9218 9219 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'. 9220 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto. 9221 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto. 9222 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto. 9223 * testsuite/libgomp.fortran/allocatable1.f90: Ditto. 9224 * testsuite/libgomp.fortran/allocatable10.f90: Ditto. 9225 * testsuite/libgomp.fortran/allocatable11.f90: Ditto. 9226 * testsuite/libgomp.fortran/allocatable12.f90: Ditto. 9227 * testsuite/libgomp.fortran/allocatable2.f90: Ditto. 9228 * testsuite/libgomp.fortran/allocatable3.f90: Ditto. 9229 * testsuite/libgomp.fortran/allocatable4.f90: Ditto. 9230 * testsuite/libgomp.fortran/allocatable5.f90: Ditto. 9231 * testsuite/libgomp.fortran/allocatable6.f90: Ditto. 9232 * testsuite/libgomp.fortran/allocatable7.f90: Ditto. 9233 * testsuite/libgomp.fortran/allocatable8.f90: Ditto. 9234 * testsuite/libgomp.fortran/allocatable9.f90: Ditto. 9235 * testsuite/libgomp.fortran/associate1.f90: Ditto. 9236 * testsuite/libgomp.fortran/associate2.f90: Ditto. 9237 * testsuite/libgomp.fortran/associate3.f90: Ditto. 9238 * testsuite/libgomp.fortran/async_io_4.f90: Ditto. 9239 * testsuite/libgomp.fortran/async_io_5.f90: Ditto. 9240 * testsuite/libgomp.fortran/async_io_6.f90: Ditto. 9241 * testsuite/libgomp.fortran/async_io_7.f90: Ditto. 9242 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto. 9243 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto. 9244 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto. 9245 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto. 9246 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto. 9247 * testsuite/libgomp.fortran/character1.f90: Ditto. 9248 * testsuite/libgomp.fortran/character2.f90: Ditto. 9249 * testsuite/libgomp.fortran/collapse1.f90: Ditto. 9250 * testsuite/libgomp.fortran/collapse2.f90: Ditto. 9251 * testsuite/libgomp.fortran/collapse3.f90: Ditto. 9252 * testsuite/libgomp.fortran/collapse4.f90: Ditto. 9253 * testsuite/libgomp.fortran/crayptr1.f90: Ditto. 9254 * testsuite/libgomp.fortran/crayptr2.f90: Ditto. 9255 * testsuite/libgomp.fortran/crayptr3.f90: Ditto. 9256 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto. 9257 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto. 9258 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto. 9259 * testsuite/libgomp.fortran/depend-1.f90: Ditto. 9260 * testsuite/libgomp.fortran/depend-2.f90: Ditto. 9261 * testsuite/libgomp.fortran/depend-3.f90: Ditto. 9262 * testsuite/libgomp.fortran/do1.f90: Ditto. 9263 * testsuite/libgomp.fortran/do2.f90: Ditto. 9264 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto. 9265 * testsuite/libgomp.fortran/doacross1.f90: Ditto. 9266 * testsuite/libgomp.fortran/doacross2.f90: Ditto. 9267 * testsuite/libgomp.fortran/doacross3.f90: Ditto. 9268 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto. 9269 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto. 9270 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto. 9271 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto. 9272 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto. 9273 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto. 9274 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto. 9275 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto. 9276 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto. 9277 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto. 9278 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto. 9279 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto. 9280 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto. 9281 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto. 9282 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto. 9283 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto. 9284 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto. 9285 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto. 9286 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto. 9287 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto. 9288 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto. 9289 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto. 9290 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto. 9291 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto. 9292 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto. 9293 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto. 9294 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto. 9295 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto. 9296 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto. 9297 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto. 9298 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto. 9299 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto. 9300 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto. 9301 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto. 9302 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto. 9303 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto. 9304 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto. 9305 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto. 9306 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto. 9307 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto. 9308 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto. 9309 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto. 9310 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto. 9311 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto. 9312 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto. 9313 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto. 9314 * testsuite/libgomp.fortran/lib1.f90: Ditto. 9315 * testsuite/libgomp.fortran/lib4.f90: Ditto. 9316 * testsuite/libgomp.fortran/lock-1.f90: Ditto. 9317 * testsuite/libgomp.fortran/lock-2.f90: Ditto. 9318 * testsuite/libgomp.fortran/nested1.f90: Ditto. 9319 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto. 9320 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto. 9321 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto. 9322 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto. 9323 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto. 9324 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto. 9325 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto. 9326 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto. 9327 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto. 9328 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto. 9329 * testsuite/libgomp.fortran/omp_cond1.f: Ditto. 9330 * testsuite/libgomp.fortran/omp_cond2.f: Ditto. 9331 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto. 9332 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto. 9333 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto. 9334 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto. 9335 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto. 9336 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto. 9337 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto. 9338 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto. 9339 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto. 9340 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto. 9341 * testsuite/libgomp.fortran/pointer1.f90: Ditto. 9342 * testsuite/libgomp.fortran/pointer2.f90: Ditto. 9343 * testsuite/libgomp.fortran/pr25219.f90: Ditto. 9344 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto. 9345 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto. 9346 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto. 9347 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto. 9348 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto. 9349 * testsuite/libgomp.fortran/pr28390.f: Ditto. 9350 * testsuite/libgomp.fortran/pr29629.f90: Ditto. 9351 * testsuite/libgomp.fortran/pr32550.f90: Ditto. 9352 * testsuite/libgomp.fortran/pr33880.f90: Ditto. 9353 * testsuite/libgomp.fortran/pr34020.f90: Ditto. 9354 * testsuite/libgomp.fortran/pr35130.f90: Ditto. 9355 * testsuite/libgomp.fortran/pr42162.f90: Ditto. 9356 * testsuite/libgomp.fortran/pr46753.f90: Ditto. 9357 * testsuite/libgomp.fortran/pr48894.f90: Ditto. 9358 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto. 9359 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto. 9360 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto. 9361 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto. 9362 * testsuite/libgomp.fortran/pr65597.f90: Ditto. 9363 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto. 9364 * testsuite/libgomp.fortran/pr71014.f90: Ditto. 9365 * testsuite/libgomp.fortran/pr81304.f90: Ditto. 9366 * testsuite/libgomp.fortran/pr81841.f90: Ditto. 9367 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto. 9368 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto. 9369 * testsuite/libgomp.fortran/procptr1.f90: Ditto. 9370 * testsuite/libgomp.fortran/recursion1.f90: Ditto. 9371 * testsuite/libgomp.fortran/reduction1.f90: Ditto. 9372 * testsuite/libgomp.fortran/reduction2.f90: Ditto. 9373 * testsuite/libgomp.fortran/reduction3.f90: Ditto. 9374 * testsuite/libgomp.fortran/reduction4.f90: Ditto. 9375 * testsuite/libgomp.fortran/reduction5.f90: Ditto. 9376 * testsuite/libgomp.fortran/reduction6.f90: Ditto. 9377 * testsuite/libgomp.fortran/reference1.f90: Ditto. 9378 * testsuite/libgomp.fortran/reference2.f90: Ditto. 9379 * testsuite/libgomp.fortran/retval1.f90: Ditto. 9380 * testsuite/libgomp.fortran/retval2.f90: Ditto. 9381 * testsuite/libgomp.fortran/sharing1.f90: Ditto. 9382 * testsuite/libgomp.fortran/sharing2.f90: Ditto. 9383 * testsuite/libgomp.fortran/simd1.f90: Ditto. 9384 * testsuite/libgomp.fortran/simd2.f90: Ditto. 9385 * testsuite/libgomp.fortran/simd3.f90: Ditto. 9386 * testsuite/libgomp.fortran/simd4.f90: Ditto. 9387 * testsuite/libgomp.fortran/simd5.f90: Ditto. 9388 * testsuite/libgomp.fortran/simd6.f90: Ditto. 9389 * testsuite/libgomp.fortran/simd7.f90: Ditto. 9390 * testsuite/libgomp.fortran/stack.f90: Ditto. 9391 * testsuite/libgomp.fortran/strassen.f90: Ditto. 9392 * testsuite/libgomp.fortran/tabs1.f90: Ditto. 9393 * testsuite/libgomp.fortran/tabs2.f: Ditto. 9394 * testsuite/libgomp.fortran/target1.f90: Ditto. 9395 * testsuite/libgomp.fortran/target2.f90: Ditto. 9396 * testsuite/libgomp.fortran/target3.f90: Ditto. 9397 * testsuite/libgomp.fortran/target4.f90: Ditto. 9398 * testsuite/libgomp.fortran/target5.f90: Ditto. 9399 * testsuite/libgomp.fortran/target6.f90: Ditto. 9400 * testsuite/libgomp.fortran/target7.f90: Ditto. 9401 * testsuite/libgomp.fortran/target8.f90: Ditto. 9402 * testsuite/libgomp.fortran/task1.f90: Ditto. 9403 * testsuite/libgomp.fortran/task2.f90: Ditto. 9404 * testsuite/libgomp.fortran/task3.f90: Ditto. 9405 * testsuite/libgomp.fortran/task4.f90: Ditto. 9406 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto. 9407 * testsuite/libgomp.fortran/taskloop1.f90: Ditto. 9408 * testsuite/libgomp.fortran/taskloop2.f90: Ditto. 9409 * testsuite/libgomp.fortran/taskloop3.f90: Ditto. 9410 * testsuite/libgomp.fortran/taskloop4.f90: Ditto. 9411 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto. 9412 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto. 9413 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto. 9414 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto. 9415 * testsuite/libgomp.fortran/udr1.f90: Ditto. 9416 * testsuite/libgomp.fortran/udr10.f90: Ditto. 9417 * testsuite/libgomp.fortran/udr11.f90: Ditto. 9418 * testsuite/libgomp.fortran/udr12.f90: Ditto. 9419 * testsuite/libgomp.fortran/udr13.f90: Ditto. 9420 * testsuite/libgomp.fortran/udr14.f90: Ditto. 9421 * testsuite/libgomp.fortran/udr15.f90: Ditto. 9422 * testsuite/libgomp.fortran/udr2.f90: Ditto. 9423 * testsuite/libgomp.fortran/udr3.f90: Ditto. 9424 * testsuite/libgomp.fortran/udr4.f90: Ditto. 9425 * testsuite/libgomp.fortran/udr5.f90: Ditto. 9426 * testsuite/libgomp.fortran/udr6.f90: Ditto. 9427 * testsuite/libgomp.fortran/udr7.f90: Ditto. 9428 * testsuite/libgomp.fortran/udr8.f90: Ditto. 9429 * testsuite/libgomp.fortran/udr9.f90: Ditto. 9430 * testsuite/libgomp.fortran/vla1.f90: Ditto. 9431 * testsuite/libgomp.fortran/vla2.f90: Ditto. 9432 * testsuite/libgomp.fortran/vla3.f90: Ditto. 9433 * testsuite/libgomp.fortran/vla4.f90: Ditto. 9434 * testsuite/libgomp.fortran/vla5.f90: Ditto. 9435 * testsuite/libgomp.fortran/vla6.f90: Ditto. 9436 * testsuite/libgomp.fortran/vla7.f90: Ditto. 9437 * testsuite/libgomp.fortran/vla8.f90: Ditto. 9438 * testsuite/libgomp.fortran/workshare1.f90: Ditto. 9439 * testsuite/libgomp.fortran/workshare2.f90: Ditto. 9440 9441 2019-10-30 Tobias Burnus <tobias (a] codesourcery.com> 9442 9443 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort. 9444 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: 9445 Ditto; add 'dg-do run' for torture testing. 9446 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'. 9447 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto. 9448 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto. 9449 * testsuite/libgomp.fortran/pr25219.f90: Ditto. 9450 * testsuite/libgomp.fortran/pr28390.f: Ditto. 9451 * testsuite/libgomp.fortran/pr35130.f90: Ditto. 9452 * testsuite/libgomp.fortran/pr90779.f90: Ditto. 9453 * testsuite/libgomp.fortran/task2.f90: Ditto. 9454 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto. 9455 * testsuite/libgomp.fortran/taskloop1.f90: Ditto. 9456 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto. 9457 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto. 9458 * testsuite/libgomp.fortran/workshare1.f90: Ditto. 9459 * testsuite/libgomp.fortran/workshare2.f90: Ditto. 9460 9461 2019-10-28 Tobias Burnus <tobias (a] codesourcery.com> 9462 9463 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'. 9464 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto. 9465 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto. 9466 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto. 9467 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto. 9468 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto. 9469 * testsuite/libgomp.oacc-fortran/common-block-1.f90: 9470 Use 'stop' not abort(). 9471 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto. 9472 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto. 9473 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto. 9474 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto. 9475 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto. 9476 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto. 9477 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto. 9478 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto. 9479 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto. 9480 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto. 9481 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto. 9482 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto. 9483 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto. 9484 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto. 9485 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto. 9486 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto. 9487 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95: 9488 Ditto. 9489 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90: 9490 Ditto. 9491 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90: 9492 Ditto. 9493 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90: 9494 Ditto. 9495 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90: 9496 Ditto. 9497 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90: 9498 Ditto. 9499 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90: 9500 Ditto. 9501 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90: 9502 Ditto. 9503 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90: 9504 Ditto. 9505 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90: 9506 Ditto. 9507 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90: 9508 Ditto. 9509 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90: 9510 Ditto. 9511 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90: 9512 Ditto. 9513 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90: 9514 Ditto. 9515 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto. 9516 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto. 9517 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto. 9518 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto. 9519 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90: 9520 Likewise and also add 'dg-do run'. 9521 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90: 9522 Ditto. 9523 9524 2019-10-25 Cesar Philippidis <cesar (a] codesourcery.com> 9525 Tobias Burnus <tobias (a] codesourcery.com> 9526 9527 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test. 9528 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test. 9529 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test. 9530 9531 2019-10-14 Jakub Jelinek <jakub (a] redhat.com> 9532 9533 PR libgomp/92081 9534 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather 9535 than 0. 9536 9537 2019-10-11 Tobias Burnus <tobias (a] codesourcery.com> 9538 9539 * testsuite/libgomp.fortran/use_device_addr-1.f90: New. 9540 * testsuite/libgomp.fortran/use_device_addr-2.f90: New. 9541 9542 2019-10-09 Thomas Schwinge <thomas (a] codesourcery.com> 9543 9544 PR middle-end/92036 9545 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New 9546 file. 9547 9548 2019-10-09 Tobias Burnus <tobias (a] codesourcery.com> 9549 9550 PR testsuite/91884 9551 * testsuite/libgomp.fortran/fortran.exp: Conditionally 9552 add -lquadmath. 9553 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto. 9554 9555 2019-10-09 Jakub Jelinek <jakub (a] redhat.com> 9556 9557 PR libgomp/92028 9558 * target.c (gomp_map_vars_internal): Readd the previous 9559 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop, 9560 though do that just in the !not_found_cnt case. 9561 9562 2019-10-08 Tobias Burnus <tobias (a] codesourcery.com> 9563 9564 * gfortran.dg/gomp/target-simd.f90: New. 9565 9566 2019-10-02 Julian Brown <julian (a] codesourcery.com> 9567 Cesar Philippidis <cesar (a] codesourcery.com> 9568 9569 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define. 9570 * target.c (FIELD_TGT_EMPTY): Define. 9571 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write 9572 as switch instead of list of ifs. 9573 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros. 9574 9575 2019-10-02 Andreas Tobler <andreast (a] gcc.gnu.org> 9576 9577 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h 9578 include. Replace alloca () with __builtin_alloca (). 9579 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise. 9580 9581 2019-10-01 Jakub Jelinek <jakub (a] redhat.com> 9582 9583 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h). 9584 * libgomp.h: Include <stdint.h> instead of "gstdint.h". 9585 * oacc-parallel.c: Don't include "libgomp_g.h". 9586 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h". 9587 * plugin/plugin-nvptx.c: Don't include "gstdint.h". 9588 * aclocal.m4: Regenerated. 9589 * config.h.in: Regenerated. 9590 * configure: Regenerated. 9591 * Makefile.in: Regenerated. 9592 9593 2019-09-30 Kwok Cheung Yeung <kcy (a] codesourcery.com> 9594 9595 * libgomp_g.h: Include stdint.h instead of gstdint.h. 9596 9597 2019-09-27 Maciej W. Rozycki <macro (a] wdc.com> 9598 9599 * configure: Regenerate. 9600 9601 2019-09-13 Tobias Burnus <tobias (a] codesourcery.com> 9602 9603 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure 9604 string is initialized. 9605 9606 2019-09-06 Florian Weimer <fweimer (a] redhat.com> 9607 9608 * configure: Regenerate. 9609 9610 2019-09-03 Chung-Lin Tang <cltang (a] codesourcery.com> 9611 9612 PR other/79543 9613 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version 9614 scanning to conform to the GNU Coding Standards. 9615 * configure: Regenerate. 9616 9617 2019-08-28 Jakub Jelinek <jakub (a] redhat.com> 9618 9619 PR libgomp/91530 9620 * testsuite/libgomp.c/scan-21.c: New test. 9621 * testsuite/libgomp.c/scan-22.c: New test. 9622 9623 2019-08-27 Jakub Jelinek <jakub (a] redhat.com> 9624 9625 PR libgomp/91530 9626 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime 9627 targets. 9628 * testsuite/libgomp.c/scan-12.c: Likewise. 9629 * testsuite/libgomp.c/scan-13.c: Likewise. 9630 * testsuite/libgomp.c/scan-14.c: Likewise. 9631 * testsuite/libgomp.c/scan-15.c: Likewise. 9632 * testsuite/libgomp.c/scan-16.c: Likewise. 9633 * testsuite/libgomp.c/scan-17.c: Likewise. 9634 * testsuite/libgomp.c/scan-18.c: Likewise. 9635 * testsuite/libgomp.c/scan-19.c: Likewise. 9636 * testsuite/libgomp.c/scan-20.c: Likewise. 9637 * testsuite/libgomp.c++/scan-9.C: Likewise. 9638 * testsuite/libgomp.c++/scan-10.C: Likewise. 9639 * testsuite/libgomp.c++/scan-11.C: Likewise. 9640 * testsuite/libgomp.c++/scan-12.C: Likewise. 9641 * testsuite/libgomp.c++/scan-14.C: Likewise. 9642 * testsuite/libgomp.c++/scan-15.C: Likewise. 9643 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime 9644 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times. 9645 * testsuite/libgomp.c++/scan-16.C: Likewise. 9646 9647 2019-08-17 Thomas Koenig <tkoenig (a] gcc.gnu.org> 9648 9649 PR fortran/91473 9650 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add 9651 -std=legacy so invalid code in the test case is accepted. 9652 9653 2019-08-12 Thomas Koenig <tkoenig (a] gcc.gnu.org> 9654 9655 PR fortran/91422 9656 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array 9657 dimension. 9658 9659 2019-08-08 Jakub Jelinek <jakub (a] redhat.com> 9660 9661 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR 9662 perform the lookup in the first loop only if !not_found_cnt, otherwise 9663 perform lookups for it in the second loop guarded with 9664 if (not_found_cnt || has_firstprivate). 9665 * testsuite/libgomp.c/target-37.c: New test. 9666 * testsuite/libgomp.c++/target-22.C: New test. 9667 9668 2019-08-07 Jakub Jelinek <jakub (a] redhat.com> 9669 9670 * testsuite/libgomp.c/target-18.c (struct S): New type. 9671 (foo): Use use_device_addr clause instead of use_device_ptr clause 9672 where required by OpenMP 5.0, add further tests for both use_device_ptr 9673 and use_device_addr clauses. 9674 * testsuite/libgomp.c++/target-9.C (struct S): New type. 9675 (foo): Use use_device_addr clause instead of use_device_ptr clause 9676 where required by OpenMP 5.0, add further tests for both use_device_ptr 9677 and use_device_addr clauses. Add t and u arguments. 9678 (main): Adjust caller. 9679 9680 2019-08-06 Jakub Jelinek <jakub (a] redhat.com> 9681 9682 * testsuite/libgomp.c++/loop-13.C: New test. 9683 * testsuite/libgomp.c++/loop-14.C: New test. 9684 * testsuite/libgomp.c++/loop-15.C: New test. 9685 9686 2019-07-31 Jakub Jelinek <jakub (a] redhat.com> 9687 9688 PR middle-end/91301 9689 * testsuite/libgomp.c++/for-27.C: New test. 9690 9691 2019-07-23 Steven G. Kargl <kargl (a] gcc.gnu.org> 9692 9693 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage. 9694 * testsuite/libgomp.fortran/reduction5.f90: Ditto. 9695 9696 2019-07-20 Jakub Jelinek <jakub (a] redhat.com> 9697 9698 * testsuite/libgomp.c-c++-common/loop-1.c: New test. 9699 9700 2019-07-08 Jakub Jelinek <jakub (a] redhat.com> 9701 9702 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86. 9703 * testsuite/libgomp.c++/scan-16.C: Likewise. 9704 9705 2019-07-06 Jakub Jelinek <jakub (a] redhat.com> 9706 9707 * testsuite/libgomp.c/scan-19.c: New test. 9708 * testsuite/libgomp.c/scan-20.c: New test. 9709 9710 * testsuite/libgomp.c/scan-11.c: New test. 9711 * testsuite/libgomp.c/scan-12.c: New test. 9712 * testsuite/libgomp.c/scan-13.c: New test. 9713 * testsuite/libgomp.c/scan-14.c: New test. 9714 * testsuite/libgomp.c/scan-15.c: New test. 9715 * testsuite/libgomp.c/scan-16.c: New test. 9716 * testsuite/libgomp.c/scan-17.c: New test. 9717 * testsuite/libgomp.c/scan-18.c: New test. 9718 * testsuite/libgomp.c++/scan-9.C: New test. 9719 * testsuite/libgomp.c++/scan-10.C: New test. 9720 * testsuite/libgomp.c++/scan-11.C: New test. 9721 * testsuite/libgomp.c++/scan-12.C: New test. 9722 * testsuite/libgomp.c++/scan-13.C: New test. 9723 * testsuite/libgomp.c++/scan-14.C: New test. 9724 * testsuite/libgomp.c++/scan-15.C: New test. 9725 * testsuite/libgomp.c++/scan-16.C: New test. 9726 9727 2019-07-04 Jakub Jelinek <jakub (a] redhat.com> 9728 9729 * testsuite/libgomp.c/scan-9.c: New test. 9730 * testsuite/libgomp.c/scan-10.c: New test. 9731 9732 2019-07-03 Jakub Jelinek <jakub (a] redhat.com> 9733 9734 * testsuite/libgomp.c++/scan-1.C: New test. 9735 * testsuite/libgomp.c++/scan-2.C: New test. 9736 * testsuite/libgomp.c++/scan-3.C: New test. 9737 * testsuite/libgomp.c++/scan-4.C: New test. 9738 * testsuite/libgomp.c++/scan-5.C: New test. 9739 * testsuite/libgomp.c++/scan-6.C: New test. 9740 * testsuite/libgomp.c++/scan-7.C: New test. 9741 * testsuite/libgomp.c++/scan-8.C: New test. 9742 * testsuite/libgomp.c/scan-1.c: New test. 9743 * testsuite/libgomp.c/scan-2.c: New test. 9744 * testsuite/libgomp.c/scan-3.c: New test. 9745 * testsuite/libgomp.c/scan-4.c: New test. 9746 * testsuite/libgomp.c/scan-5.c: New test. 9747 * testsuite/libgomp.c/scan-6.c: New test. 9748 * testsuite/libgomp.c/scan-7.c: New test. 9749 * testsuite/libgomp.c/scan-8.c: New test. 9750 9751 2019-06-18 Thomas Schwinge <thomas (a] codesourcery.com> 9752 9753 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file. 9754 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: 9755 Likewise. 9756 9757 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results 9758 check. 9759 9760 2019-06-18 Cesar Philippidis <cesar (a] codesourcery.com> 9761 9762 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New 9763 file. 9764 9765 2019-06-18 Thomas Schwinge <thomas (a] codesourcery.com> 9766 9767 PR fortran/90743 9768 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping 9769 case. 9770 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file. 9771 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise. 9772 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise. 9773 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise. 9774 9775 PR testsuite/90861 9776 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update. 9777 9778 PR middle-end/90862 9779 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update. 9780 9781 2019-06-16 Tom de Vries <tdevries (a] suse.de> 9782 9783 PR tree-optimization/89376 9784 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test. 9785 9786 2019-06-15 Tom de Vries <tdevries (a] suse.de> 9787 9788 PR tree-optimization/89713 9789 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync. 9790 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same. 9791 9792 2019-06-15 Jakub Jelinek <jakub (a] redhat.com> 9793 9794 PR middle-end/90779 9795 * testsuite/libgomp.c/pr90779.c: New test. 9796 * testsuite/libgomp.fortran/pr90779.f90: New test. 9797 9798 2019-06-15 Tom de Vries <tdevries (a] suse.de> 9799 9800 PR tree-optimization/90009 9801 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test. 9802 9803 2019-06-13 Feng Xue <fxue (a] os.amperecomputing.com> 9804 9805 PR tree-optimization/89713 9806 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test. 9807 9808 2019-06-11 Jakub Jelinek <jakub (a] redhat.com> 9809 9810 PR target/90811 9811 * testsuite/libgomp.c/pr90811.c: New test. 9812 9813 2019-06-05 Jakub Jelinek <jakub (a] redhat.com> 9814 9815 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test. 9816 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test. 9817 9818 2019-06-04 Jakub Jelinek <jakub (a] redhat.com> 9819 9820 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test. 9821 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test. 9822 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test. 9823 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test. 9824 9825 2019-05-30 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 9826 9827 * configure.ac: Call AX_COUNT_CPUS. 9828 Substitute CPU_COUNT. 9829 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor 9830 count fallback. 9831 * aclocal.m4: Regenerate. 9832 * configure: Regenerate. 9833 * Makefile.in, testsuite/Makefile.in: Regenerate. 9834 9835 2019-05-29 Jakub Jelinek <jakub (a] redhat.com> 9836 9837 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename 9838 to ... 9839 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this. 9840 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test. 9841 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test. 9842 9843 2019-05-27 Jakub Jelinek <jakub (a] redhat.com> 9844 9845 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test. 9846 9847 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test. 9848 9849 PR libgomp/90641 9850 * work.c (gomp_init_work_share): Instead of aligning final ordered 9851 value to multiples of long long alignment, align to that the 9852 first part (ordered team ids) and if inline_ordered_team_ids 9853 is not on a long long alignment boundary within the structure, 9854 use __alignof__ (long long) - 1 pad size always. 9855 * loop.c (GOMP_loop_start): Fix *mem computation if 9856 inline_ordered_team_ids is not aligned on long long alignment boundary 9857 within the structure. 9858 * loop-ull.c (GOMP_loop_ull_start): Likewise. 9859 * sections.c (GOMP_sections2_start): Likewise. 9860 9861 2019-05-24 Jakub Jelinek <jakub (a] redhat.com> 9862 9863 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test. 9864 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test. 9865 9866 PR libgomp/90585 9867 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if 9868 HAVE_INTTYPES_H is defined. 9869 (print_uint64_t): New typedef. 9870 (PRIu64): Define if HAVE_INTTYPES_H is not defined. 9871 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of 9872 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t. 9873 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t 9874 before casting to void *. 9875 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h. 9876 * oacc-mem.c: Don't include config.h nor stdint.h. 9877 * target.c: Don't include config.h. 9878 * oacc-cuda.c: Likewise. 9879 * oacc-host.c: Don't include stdint.h. 9880 9881 2019-05-20 Jakub Jelinek <jakub (a] redhat.com> 9882 9883 PR libgomp/90527 9884 * alloc.c (_GNU_SOURCE): Define. 9885 9886 2019-05-17 Thomas Schwinge <thomas (a] codesourcery.com> 9887 9888 * acc_prof.h: New file. 9889 * oacc-profiling.c: Likewise. 9890 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES): 9891 Add these, respectively. 9892 * Makefile.in: Regenerate. 9893 * env.c (initialize_env): Call goacc_profiling_initialize. 9894 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread) 9895 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions. 9896 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread) 9897 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare. 9898 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup, 9899 acc_prof_register, acc_prof_unregister, and acc_register_library. 9900 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and 9901 GOMP_PLUGIN_goacc_thread. 9902 * oacc-int.h (struct goacc_thread): Add prof_info, api_info, 9903 prof_callbacks_enabled members. 9904 (goacc_prof_enabled, goacc_profiling_initialize) 9905 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p) 9906 (goacc_profiling_dispatch): Declare. 9907 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P) 9908 (GOACC_PROFILING_SETUP_P): Define. 9909 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait) 9910 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for 9911 OpenACC Profiling Interface. 9912 * oacc-cuda.c (acc_get_current_cuda_device) 9913 (acc_get_current_cuda_context, acc_get_cuda_stream) 9914 (acc_set_cuda_stream): Likewise. 9915 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device) 9916 (acc_init, acc_set_device_type, acc_get_device_type) 9917 (acc_get_device_num, goacc_lazy_initialize): Likewise. 9918 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device) 9919 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data) 9920 (acc_unmap_data, present_create_copy, delete_copyout) 9921 (update_dev_host): Likewise. 9922 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start) 9923 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait): 9924 Likewise. 9925 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free) 9926 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec): 9927 Likewise. 9928 * libgomp.texi: Update. 9929 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New 9930 file. 9931 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise. 9932 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: 9933 Likewise. 9934 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: 9935 Likewise. 9936 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c: 9937 Likewise. 9938 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c: 9939 Likewise. 9940 9941 2019-05-13 Chung-Lin Tang <cltang (a] codesourcery.com> 9942 9943 * libgomp-plugin.h (struct goacc_asyncqueue): Declare. 9944 (struct goacc_asyncqueue_list): Likewise. 9945 (goacc_aq): Likewise. 9946 (goacc_aq_list): Likewise. 9947 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove. 9948 (GOMP_OFFLOAD_openacc_async_test): Remove. 9949 (GOMP_OFFLOAD_openacc_async_test_all): Remove. 9950 (GOMP_OFFLOAD_openacc_async_wait): Remove. 9951 (GOMP_OFFLOAD_openacc_async_wait_async): Remove. 9952 (GOMP_OFFLOAD_openacc_async_wait_all): Remove. 9953 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove. 9954 (GOMP_OFFLOAD_openacc_async_set_async): Remove. 9955 (GOMP_OFFLOAD_openacc_exec): Adjust declaration. 9956 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise. 9957 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise. 9958 (GOMP_OFFLOAD_openacc_async_exec): Declare. 9959 (GOMP_OFFLOAD_openacc_async_construct): Declare. 9960 (GOMP_OFFLOAD_openacc_async_destruct): Declare. 9961 (GOMP_OFFLOAD_openacc_async_test): Declare. 9962 (GOMP_OFFLOAD_openacc_async_synchronize): Declare. 9963 (GOMP_OFFLOAD_openacc_async_serialize): Declare. 9964 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare. 9965 (GOMP_OFFLOAD_openacc_async_host2dev): Declare. 9966 (GOMP_OFFLOAD_openacc_async_dev2host): Declare. 9967 9968 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct. 9969 (gomp_acc_insert_pointer): Adjust declaration. 9970 (gomp_copy_host2dev): New declaration. 9971 (gomp_copy_dev2host): Likewise. 9972 (gomp_map_vars_async): Likewise. 9973 (gomp_unmap_tgt): Likewise. 9974 (gomp_unmap_vars_async): Likewise. 9975 (gomp_fini_device): Likewise. 9976 9977 * oacc-async.c (get_goacc_thread): New function. 9978 (get_goacc_thread_device): New function. 9979 (lookup_goacc_asyncqueue): New function. 9980 (get_goacc_asyncqueue): New function. 9981 (acc_async_test): Adjust code to use new async design. 9982 (acc_async_test_all): Likewise. 9983 (acc_wait): Likewise. 9984 (acc_wait_async): Likewise. 9985 (acc_wait_all): Likewise. 9986 (acc_wait_all_async): Likewise. 9987 (goacc_async_free): New function. 9988 (goacc_init_asyncqueues): Likewise. 9989 (goacc_fini_asyncqueues): Likewise. 9990 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async 9991 design. 9992 (acc_set_cuda_stream): Likewise. 9993 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'. 9994 (host_openacc_register_async_cleanup): Remove. 9995 (host_openacc_async_exec): New function. 9996 (host_openacc_async_test): Adjust parameters. 9997 (host_openacc_async_test_all): Remove. 9998 (host_openacc_async_wait): Remove. 9999 (host_openacc_async_wait_async): Remove. 10000 (host_openacc_async_wait_all): Remove. 10001 (host_openacc_async_wait_all_async): Remove. 10002 (host_openacc_async_set_async): Remove. 10003 (host_openacc_async_synchronize): New function. 10004 (host_openacc_async_serialize): New function. 10005 (host_openacc_async_host2dev): New function. 10006 (host_openacc_async_dev2host): New function. 10007 (host_openacc_async_queue_callback): New function. 10008 (host_openacc_async_construct): New function. 10009 (host_openacc_async_destruct): New function. 10010 (struct gomp_device_descr host_dispatch): Remove initialization of old 10011 interface, add initialization of new async sub-struct. 10012 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device. 10013 (goacc_attach_host_thread_to_device): Remove old async code usage. 10014 * oacc-int.h (goacc_init_asyncqueues): New declaration. 10015 (goacc_fini_asyncqueues): Likewise. 10016 (goacc_async_copyout_unmap_vars): Likewise. 10017 (goacc_async_free): Likewise. 10018 (get_goacc_asyncqueue): Likewise. 10019 (lookup_goacc_asyncqueue): Likewise. 10020 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async 10021 design. 10022 (present_create_copy): Adjust code to use new async design. 10023 (delete_copyout): Likewise. 10024 (update_dev_host): Likewise. 10025 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new 10026 async design. 10027 (gomp_acc_remove_pointer): Adjust code to use new async design. 10028 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async 10029 design. 10030 (GOACC_enter_exit_data): Likewise. 10031 (goacc_wait): Likewise. 10032 (GOACC_update): Likewise. 10033 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail 10034 when called, warn as obsolete in comment. 10035 * target.c (goacc_device_copy_async): New function. 10036 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter, 10037 add goacc_device_copy_async case. 10038 (gomp_copy_dev2host): Likewise. 10039 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code. 10040 (gomp_map_pointer): Likewise. 10041 (gomp_map_fields_existing): Likewise. 10042 (gomp_map_vars_internal): New always_inline function, renamed from 10043 gomp_map_vars. 10044 (gomp_map_vars): Implement by calling gomp_map_vars_internal. 10045 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal, 10046 passing goacc_asyncqueue argument. 10047 (gomp_unmap_tgt): Remove static, add attribute_hidden. 10048 (gomp_unref_tgt): New function. 10049 (gomp_unmap_vars_internal): New always_inline function, renamed from 10050 gomp_unmap_vars. 10051 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal. 10052 (gomp_unmap_vars_async): Implement by calling 10053 gomp_unmap_vars_internal, passing goacc_asyncqueue argument. 10054 (gomp_fini_device): New function. 10055 (gomp_exit_data): Adjust gomp_copy_dev2host call. 10056 (gomp_load_plugin_for_device): Remove old interface, adjust to load 10057 new async interface. 10058 (gomp_target_fini): Adjust code to call gomp_fini_device. 10059 10060 * plugin/plugin-nvptx.c (struct cuda_map): Remove. 10061 (struct ptx_stream): Remove. 10062 (struct nvptx_thread): Remove current_stream field. 10063 (cuda_map_create): Remove. 10064 (cuda_map_destroy): Remove. 10065 (map_init): Remove. 10066 (map_fini): Remove. 10067 (map_pop): Remove. 10068 (map_push): Remove. 10069 (struct goacc_asyncqueue): Define. 10070 (struct nvptx_callback): Define. 10071 (struct ptx_free_block): Define. 10072 (struct ptx_device): Remove null_stream, active_streams, async_streams, 10073 stream_lock, and next fields. 10074 (enum ptx_event_type): Remove. 10075 (struct ptx_event): Remove. 10076 (ptx_event_lock): Remove. 10077 (ptx_events): Remove. 10078 (init_streams_for_device): Remove. 10079 (fini_streams_for_device): Remove. 10080 (select_stream_for_async): Remove. 10081 (nvptx_init): Remove ptx_events and ptx_event_lock references. 10082 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED 10083 case. 10084 (nvptx_open_device): Add free_blocks initialization, remove 10085 init_streams_for_device call. 10086 (nvptx_close_device): Remove fini_streams_for_device call, add 10087 free_blocks destruct code. 10088 (event_gc): Remove. 10089 (event_add): Remove. 10090 (nvptx_exec): Adjust parameters and code. 10091 (nvptx_free): Likewise. 10092 (nvptx_host2dev): Remove. 10093 (nvptx_dev2host): Remove. 10094 (nvptx_set_async): Remove. 10095 (nvptx_async_test): Remove. 10096 (nvptx_async_test_all): Remove. 10097 (nvptx_wait): Remove. 10098 (nvptx_wait_async): Remove. 10099 (nvptx_wait_all): Remove. 10100 (nvptx_wait_all_async): Remove. 10101 (nvptx_get_cuda_stream): Remove. 10102 (nvptx_set_cuda_stream): Remove. 10103 (GOMP_OFFLOAD_alloc): Adjust code. 10104 (GOMP_OFFLOAD_free): Likewise. 10105 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove. 10106 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code. 10107 (GOMP_OFFLOAD_openacc_async_test_all): Remove. 10108 (GOMP_OFFLOAD_openacc_async_wait): Remove. 10109 (GOMP_OFFLOAD_openacc_async_wait_async): Remove. 10110 (GOMP_OFFLOAD_openacc_async_wait_all): Remove. 10111 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove. 10112 (GOMP_OFFLOAD_openacc_async_set_async): Remove. 10113 (cuda_free_argmem): New function. 10114 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function. 10115 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code. 10116 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code. 10117 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code. 10118 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function. 10119 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function. 10120 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement. 10121 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function. 10122 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function. 10123 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function. 10124 (cuda_callback_wrapper): New function. 10125 (cuda_memcpy_sanity_check): New function. 10126 (GOMP_OFFLOAD_host2dev): Remove and re-implement. 10127 (GOMP_OFFLOAD_dev2host): Remove and re-implement. 10128 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function. 10129 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function. 10130 10131 2019-05-07 Thomas Schwinge <thomas (a] codesourcery.com> 10132 10133 PR target/87835 10134 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update. 10135 10136 2019-05-06 Thomas Schwinge <thomas (a] codesourcery.com> 10137 10138 * oacc-parallel.c: Add comments to legacy entry points (GCC 5). 10139 10140 2019-03-27 Kevin Buettner <kevinb (a] redhat.com> 10141 10142 * team.c (gomp_team_start): Initialize pool->threads[0]. 10143 10144 2019-02-22 Thomas Schwinge <thomas (a] codesourcery.com> 10145 10146 * testsuite/libgomp.oacc-c++/c++.exp: Specify 10147 "-foffload=$offload_target". 10148 * testsuite/libgomp.oacc-c/c.exp: Likewise. 10149 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 10150 * testsuite/lib/libgomp.exp 10151 (check_effective_target_openacc_nvidia_accel_configured): Remove, 10152 as (conceptually) merged into 10153 check_effective_target_openacc_nvidia_accel_selected. Adjust all 10154 users. 10155 10156 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets. 10157 * testsuite/libgomp-test-support.exp.in: Adjust. 10158 * testsuite/lib/libgomp.exp: Likewise. Don't populate 10159 openacc_device_types_s. 10160 (offload_target_to_openacc_device_type): New proc. 10161 * testsuite/libgomp.oacc-c++/c++.exp: Adjust. 10162 * testsuite/libgomp.oacc-c/c.exp: Likewise. 10163 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 10164 * Makefile.in: Regenerate. 10165 * configure: Likewise. 10166 * testsuite/Makefile.in: Likewise. 10167 10168 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins 10169 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS 10170 instead of OFFLOAD_TARGETS. 10171 * target.c (gomp_target_init): Adjust. 10172 * testsuite/libgomp-test-support.exp.in: Likewise. 10173 * testsuite/lib/libgomp.exp: Likewise. Populate 10174 openacc_device_types_s instead of offload_targets_s_openacc. 10175 (check_effective_target_openacc_nvidia_accel_selected) 10176 (check_effective_target_openacc_host_selected): Adjust. 10177 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. 10178 * testsuite/libgomp.oacc-c/c.exp: Likewise. 10179 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 10180 * Makefile.in: Regenerate. 10181 * config.h.in: Likewise. 10182 * configure: Likewise. 10183 * testsuite/Makefile.in: Likewise. 10184 10185 * testsuite/lib/libgomp.exp: Error out for unknown offload target. 10186 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if 10187 "offloading: supported, but hardware not accessible". 10188 * testsuite/libgomp.oacc-c/c.exp: Likewise. 10189 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 10190 10191 2019-02-19 Chung-Lin Tang <cltang (a] codesourcery.com> 10192 10193 PR c/87924 10194 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to 10195 goacc_wait(). 10196 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call 10197 and related adjustment. 10198 10199 2019-01-30 Jakub Jelinek <jakub (a] redhat.com> 10200 10201 PR c++/88988 10202 * testsuite/libgomp.c++/pr88988.C: New test. 10203 10204 2019-01-28 Jakub Jelinek <jakub (a] redhat.com> 10205 10206 PR middle-end/89002 10207 * testsuite/libgomp.c/pr89002.c: New test. 10208 10209 2019-01-28 Richard Biener <rguenther (a] suse.de> 10210 10211 PR testsuite/89064 10212 PR tree-optimization/86865 10213 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL. 10214 10215 2019-01-24 Tom de Vries <tdevries (a] suse.de> 10216 10217 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices 10218 once instantiated_devices drops to 0. 10219 10220 2019-01-23 Tom de Vries <tdevries (a] suse.de> 10221 10222 PR target/PR88946 10223 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for 10224 cuMemFree. 10225 (nvptx_exec): Don't call map_push if mapnum == 0. 10226 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test. 10227 10228 2019-01-23 Tom de Vries <tdevries (a] suse.de> 10229 10230 PR target/88941 10231 PR target/88939 10232 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case. 10233 (map_fini): Remove "assert (!s->map->active)". 10234 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test. 10235 10236 2019-01-23 Tom de Vries <tdevries (a] suse.de> 10237 10238 PR target/87835 10239 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element. 10240 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test. 10241 10242 2019-01-15 Tom de Vries <tdevries (a] suse.de> 10243 10244 PR target/80547 10245 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c: 10246 New test. 10247 10248 2019-01-12 Tom de Vries <tdevries (a] suse.de> 10249 10250 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test. 10251 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test. 10252 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test. 10253 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test. 10254 10255 2019-01-12 Tom de Vries <tdevries (a] suse.de> 10256 10257 * plugin/plugin-nvptx.c (nvptx_exec): Update error message. 10258 10259 2019-01-12 Tom de Vries <tdevries (a] suse.de> 10260 10261 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test. 10262 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test. 10263 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test. 10264 10265 2019-01-12 Tom de Vries <tdevries (a] suse.de> 10266 10267 PR target/85486 10268 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test. 10269 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test. 10270 10271 2019-01-12 Tom de Vries <tdevries (a] suse.de> 10272 10273 PR target/85381 10274 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test. 10275 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test. 10276 10277 2019-01-12 Tom de Vries <tdevries (a] suse.de> 10278 10279 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test. 10280 * testsuite/libgomp.oacc-fortran/gemm.f90: New test. 10281 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test. 10282 10283 2019-01-12 Tom de Vries <tdevries (a] suse.de> 10284 10285 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test. 10286 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test. 10287 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test. 10288 10289 2019-01-12 Tom de Vries <tdevries (a] suse.de> 10290 10291 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware 10292 resources diagnostic. 10293 10294 2019-01-12 Tom de Vries <tdevries (a] suse.de> 10295 10296 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect 10297 vector length to be 128. 10298 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector 10299 length 2097152 to be reduced to 1024 instead of 32. 10300 10301 2019-01-11 Thomas Schwinge <thomas (a] codesourcery.com> 10302 James Norris <jnorris (a] codesourcery.com> 10303 10304 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime 10305 Library Routines", and "Environment Variables". 10306 10307 2019-01-11 Tom de Vries <tdevries (a] suse.de> 10308 10309 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and 10310 num_workers 16. 10311 10312 2019-01-11 Tom de Vries <tdevries (a] suse.de> 10313 10314 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove 10315 -foffload=-w. 10316 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same. 10317 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same. 10318 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same. 10319 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same. 10320 10321 2019-01-11 Tom de Vries <tdevries (a] suse.de> 10322 10323 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New 10324 test. 10325 10326 2019-01-10 Nathan Sidwell <nathan (a] acm.org> 10327 Julian Brown <julian (a] codesourcery.com> 10328 10329 PR lto/71959 10330 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New. 10331 * testsuite/libgomp.oacc-c++/pr71959.C: New. 10332 10333 2019-01-09 Sebastian Huber <sebastian.huber (a] embedded-brains.de> 10334 10335 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy 10336 and paste code. 10337 10338 2019-01-09 Sebastian Huber <sebastian.huber (a] embedded-brains.de> 10339 10340 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c, 10341 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to 10342 write. 10343 10344 2019-01-09 Tom de Vries <tdevries (a] suse.de> 10345 10346 PR target/88756 10347 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use 10348 #define instead of "const int". 10349 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same. 10350 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same. 10351 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same. 10352 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same. 10353 10354 2019-01-09 Tom de Vries <tdevries (a] suse.de> 10355 10356 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least 10357 one worker. 10358 10359 2019-01-07 Tom de Vries <tdevries (a] suse.de> 10360 10361 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix 10362 GOMP_OPENACC_DIM argument. 10363 10364 2019-01-03 Tom de Vries <tdevries (a] suse.de> 10365 10366 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test. 10367 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test. 10368 10369 2019-01-01 Jakub Jelinek <jakub (a] redhat.com> 10370 10371 Update copyright years. 10372 10373 2019-01-01 Jakub Jelinek <jakub (a] redhat.com> 10374 10375 * libgomp.texi: Bump @copying's copyright year. 10376 10377 2018-12-28 Thomas Schwinge <thomas (a] codesourcery.com> 10378 10379 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel) 10380 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update) 10381 (GOACC_declare): Redefine the "device" argument to "flags". 10382 10383 2018-12-28 Thomas Schwinge <thomas (a] codesourcery.com> 10384 Cesar Philippidis <cesar (a] codesourcery.com> 10385 10386 * target.c (struct gomp_coalesce_chunk): New structure. 10387 (struct gomp_coalesce_buf): Update the chunks member to use that 10388 type. Adjust all users. 10389 10390 2018-12-19 Tom de Vries <tdevries (a] suse.de> 10391 10392 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test. 10393 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test. 10394 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test. 10395 10396 2018-12-19 Tom de Vries <tdevries (a] suse.de> 10397 10398 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp. 10399 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from 10400 gcc/testsuite/gcc.dg/goacc. 10401 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same. 10402 10403 2018-12-14 Thomas Schwinge <thomas (a] codesourcery.com> 10404 Chung-Lin Tang <cltang (a] codesourcery.com> 10405 10406 * oacc-mem.c (acc_present_or_create): Remove definition and change 10407 to alias of acc_create. 10408 (acc_present_or_copyin): Remove definition and change to alias of 10409 acc_copyin. 10410 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead 10411 of acc_present_or_create. 10412 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove. 10413 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise. 10414 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise. 10415 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise. 10416 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise. 10417 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise. 10418 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise. 10419 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise. 10420 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise. 10421 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise. 10422 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise. 10423 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise. 10424 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise. 10425 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise. 10426 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise. 10427 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise. 10428 10429 2018-12-14 Thomas Schwinge <thomas (a] codesourcery.com> 10430 10431 PR libgomp/88495 10432 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse 10433 "identical parameters". 10434 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update. 10435 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove. 10436 10437 PR libgomp/88484 10438 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0". 10439 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file. 10440 10441 PR libgomp/88407 10442 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait) 10443 (nvptx_wait_async): Unseen async-argument is a no-op. 10444 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update. 10445 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise. 10446 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise. 10447 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise. 10448 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise. 10449 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into... 10450 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update. 10451 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into... 10452 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update 10453 10454 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise. 10455 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise. 10456 10457 2018-12-14 Chung-Lin Tang <cltang (a] codesourcery.com> 10458 10459 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust. 10460 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise. 10461 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise. 10462 10463 2018-12-14 Thomas Schwinge <thomas (a] codesourcery.com> 10464 10465 PR libgomp/88370 10466 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream) 10467 (acc_set_cuda_stream): Clarify. 10468 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use 10469 "async_valid_p". 10470 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async == 10471 acc_async_sync". 10472 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file. 10473 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise. 10474 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update. 10475 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise. 10476 10477 2018-12-14 Tom de Vries <tdevries (a] suse.de> 10478 10479 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test. 10480 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test. 10481 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test. 10482 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test. 10483 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test. 10484 10485 2018-12-13 Tom de Vries <tdevries (a] suse.de> 10486 10487 * affinity-fmt.c (gomp_print_string): New function, factored out of ... 10488 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ... 10489 * fortran.c (omp_display_affinity_): ... here. 10490 * libgomp.h (gomp_print_string): Declare. 10491 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c, 10492 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to 10493 write. 10494 10495 2018-12-13 Jakub Jelinek <jakub (a] redhat.com> 10496 10497 PR libgomp/88460 10498 * testsuite/libgomp.c++/for-24.C (results): Include it in 10499 omp declare target region. 10500 (main): Use map (always, tofrom: results) instead of 10501 map (tofrom: results). 10502 10503 2018-12-12 Jakub Jelinek <jakub (a] redhat.com> 10504 10505 PR fortran/88463 10506 * testsuite/libgomp.fortran/pr88463-1.f90: New test. 10507 * testsuite/libgomp.fortran/pr88463-2.f90: New test. 10508 10509 * testsuite/libgomp.c-c++-common/for-16.c: New test. 10510 10511 2018-12-12 Andreas Schwab <schwab (a] suse.de> 10512 10513 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as 10514 clobbered. 10515 10516 2018-12-09 Thomas Koenig <tkoenig (a] gcc.gnu.org> 10517 10518 PR fortran/88411 10519 * testsuite/libgomp.fortran/async_io_8.f90: New test. 10520 10521 2018-12-09 Thomas Schwinge <thomas (a] codesourcery.com> 10522 Jakub Jelinek <jakub (a] redhat.com> 10523 10524 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of 10525 devicep->host2dev_func. 10526 10527 2018-12-08 Jakub Jelinek <jakub (a] redhat.com> 10528 10529 PR libgomp/87995 10530 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require 10531 tls_runtime effective target. 10532 (t): New threadprivate variable. 10533 (main): Set t in threads which execute iterations of the worksharing 10534 loop. Propagate that to the task after the loop and don't abort 10535 if the current taskgroup hasn't been cancelled. 10536 10537 2018-12-02 Jakub Jelinek <jakub (a] redhat.com> 10538 10539 * testsuite/libgomp.c/task-reduction-3.c: New test. 10540 10541 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test. 10542 10543 2018-11-30 Cesar Philippidis <cesar (a] codesourcery.com> 10544 10545 PR libgomp/88288 10546 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs. 10547 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test. 10548 10549 2018-11-30 Thomas Schwinge <thomas (a] codesourcery.com> 10550 10551 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file. 10552 10553 2018-10-19 Richard Biener <rguenther (a] suse.de> 10554 10555 PR tree-optimization/88182 10556 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp. 10557 10558 2018-11-26 Jakub Jelinek <jakub (a] redhat.com> 10559 10560 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu. 10561 (RUNTEST): Don't define. 10562 (RUNTESTDEFAULTFLAGS): Add. 10563 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals. 10564 (distclean-am): Depend on distclean-DEJAGNU. 10565 (check-am): If -j% option is present in MFLAGS and if 10566 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8. 10567 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU. 10568 * testsuite/Makefile.in: Regenerated. 10569 10570 2018-11-26 Richard Biener <rguenther (a] suse.de> 10571 10572 PR tree-optimization/88182 10573 * testsuite/libgomp.c++/pr88182.C: New testcase. 10574 10575 2018-11-20 Jakub Jelinek <jakub (a] redhat.com> 10576 10577 PR bootstrap/88106 10578 * config/mingw32/affinity-fmt.c: New file. 10579 10580 2018-11-09 Jakub Jelinek <jakub (a] redhat.com> 10581 10582 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H. 10583 (gomp_display_affinity): Use __builtin_choose_expr to handle 10584 properly handle argument having integral, or pointer or some other 10585 type. If inttypes.h is available and PRIx64 is defined, use PRIx64 10586 with uint64_t type instead of %llx and unsigned long long. 10587 10588 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test. 10589 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test. 10590 10591 2018-11-08 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 10592 10593 * affinity.c: Include <string.h>, <stdio.h>. 10594 (gomp_display_affinity_place): Remove cpusetp. 10595 * teams.c: Include <limits.h>. 10596 10597 2018-11-08 Jakub Jelinek <jakub (a] redhat.com> 10598 10599 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add 10600 in_reduction clause for s[0]. 10601 10602 * affinity.c (gomp_display_affinity_place): New function. 10603 * affinity-fmt.c: New file. 10604 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions. 10605 * config/linux/affinity.c (gomp_display_affinity_place): New function. 10606 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num): 10607 Move these functions to ... 10608 * config/nvptx/teams.c: ... here. New file. 10609 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all): 10610 New functions. 10611 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New 10612 functions. 10613 * configure.ac: Check for aligned_alloc, posix_memalign, memalign 10614 and _aligned_malloc. 10615 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests. 10616 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux. 10617 * env.c (gomp_display_affinity_var, gomp_affinity_format_var, 10618 gomp_affinity_format_len): New variables. 10619 (parse_schedule): Parse monotonic and nonmonotonic modifiers in 10620 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules. 10621 (handle_omp_display_env): Display monotonic/nonmonotonic schedule 10622 modifiers. Display (non-default) chunk sizes. Print 10623 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT. 10624 (initialize_env): Don't call pthread_attr_setdetachstate. Handle 10625 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars. 10626 * fortran.c: Include stdio.h and string.h. 10627 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect. 10628 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit. 10629 (omp_set_affinity_format_, omp_get_affinity_format_, 10630 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_, 10631 omp_pause_resource_all_): New functions. 10632 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in 10633 switch. 10634 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these 10635 functions to ... 10636 * teams.c: ... here. New file. 10637 * libgomp_g.h: Include gstdint.h. 10638 (GOMP_loop_nonmonotonic_runtime_start, 10639 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start, 10640 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next, 10641 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start, 10642 GOMP_parallel_loop_nonmonotonic_runtime, 10643 GOMP_parallel_loop_maybe_nonmonotonic_runtime, 10644 GOMP_loop_ull_nonmonotonic_runtime_start, 10645 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start, 10646 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next, 10647 GOMP_loop_ull_maybe_nonmonotonic_runtime_next, 10648 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions, 10649 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register, 10650 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap, 10651 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start, 10652 GOMP_teams_reg): Declare. 10653 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless 10654 gomp_aligned_alloc uses fallback implementation. 10655 (gomp_aligned_alloc, gomp_aligned_free): Declare. 10656 (enum gomp_schedule_type): Add GFS_MONOTONIC. 10657 (struct gomp_doacross_work_share): Add extra field. 10658 (struct gomp_work_share): Add task_reductions field. 10659 (struct gomp_taskgroup): Add workshare and reductions fields. 10660 (GOMP_NEEDS_THREAD_HANDLE): Define if needed. 10661 (gomp_thread_handle): New typedef. 10662 (gomp_display_affinity_place, gomp_set_affinity_format, 10663 gomp_display_string, gomp_display_affinity, 10664 gomp_display_affinity_thread): Declare. 10665 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument. 10666 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start, 10667 gomp_workshare_task_reduction_register): Declare. 10668 (gomp_team_start): Add taskgroup argument. 10669 (gomp_pause_host): Declare. 10670 (gomp_init_work_share, gomp_work_share_start): Change bool argument 10671 to size_t. 10672 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions. 10673 * libgomp.map (GOMP_5.0): Export GOMP_loop_start, 10674 GOMP_loop_ordered_start, GOMP_loop_doacross_start, 10675 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start, 10676 GOMP_loop_ull_doacross_start, 10677 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start, 10678 GOMP_loop_maybe_nonmonotonic_runtime_next, 10679 GOMP_loop_maybe_nonmonotonic_runtime_start, 10680 GOMP_loop_nonmonotonic_runtime_next, 10681 GOMP_loop_nonmonotonic_runtime_start, 10682 GOMP_loop_ull_maybe_nonmonotonic_runtime_next, 10683 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, 10684 GOMP_loop_ull_nonmonotonic_runtime_next, 10685 GOMP_loop_ull_nonmonotonic_runtime_start, 10686 GOMP_parallel_loop_maybe_nonmonotonic_runtime, 10687 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions, 10688 GOMP_taskgroup_reduction_register, 10689 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap, 10690 GOMP_teams_reg and GOMP_taskwait_depend. 10691 (OMP_5.0): Export omp_pause_resource{,_all}{,_}, 10692 omp_{capture,display}_affinity{,_}, and 10693 omp_[gs]et_affinity_format{,_}. 10694 * loop.c: Include string.h. 10695 (GOMP_loop_runtime_next): Add ialias. 10696 (GOMP_taskgroup_reduction_register): Add ialias_redirect. 10697 (gomp_loop_static_start, gomp_loop_dynamic_start, 10698 gomp_loop_guided_start, gomp_loop_ordered_static_start, 10699 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start, 10700 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start, 10701 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start 10702 or gomp_doacross_init callers. 10703 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start, 10704 GOMP_loop_doacross_start): New functions. 10705 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start, 10706 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start): 10707 Mask off GFS_MONOTONIC bit. 10708 (GOMP_loop_maybe_nonmonotonic_runtime_next, 10709 GOMP_loop_maybe_nonmonotonic_runtime_start, 10710 GOMP_loop_nonmonotonic_runtime_next, 10711 GOMP_loop_nonmonotonic_runtime_start, 10712 GOMP_parallel_loop_maybe_nonmonotonic_runtime, 10713 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper 10714 functions. 10715 (gomp_parallel_loop_start): Pass NULL as taskgroup to 10716 gomp_team_start. 10717 * loop_ull.c: Include string.h. 10718 (GOMP_loop_ull_runtime_next): Add ialias. 10719 (GOMP_taskgroup_reduction_register): Add ialias_redirect. 10720 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start, 10721 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start, 10722 gomp_loop_ull_ordered_dynamic_start, 10723 gomp_loop_ull_ordered_guided_start, 10724 gomp_loop_ull_doacross_static_start, 10725 gomp_loop_ull_doacross_dynamic_start, 10726 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start 10727 and gomp_doacross_ull_init callers. 10728 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start, 10729 GOMP_loop_ull_doacross_start): New functions. 10730 (GOMP_loop_ull_runtime_start, 10731 GOMP_loop_ull_ordered_runtime_start, 10732 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit. 10733 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next, 10734 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, 10735 GOMP_loop_ull_nonmonotonic_runtime_next, 10736 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise. 10737 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c. 10738 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic. 10739 (omp_pause_resource_t, omp_depend_t): New typedefs. 10740 (enum omp_lock_hint_t): Renamed to ... 10741 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_* 10742 enumerators using numbers and omp_lock_hint_* as their aliases. 10743 (omp_lock_hint_t): New typedef. Rename to ... 10744 (omp_sync_hint_t): ... this. 10745 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use 10746 omp_sync_hint_t instead of omp_lock_hint_t. 10747 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format, 10748 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity): 10749 Declare. 10750 (omp_target_is_present, omp_target_disassociate_ptr): 10751 Change first argument from void * to const void *. 10752 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument 10753 from void * to const void *. 10754 (omp_target_associate_ptr): Change first and second arguments from 10755 void * to const void *. 10756 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft, 10757 omp_pause_hard): New parameters. 10758 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format, 10759 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity): 10760 New interfaces. 10761 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft, 10762 omp_pause_hard): New parameters. 10763 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format, 10764 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity): 10765 New externals. 10766 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add 10767 EXTRA argument. If not needed to prepare array, if extra is 0, 10768 clear ws->doacross, otherwise allocate just doacross structure and 10769 extra payload. If array is needed, allocate also extra payload. 10770 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post, 10771 GOMP_doacross_ull_wait): Handle doacross->array == NULL like 10772 doacross == NULL. 10773 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to 10774 gomp_team_start. 10775 (GOMP_parallel): Likewise. Formatting fix. 10776 (GOMP_parallel_reductions): New function. 10777 (GOMP_cancellation_point): If taskgroup has workshare 10778 flag set, check cancelled of prev taskgroup if any. 10779 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled 10780 on prev taskgroup if any. 10781 * sections.c: Include string.h. 10782 (GOMP_taskgroup_reduction_register): Add ialias_redirect. 10783 (GOMP_sections_start): Adjust gomp_work_share_start caller. 10784 (GOMP_sections2_start): New function. 10785 (GOMP_parallel_sections_start, GOMP_parallel_sections): 10786 Pass NULL as taskgroup to gomp_team_start. 10787 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust 10788 gomp_work_share_start callers. 10789 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data): 10790 If taskgroup has workshare flag set, check cancelled on prev 10791 taskgroup if any. Guard all cancellation tests with 10792 gomp_cancel_var test. 10793 (omp_target_is_present, omp_target_disassociate_ptr): 10794 Change ptr argument from void * to const void *. 10795 (omp_target_memcpy): Change src argument from void * to const void *. 10796 (omp_target_memcpy_rect): Likewise. 10797 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts 10798 instead of char * where needed. 10799 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments 10800 from void * to const void *. 10801 (omp_pause_resource, omp_pause_resource_all): New functions. 10802 * task.c (gomp_task_handle_depend): Handle new depend array format 10803 in addition to the old. Handle mutexinoutset kinds the same as 10804 inout for now, handle unspecified kinds. 10805 (gomp_create_target_task): If taskgroup has workshare flag set, check 10806 cancelled on prev taskgroup if any. Guard all cancellation tests with 10807 gomp_cancel_var test. Handle new depend array format count in 10808 addition to the old. 10809 (GOMP_task): Likewise. Adjust function comment. 10810 (gomp_task_run_pre): If taskgroup has workshare flag set, check 10811 cancelled on prev taskgroup if any. Guard all cancellation tests with 10812 gomp_cancel_var test. 10813 (GOMP_taskwait_depend): New function. 10814 (gomp_task_maybe_wait_for_dependencies): Handle new depend array 10815 format in addition to the old. Handle mutexinoutset kinds the same as 10816 inout for now, handle unspecified kinds. Fix a function comment typo. 10817 (gomp_taskgroup_init): New function. 10818 (GOMP_taskgroup_start): Use it. 10819 (gomp_reduction_register, gomp_create_artificial_team, 10820 GOMP_taskgroup_reduction_register, 10821 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap, 10822 gomp_parallel_reduction_register, 10823 gomp_workshare_task_reduction_register, 10824 gomp_workshare_taskgroup_start, 10825 GOMP_workshare_task_reduction_unregister): New functions. 10826 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set, 10827 check cancelled on prev taskgroup if any. Guard all cancellation 10828 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag 10829 by calling GOMP_taskgroup_reduction_register. 10830 * team.c (gomp_thread_attr): Remove comment. 10831 (struct gomp_thread_start_data): Add handle field. 10832 (gomp_thread_start): Call pthread_detach. 10833 (gomp_new_team): Adjust gomp_init_work_share caller. 10834 (gomp_free_pool_helper): Call pthread_detach. 10835 (gomp_team_start): Add taskgroup argument, initialize implicit 10836 tasks' taskgroup field to that. Don't call 10837 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var. 10838 (gomp_team_end): Determine nesting by thr->ts.level != 0 10839 rather than thr->ts.team != NULL. 10840 (gomp_pause_pool_helper, gomp_pause_host): New functions. 10841 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of 10842 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined. 10843 (gomp_init_work_share): Change ORDERED argument from bool to size_t, 10844 if more than 1 allocate also extra payload at the end of array. Never 10845 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead. 10846 (gomp_work_share_start): Change ORDERED argument from bool to size_t, 10847 return true instead of ws. 10848 * Makefile.in: Regenerated. 10849 * configure: Regenerated. 10850 * config.h.in: Regenerated. 10851 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier 10852 in some cases. 10853 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test. 10854 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test. 10855 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test. 10856 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test. 10857 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test. 10858 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test. 10859 * testsuite/libgomp.c-c++-common/depobj-1.c: New test. 10860 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test. 10861 * testsuite/libgomp.c-c++-common/for-10.c: New test. 10862 * testsuite/libgomp.c-c++-common/for-11.c: New test. 10863 * testsuite/libgomp.c-c++-common/for-12.c: New test. 10864 * testsuite/libgomp.c-c++-common/for-13.c: New test. 10865 * testsuite/libgomp.c-c++-common/for-14.c: New test. 10866 * testsuite/libgomp.c-c++-common/for-15.c: New test. 10867 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined, 10868 define a different N(test), don't define N(f0) to N(f14), but instead 10869 define N(f20) to N(f34) using != comparisons. 10870 * testsuite/libgomp.c-c++-common/for-7.c: New test. 10871 * testsuite/libgomp.c-c++-common/for-8.c: New test. 10872 * testsuite/libgomp.c-c++-common/for-9.c: New test. 10873 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test. 10874 * testsuite/libgomp.c-c++-common/pause-1.c: New test. 10875 * testsuite/libgomp.c-c++-common/pause-2.c: New test. 10876 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test. 10877 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test. 10878 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test. 10879 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test. 10880 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test. 10881 * testsuite/libgomp.c-c++-common/simd-1.c: New test. 10882 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test. 10883 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test. 10884 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test. 10885 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test. 10886 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test. 10887 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test. 10888 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test. 10889 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test. 10890 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test. 10891 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test. 10892 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test. 10893 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test. 10894 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test. 10895 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test. 10896 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test. 10897 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test. 10898 * testsuite/libgomp.c++/depend-1.C: New test. 10899 * testsuite/libgomp.c++/depend-iterator-1.C: New test. 10900 * testsuite/libgomp.c++/depobj-1.C: New test. 10901 * testsuite/libgomp.c++/for-16.C: New test. 10902 * testsuite/libgomp.c++/for-21.C: New test. 10903 * testsuite/libgomp.c++/for-22.C: New test. 10904 * testsuite/libgomp.c++/for-23.C: New test. 10905 * testsuite/libgomp.c++/for-24.C: New test. 10906 * testsuite/libgomp.c++/for-25.C: New test. 10907 * testsuite/libgomp.c++/for-26.C: New test. 10908 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test. 10909 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test. 10910 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test. 10911 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test. 10912 * testsuite/libgomp.c++/task-reduction-10.C: New test. 10913 * testsuite/libgomp.c++/task-reduction-11.C: New test. 10914 * testsuite/libgomp.c++/task-reduction-12.C: New test. 10915 * testsuite/libgomp.c++/task-reduction-13.C: New test. 10916 * testsuite/libgomp.c++/task-reduction-14.C: New test. 10917 * testsuite/libgomp.c++/task-reduction-15.C: New test. 10918 * testsuite/libgomp.c++/task-reduction-16.C: New test. 10919 * testsuite/libgomp.c++/task-reduction-17.C: New test. 10920 * testsuite/libgomp.c++/task-reduction-18.C: New test. 10921 * testsuite/libgomp.c++/task-reduction-19.C: New test. 10922 * testsuite/libgomp.c/task-reduction-1.c: New test. 10923 * testsuite/libgomp.c++/task-reduction-1.C: New test. 10924 * testsuite/libgomp.c/task-reduction-2.c: New test. 10925 * testsuite/libgomp.c++/task-reduction-2.C: New test. 10926 * testsuite/libgomp.c++/task-reduction-3.C: New test. 10927 * testsuite/libgomp.c++/task-reduction-4.C: New test. 10928 * testsuite/libgomp.c++/task-reduction-5.C: New test. 10929 * testsuite/libgomp.c++/task-reduction-6.C: New test. 10930 * testsuite/libgomp.c++/task-reduction-7.C: New test. 10931 * testsuite/libgomp.c++/task-reduction-8.C: New test. 10932 * testsuite/libgomp.c++/task-reduction-9.C: New test. 10933 * testsuite/libgomp.c/teams-1.c: New test. 10934 * testsuite/libgomp.c/teams-2.c: New test. 10935 * testsuite/libgomp.c/thread-limit-4.c: New test. 10936 * testsuite/libgomp.c/thread-limit-5.c: New test. 10937 * testsuite/libgomp.fortran/display-affinity-1.f90: New test. 10938 10939 2018-11-06 Chung-Lin Tang <cltang (a] codesourcery.com> 10940 10941 * oacc-mem.c (memcpy_tofrom_device): New function, combined from 10942 acc_memcpy_to/from_device functions, now with async parameter. 10943 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device. 10944 (acc_memcpy_from_device): Likewise. 10945 (acc_memcpy_to_device_async): New API function. 10946 (acc_memcpy_from_device_async): Likewise. 10947 (present_create_copy): Add async parameter and async setting/unsetting. 10948 (acc_create): Adjust present_create_copy call. 10949 (acc_copyin): Likewise. 10950 (acc_present_or_create): Likewise. 10951 (acc_present_or_copyin): Likewise. 10952 (acc_create_async): New API function. 10953 (acc_copyin_async): New API function. 10954 (delete_copyout): Add async parameter and async setting/unsetting. 10955 (acc_delete): Adjust delete_copyout call. 10956 (acc_copyout): Likewise. 10957 (acc_delete_async): New API function. 10958 (acc_copyout_async): Likewise. 10959 (update_dev_host): Add async parameter and async setting/unsetting. 10960 (acc_update_device): Adjust update_dev_host call. 10961 (acc_update_self): Likewise. 10962 (acc_update_device_async): New API function. 10963 (acc_update_self_async): Likewise. 10964 * openacc.h (acc_copyin_async): Declare new API function. 10965 (acc_create_async): Likewise. 10966 (acc_copyout_async): Likewise. 10967 (acc_delete_async): Likewise. 10968 (acc_update_device_async): Likewise. 10969 (acc_update_self_async): Likewise. 10970 (acc_memcpy_to_device_async): Likewise. 10971 (acc_memcpy_from_device_async): Likewise. 10972 * openacc_lib.h (acc_copyin_async_32_h): New subroutine. 10973 (acc_copyin_async_64_h): New subroutine. 10974 (acc_copyin_async_array_h): New subroutine. 10975 (acc_create_async_32_h): New subroutine. 10976 (acc_create_async_64_h): New subroutine. 10977 (acc_create_async_array_h): New subroutine. 10978 (acc_copyout_async_32_h): New subroutine. 10979 (acc_copyout_async_64_h): New subroutine. 10980 (acc_copyout_async_array_h): New subroutine. 10981 (acc_delete_async_32_h): New subroutine. 10982 (acc_delete_async_64_h): New subroutine. 10983 (acc_delete_async_array_h): New subroutine. 10984 (acc_update_device_async_32_h): New subroutine. 10985 (acc_update_device_async_64_h): New subroutine. 10986 (acc_update_device_async_array_h): New subroutine. 10987 (acc_update_self_async_32_h): New subroutine. 10988 (acc_update_self_async_64_h): New subroutine. 10989 (acc_update_self_async_array_h): New subroutine. 10990 * openacc.f90 (acc_copyin_async_32_h): New subroutine. 10991 (acc_copyin_async_64_h): New subroutine. 10992 (acc_copyin_async_array_h): New subroutine. 10993 (acc_create_async_32_h): New subroutine. 10994 (acc_create_async_64_h): New subroutine. 10995 (acc_create_async_array_h): New subroutine. 10996 (acc_copyout_async_32_h): New subroutine. 10997 (acc_copyout_async_64_h): New subroutine. 10998 (acc_copyout_async_array_h): New subroutine. 10999 (acc_delete_async_32_h): New subroutine. 11000 (acc_delete_async_64_h): New subroutine. 11001 (acc_delete_async_array_h): New subroutine. 11002 (acc_update_device_async_32_h): New subroutine. 11003 (acc_update_device_async_64_h): New subroutine. 11004 (acc_update_device_async_array_h): New subroutine. 11005 (acc_update_self_async_32_h): New subroutine. 11006 (acc_update_self_async_64_h): New subroutine. 11007 (acc_update_self_async_array_h): New subroutine. 11008 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*, 11009 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*, 11010 acc_delete_finalize_async*, acc_memcpy_from_device_async*, 11011 acc_memcpy_to_device_async*, acc_update_device_async*, and 11012 acc_update_self_async* entries. 11013 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test. 11014 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test. 11015 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test. 11016 11017 2018-10-31 Joseph Myers <joseph (a] codesourcery.com> 11018 11019 PR bootstrap/82856 11020 * Makefile.am: Include multilib.am 11021 (AUTOMAKE_OPTIONS): Add info-in-builddir. 11022 (CLEANFILES): Remove libgomp.info. 11023 * configure.ac: Remove AC_PREREQ. 11024 * testsuite/Makefile.am (RUNTEST): Remove quotes. 11025 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: 11026 Regenerate. 11027 11028 2018-10-29 Joseph Myers <joseph (a] codesourcery.com> 11029 Julian Brown <julian (a] codesourcery.com> 11030 11031 * testsuite/libgomp.oacc-c++/this.C: New. 11032 11033 2018-09-18 Cesar Philippidis <cesar (a] codesourcery.com> 11034 11035 * plugin/plugin-nvptx.c (struct cuda_map): New. 11036 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev, 11037 h_tail with (cuda_map *) map. 11038 (cuda_map_create): New function. 11039 (cuda_map_destroy): New function. 11040 (map_init): Update to use a linked list of cuda_map objects. 11041 (map_fini): Likewise. 11042 (map_pop): Likewise. 11043 (map_push): Likewise. Return CUdeviceptr instead of void. 11044 (init_streams_for_device): Remove stales references to ptx_stream 11045 members. 11046 (select_stream_for_async): Likewise. 11047 (nvptx_exec): Update call to map_init. 11048 11049 2018-09-09 Cesar Philippidis <cesar (a] codesourcery.com> 11050 Julian Brown <julian (a] codesourcery.com> 11051 11052 PR middle-end/86336 11053 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL. 11054 11055 2018-08-21 Nicolas Koenig <koenigni (a] gcc.gnu.org> 11056 Thomas Koenig <tkoenig (a] gcc.gnu.org> 11057 11058 PR fortran/25829 11059 * testsuite/libgomp.fortran/async_io_1.f90: New test. 11060 * testsuite/libgomp.fortran/async_io_2.f90: New test. 11061 * testsuite/libgomp.fortran/async_io_3.f90: New test. 11062 * testsuite/libgomp.fortran/async_io_4.f90: New test. 11063 * testsuite/libgomp.fortran/async_io_5.f90: New test. 11064 * testsuite/libgomp.fortran/async_io_6.f90: New test. 11065 * testsuite/libgomp.fortran/async_io_7.f90: New test. 11066 11067 2018-08-13 Cesar Philippidis <cesar (a] codesourcery.com> 11068 Tom de Vries <tdevries (a] suse.de> 11069 11070 PR target/85590 11071 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef. 11072 (cuOccupancyMaxPotentialBlockSize): Declare. 11073 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New 11074 CUDA_ONE_CALL_MAYBE_NULL. 11075 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define 11076 CUoccupancyB2DSize and declare 11077 cuOccupancyMaxPotentialBlockSize. 11078 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the 11079 default num_gangs and num_workers when the driver supports it. 11080 11081 2018-08-08 Tom de Vries <tdevries (a] suse.de> 11082 11083 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using 11084 CUDA_ONE_CALL_MAYBE_NULL. 11085 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare. 11086 (cuLinkAddData_v2, cuLinkCreate_v2): Declare. 11087 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions 11088 are not found. 11089 11090 2018-08-08 Tom de Vries <tdevries (a] suse.de> 11091 11092 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL. 11093 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not 11094 present. 11095 11096 2018-08-08 Tom de Vries <tdevries (a] suse.de> 11097 11098 * plugin/plugin-nvptx.c 11099 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define. 11100 (nvptx_open_device): Use 11101 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR. 11102 11103 2018-08-08 Tom de Vries <tdevries (a] suse.de> 11104 11105 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ... 11106 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000. 11107 11108 2018-08-07 Tom de Vries <tdevries (a] suse.de> 11109 11110 * plugin/plugin-nvptx.c (DO_PRAGMA): Define. 11111 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL. 11112 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to 11113 corresponding call in CUDA_ONE_CALL. Add def/undef of 11114 CUDA_ONE_CALL_MAYBE_NULL. 11115 (CUDA_CALL_EXISTS): Define. 11116 11117 2018-08-07 Tom de Vries <tdevries (a] suse.de> 11118 11119 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put 11120 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the 11121 corresponding undefs right after. 11122 11123 2018-08-04 Tom de Vries <tdevries (a] suse.de> 11124 11125 * plugin/configfrag.ac: For --without-cuda-driver, set 11126 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle 11127 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no. 11128 * configure: Regenerate. 11129 11130 2018-08-02 Tom de Vries <tdevries (a] suse.de> 11131 11132 PR target/86660 11133 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions. 11134 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same. 11135 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C: 11136 Same. 11137 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same. 11138 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same. 11139 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same. 11140 11141 2018-08-01 Cesar Philippidis <cesar (a] codesourcery.com> 11142 Thomas Schwinge <thomas (a] codesourcery.com> 11143 11144 * config/nvptx/oacc-parallel.c: Truncate. 11145 11146 2018-08-01 Cesar Philippidis <cesar (a] codesourcery.com> 11147 James Norris <jnorris (a] codesourcery.com> 11148 11149 * plugin/plugin-nvptx.c (struct map): Removed. 11150 (map_init, map_pop): Remove use of struct map. 11151 (map_push): Likewise and change argument list. 11152 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New 11153 11154 2018-08-01 Tom de Vries <tdevries (a] suse.de> 11155 11156 * plugin/cuda-lib.def: New file. Factor out of ... 11157 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here. 11158 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of 11159 using CUDA_CALLS. 11160 11161 2018-07-31 Andre Vieira <andre.simoesdiasvieira (a] arm.com> 11162 11163 Revert 'AsyncI/O patch committed'. 11164 2018-07-25 Nicolas Koenig <koenigni (a] gcc.gnu.org> 11165 Thomas Koenig <tkoenig (a] gcc.gnu.org> 11166 11167 PR fortran/25829 11168 * testsuite/libgomp.fortran/async_io_1.f90: New test. 11169 * testsuite/libgomp.fortran/async_io_2.f90: New test. 11170 * testsuite/libgomp.fortran/async_io_3.f90: New test. 11171 * testsuite/libgomp.fortran/async_io_4.f90: New test. 11172 * testsuite/libgomp.fortran/async_io_5.f90: New test. 11173 * testsuite/libgomp.fortran/async_io_6.f90: New test. 11174 * testsuite/libgomp.fortran/async_io_7.f90: New test. 11175 11176 2018-07-30 Tom de Vries <tdevries (a] suse.de> 11177 11178 * plugin/plugin-nvptx.c (MIN, MAX): Redefine. 11179 (nvptx_exec): Ensure worker and vector default dims don't exceed 11180 targ_fn->max_threads_per_block. 11181 11182 2018-07-30 Tom de Vries <tdevries (a] suse.de> 11183 11184 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field. 11185 (nvptx_open_device): Init default_dims for device. 11186 (nvptx_exec): Use default_dims from device. 11187 11188 2018-07-26 Jakub Jelinek <jakub (a] redhat.com> 11189 11190 PR testsuite/86660 11191 * testsuite/libgomp.c++/for-15.C (results): Include it in 11192 omp declare target region. 11193 (main): Use map (always, tofrom: results) instead of 11194 map (tofrom: results). 11195 11196 PR middle-end/86660 11197 * testsuite/libgomp.c/pr86660.c: New test. 11198 11199 2018-07-26 Cesar Philippidis <cesar (a] codesourcery.com> 11200 Tom de Vries <tdevries (a] suse.de> 11201 11202 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have 11203 sufficient resources to launch a kernel, and give a hint on how to fix 11204 it. 11205 11206 2018-07-26 Cesar Philippidis <cesar (a] codesourcery.com> 11207 Tom de Vries <tdevries (a] suse.de> 11208 11209 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size, 11210 max_threads_per_block and max_threads_per_multiprocessor fields. 11211 (nvptx_open_device): Initialize new fields. 11212 (nvptx_exec): Use num_sms, and new fields. 11213 11214 2018-07-26 Tom de Vries <tdevries (a] suse.de> 11215 11216 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls 11217 to correct locations. Remove xfail. 11218 11219 2018-07-26 Tom de Vries <tdevries (a] suse.de> 11220 11221 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with 11222 acc_wait. Move acc_async_test calls to correct locations. Remove 11223 xfail. 11224 11225 2018-07-25 Nicolas Koenig <koenigni (a] gcc.gnu.org> 11226 Thomas Koenig <tkoenig (a] gcc.gnu.org> 11227 11228 PR fortran/25829 11229 * testsuite/libgomp.fortran/async_io_1.f90: New test. 11230 * testsuite/libgomp.fortran/async_io_2.f90: New test. 11231 * testsuite/libgomp.fortran/async_io_3.f90: New test. 11232 * testsuite/libgomp.fortran/async_io_4.f90: New test. 11233 * testsuite/libgomp.fortran/async_io_5.f90: New test. 11234 * testsuite/libgomp.fortran/async_io_6.f90: New test. 11235 * testsuite/libgomp.fortran/async_io_7.f90: New test. 11236 11237 2018-07-17 Jakub Jelinek <jakub (a] redhat.com> 11238 11239 PR middle-end/86542 11240 * testsuite/libgomp.c++/pr86542.C: New test. 11241 11242 PR middle-end/86539 11243 * testsuite/libgomp.c++/pr86539.C: New test. 11244 11245 2018-07-11 Jakub Jelinek <jakub (a] redhat.com> 11246 11247 PR c++/86443 11248 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable. 11249 (results): Make sure the variable is not inside declare target region. 11250 (qux): Remove unused function. 11251 11252 2018-07-10 Jakub Jelinek <jakub (a] redhat.com> 11253 11254 PR c++/86443 11255 * testsuite/libgomp.c++/for-15.C: New test. 11256 11257 2018-06-26 Jakub Jelinek <jakub (a] redhat.com> 11258 11259 PR c++/86291 11260 * testsuite/libgomp.c++/pr86291.C: New test. 11261 11262 2018-06-24 Gerald Pfeifer <gerald (a] pfeifer.com> 11263 11264 * libgomp.texi (Top): Move www.openmp.org to https. 11265 (Enabling OpenMP): Ditto. 11266 (omp_get_active_level): Ditto. 11267 (omp_get_ancestor_thread_num): Ditto. 11268 (omp_get_cancellation): Ditto. 11269 (omp_get_default_device): Ditto. 11270 (omp_get_dynamic): Ditto. 11271 (omp_get_level): Ditto. 11272 (omp_get_max_active_levels): Ditto. 11273 (omp_get_max_task_priority): Ditto. 11274 (omp_get_max_threads): Ditto. 11275 (omp_get_nested): Ditto. 11276 (omp_get_num_devices): Ditto. 11277 (omp_get_num_procs): Ditto. 11278 (omp_get_num_teams): Ditto. 11279 (omp_get_num_threads): Ditto. 11280 (omp_get_proc_bind): Ditto. 11281 (omp_get_schedule): Ditto. 11282 (omp_get_team_num): Ditto. 11283 (omp_get_team_size): Ditto. 11284 (omp_get_thread_limit): Ditto. 11285 (omp_get_thread_num): Ditto. 11286 (omp_in_parallel): Ditto. 11287 (omp_in_final): Ditto. 11288 (omp_is_initial_device): Ditto. 11289 (omp_set_default_device): Ditto. 11290 (omp_set_dynamic): Ditto. 11291 (omp_set_max_active_levels): Ditto. 11292 (omp_set_nested): Ditto. 11293 (omp_set_num_threads): Ditto. 11294 (omp_set_schedule): Ditto. 11295 (omp_init_lock): Ditto. 11296 (omp_set_lock): Ditto. 11297 (omp_test_lock): Ditto. 11298 (omp_unset_lock): Ditto. 11299 (omp_destroy_lock): Ditto. 11300 (omp_init_nest_lock): Ditto. 11301 (omp_set_nest_lock): Ditto. 11302 (omp_test_nest_lock): Ditto. 11303 (omp_unset_nest_lock): Ditto. 11304 (omp_destroy_nest_lock): Ditto. 11305 (omp_get_wtick): Ditto. 11306 (omp_get_wtime): Ditto. 11307 (OMP_CANCELLATION): Ditto. 11308 (OMP_DISPLAY_ENV): Ditto. 11309 (OMP_DEFAULT_DEVICE): Ditto. 11310 (OMP_DYNAMIC): Ditto. 11311 (OMP_MAX_ACTIVE_LEVELS): Ditto. 11312 (OMP_MAX_TASK_PRIORITY): Ditto. 11313 (OMP_NESTED): Ditto. 11314 (OMP_NUM_THREADS): Ditto. 11315 (OMP_PROC_BIND): Ditto. 11316 (OMP_PLACES): Ditto. 11317 (OMP_STACKSIZE): Ditto. 11318 (OMP_SCHEDULE): Ditto. 11319 (OMP_THREAD_LIMIT): Ditto. 11320 (OMP_WAIT_POLICY): Ditto. 11321 11322 2018-06-22 Cesar Philippidis <cesar (a] codesourcery.com> 11323 James Norris <jnorris (a] codesourcery.com> 11324 Julian Brown <julian (a] codesourcery.com> 11325 Thomas Schwinge <thomas (a] codesourcery.com> 11326 Tom de Vries <tom (a] codesourcery.com> 11327 11328 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2". 11329 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update. 11330 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise. 11331 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise. 11332 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise. 11333 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise. 11334 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file. 11335 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise. 11336 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise. 11337 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: 11338 Likewise. 11339 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c: 11340 Likewise. 11341 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c: 11342 Likewise. 11343 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: 11344 Likewise. 11345 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: 11346 Likewise. 11347 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c: 11348 Likewise. 11349 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c: 11350 Likewise. 11351 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c: 11352 Likewise. 11353 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c: 11354 Likewise. 11355 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c: 11356 Likewise. 11357 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c: 11358 Likewise. 11359 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c: 11360 Likewise. 11361 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c: 11362 Likewise. 11363 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c: 11364 Likewise. 11365 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c: 11366 Likewise. 11367 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c: 11368 Likewise. 11369 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c: 11370 Likewise. 11371 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c: 11372 Likewise. 11373 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c: 11374 Likewise. 11375 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c: 11376 Likewise. 11377 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c: 11378 Likewise. 11379 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c: 11380 Likewise. 11381 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c: 11382 Likewise. 11383 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c: 11384 Likewise. 11385 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c: 11386 Likewise. 11387 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c: 11388 Likewise. 11389 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c: 11390 Likewise. 11391 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise. 11392 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise. 11393 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise. 11394 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise. 11395 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise. 11396 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise. 11397 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise. 11398 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise. 11399 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90: 11400 Likewise. 11401 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90: 11402 Likewise. 11403 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise. 11404 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise. 11405 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: 11406 Likewise. 11407 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise. 11408 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise. 11409 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95: 11410 Likewise. 11411 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90: 11412 Likewise. 11413 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90: 11414 Likewise. 11415 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90: 11416 Likewise. 11417 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90: 11418 Likewise. 11419 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90: 11420 Likewise. 11421 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90: 11422 Likewise. 11423 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90: 11424 Likewise. 11425 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90: 11426 Likewise. 11427 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90: 11428 Likewise. 11429 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90: 11430 Likewise. 11431 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90: 11432 Likewise. 11433 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90: 11434 Likewise. 11435 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90: 11436 Likewise. 11437 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: 11438 Likewise. 11439 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise. 11440 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise. 11441 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise. 11442 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise. 11443 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise. 11444 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise. 11445 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise. 11446 11447 2018-06-20 Chung-Lin Tang <cltang (a] codesourcery.com> 11448 Thomas Schwinge <thomas (a] codesourcery.com> 11449 Cesar Philippidis <cesar (a] codesourcery.com> 11450 11451 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member. 11452 (gomp_acc_remove_pointer): Update declaration. 11453 (gomp_acc_declare_allocate): Declare. 11454 (gomp_remove_var): Declare. 11455 * libgomp.map (OACC_2.5): Define. 11456 * oacc-mem.c (acc_map_data): Update refcount. 11457 (acc_unmap_data): Likewise. 11458 (present_create_copy): Likewise. 11459 (acc_create): Add FLAG_PRESENT when calling present_create_copy. 11460 (acc_copyin): Likewise. 11461 (FLAG_FINALIZE): Define. 11462 (delete_copyout): Update dynamic refcounts, add support for FINALIZE. 11463 (acc_delete_finalize): New function. 11464 (acc_delete_finalize_async): New function. 11465 (acc_copyout_finalize): New function. 11466 (acc_copyout_finalize_async): New function. 11467 (gomp_acc_insert_pointer): Update refcounts. 11468 (gomp_acc_remove_pointer): Return if data is not present on the 11469 accelerator. 11470 * oacc-parallel.c (find_pset): Rename to find_pointer. 11471 (find_pointer): Add support for GOMP_MAP_POINTER. 11472 (handle_ftn_pointers): New function. 11473 (GOACC_parallel_keyed): Update refcounts of variables. 11474 (GOACC_enter_exit_data): Add support for finalized data mappings. 11475 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling 11476 of fortran arrays. 11477 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}. 11478 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support 11479 for GOMP_MAP_FORCE_FROM. 11480 * openacc.f90 (module openacc_internal): Add 11481 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and 11482 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for 11483 acc_copyout_finalize and acc_delete_finalize. 11484 (acc_copyout_finalize_32_h): New subroutine. 11485 (acc_copyout_finalize_64_h): New subroutine. 11486 (acc_copyout_finalize_array_h): New subroutine. 11487 (acc_delete_finalize_32_h): New subroutine. 11488 (acc_delete_finalize_64_h): New subroutine. 11489 (acc_delete_finalize_array_h): New subroutine. 11490 * openacc.h (acc_copyout_finalize): Declare. 11491 (acc_copyout_finalize_async): Declare. 11492 (acc_delete_finalize): Declare. 11493 (acc_delete_finalize_async): Declare. 11494 * openacc_lib.h (acc_copyout_finalize): New interface. 11495 (acc_delete_finalize): New interface. 11496 * target.c (gomp_map_vars): Update dynamic_refcount. 11497 (gomp_remove_var): New function. 11498 (gomp_unmap_vars): Use it. 11499 (gomp_unload_image_from_device): Likewise. 11500 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test 11501 case to utilize OpenACC 2.5 data clause semantics. 11502 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise. 11503 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise. 11504 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise. 11505 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise. 11506 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise. 11507 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise. 11508 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise. 11509 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise. 11510 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise. 11511 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise. 11512 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise. 11513 * testsuite/libgomp.oacc-fortran/data-5.f90: New test. 11514 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to 11515 utilize OpenACC 2.5 data clause semantics. 11516 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise. 11517 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise. 11518 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise. 11519 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise. 11520 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise. 11521 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise. 11522 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise. 11523 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise. 11524 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise. 11525 11526 2018-05-21 Janus Weil <janus (a] gcc.gnu.org> 11527 11528 PR fortran/85841 11529 PR testsuite/85865 11530 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy". 11531 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto. 11532 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto. 11533 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto. 11534 * testsuite/libgomp.fortran/task2.f90: Ditto. 11535 * testsuite/libgomp.fortran/vla1.f90: Ditto. 11536 * testsuite/libgomp.fortran/vla2.f90: Ditto. 11537 * testsuite/libgomp.fortran/vla3.f90: Ditto. 11538 * testsuite/libgomp.fortran/vla4.f90: Ditto. 11539 * testsuite/libgomp.fortran/vla5.f90: Ditto. 11540 * testsuite/libgomp.fortran/vla6.f90: Ditto. 11541 * testsuite/libgomp.fortran/vla8.f90: Ditto. 11542 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto. 11543 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto. 11544 11545 2018-05-18 Cesar Philippidis <cesar (a] codesourcery.com> 11546 11547 PR c++/85782 11548 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test. 11549 11550 2018-05-09 Tom de Vries <tom (a] codesourcery.com> 11551 11552 PR libgomp/82901 11553 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument 11554 to GOACC_enter_exit_data. 11555 11556 2018-05-09 Tom de Vries <tom (a] codesourcery.com> 11557 11558 PR libgomp/83792 11559 * oacc-int.h (async_valid_stream_id_p, async_valid_p) 11560 (async_synchronous_p): New function. 11561 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use 11562 async_valid_p. 11563 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use 11564 async_valid_stream_id_p. 11565 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p. 11566 * oacc-parallel.c (GOACC_parallel_keyed): Same. 11567 11568 2018-05-07 Tom de Vries <tom (a] codesourcery.com> 11569 11570 PR testsuite/85677 11571 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level 11572 include directory in ALWAYS_CFLAGS out of $blddir != "" condition. 11573 11574 2018-05-03 Tom de Vries <tom (a] codesourcery.com> 11575 11576 PR testsuite/85106 11577 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to 11578 extra_tool_flags if it contains an -foffload=-fdump-* flag. 11579 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp. 11580 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump. 11581 11582 2018-05-02 Tom de Vries <tom (a] codesourcery.com> 11583 11584 PR libgomp/85411 11585 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of 11586 GOMP_OPENACC_DIM ... 11587 * env.c (parse_gomp_openacc_dim): ... here. New function. 11588 (initialize_env): Call parse_gomp_openacc_dim. 11589 (goacc_default_dims): Define. 11590 * libgomp.h (goacc_default_dims): Declare. 11591 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function. 11592 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare. 11593 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add 11594 GOMP_PLUGIN_acc_default_dim. 11595 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test. 11596 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test. 11597 11598 2018-05-02 Tom de Vries <tom (a] codesourcery.com> 11599 11600 PR testsuite/83791 11601 * testsuite/libgomp.c++/udr-9.C: Update. 11602 * testsuite/libgomp.c++/atomic-16.C: Remove. 11603 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove. 11604 * testsuite/libgomp.c++/loop-13.C: Remove. 11605 * testsuite/libgomp.c++/loop-14.C: Remove. 11606 * testsuite/libgomp.c++/loop-15.C: Remove. 11607 * testsuite/libgomp.c++/monotonic-1.C: Remove. 11608 * testsuite/libgomp.c++/monotonic-2.C: Remove. 11609 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove. 11610 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove. 11611 * testsuite/libgomp.c++/ordered-1.C: Remove. 11612 * testsuite/libgomp.c++/pr45784.C: Remove. 11613 * testsuite/libgomp.c++/pr64824.C: Remove. 11614 * testsuite/libgomp.c++/pr64868.C: Remove. 11615 * testsuite/libgomp.c++/pr66199-1.C: Remove. 11616 * testsuite/libgomp.c++/pr66199-2.C: Remove. 11617 * testsuite/libgomp.c++/pr66199-3.C: Remove. 11618 * testsuite/libgomp.c++/pr66199-4.C: Remove. 11619 * testsuite/libgomp.c++/pr66199-5.C: Remove. 11620 * testsuite/libgomp.c++/pr66199-6.C: Remove. 11621 * testsuite/libgomp.c++/pr66199-7.C: Remove. 11622 * testsuite/libgomp.c++/pr66199-8.C: Remove. 11623 * testsuite/libgomp.c++/pr66199-9.C: Remove. 11624 * testsuite/libgomp.c++/pr69389.C: Remove. 11625 * testsuite/libgomp.c++/simd10.C: Remove. 11626 * testsuite/libgomp.c++/simd11.C: Remove. 11627 * testsuite/libgomp.c++/simd12.C: Remove. 11628 * testsuite/libgomp.c++/simd13.C: Remove. 11629 * testsuite/libgomp.c++/target-1.C: Remove. 11630 * testsuite/libgomp.c++/target-3.C: Remove. 11631 * testsuite/libgomp.c++/target-4.C: Remove. 11632 * testsuite/libgomp.c++/target-5.C: Remove. 11633 * testsuite/libgomp.c++/taskgroup-1.C: Remove. 11634 * testsuite/libgomp.c++/taskloop-1.C: Remove. 11635 * testsuite/libgomp.c++/taskloop-2.C: Remove. 11636 * testsuite/libgomp.c++/taskloop-3.C: Remove. 11637 * testsuite/libgomp.c++/taskloop-4.C: Remove. 11638 * testsuite/libgomp.c++/udr-9.C: Remove. 11639 * testsuite/libgomp.c++/for-10.C: Remove. 11640 * testsuite/libgomp.c++/for-11.C: Remove. 11641 * testsuite/libgomp.c++/for-12.C: Remove. 11642 * testsuite/libgomp.c++/for-13.C: Remove. 11643 * testsuite/libgomp.c++/for-14.C: Remove. 11644 * testsuite/libgomp.c++/for-9.C: Remove. 11645 * testsuite/libgomp.c/atomic-18.c: Move ... 11646 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here. 11647 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ... 11648 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here. 11649 * testsuite/libgomp.c/loop-13.c: Move ... 11650 * testsuite/libgomp.c-c++-common/loop-13.c: ... here. 11651 * testsuite/libgomp.c/loop-14.c: Move ... 11652 * testsuite/libgomp.c-c++-common/loop-14.c: ... here. 11653 * testsuite/libgomp.c/loop-15.c: Remove. 11654 * testsuite/libgomp.c-c++-common/loop-15.c: New test. 11655 * testsuite/libgomp.c/monotonic-1.c: Move ... 11656 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here. 11657 * testsuite/libgomp.c/monotonic-2.c: Move ... 11658 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here. 11659 * testsuite/libgomp.c/nonmonotonic-1.c: Move ... 11660 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here. 11661 * testsuite/libgomp.c/nonmonotonic-2.c: Move ... 11662 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here. 11663 * testsuite/libgomp.c/ordered-4.c: Move ... 11664 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here. 11665 * testsuite/libgomp.c/pr45784.c: Move ... 11666 * testsuite/libgomp.c-c++-common/pr45784.c: ... here. 11667 * testsuite/libgomp.c/pr64824.c: Move ... 11668 * testsuite/libgomp.c-c++-common/pr64824.c: ... here. 11669 * testsuite/libgomp.c/pr64868.c: Move ... 11670 * testsuite/libgomp.c-c++-common/pr64868.c: ... here. 11671 * testsuite/libgomp.c/pr66199-1.c: Move ... 11672 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here. 11673 * testsuite/libgomp.c/pr66199-2.c: Move ... 11674 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here. 11675 * testsuite/libgomp.c/pr66199-3.c: Move ... 11676 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here. 11677 * testsuite/libgomp.c/pr66199-4.c: Move ... 11678 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here. 11679 * testsuite/libgomp.c/pr66199-5.c: Move ... 11680 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here. 11681 * testsuite/libgomp.c/pr66199-6.c: Move ... 11682 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here. 11683 * testsuite/libgomp.c/pr66199-7.c: Move ... 11684 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here. 11685 * testsuite/libgomp.c/pr66199-8.c: Move ... 11686 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here. 11687 * testsuite/libgomp.c/pr66199-9.c: Move ... 11688 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here. 11689 * testsuite/libgomp.c/pr69389.c: Move ... 11690 * testsuite/libgomp.c-c++-common/pr69389.c: ... here. 11691 * testsuite/libgomp.c/simd-14.c: Move ... 11692 * testsuite/libgomp.c-c++-common/simd-14.c: ... here. 11693 * testsuite/libgomp.c/simd-15.c: Move ... 11694 * testsuite/libgomp.c-c++-common/simd-15.c: ... here. 11695 * testsuite/libgomp.c/simd-16.c: Move ... 11696 * testsuite/libgomp.c-c++-common/simd-16.c: ... here. 11697 * testsuite/libgomp.c/simd-17.c: Move ... 11698 * testsuite/libgomp.c-c++-common/simd-17.c: ... here. 11699 * testsuite/libgomp.c/target-1.c: Move ... 11700 * testsuite/libgomp.c-c++-common/target-1.c: ... here. 11701 * testsuite/libgomp.c/target-10.c: Move ... 11702 * testsuite/libgomp.c-c++-common/target-10.c: ... here. 11703 * testsuite/libgomp.c/target-13.c: Move ... 11704 * testsuite/libgomp.c-c++-common/target-13.c: ... here. 11705 * testsuite/libgomp.c/target-2.c: Move ... 11706 * testsuite/libgomp.c-c++-common/target-2.c: ... here. 11707 * testsuite/libgomp.c/taskgroup-1.c: Move ... 11708 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here. 11709 * testsuite/libgomp.c/taskloop-1.c: Move ... 11710 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here. 11711 * testsuite/libgomp.c/taskloop-2.c: Move ... 11712 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here. 11713 * testsuite/libgomp.c/taskloop-3.c: Move ... 11714 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here. 11715 * testsuite/libgomp.c/taskloop-4.c: Move ... 11716 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here. 11717 * testsuite/libgomp.c/udr-1.c: Move ... 11718 * testsuite/libgomp.c-c++-common/udr-1.c: ... here. 11719 * testsuite/libgomp.c/for-1.c: Move ... 11720 * testsuite/libgomp.c-c++-common/for-1.c: ... here. 11721 * testsuite/libgomp.c/for-1.h: Move ... 11722 * testsuite/libgomp.c-c++-common/for-1.h: ... here. 11723 * testsuite/libgomp.c/for-2.c: Move ... 11724 * testsuite/libgomp.c-c++-common/for-2.c: ... here. 11725 * testsuite/libgomp.c/for-2.h: Move ... 11726 * testsuite/libgomp.c-c++-common/for-2.h: ... here. 11727 * testsuite/libgomp.c/for-3.c: Move ... 11728 * testsuite/libgomp.c-c++-common/for-3.c: ... here. 11729 * testsuite/libgomp.c/for-4.c: Move ... 11730 * testsuite/libgomp.c-c++-common/for-4.c: ... here. 11731 * testsuite/libgomp.c/for-5.c: Move ... 11732 * testsuite/libgomp.c-c++-common/for-5.c: ... here. 11733 * testsuite/libgomp.c/for-6.c: Move ... 11734 * testsuite/libgomp.c-c++-common/for-6.c: ... here. 11735 11736 2018-05-02 Tom de Vries <tom (a] codesourcery.com> 11737 11738 PR libgomp/82428 11739 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use 11740 __builtin_goacc_parlevel_{id,size}. 11741 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same. 11742 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same. 11743 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same. 11744 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same. 11745 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same. 11746 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same. 11747 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same. 11748 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same. 11749 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same. 11750 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same. 11751 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same. 11752 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same. 11753 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same. 11754 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same. 11755 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same. 11756 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same. 11757 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same. 11758 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same. 11759 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same. 11760 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same. 11761 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same. 11762 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same. 11763 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same. 11764 11765 2018-05-02 Tom de Vries <tom (a] codesourcery.com> 11766 11767 PR testsuite/85106 11768 * testsuite/lib/libgomp.exp: Include scanltranstree.exp. 11769 11770 2018-05-02 Tom de Vries <tom (a] codesourcery.com> 11771 11772 PR testsuite/85106 11773 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp. 11774 11775 2018-04-29 Julian Brown <julian (a] codesourcery.com> 11776 Tom de Vries <tom (a] codesourcery.com> 11777 11778 PR testsuite/85527 11779 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow 11780 arbitrary order for iterations of atomic subtract check. 11781 11782 2018-04-28 Tom de Vries <tom (a] codesourcery.com> 11783 11784 PR testsuite/85527 11785 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store 11786 atomic capture results obtained in parallel loop to an array, instead of 11787 to a scalar. 11788 11789 2018-04-26 Tom de Vries <tom (a] codesourcery.com> 11790 11791 PR libgomp/84020 11792 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL. 11793 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define. 11794 (process_GOMP_NVPTX_JIT): New function. 11795 (link_ptx): Use process_GOMP_NVPTX_JIT. 11796 11797 2018-04-26 Richard Biener <rguenther (a] suse.de> 11798 Tom de Vries <tom (a] codesourcery.com> 11799 11800 PR lto/85422 11801 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test. 11802 11803 2018-04-26 Tom de Vries <tom (a] codesourcery.com> 11804 11805 PR target/85519 11806 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce 11807 recursion depth from 25 to 23. 11808 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same. 11809 11810 2018-04-24 H.J. Lu <hongjiu.lu (a] intel.com> 11811 11812 * configure: Regenerated. 11813 11814 2018-04-20 Nathan Sidwell <nathan (a] codesourcery.com> 11815 Tom de Vries <tom (a] codesourcery.com> 11816 11817 PR target/85445 11818 * testsuite/libgomp.oacc-c++/ref-1.C: New. 11819 11820 2018-04-19 Thomas Schwinge <thomas (a] codesourcery.com> 11821 11822 PR libgomp/85463 11823 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file. 11824 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise. 11825 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise. 11826 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise. 11827 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise. 11828 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise. 11829 11830 PR libfortran/85166 11831 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call 11832 abort". 11833 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise. 11834 11835 2018-04-19 Jakub Jelinek <jakub (a] redhat.com> 11836 11837 * configure: Regenerated. 11838 11839 2018-04-18 David Malcolm <dmalcolm (a] redhat.com> 11840 11841 PR jit/85384 11842 * configure: Regenerate. 11843 11844 2018-04-16 Cesar Philippidis <cesar (a] codesourcery.com> 11845 Tom de Vries <tom (a] codesourcery.com> 11846 11847 PR middle-end/84955 11848 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test. 11849 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test. 11850 11851 2018-04-12 Thomas Koenig <tkoenig (a] gcc.gnu.org> 11852 11853 PR fortran/83064 11854 PR testsuite/85346 11855 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified 11856 test from gfortran.dg to here. 11857 11858 2018-04-12 Cesar Philippidis <cesar (a] codesourcery.com> 11859 11860 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346. 11861 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise. 11862 11863 2018-04-12 Cesar Philippidis <cesar (a] codesourcery.com> 11864 11865 PR middle-end/84955 11866 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test. 11867 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test. 11868 11869 2018-04-05 Tom de Vries <tom (a] codesourcery.com> 11870 11871 PR target/85204 11872 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test. 11873 11874 2018-03-26 Tom de Vries <tom (a] codesourcery.com> 11875 11876 PR tree-optimization/85063 11877 * testsuite/libgomp.c/switch-conversion-2.c: New test. 11878 * testsuite/libgomp.c/switch-conversion.c: New test. 11879 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test. 11880 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test. 11881 11882 2018-03-25 Thomas Koenig <tkoenig (a] gcc.gnu.org> 11883 11884 PR fortran/84381 11885 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard 11886 call abort by STOP n. 11887 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise. 11888 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise. 11889 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise. 11890 * testsuite/libgomp.fortran/allocatable1.f90: Likewise. 11891 * testsuite/libgomp.fortran/allocatable10.f90: Likewise. 11892 * testsuite/libgomp.fortran/allocatable11.f90: Likewise. 11893 * testsuite/libgomp.fortran/allocatable12.f90: Likewise. 11894 * testsuite/libgomp.fortran/allocatable2.f90: Likewise. 11895 * testsuite/libgomp.fortran/allocatable3.f90: Likewise. 11896 * testsuite/libgomp.fortran/allocatable4.f90: Likewise. 11897 * testsuite/libgomp.fortran/allocatable5.f90: Likewise. 11898 * testsuite/libgomp.fortran/allocatable6.f90: Likewise. 11899 * testsuite/libgomp.fortran/allocatable7.f90: Likewise. 11900 * testsuite/libgomp.fortran/allocatable8.f90: Likewise. 11901 * testsuite/libgomp.fortran/allocatable9.f90: Likewise. 11902 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. 11903 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise. 11904 * testsuite/libgomp.fortran/associate1.f90: Likewise. 11905 * testsuite/libgomp.fortran/associate2.f90: Likewise. 11906 * testsuite/libgomp.fortran/associate3.f90: Likewise. 11907 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise. 11908 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise. 11909 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise. 11910 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise. 11911 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise. 11912 * testsuite/libgomp.fortran/character1.f90: Likewise. 11913 * testsuite/libgomp.fortran/character2.f90: Likewise. 11914 * testsuite/libgomp.fortran/collapse1.f90: Likewise. 11915 * testsuite/libgomp.fortran/collapse2.f90: Likewise. 11916 * testsuite/libgomp.fortran/collapse3.f90: Likewise. 11917 * testsuite/libgomp.fortran/collapse4.f90: Likewise. 11918 * testsuite/libgomp.fortran/crayptr1.f90: Likewise. 11919 * testsuite/libgomp.fortran/crayptr2.f90: Likewise. 11920 * testsuite/libgomp.fortran/crayptr3.f90: Likewise. 11921 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise. 11922 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise. 11923 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise. 11924 * testsuite/libgomp.fortran/depend-1.f90: Likewise. 11925 * testsuite/libgomp.fortran/depend-2.f90: Likewise. 11926 * testsuite/libgomp.fortran/depend-3.f90: Likewise. 11927 * testsuite/libgomp.fortran/do1.f90: Likewise. 11928 * testsuite/libgomp.fortran/do2.f90: Likewise. 11929 * testsuite/libgomp.fortran/doacross1.f90: Likewise. 11930 * testsuite/libgomp.fortran/doacross2.f90: Likewise. 11931 * testsuite/libgomp.fortran/doacross3.f90: Likewise. 11932 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise. 11933 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise. 11934 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise. 11935 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise. 11936 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise. 11937 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise. 11938 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise. 11939 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise. 11940 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise. 11941 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise. 11942 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise. 11943 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise. 11944 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise. 11945 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise. 11946 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise. 11947 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise. 11948 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise. 11949 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise. 11950 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise. 11951 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise. 11952 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise. 11953 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise. 11954 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise. 11955 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise. 11956 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise. 11957 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise. 11958 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise. 11959 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise. 11960 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise. 11961 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise. 11962 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise. 11963 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise. 11964 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise. 11965 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise. 11966 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise. 11967 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise. 11968 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise. 11969 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise. 11970 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise. 11971 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise. 11972 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise. 11973 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise. 11974 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise. 11975 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise. 11976 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise. 11977 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise. 11978 * testsuite/libgomp.fortran/lib1.f90: Likewise. 11979 * testsuite/libgomp.fortran/lib2.f: Likewise. 11980 * testsuite/libgomp.fortran/lib3.f: Likewise. 11981 * testsuite/libgomp.fortran/lib4.f90: Likewise. 11982 * testsuite/libgomp.fortran/lock-1.f90: Likewise. 11983 * testsuite/libgomp.fortran/lock-2.f90: Likewise. 11984 * testsuite/libgomp.fortran/nested1.f90: Likewise. 11985 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise. 11986 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise. 11987 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise. 11988 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise. 11989 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise. 11990 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise. 11991 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise. 11992 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise. 11993 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise. 11994 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise. 11995 * testsuite/libgomp.fortran/omp_cond1.f: Likewise. 11996 * testsuite/libgomp.fortran/omp_cond2.f: Likewise. 11997 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise. 11998 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise. 11999 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise. 12000 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise. 12001 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise. 12002 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise. 12003 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise. 12004 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise. 12005 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise. 12006 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise. 12007 * testsuite/libgomp.fortran/pointer1.f90: Likewise. 12008 * testsuite/libgomp.fortran/pointer2.f90: Likewise. 12009 * testsuite/libgomp.fortran/pr25162.f: Likewise. 12010 * testsuite/libgomp.fortran/pr25219.f90: Likewise. 12011 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise. 12012 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise. 12013 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise. 12014 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise. 12015 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise. 12016 * testsuite/libgomp.fortran/pr28390.f: Likewise. 12017 * testsuite/libgomp.fortran/pr29629.f90: Likewise. 12018 * testsuite/libgomp.fortran/pr32550.f90: Likewise. 12019 * testsuite/libgomp.fortran/pr33880.f90: Likewise. 12020 * testsuite/libgomp.fortran/pr34020.f90: Likewise. 12021 * testsuite/libgomp.fortran/pr35130.f90: Likewise. 12022 * testsuite/libgomp.fortran/pr42162.f90: Likewise. 12023 * testsuite/libgomp.fortran/pr46753.f90: Likewise. 12024 * testsuite/libgomp.fortran/pr48894.f90: Likewise. 12025 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise. 12026 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise. 12027 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise. 12028 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise. 12029 * testsuite/libgomp.fortran/pr65597.f90: Likewise. 12030 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise. 12031 * testsuite/libgomp.fortran/pr71014.f90: Likewise. 12032 * testsuite/libgomp.fortran/pr81304.f90: Likewise. 12033 * testsuite/libgomp.fortran/pr81841.f90: Likewise. 12034 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise. 12035 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise. 12036 * testsuite/libgomp.fortran/procptr1.f90: Likewise. 12037 * testsuite/libgomp.fortran/recursion1.f90: Likewise. 12038 * testsuite/libgomp.fortran/reduction1.f90: Likewise. 12039 * testsuite/libgomp.fortran/reduction2.f90: Likewise. 12040 * testsuite/libgomp.fortran/reduction3.f90: Likewise. 12041 * testsuite/libgomp.fortran/reduction4.f90: Likewise. 12042 * testsuite/libgomp.fortran/reduction5.f90: Likewise. 12043 * testsuite/libgomp.fortran/reduction6.f90: Likewise. 12044 * testsuite/libgomp.fortran/reference1.f90: Likewise. 12045 * testsuite/libgomp.fortran/reference2.f90: Likewise. 12046 * testsuite/libgomp.fortran/retval1.f90: Likewise. 12047 * testsuite/libgomp.fortran/retval2.f90: Likewise. 12048 * testsuite/libgomp.fortran/sharing1.f90: Likewise. 12049 * testsuite/libgomp.fortran/sharing2.f90: Likewise. 12050 * testsuite/libgomp.fortran/simd1.f90: Likewise. 12051 * testsuite/libgomp.fortran/simd2.f90: Likewise. 12052 * testsuite/libgomp.fortran/simd3.f90: Likewise. 12053 * testsuite/libgomp.fortran/simd4.f90: Likewise. 12054 * testsuite/libgomp.fortran/simd5.f90: Likewise. 12055 * testsuite/libgomp.fortran/simd6.f90: Likewise. 12056 * testsuite/libgomp.fortran/simd7.f90: Likewise. 12057 * testsuite/libgomp.fortran/stack.f90: Likewise. 12058 * testsuite/libgomp.fortran/strassen.f90: Likewise. 12059 * testsuite/libgomp.fortran/tabs1.f90: Likewise. 12060 * testsuite/libgomp.fortran/tabs2.f: Likewise. 12061 * testsuite/libgomp.fortran/target1.f90: Likewise. 12062 * testsuite/libgomp.fortran/target2.f90: Likewise. 12063 * testsuite/libgomp.fortran/target3.f90: Likewise. 12064 * testsuite/libgomp.fortran/target4.f90: Likewise. 12065 * testsuite/libgomp.fortran/target5.f90: Likewise. 12066 * testsuite/libgomp.fortran/target6.f90: Likewise. 12067 * testsuite/libgomp.fortran/target7.f90: Likewise. 12068 * testsuite/libgomp.fortran/target8.f90: Likewise. 12069 * testsuite/libgomp.fortran/task1.f90: Likewise. 12070 * testsuite/libgomp.fortran/task2.f90: Likewise. 12071 * testsuite/libgomp.fortran/task3.f90: Likewise. 12072 * testsuite/libgomp.fortran/task4.f90: Likewise. 12073 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise. 12074 * testsuite/libgomp.fortran/taskloop1.f90: Likewise. 12075 * testsuite/libgomp.fortran/taskloop2.f90: Likewise. 12076 * testsuite/libgomp.fortran/taskloop3.f90: Likewise. 12077 * testsuite/libgomp.fortran/taskloop4.f90: Likewise. 12078 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. 12079 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise. 12080 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise. 12081 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise. 12082 * testsuite/libgomp.fortran/udr1.f90: Likewise. 12083 * testsuite/libgomp.fortran/udr10.f90: Likewise. 12084 * testsuite/libgomp.fortran/udr11.f90: Likewise. 12085 * testsuite/libgomp.fortran/udr12.f90: Likewise. 12086 * testsuite/libgomp.fortran/udr13.f90: Likewise. 12087 * testsuite/libgomp.fortran/udr14.f90: Likewise. 12088 * testsuite/libgomp.fortran/udr15.f90: Likewise. 12089 * testsuite/libgomp.fortran/udr2.f90: Likewise. 12090 * testsuite/libgomp.fortran/udr3.f90: Likewise. 12091 * testsuite/libgomp.fortran/udr4.f90: Likewise. 12092 * testsuite/libgomp.fortran/udr5.f90: Likewise. 12093 * testsuite/libgomp.fortran/udr6.f90: Likewise. 12094 * testsuite/libgomp.fortran/udr7.f90: Likewise. 12095 * testsuite/libgomp.fortran/udr8.f90: Likewise. 12096 * testsuite/libgomp.fortran/udr9.f90: Likewise. 12097 * testsuite/libgomp.fortran/vla1.f90: Likewise. 12098 * testsuite/libgomp.fortran/vla2.f90: Likewise. 12099 * testsuite/libgomp.fortran/vla3.f90: Likewise. 12100 * testsuite/libgomp.fortran/vla4.f90: Likewise. 12101 * testsuite/libgomp.fortran/vla5.f90: Likewise. 12102 * testsuite/libgomp.fortran/vla6.f90: Likewise. 12103 * testsuite/libgomp.fortran/vla7.f90: Likewise. 12104 * testsuite/libgomp.fortran/vla8.f90: Likewise. 12105 * testsuite/libgomp.fortran/workshare1.f90: Likewise. 12106 * testsuite/libgomp.fortran/workshare2.f90: Likewise. 12107 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise. 12108 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise. 12109 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise. 12110 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise. 12111 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise. 12112 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise. 12113 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise. 12114 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise. 12115 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise. 12116 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise. 12117 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise. 12118 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise. 12119 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise. 12120 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise. 12121 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise. 12122 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise. 12123 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise. 12124 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise. 12125 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise. 12126 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise. 12127 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise. 12128 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise. 12129 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise. 12130 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise. 12131 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise. 12132 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise. 12133 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise. 12134 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise. 12135 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise. 12136 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise. 12137 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise. 12138 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise. 12139 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise. 12140 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise. 12141 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise. 12142 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise. 12143 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise. 12144 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise. 12145 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise. 12146 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise. 12147 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise. 12148 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise. 12149 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise. 12150 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise. 12151 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise. 12152 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise. 12153 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise. 12154 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise. 12155 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise. 12156 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise. 12157 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise. 12158 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise. 12159 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise. 12160 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise. 12161 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise. 12162 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise. 12163 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise. 12164 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise. 12165 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise. 12166 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise. 12167 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise. 12168 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise. 12169 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise. 12170 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise. 12171 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise. 12172 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise. 12173 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise. 12174 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise. 12175 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise. 12176 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise. 12177 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise. 12178 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise. 12179 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise. 12180 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise. 12181 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise. 12182 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise. 12183 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise. 12184 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise. 12185 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise. 12186 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. 12187 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise. 12188 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise. 12189 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise. 12190 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise. 12191 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise. 12192 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise. 12193 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise. 12194 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise. 12195 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise. 12196 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise. 12197 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise. 12198 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise. 12199 12200 2018-03-20 Richard Biener <rguenther (a] suse.de> 12201 12202 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one 12203 parallelizable loop. 12204 12205 2018-02-19 Igor Tsimbalist <igor.v.tsimbalist (a] intel.com> 12206 12207 PR target/84148 12208 * configure: Regenerate. 12209 12210 2018-02-16 Jakub Jelinek <jakub (a] redhat.com> 12211 12212 PR fortran/84418 12213 * libgomp.fortran/pr84418-1.f90: New test. 12214 * libgomp.fortran/pr84418-2.f90: New test. 12215 12216 2018-02-14 Jakub Jelinek <jakub (a] redhat.com> 12217 12218 PR fortran/84313 12219 * testsuite/libgomp.fortran/threadprivate4.f90: Add 12220 -std=f2003 -fall-intrinsics into dg-additional-options. 12221 12222 2018-02-08 Martin Jambor <mjambor (a] suse.cz> 12223 12224 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target 12225 clonable. 12226 12227 2018-02-08 Martin Jambor <mjambor (a] suse.cz> 12228 12229 * testsuite/libgomp.hsa.c/staticvar.c: New test. 12230 12231 2018-02-07 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 12232 12233 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort) 12234 [__cplusplus]: Declare extern "C". 12235 12236 2018-02-07 Tom de Vries <tom (a] codesourcery.com> 12237 12238 PR libgomp/84217 12239 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test. 12240 12241 2018-01-29 Christoph Spiel <cspiel (a] freenet.de> 12242 Jakub Jelinek <jakub (a] redhat.com> 12243 12244 PR libgomp/84096 12245 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t 12246 instead of omp_lock_t. 12247 12248 2018-01-25 Tom de Vries <tom (a] codesourcery.com> 12249 12250 PR target/84028 12251 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test. 12252 12253 2018-01-24 Tom de Vries <tom (a] codesourcery.com> 12254 12255 PR target/83589 12256 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test. 12257 12258 2018-01-24 Tom de Vries <tom (a] codesourcery.com> 12259 12260 PR target/81352 12261 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test. 12262 12263 2018-01-19 Tom de Vries <tom (a] codesourcery.com> 12264 Cesar Philippidis <cesar (a] codesourcery.com> 12265 12266 PR target/83920 12267 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test. 12268 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test. 12269 12270 2018-01-03 Jakub Jelinek <jakub (a] redhat.com> 12271 12272 Update copyright years. 12273 12274 * libgomp.texi: Bump @copying's copyright year. 12275 12276 2017-12-30 Tom de Vries <tom (a] codesourcery.com> 12277 12278 PR libgomp/83046 12279 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test. 12280 * testsuite/libgomp.c-c++-common/pr83046.c: New test. 12281 12282 2017-12-27 Tom de Vries <tom (a] codesourcery.com> 12283 12284 PR c++/83046 12285 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static) 12286 (test_nonstatic): Fix return type to workaround PR83046. 12287 12288 2017-12-05 Jakub Jelinek <jakub (a] redhat.com> 12289 12290 PR testsuite/83281 12291 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use 12292 j suffix instead of i. 12293 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main): 12294 Likewise. 12295 12296 2017-12-01 Cesar Philippidis <cesar (a] codesourcery.com> 12297 12298 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing 12299 call to acc_wait (1). 12300 12301 2017-11-24 Jakub Jelinek <jakub (a] redhat.com> 12302 12303 PR fortran/81304 12304 * testsuite/libgomp.fortran/pr81304.f90: New test. 12305 12306 2017-11-23 Jakub Jelinek <jakub (a] redhat.com> 12307 12308 PR fortran/81841 12309 * libgomp.fortran/pr81841.f90: New test. 12310 12311 2017-11-22 Jakub Jelinek <jakub (a] redhat.com> 12312 12313 PR libgomp/83106 12314 * target.c (gomp_target_init): Compute lengths just once and 12315 use them in both malloc size and subsequent copying. 12316 12317 2017-11-17 Igor Tsimbalist <igor.v.tsimbalist (a] intel.com> 12318 12319 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS. 12320 * acinclude.m4: Add cet.m4. 12321 * configure: Regenerate. 12322 * Makefile.in: Likewise. 12323 * testsuite/Makefile.in: Likewise. 12324 12325 2017-11-15 Tom de Vries <tom (a] codesourcery.com> 12326 12327 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied 12328 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int. 12329 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied 12330 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int. 12331 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied 12332 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int. 12333 12334 2017-11-14 Tom de Vries <tom (a] codesourcery.com> 12335 12336 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for 12337 non-nvidia devices. 12338 12339 2017-11-07 Jakub Jelinek <jakub (a] redhat.com> 12340 12341 PR c++/82835 12342 * testsuite/libgomp.c++/pr82835.C: New test. 12343 12344 2017-11-06 Martin Liska <mliska (a] suse.cz> 12345 12346 * testsuite/libgomp.c++/loop-2.C: Return a value 12347 for functions with non-void return type, or change type to void, 12348 or add -Wno-return-type for test. 12349 * testsuite/libgomp.c++/loop-4.C: Likewise. 12350 * testsuite/libgomp.c++/parallel-1.C: Likewise. 12351 * testsuite/libgomp.c++/shared-1.C: Likewise. 12352 * testsuite/libgomp.c++/single-1.C: Likewise. 12353 * testsuite/libgomp.c++/single-2.C: Likewise. 12354 12355 2017-10-31 Tom de Vries <tom (a] codesourcery.com> 12356 12357 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after 12358 "do {} while (false)". 12359 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon 12360 after HSA_DEBUG call. 12361 12362 2017-10-28 Jakub Jelinek <jakub (a] redhat.com> 12363 12364 * target.c (struct gomp_coalesce_buf): New type. 12365 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define. 12366 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions. 12367 (gomp_copy_host2dev): Add CBUF argument, if copying into 12368 the cached ranges, memcpy into buffer instead of copying 12369 into device. 12370 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing): 12371 Add CBUF argument, pass it through to other calls. 12372 (gomp_map_vars): Aggregate copies from host to device if small enough 12373 and with small enough gaps in between into memcpy into a buffer and 12374 fewer host to device copies from the buffer. 12375 (gomp_update): Adjust gomp_copy_host2dev caller. 12376 12377 2017-10-17 Thomas Schwinge <thomas (a] codesourcery.com> 12378 12379 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do 12380 run" directive. 12381 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise. 12382 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise. 12383 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise. 12384 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise. 12385 12386 2017-10-16 Tom de Vries <tom (a] codesourcery.com> 12387 12388 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require 12389 openacc_nvidia_accel_selected. 12390 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same. 12391 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same. 12392 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same. 12393 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same 12394 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same. 12395 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require 12396 openacc_nvidia_accel_selected. Skip for shared memory device. 12397 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same. 12398 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same. 12399 12400 2017-10-09 Martin Jambor <mjambor (a] suse.cz> 12401 12402 PR hsa/82416 12403 * testsuite/libgomp.hsa.c/pr82416.c: New test. 12404 12405 2017-10-07 Tom de Vries <tom (a] codesourcery.com> 12406 12407 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate): 12408 Remove acc_device_nvidia references. 12409 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction): 12410 Same. 12411 12412 2017-10-05 Tom de Vries <tom (a] codesourcery.com> 12413 12414 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove 12415 vector_length(32) clause from acc parallel directive. 12416 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same. 12417 12418 2017-10-04 Tom de Vries <tom (a] codesourcery.com> 12419 12420 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c 12421 (main): Reduce sum of arr elements. Assert that hres is exactly 12422 representable in 32-bit floating point. 12423 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c 12424 (main): Reduce sum of arr elements. Assert that hres and hmres are 12425 exactly representable in 32-bit floating point. 12426 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same. 12427 12428 2017-09-28 Tom de Vries <tom (a] codesourcery.com> 12429 12430 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option 12431 setting. 12432 * testsuite/libgomp.c++/pr69393.C: Same. 12433 * testsuite/libgomp.c++/taskloop-1.C: Same. 12434 * testsuite/libgomp.c++/taskloop-3.C: Same. 12435 * testsuite/libgomp.c++/taskloop-4.C: Same. 12436 * testsuite/libgomp.c/for-4.c: Same. 12437 * testsuite/libgomp.c/pr66199-3.c: Same. 12438 * testsuite/libgomp.c/pr66199-4.c: Same. 12439 * testsuite/libgomp.c/pr66199-6.c: Same. 12440 * testsuite/libgomp.c/taskloop-1.c: Same. 12441 * testsuite/libgomp.c/taskloop-3.c: Same. 12442 * testsuite/libgomp.c/taskloop-4.c: Same. 12443 * testsuite/libgomp.fortran/aligned1.f03: Same. 12444 * testsuite/libgomp.fortran/condinc1.f: Same. 12445 * testsuite/libgomp.fortran/condinc3.f90: Same. 12446 * testsuite/libgomp.fortran/crayptr1.f90: Same. 12447 * testsuite/libgomp.fortran/crayptr2.f90: Same. 12448 * testsuite/libgomp.fortran/crayptr3.f90: Same. 12449 * testsuite/libgomp.fortran/omp_cond1.f: Same. 12450 * testsuite/libgomp.fortran/omp_cond3.F90: Same. 12451 * testsuite/libgomp.fortran/pr66199-1.f90: Same. 12452 * testsuite/libgomp.fortran/pr66199-2.f90: Same. 12453 * testsuite/libgomp.fortran/recursion1.f90: Same. 12454 * testsuite/libgomp.fortran/target2.f90: Same. 12455 * testsuite/libgomp.fortran/target5.f90: Same. 12456 * testsuite/libgomp.fortran/task3.f90: Same. 12457 12458 2017-09-28 Tom de Vries <tom (a] codesourcery.com> 12459 12460 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove 12461 vector_length(32) clause from acc parallel directive. 12462 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same. 12463 12464 2017-09-27 Tom de Vries <tom (a] codesourcery.com> 12465 12466 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main): 12467 Remove acc_device_nvidia references. 12468 12469 2017-09-16 Tom de Vries <tom (a] codesourcery.com> 12470 12471 PR c/81875 12472 * testsuite/libgomp.c-c++-common/pr81875.c: New test. 12473 12474 2017-09-14 Tom de Vries <tom (a] codesourcery.com> 12475 12476 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove. 12477 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ... 12478 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here. 12479 * testsuite/libgomp.c/c.exp: Include test-cases from 12480 libgomp.c-c++-common. 12481 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c 12482 files. 12483 12484 2017-09-14 Jakub Jelinek <jakub (a] redhat.com> 12485 12486 PR c++/81314 12487 * testsuite/libgomp.c++/pr81314.C: New test. 12488 12489 2017-09-03 Gerald Pfeifer <gerald (a] pfeifer.com> 12490 12491 * libgomp.texi (Top): www.openacc.org now uses https. 12492 (Enabling OpenACC): Ditto. 12493 (acc_get_num_devices): Ditto. 12494 (acc_set_device_type): Ditto. 12495 (acc_get_device_type): Ditto. 12496 (acc_set_device_num): Ditto. 12497 (acc_get_device_num): Ditto. 12498 (acc_async_test): Ditto. 12499 (acc_async_test_all): Ditto. 12500 (acc_wait): Ditto. 12501 (acc_wait_all): Ditto. 12502 (acc_wait_all_async): Ditto. 12503 (acc_wait_async): Ditto. 12504 (acc_init): Ditto. 12505 (acc_shutdown): Ditto. 12506 (acc_on_device): Ditto. 12507 (acc_malloc): Ditto. 12508 (acc_free): Ditto. 12509 (acc_copyin): Ditto. 12510 (acc_present_or_copyin): Ditto. 12511 (acc_create): Ditto. 12512 (acc_present_or_create): Ditto. 12513 (acc_copyout): Ditto. 12514 (acc_delete): Ditto. 12515 (acc_update_device): Ditto. 12516 (acc_update_self): Ditto. 12517 (acc_map_data): Ditto. 12518 (acc_unmap_data): Ditto. 12519 (acc_deviceptr): Ditto. 12520 (acc_hostptr): Ditto. 12521 (acc_is_present): Ditto. 12522 (acc_memcpy_to_device): Ditto. 12523 (acc_memcpy_from_device): Ditto. 12524 (acc_get_current_cuda_device): Ditto. 12525 (acc_get_current_cuda_context): Ditto. 12526 (acc_get_cuda_stream): Ditto. 12527 (acc_set_cuda_stream): Ditto. 12528 (ACC_DEVICE_TYPE): Ditto. 12529 (ACC_DEVICE_NUM): Ditto. 12530 (OpenACC Library Interoperability): Ditto. 12531 12532 2017-08-09 Jakub Jelinek <jakub (a] redhat.com> 12533 12534 PR c/81687 12535 * testsuite/libgomp.c/pr81687-1.c: New test. 12536 * testsuite/libgomp.c/pr81687-2.c: New test. 12537 12538 2017-08-07 Jakub Jelinek <jakub (a] redhat.com> 12539 12540 PR c/69389 12541 * testsuite/libgomp.c/pr69389.c: New test. 12542 * testsuite/libgomp.c++/pr69389.C: New test. 12543 12544 2017-08-07 Tom de Vries <tom (a] codesourcery.com> 12545 12546 PR middle-end/78266 12547 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test. 12548 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail. 12549 12550 2017-07-27 Jakub Jelinek <jakub (a] redhat.com> 12551 12552 PR c/45784 12553 * testsuite/libgomp.c/pr45784.c: New test. 12554 * testsuite/libgomp.c++/pr45784.C: New test. 12555 12556 2017-07-19 Tom de Vries <tom (a] codesourcery.com> 12557 12558 * testsuite/libgomp.oacc-c/vec.c: New test. 12559 12560 2017-07-03 Tom de Vries <tom (a] codesourcery.com> 12561 12562 * plugin/plugin-hsa.c: Fix secure_getenv.h include. 12563 12564 2017-06-27 Tom de Vries <tom (a] codesourcery.com> 12565 12566 * plugin/plugin-nvptx.c (notify_var): New function. 12567 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM. 12568 12569 2017-06-27 Tom de Vries <tom (a] codesourcery.com> 12570 12571 * env.c (parse_unsigned_long_1): Factor out of ... 12572 (parse_unsigned_long): ... here. 12573 (parse_int_1): Factor out of ... 12574 (parse_int): ... here. 12575 (parse_int_secure): New function. 12576 (initialize_env): Use parse_int_secure for GOMP_DEBUG. 12577 * secure_getenv.h: Factor out of ... 12578 * plugin/plugin-hsa.c: ... here. 12579 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test. 12580 12581 2017-06-21 Jakub Jelinek <jakub (a] redhat.com> 12582 12583 PR c++/81130 12584 * testsuite/libgomp.c++/pr81130.C: New test. 12585 12586 2017-06-17 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 12587 12588 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if 12589 default args. 12590 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove 12591 dg-xfail-run-if default args. 12592 12593 2017-06-02 Bernd Edlinger <bernd.edlinger (a] hotmail.de> 12594 12595 * testsuite/libgomp.c/pr39591-2.c: Fix test case. 12596 * testsuite/libgomp.c/pr39591-3.c: Likewise. 12597 12598 2017-05-30 Jakub Jelinek <jakub (a] redhat.com> 12599 12600 PR libgomp/80822 12601 * config/linux/affinity.c (gomp_affinity_init_level_1): New function. 12602 (gomp_affinity_init_level): Use it. Always analyze the core and thread 12603 sibling lists, depending on level just pick up what CPUs to put 12604 together into a place vs. whether add multiple ordered places. 12605 12606 2017-05-24 Thomas Schwinge <thomas (a] codesourcery.com> 12607 12608 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes. 12609 * libgomp.map (OACC_2.0.1): Add these. 12610 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases 12611 for "acc_wait", and "acc_wait_all", respectively. 12612 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces 12613 for "acc_wait", and "acc_wait_all", respectively. 12614 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise. 12615 * libgomp.texi (acc_wait, acc_wait_all): Update. 12616 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update. 12617 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file. 12618 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise. 12619 12620 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to 12621 acc_present_or_copyin and acc_present_or_create procedures, 12622 respectively. 12623 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and 12624 generally different variants of OpenACC Runtime Library functions. 12625 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise. 12626 12627 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file. 12628 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise. 12629 12630 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead 12631 of preprocessor definitions. 12632 * libgomp.h (strong_alias): Guard by "#ifdef 12633 HAVE_ATTRIBUTE_ALIAS". 12634 * oacc-mem.c: Provide "acc_pcreate" as alias for 12635 "acc_present_or_create", and "acc_pcopyin" as alias for 12636 "acc_present_or_copyin". 12637 * libgomp.map: New version "OACC_2.0.1". 12638 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate". 12639 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging 12640 its content into... 12641 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file. 12642 Extend testing. 12643 12644 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output 12645 when disabling nvptx offloading. 12646 12647 2017-05-23 Thomas Schwinge <thomas (a] codesourcery.com> 12648 12649 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update. 12650 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise. 12651 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise. 12652 12653 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite. 12654 * testsuite/lib/libgomp.exp 12655 (check_effective_target_openacc_nvidia_accel_configured): New 12656 proc. 12657 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c) 12658 (check_effective_target_c++): New procs. 12659 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c) 12660 (check_effective_target_c++): Likewise. 12661 12662 2017-05-22 Jakub Jelinek <jakub (a] redhat.com> 12663 12664 PR middle-end/80809 12665 * testsuite/libgomp.c/pr80809-2.c: New test. 12666 * testsuite/libgomp.c/pr80809-3.c: New test. 12667 12668 PR middle-end/80809 12669 * testsuite/libgomp.c/pr80809-1.c: New test. 12670 12671 PR middle-end/80853 12672 * testsuite/libgomp.c/pr80853.c: New test. 12673 12674 2017-05-19 Thomas Schwinge <thomas (a] codesourcery.com> 12675 12676 * testsuite/libgomp.oacc-c++/template-reduction.C: Update. 12677 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update. 12678 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise. 12679 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise. 12680 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise. 12681 12682 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions): 12683 Debug output for failure. 12684 12685 2017-05-12 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 12686 12687 * testsuite/lib/libgomp.exp: Load scanlang.exp. 12688 12689 2017-04-27 Jakub Jelinek <jakub (a] redhat.com> 12690 12691 PR bootstrap/80531 12692 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid 12693 bootstrap compare failures. 12694 12695 2017-04-20 Alexander Monakov <amonakov (a] ispras.ru> 12696 12697 * testsuite/libgomp.c/target-36.c: New testcase. 12698 12699 2017-04-13 Jakub Jelinek <jakub (a] redhat.com> 12700 12701 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type 12702 instead of char. 12703 12704 2017-04-11 Jakub Jelinek <jakub (a] redhat.com> 12705 12706 PR libgomp/80394 12707 * testsuite/libgomp.c/pr80394.c: New test. 12708 12709 2017-04-04 Jakub Jelinek <jakub (a] redhat.com> 12710 12711 PR libgomp/79876 12712 * config/posix/thread-stacksize.h: New file. 12713 * config/darwin/thread-stacksize.h: New file. 12714 * config/nvptx/thread-stacksize.h: New file. 12715 * env.c: Include thread-stacksize.h. 12716 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE 12717 instead of 0. Call pthread_attr_setstacksize even if 12718 GOMP_DEFAULT_STACKSIZE is non-zero. 12719 12720 2017-03-30 Jakub Jelinek <jakub (a] redhat.com> 12721 12722 * env.c (initialize_env): Initialize stacksize to 0. 12723 12724 2017-03-22 Cesar Philippidis <cesar (a] codesourcery.com> 12725 12726 PR c++/80029 12727 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test. 12728 12729 2017-03-08 Jakub Jelinek <jakub (a] redhat.com> 12730 12731 PR c/79940 12732 * testsuite/libgomp.c/pr79940.c: New test. 12733 12734 2017-02-15 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 12735 12736 * testsuite/libgomp.c/pr48591.c: Enable on all __float128 12737 targets. 12738 Add __float128 options. 12739 12740 2017-02-11 John David Anglin <danglin (a] gcc.gnu.org> 12741 12742 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove 12743 hppa*-*-* dg-skip-if directive. 12744 12745 2017-02-09 Jakub Jelinek <jakub (a] redhat.com> 12746 12747 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move 12748 dg-skip-if directive into a comment. 12749 12750 2017-02-09 Nathan Sidwell <nathan (a] codesourcery.com> 12751 Chung-Lin Tang <cltang (a] codesourcery.com> 12752 12753 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New. 12754 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and 12755 add additional case. 12756 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under 12757 "openacc_nvidia_accel_selected". 12758 * libgomp.oacc-fortran/nested-function-1.f90 (test2): 12759 Add num_workers(8) clause. 12760 12761 2017-02-08 John David Anglin <danglin (a] gcc.gnu.org> 12762 12763 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on 12764 hppa*-*-*. 12765 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't 12766 include complex.h on hppa*-*-hpux*. 12767 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise. 12768 12769 2017-02-02 Thomas Schwinge <thomas (a] codesourcery.com> 12770 12771 * plugin/plugin-nvptx.c (nvptx_exec): Make it static. 12772 12773 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to 12774 GOMP_OFFLOAD_openacc_exec. Adjust all users. 12775 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to 12776 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users. 12777 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to 12778 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users. 12779 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to 12780 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users. 12781 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to 12782 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users. 12783 12784 2017-01-31 Thomas Schwinge <thomas (a] codesourcery.com> 12785 12786 * libgomp-plugin.h: #include <stdbool.h>. 12787 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps) 12788 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices) 12789 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device) 12790 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image) 12791 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free) 12792 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev) 12793 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run) 12794 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel) 12795 (GOMP_OFFLOAD_openacc_register_async_cleanup) 12796 (GOMP_OFFLOAD_openacc_async_test) 12797 (GOMP_OFFLOAD_openacc_async_test_all) 12798 (GOMP_OFFLOAD_openacc_async_wait) 12799 (GOMP_OFFLOAD_openacc_async_wait_async) 12800 (GOMP_OFFLOAD_openacc_async_wait_all) 12801 (GOMP_OFFLOAD_openacc_async_wait_all_async) 12802 (GOMP_OFFLOAD_openacc_async_set_async) 12803 (GOMP_OFFLOAD_openacc_create_thread_data) 12804 (GOMP_OFFLOAD_openacc_destroy_thread_data) 12805 (GOMP_OFFLOAD_openacc_get_current_cuda_device) 12806 (GOMP_OFFLOAD_openacc_get_current_cuda_context) 12807 (GOMP_OFFLOAD_openacc_get_cuda_stream) 12808 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes. 12809 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use 12810 these. 12811 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image) 12812 (GOMP_OFFLOAD_unload_image): Fix argument types. 12813 12814 2017-01-26 Jakub Jelinek <jakub (a] redhat.com> 12815 12816 * testsuite/lib/libgomp.exp 12817 (check_effective_target_hsa_offloading_selected_nocache): Fix up 12818 check_compile invocation. Fix up removal of executable. Drop 12819 bogus "2>&1" argument. 12820 12821 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules 12822 directive. 12823 12824 2017-01-24 Pekka Jskelinen <pekka (a] parmance.com> 12825 Martin Jambor <mjambor (a] suse.cz> 12826 12827 * plugin/hsa.h: Moved to top level include. 12828 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly. 12829 12830 2017-01-21 Jakub Jelinek <jakub (a] redhat.com> 12831 12832 PR other/79046 12833 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead 12834 of cat to get version from BASE-VER file. 12835 * testsuite/Makefile.in: Regenerated. 12836 12837 2017-01-19 Jakub Jelinek <jakub (a] redhat.com> 12838 12839 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even 12840 for _WIN64. 12841 12842 2017-01-17 Jakub Jelinek <jakub (a] redhat.com> 12843 12844 * plugin/hsa.h: Add GCC runtime library exception. 12845 * plugin/hsa_ext_finalize.h: Likewise. 12846 12847 * plugin/configfrag.ac: For --without-cuda-driver don't initialize 12848 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both 12849 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small 12850 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use 12851 plugin/include/cuda as include dir and -ldl instead of -lcuda as 12852 library to link ptx plugin against. 12853 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC. 12854 (CUDA_CALLS): Define. 12855 (cuda_lib, cuda_lib_inited): New variables. 12856 (init_cuda_lib): New function. 12857 (CUDA_CALL_PREFIX): Define. 12858 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX. 12859 (CUDA_CALL): Use FN instead of (FN). 12860 (CUDA_CALL_NOCHECK): Define. 12861 (cuda_error, fini_streams_for_device, select_stream_for_async, 12862 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx, 12863 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all, 12864 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image, 12865 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use 12866 CUDA_CALL_NOCHECK. 12867 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use 12868 CUDA_CALL_NOCHECK. 12869 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0. 12870 Use CUDA_CALL_NOCHECK. 12871 * plugin/cuda/cuda.h: New file. 12872 * config.h.in: Regenerated. 12873 * configure: Regenerated. 12874 12875 PR other/79046 12876 * configure.ac: Add GCC_BASE_VER. 12877 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to 12878 get version from BASE-VER file. 12879 * testsuite/Makefile.in: Regenerated. 12880 * configure: Regenerated. 12881 * Makefile.in: Regenerated. 12882 12883 2017-01-09 Francois-Xavier Coudert <fxcoudert (a] gcc.gnu.org> 12884 12885 PR libgomp/60670 12886 * Makefile.am: Make fincludedir multilib-aware. 12887 * Makefile.in: Regenerate. 12888 12889 2017-01-01 Jakub Jelinek <jakub (a] redhat.com> 12890 12891 Update copyright years. 12892 12893 * libgomp.texi: Bump @copying's copyright year. 12894 12895 2016-12-02 Sebastian Huber <sebastian.huber (a] embedded-brains.de> 12896 12897 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use 12898 pthread_spinlock_t instead of gomp_mutex_t lock. 12899 (gomp_get_thread_pool): Likewise. 12900 (gomp_release_thread_pool): Likewise. 12901 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir): 12902 Likewise. 12903 12904 2016-12-02 Sebastian Huber <sebastian.huber (a] embedded-brains.de> 12905 12906 * config/rtems/pool.h (gomp_get_thread_pool): Return proper 12907 thread pool in case nthreads == 1. 12908 12909 2016-11-30 Alexander Monakov <amonakov (a] ispras.ru> 12910 12911 * config/nvptx/env.c: Delete. 12912 * icv.c: Move definitions of ICV variables back ... 12913 * env.c: ...here. Do not compile environment-related functionality if 12914 LIBGOMP_OFFLOADED_ONLY is set. 12915 12916 2016-11-30 Alexander Monakov <amonakov (a] ispras.ru> 12917 12918 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it... 12919 (LIBGOMP_OFFLOADED_ONLY): ...here; new define. 12920 * configure: Regenerate. 12921 * config.h.in: Likewise. 12922 12923 2016-11-30 Alexander Monakov <amonakov (a] ispras.ru> 12924 12925 * Makefile.in: Regenerate with automake-1.11.6. 12926 * aclocal.m4: Likewise. 12927 * configure: Likewise. 12928 * testsuite/Makefile.in: Likewise. 12929 12930 2016-11-28 Alexander Monakov <amonakov (a] ispras.ru> 12931 12932 * config/nvptx/critical.c: Delete to use generic implementation. 12933 12934 2016-11-28 Jonas Hahnfeld <Hahnfeld (a] itc.rwth-aachen.de> 12935 12936 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include 12937 ../../affinity.c as fallback. 12938 * config/nvptx/affinity.c: Delete to use fallback implementation. 12939 12940 2016-11-23 Alexander Monakov <amonakov (a] ispras.ru> 12941 Jakub Jelinek <jakub (a] redhat.com> 12942 Dmitry Melnik <dm (a] ispras.ru> 12943 12944 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c. 12945 * Makefile.in. Regenerate. 12946 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it... 12947 (LIBGOMP_USE_PTHREADS): ...here; new define. 12948 * configure: Regenerate. 12949 * config.h.in: Likewise. 12950 * config/posix/affinity.c: Move to... 12951 * affinity.c: ...here (new file). Guard use of Pthreads-specific 12952 interface by LIBGOMP_USE_PTHREADS. 12953 * critical.c: Split out GOMP_atomic_{start,end} into... 12954 * atomic.c: ...here (new file). 12955 * env.c: Split out ICV definitions into... 12956 * icv.c: ...here (new file) and... 12957 * icv-device.c: ...here. New file. 12958 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c. 12959 (gomp_destroy_lock_30): Ditto. 12960 (gomp_set_lock_30): Ditto. 12961 (gomp_unset_lock_30): Ditto. 12962 (gomp_test_lock_30): Ditto. 12963 (gomp_init_nest_lock_30): Ditto. 12964 (gomp_destroy_nest_lock_30): Ditto. 12965 (gomp_set_nest_lock_30): Ditto. 12966 (gomp_unset_nest_lock_30): Ditto. 12967 (gomp_test_nest_lock_30): Ditto. 12968 * lock.c: New. 12969 * config/nvptx/lock.c: New. 12970 * config/nvptx/bar.c: New. 12971 * config/nvptx/bar.h: New. 12972 * config/nvptx/doacross.h: New. 12973 * config/nvptx/error.c: New. 12974 * config/nvptx/icv-device.c: New. 12975 * config/nvptx/mutex.h: New. 12976 * config/nvptx/pool.h: New. 12977 * config/nvptx/proc.c: New. 12978 * config/nvptx/ptrlock.h: New. 12979 * config/nvptx/sem.h: New. 12980 * config/nvptx/simple-bar.h: New. 12981 * config/nvptx/target.c: New. 12982 * config/nvptx/task.c: New. 12983 * config/nvptx/team.c: New. 12984 * config/nvptx/time.c: New. 12985 * config/posix/simple-bar.h: New. 12986 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h. 12987 (gomp_num_teams_var): Declare. 12988 (struct gomp_thread_pool): Change threads_dock member to 12989 gomp_simple_barrier_t. 12990 [__nvptx__] (gomp_thread): New implementation. 12991 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS. 12992 (gomp_thread_destructor): Ditto. 12993 (gomp_init_thread_affinity): Ditto. 12994 * team.c: Guard uses of Pthreads-specific interfaces by 12995 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock. 12996 (gomp_free_thread) [__nvptx__]: Do not call 'free'. 12997 * config/nvptx/alloc.c: Delete. 12998 * config/nvptx/barrier.c: Ditto. 12999 * config/nvptx/fortran.c: Ditto. 13000 * config/nvptx/iter.c: Ditto. 13001 * config/nvptx/iter_ull.c: Ditto. 13002 * config/nvptx/loop.c: Ditto. 13003 * config/nvptx/loop_ull.c: Ditto. 13004 * config/nvptx/ordered.c: Ditto. 13005 * config/nvptx/parallel.c: Ditto. 13006 * config/nvptx/priority_queue.c: Ditto. 13007 * config/nvptx/sections.c: Ditto. 13008 * config/nvptx/single.c: Ditto. 13009 * config/nvptx/splay-tree.c: Ditto. 13010 * config/nvptx/work.c: Ditto. 13011 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass 13012 -foffload=-lgfortran in addition to -lgfortran. 13013 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto. 13014 * plugin/plugin-nvptx.c: Include <limits.h>. 13015 (struct targ_fn_descriptor): Add new fields. 13016 (struct ptx_device): Ditto. Set them... 13017 (nvptx_open_device): ...here. 13018 (nvptx_adjust_launch_bounds): New. 13019 (nvptx_host2dev): Allow NULL 'nvthd'. 13020 (nvptx_dev2host): Ditto. 13021 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400. 13022 (link_ptx): Adjust log sizes. 13023 (nvptx_host2dev): Allow NULL 'nvthd'. 13024 (nvptx_dev2host): Ditto. 13025 (nvptx_set_clocktick): New. Use it... 13026 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor 13027 fields. 13028 (GOMP_OFFLOAD_dev2dev): New. 13029 (nvptx_adjust_launch_bounds): New. 13030 (nvptx_stacks_size): New. 13031 (nvptx_stacks_alloc): New. 13032 (nvptx_stacks_free): New. 13033 (GOMP_OFFLOAD_run): New. 13034 (GOMP_OFFLOAD_async_run): New (stub). 13035 13036 2016-11-23 Martin Jambor <mjambor (a] suse.cz> 13037 13038 * testsuite/libgomp.hsa.c/bits-insns.c: New test. 13039 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise. 13040 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise. 13041 13042 2016-11-23 Martin Liska <mliska (a] suse.cz> 13043 Martin Jambor <mjambor (a] suse.cz> 13044 13045 * plugin/hsa.h: New file. 13046 * plugin/hsa_ext_finalize.h: New file. 13047 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for 13048 header file unistd.h, and functions secure_getenv, __secure_getenv, 13049 getuid, geteuid, getgid and getegid. 13050 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added 13051 -D_GNU_SOURCE. 13052 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h. 13053 Handle various cases of secure_getenv presence, add an implementation 13054 when we can test effective UID and GID. 13055 (struct hsa_runtime_fn_info): New structure. 13056 (hsa_runtime_fn_info hsa_fns): New variable. 13057 (hsa_runtime_lib): Likewise. 13058 (support_cpu_devices): Likewise. 13059 (init_enviroment_variables): Load newly introduced ENV 13060 variables. 13061 (hsa_warn): Call hsa run-time functions via hsa_fns structure. 13062 (hsa_fatal): Likewise. 13063 (DLSYM_FN): New macro. 13064 (init_hsa_runtime_functions): New function. 13065 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns 13066 structure. Depending on environment, also allow CPU devices. 13067 (init_hsa_context): Call hsa run-time functions via hsa_fns structure. 13068 (get_kernarg_memory_region): Likewise. 13069 (GOMP_OFFLOAD_init_device): Likewise. 13070 (destroy_hsa_program): Likewise. 13071 (init_basic_kernel_info): New function. 13072 (GOMP_OFFLOAD_load_image): Use it. 13073 (create_and_finalize_hsa_program): Call hsa run-time functions via 13074 hsa_fns structure. 13075 (create_single_kernel_dispatch): Likewise. 13076 (release_kernel_dispatch): Likewise. 13077 (init_single_kernel): Likewise. 13078 (parse_target_attributes): Allow up multiple HSA grid dimensions. 13079 (get_group_size): New function. 13080 (run_kernel): Likewise. 13081 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel. 13082 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns 13083 structure. 13084 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support. 13085 * testsuite/libgomp-test-support.exp.in: Likewise. 13086 * Makefile.in: Regenerated. 13087 * aclocal.m4: Likewise. 13088 * config.h.in: Likewise. 13089 * configure: Likewise. 13090 * testsuite/Makefile.in: Likewise. 13091 13092 2016-11-15 Martin Jambor <mjambor (a] suse.cz> 13093 Alexander Monakov <amonakov (a] ispras.ru> 13094 13095 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add 13096 mapping clauses to target constructs. 13097 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto. 13098 13099 2016-11-15 Matthias Klose <doko (a] ubuntu.com> 13100 13101 * configure: Regenerate. 13102 13103 2016-11-10 Jakub Jelinek <jakub (a] redhat.com> 13104 13105 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307. 13106 * omp_lib.h.in (openmp_version): Likewise. 13107 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead 13108 of 201307. 13109 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise. 13110 13111 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90 13112 (fib_wrapper): Add map(from: x) clause. 13113 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90 13114 (e_53_2): Likewise. 13115 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90 13116 (accum): Add map(tmp) clause. 13117 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90 13118 (accum): Add map(tofrom: tmp) clause. 13119 * testsuite/libgomp.fortran/examples-4/target_data-3.f90 13120 (gramSchmidt): Likewise. 13121 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add 13122 map(tofrom: sum) clause. 13123 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice 13124 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause. 13125 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause 13126 only allowed on the loop iterator. 13127 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause. 13128 * testsuite/libgomp.fortran/taskloop2.f90: New test. 13129 * testsuite/libgomp.fortran/taskloop4.f90: New test. 13130 * testsuite/libgomp.fortran/doacross1.f90: New test. 13131 * testsuite/libgomp.fortran/doacross3.f90: New test. 13132 * testsuite/libgomp.fortran/taskloop1.f90: New test. 13133 * testsuite/libgomp.fortran/taskloop3.f90: New test. 13134 * testsuite/libgomp.fortran/doacross2.f90: New test. 13135 * testsuite/libgomp.c/doacross-1.c (main): Add missing 13136 #pragma omp atomic read. 13137 * testsuite/libgomp.c/doacross-2.c (main): Likewise. 13138 * testsuite/libgomp.c/doacross-3.c (main): Likewise. 13139 13140 2016-11-02 Cesar Philippidis <cesar (a] codesourcery.com> 13141 Nathan Sidwell <nathan (a] acm.org> 13142 13143 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes 13144 to determine default geometry. 13145 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang 13146 dimension. 13147 13148 2016-11-01 Jakub Jelinek <jakub (a] redhat.com> 13149 13150 * hashtab.h: Use standard GPLv3 with runtime exception 13151 boilerplate. 13152 13153 2016-10-27 Aldy Hernandez <aldyh (a] redhat.com> 13154 13155 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate 13156 size when allocating new thread. 13157 13158 2016-09-14 Marek Polacek <polacek (a] redhat.com> 13159 13160 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated. 13161 13162 2016-08-19 Jakub Jelinek <jakub (a] redhat.com> 13163 13164 PR fortran/71014 13165 * testsuite/libgomp.fortran/pr71014.f90: New test. 13166 13167 2016-08-18 Chung-Lin Tang <cltang (a] codesourcery.com> 13168 13169 PR middle-end/70895 13170 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit 13171 firstprivate clauses. 13172 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit 13173 copy clauses. 13174 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise. 13175 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise. 13176 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise. 13177 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise. 13178 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise. 13179 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise. 13180 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise. 13181 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise. 13182 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise. 13183 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise. 13184 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise. 13185 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise. 13186 13187 2016-08-14 Chung-Lin Tang <cltang (a] codesourcery.com> 13188 13189 PR fortran/70598 13190 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test. 13191 13192 2016-08-08 Jakub Jelinek <jakub (a] redhat.com> 13193 13194 PR c++/58706 13195 * testsuite/libgomp.c++/pr58706.C: New test. 13196 13197 2016-08-04 Thomas Schwinge <thomas (a] codesourcery.com> 13198 13199 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file. 13200 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise. 13201 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C: 13202 Likewise. 13203 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise. 13204 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: 13205 Likewise. 13206 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust. 13207 13208 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link" 13209 test, and don't hardcode -O0. 13210 13211 2016-08-03 Nathan Sidwell <nathan (a] codesourcery.com> 13212 13213 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New. 13214 13215 2016-07-15 Cesar Philippidis <cesar (a] codesourcery.com> 13216 13217 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New 13218 test. 13219 13220 2016-07-03 H.J. Lu <hongjiu.lu (a] intel.com> 13221 13222 PR middle-end/71734 13223 * testsuite/libgomp.fortran/pr71734-1.f90: New test. 13224 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise. 13225 13226 2016-07-01 Jakub Jelinek <jakub (a] redhat.com> 13227 13228 PR fortran/71717 13229 * testsuite/libgomp.fortran/associate3.f90: New test. 13230 13231 2016-06-17 Jakub Jelinek <jakub (a] redhat.com> 13232 13233 * testsuite/libgomp.c++/target-21.C: New test. 13234 13235 2016-06-16 Jakub Jelinek <jakub (a] redhat.com> 13236 13237 * testsuite/libgomp.c++/target-20.C: New test. 13238 13239 2016-06-10 Thomas Schwinge <thomas (a] codesourcery.com> 13240 Cesar Philippidis <cesar (a] codesourcery.com> 13241 13242 PR middle-end/71373 13243 * libgomp.oacc-c/nested-function-1.c: New file. 13244 * libgomp.oacc-c/nested-function-2.c: Likewise. 13245 * libgomp.oacc-fortran/nested-function-1.f90: Likewise. 13246 * libgomp.oacc-fortran/nested-function-2.f90: Likewise. 13247 * libgomp.oacc-fortran/nested-function-3.f90: Likewise. 13248 13249 2016-06-10 Thomas Schwinge <thomas (a] codesourcery.com> 13250 13251 PR c/71381 13252 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include 13253 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c". 13254 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file. 13255 13256 2016-06-03 Chung-Lin Tang <cltang (a] codesourcery.com> 13257 13258 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase. 13259 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase. 13260 13261 2016-06-01 Cesar Philippidis <cesar (a] codesourcery.com> 13262 13263 PR c/70688 13264 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file. 13265 13266 2016-05-26 Jakub Jelinek <jakub (a] redhat.com> 13267 13268 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static) 13269 instead of invalid schedule(static, 0). 13270 * testsuite/libgomp.c/doacross-2.c (main): Likewise. 13271 13272 2016-05-26 Chung-Lin Tang <cltang (a] codesourcery.com> 13273 13274 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter. 13275 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async' 13276 parameter, use to set async stream around call to gomp_unmap_vars, 13277 call gomp_unmap_vars() with 'do_copyfrom' set to true. 13278 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field. 13279 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP 13280 events and call GOMP_PLUGIN_async_unmap_vars() for each of them. 13281 (event_add): Add int parameter, initialize 'val' field when 13282 adding new ptx_event struct. 13283 (nvptx_evec): Adjust event_add() call arguments. 13284 (nvptx_host2dev): Likewise. 13285 (nvptx_dev2host): Likewise. 13286 (nvptx_wait_async): Likewise. 13287 (nvptx_wait_all_async): Likewise. 13288 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter, 13289 pass to event_add() call. 13290 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async' 13291 parameter. 13292 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to 13293 call openacc.register_async_cleanup_func() hook. 13294 * oacc-parallel.c (GOACC_parallel_keyed): Likewise. 13295 * target.c (gomp_copy_from_async): Delete function. 13296 (gomp_map_vars): Remove async_refcount. 13297 (gomp_unmap_vars): Likewise. 13298 (gomp_load_image_to_device): Likewise. 13299 (omp_target_associate_ptr): Likewise. 13300 * libgomp.h (struct splay_tree_key_s): Remove async_refcount. 13301 (acc_dispatch_t.register_async_cleanup_func): Add int parameter. 13302 (gomp_copy_from_async): Remove. 13303 13304 2016-05-26 Chung-Lin Tang <cltang (a] codesourcery.com> 13305 13306 * target.c (gomp_device_copy): New function. 13307 (gomp_copy_host2dev): Likewise. 13308 (gomp_copy_dev2host): Likewise. 13309 (gomp_free_device_memory): Likewise. 13310 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev. 13311 (gomp_map_pointer): Likewise. 13312 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle 13313 NULL value from alloc_func plugin hook. 13314 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory. 13315 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host. 13316 (gomp_unmap_vars): Likewise. 13317 (gomp_update): Adjust to call gomp_copy_dev2host and 13318 gomp_copy_host2dev functions. 13319 (gomp_unload_image_from_device): Handle false value from 13320 unload_image_func plugin hook. 13321 (gomp_init_device): Handle false value from init_device_func 13322 plugin hook. 13323 (gomp_exit_data): Adjust to call gomp_copy_dev2host. 13324 (omp_target_free): Adjust to call gomp_free_device_memory. 13325 (omp_target_memcpy): Handle return values from host2dev_func, 13326 dev2host_func, and dev2dev_func plugin hooks. 13327 (omp_target_memcpy_rect_worker): Likewise. 13328 (gomp_target_fini): Handle false value from fini_device_func 13329 plugin hook. 13330 * libgomp.h (struct gomp_device_descr): Adjust return type of 13331 init_device_func, fini_device_func, unload_image_func, free_func, 13332 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'. 13333 * oacc-init.c (acc_shutdown_1): Handle false value from 13334 fini_device_func plugin hook. 13335 * oacc-host.c (host_init_device): Change return type to bool. 13336 (host_fini_device): Likewise. 13337 (host_unload_image): Likewise. 13338 (host_free): Likewise. 13339 (host_dev2host): Likewise. 13340 (host_host2dev): Likewise. 13341 * oacc-mem.c (acc_free): Handle plugin hook fatal error case. 13342 (acc_memcpy_to_device): Likewise. 13343 (acc_memcpy_from_device): Likewise. 13344 (delete_copyout): Add libfnname parameter, handle free_func 13345 hook fatal error case. 13346 (acc_delete): Adjust delete_copyout call. 13347 (acc_copyout): Likewise. 13348 (update_dev_host): Move gomp_mutex_unlock to after 13349 host2dev/dev2host hook calls. 13350 13351 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable 13352 to 'hsa_error_msg', for clarity. 13353 (hsa_fatal): Likewise. 13354 (hsa_error): New function. 13355 (init_hsa_context): Change return type to bool, adjust to return 13356 false on error. 13357 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context 13358 return value. 13359 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to 13360 return false on error. 13361 (get_agent_info): Adjust to return NULL on error. 13362 (destroy_hsa_program): Change return type to bool, adjust to 13363 return false on error. 13364 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error. 13365 (destroy_module): Change return type to bool, adjust to 13366 return false on error. 13367 (GOMP_OFFLOAD_unload_image): Likewise. 13368 (GOMP_OFFLOAD_fini_device): Likewise. 13369 (GOMP_OFFLOAD_alloc): Change to return NULL when called. 13370 (GOMP_OFFLOAD_free): Change to return false when called. 13371 (GOMP_OFFLOAD_dev2host): Likewise. 13372 (GOMP_OFFLOAD_host2dev): Likewise. 13373 (GOMP_OFFLOAD_dev2dev): Likewise. 13374 13375 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro. 13376 (CUDA_CALL): Likewise. 13377 (CUDA_CALL_ASSERT): Likewise. 13378 (map_init): Change return type to bool, use CUDA_CALL* macros. 13379 (map_fini): Likewise. 13380 (init_streams_for_device): Change return type to bool, adjust 13381 call to map_init. 13382 (fini_streams_for_device): Change return type to bool, adjust 13383 call to map_fini. 13384 (select_stream_for_async): Release stream_lock before calls to 13385 GOMP_PLUGIN_fatal, adjust call to map_init. 13386 (nvptx_init): Use CUDA_CALL* macros. 13387 (nvptx_attach_host_thread_to_device): Change return type to bool, 13388 use CUDA_CALL* macros. 13389 (nvptx_open_device): Use CUDA_CALL* macros. 13390 (nvptx_close_device): Change return type to bool, use CUDA_CALL* 13391 macros. 13392 (nvptx_get_num_devices): Use CUDA_CALL* macros. 13393 (link_ptx): Change return type to bool, use CUDA_CALL* macros. 13394 (nvptx_exec): Use CUDA_CALL* macros. 13395 (nvptx_alloc): Use CUDA_CALL* macros. 13396 (nvptx_free): Change return type to bool, use CUDA_CALL* macros. 13397 (nvptx_host2dev): Likewise. 13398 (nvptx_dev2host): Likewise. 13399 (nvptx_wait): Use CUDA_CALL* macros. 13400 (nvptx_wait_async): Likewise. 13401 (nvptx_wait_all): Likewise. 13402 (nvptx_wait_all_async): Likewise. 13403 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire, 13404 use CUDA_CALL* macros, adjust call to map_fini. 13405 (GOMP_OFFLOAD_init_device): Change return type to bool, 13406 adjust code accordingly. 13407 (GOMP_OFFLOAD_fini_device): Likewise. 13408 (GOMP_OFFLOAD_load_image): Adjust calls to 13409 nvptx_attach_host_thread_to_device/link_ptx to handle errors, 13410 use CUDA_CALL* macros. 13411 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust 13412 return code. 13413 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return. 13414 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to 13415 handle error return. 13416 (GOMP_OFFLOAD_dev2host): Likewise. 13417 (GOMP_OFFLOAD_host2dev): Likewise. 13418 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros. 13419 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise. 13420 13421 2016-05-24 Cesar Philippidis <cesar (a] codesourcery.com> 13422 13423 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets. 13424 (acc_free): Likewise. 13425 (acc_memcpy_to_device): Likewise. 13426 (acc_memcpy_from_device): Likewise. 13427 (acc_deviceptr): Likewise. 13428 (acc_hostptr): Likewise. 13429 (acc_is_present): Likewise. 13430 (acc_map_data): Likewise. 13431 (acc_unmap_data): Likewise. 13432 (present_create_copy): Likewise. 13433 (delete_copyout): Likewise. 13434 (update_dev_host): Likewise. 13435 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail. 13436 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test. 13437 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test. 13438 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise. 13439 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test. 13440 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that 13441 it only runs on nvptx targets. 13442 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise. 13443 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise. 13444 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise. 13445 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise. 13446 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise. 13447 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise. 13448 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise. 13449 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise. 13450 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. 13451 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise. 13452 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise. 13453 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise. 13454 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise. 13455 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise. 13456 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise. 13457 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. 13458 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise. 13459 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise. 13460 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise. 13461 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise. 13462 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise. 13463 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise. 13464 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise. 13465 13466 2016-05-23 Martin Jambor <mjambor (a] suse.cz> 13467 13468 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test. 13469 13470 2016-05-17 Chung-Lin Tang <cltang (a] codesourcery.com> 13471 13472 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call 13473 to gomp_init_targets_once. 13474 (acc_set_device_type): Remove !cached_base_dev condition on call to 13475 gomp_init_targets_once, move call to before acc_device_lock acquire, 13476 to avoid deadlock. 13477 (acc_get_device_num): Remove !cached_base_dev condition on call to 13478 gomp_init_targets_once. 13479 (acc_set_device_num): Likewise. 13480 13481 2016-05-16 Martin Jambor <mjambor (a] suse.cz> 13482 13483 * testsuite/libgomp.hsa.c/complex-align-2.c: New test. 13484 13485 2016-05-02 Nathan Sidwell <nathan (a] codesourcery.com> 13486 13487 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust 13488 expected partitioning. 13489 13490 2016-04-29 Cesar Philippidis <cesar (a] codesourcery.com> 13491 13492 PR middle-end/70626 13493 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test. 13494 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test. 13495 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test. 13496 13497 2016-04-21 Alexander Monakov <amonakov (a] ispras.ru> 13498 13499 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error 13500 non-fatal. 13501 13502 2016-04-19 Jakub Jelinek <jakub (a] redhat.com> 13503 13504 PR middle-end/70680 13505 * testsuite/libgomp.c/pr70680-1.c: New test. 13506 * testsuite/libgomp.c/pr70680-2.c: New test. 13507 13508 2016-04-14 Cesar Philippidis <cesar (a] codesourcery.com> 13509 13510 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't 13511 pass parameter variables to subroutines. 13512 13513 2016-04-14 Cesar Philippidis <cesar (a] codesourcery.com> 13514 13515 PR middle-end/70643 13516 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test. 13517 13518 2016-04-13 Cesar Philippidis <cesar (a] codesourcery.com> 13519 13520 PR testsuite/68242 13521 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test. 13522 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise. 13523 13524 2016-04-12 Thomas Schwinge <thomas (a] codesourcery.com> 13525 13526 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to 13527 GOACC_parallel_keyed, restore GOACC_parallel prototype, new 13528 GOACC_declare prototype. 13529 13530 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: 13531 Merge this file, and... 13532 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c: 13533 ... this file, and... 13534 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: 13535 ... this file, and... 13536 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: 13537 ... this file, and... 13538 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: 13539 ... this file, and... 13540 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: 13541 ... this file, and... 13542 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: 13543 ... this file, and... 13544 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: 13545 ... this file, and... 13546 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: 13547 ... this file, and... 13548 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: 13549 ... this file, and... 13550 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: 13551 ... this file, and... 13552 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: 13553 ... this file, and... 13554 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: 13555 ... this file into... 13556 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this 13557 file. 13558 13559 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: 13560 Make failure observable. 13561 13562 2016-04-12 Jakub Jelinek <jakub (a] redhat.com> 13563 13564 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies 13565 field. 13566 * target.c (gomp_target_fallback_firstprivate, 13567 gomp_target_unshare_firstprivate): Removed. 13568 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory 13569 before waiting for dependencies. 13570 (gomp_target_task_fn): Don't copy firstprivate vars here. 13571 * task.c (GOMP_PLUGIN_target_task_completion): Don't free 13572 firstprivate_copies here. 13573 (gomp_create_target_task): Don't initialize firstprivate_copies field. 13574 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of 13575 explicit/implicit firstprivate. 13576 13577 2016-04-08 Cesar Philippidis <cesar (a] codesourcery.com> 13578 13579 PR lto/70289 13580 PR ipa/70348 13581 PR tree-optimization/70373 13582 PR middle-end/70533 13583 PR middle-end/70534 13584 PR middle-end/70535 13585 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New 13586 test. 13587 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New 13588 test. 13589 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New 13590 test. 13591 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New 13592 test. 13593 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New 13594 test. 13595 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New 13596 test. 13597 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New 13598 test. 13599 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New 13600 test. 13601 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New 13602 test. 13603 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test. 13604 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test. 13605 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test. 13606 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New 13607 test. 13608 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New 13609 test. 13610 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New 13611 test. 13612 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New 13613 test. 13614 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test 13615 coverage. 13616 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise. 13617 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise. 13618 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test. 13619 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test. 13620 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test. 13621 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test 13622 coverage. 13623 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise. 13624 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise. 13625 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise. 13626 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise. 13627 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test. 13628 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test. 13629 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test. 13630 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test. 13631 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage. 13632 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise. 13633 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise. 13634 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise. 13635 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise. 13636 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. 13637 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test. 13638 13639 2016-03-30 Thomas Schwinge <thomas (a] codesourcery.com> 13640 James Norris <jnorris (a] codesourcery.com> 13641 Nathan Sidwell <nathan (a] codesourcery.com> 13642 Julian Brown <julian (a] codesourcery.com> 13643 Cesar Philippidis <cesar (a] codesourcery.com> 13644 Chung-Lin Tang <cltang (a] codesourcery.com> 13645 Tom de Vries <tom (a] codesourcery.com> 13646 13647 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update. 13648 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise. 13649 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise. 13650 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise. 13651 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise. 13652 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise. 13653 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise. 13654 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise. 13655 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise. 13656 XFAIL. 13657 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update. 13658 Incorporate... 13659 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this 13660 file. 13661 * testsuite/libgomp.oacc-c++/template-reduction.C: New file. 13662 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise. 13663 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise. 13664 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c: 13665 Likewise. 13666 * testsuite/libgomp.oacc-c-c++-common/private-variables.c: 13667 Likewise. 13668 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise. 13669 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise. 13670 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise. 13671 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise. 13672 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise. 13673 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise. 13674 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise. 13675 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise. 13676 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise. 13677 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: 13678 Likewise. 13679 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise. 13680 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise. 13681 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this 13682 file... 13683 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this 13684 file into... 13685 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new 13686 file. Update. 13687 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New 13688 file. 13689 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c: 13690 Likewise. 13691 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to... 13692 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c: 13693 ... this new file. Update. 13694 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to... 13695 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c: 13696 ... this new file. Update. 13697 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New 13698 file. Incorporate... 13699 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this 13700 file, and... 13701 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this 13702 file, and... 13703 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this 13704 file. 13705 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file. 13706 13707 2016-03-29 Thomas Schwinge <thomas (a] codesourcery.com> 13708 13709 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call 13710 set-torture-options. 13711 13712 2016-03-24 Thomas Schwinge <thomas (a] codesourcery.com> 13713 13714 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use 13715 gcc-dg-runtest. 13716 * testsuite/libgomp.oacc-c/c.exp: Likewise. 13717 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify 13718 -fno-builtin-acc_on_device instead of -O0. 13719 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for 13720 -O0. 13721 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise. 13722 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: 13723 Likewise. 13724 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise. 13725 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise. 13726 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise. 13727 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise. 13728 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise. 13729 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise. 13730 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise. 13731 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise. 13732 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise. 13733 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise. 13734 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise. 13735 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise. 13736 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise. 13737 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise. 13738 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise. 13739 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise. 13740 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise. 13741 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c: 13742 Don't specify -O2. 13743 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c: 13744 Likewise. 13745 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c: 13746 Likewise. 13747 13748 2016-03-24 Martin Liska <mliska (a] suse.cz> 13749 13750 * plugin/plugin-hsa.c (packet_store_release): New function 13751 that is taken from the HSA runtime manual. 13752 (GOMP_OFFLOAD_run): Use the function. 13753 13754 2016-03-23 Jakub Jelinek <jakub (a] redhat.com> 13755 13756 PR c++/70376 13757 * testsuite/libgomp.c++/pr70376.C: New test. 13758 13759 2016-03-23 Tom de Vries <tom (a] codesourcery.com> 13760 13761 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing 13762 initialization of lresult and lvresult. 13763 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same. 13764 13765 2016-03-23 James Norris <jnorris (a] codesourcery.com> 13766 Daichi Fukuoka <dc-fukuoka (a] sgi.com> 13767 13768 PR libgomp/69414 13769 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address. 13770 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests. 13771 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise. 13772 * testsuite/libgomp.oacc-fortran/update-1.f90: New file. 13773 13774 2016-03-23 Martin Liska <mliska (a] suse.cz> 13775 13776 PR hsa/70337 13777 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow 13778 argument just in case a dispatched kernel uses that argument. 13779 13780 2016-03-16 Thomas Schwinge <thomas (a] codesourcery.com> 13781 13782 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to 13783 -ftree-parallelize-loops/-fopenacc changes. 13784 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: 13785 Likewise. 13786 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: 13787 Likewise. 13788 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: 13789 Likewise. 13790 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: 13791 Likewise. 13792 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise. 13793 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise. 13794 13795 2016-03-13 Thomas Schwinge <thomas (a] codesourcery.com> 13796 13797 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to 13798 always_ld_library_path the path to libgcc_s. 13799 13800 2016-03-10 Cesar Philippidis <cesar (a] codesourcery.com> 13801 13802 PR testsuite/70009 13803 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed. 13804 13805 2016-03-09 Tom de Vries <tom (a] codesourcery.com> 13806 13807 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test. 13808 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same. 13809 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: 13810 Same. 13811 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same. 13812 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same. 13813 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same. 13814 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same. 13815 13816 2016-03-07 Martin Jambor <mjambor (a] suse.cz> 13817 13818 * testsuite/lib/libgomp.exp 13819 (check_effective_target_hsa_offloading_selected_nocache): New. 13820 (check_effective_target_hsa_offloading_selected): Likewise. 13821 * testsuite/libgomp.hsa.c/c.exp: Likewise. 13822 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise. 13823 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise. 13824 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise. 13825 * testsuite/libgomp.hsa.c/complex-1.c: Likewise. 13826 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise. 13827 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise. 13828 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise. 13829 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise. 13830 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise. 13831 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise. 13832 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise. 13833 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise. 13834 * testsuite/libgomp.hsa.c/pr69568.c: Likewise. 13835 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise. 13836 * testsuite/libgomp.hsa.c/switch-1.c: Likewise. 13837 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise. 13838 13839 2016-03-07 Martin Jambor <mjambor (a] suse.cz> 13840 13841 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on 13842 non-shared memory accelerators. 13843 * testsuite/libgomp.c/examples-4/device-1.c: Likewise. 13844 * testsuite/libgomp.c/examples-4/target-5.c: Likewise. 13845 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise. 13846 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise. 13847 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise. 13848 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise. 13849 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise. 13850 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise. 13851 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise. 13852 13853 2016-03-07 Martin Jambor <mjambor (a] suse.cz> 13854 13855 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to 13856 ALWAYS_CFLAGS. 13857 13858 2016-03-02 Jakub Jelinek <jakub (a] redhat.com> 13859 13860 PR libgomp/69555 13861 * testsuite/libgomp.c++/pr69555-1.C: New test. 13862 * testsuite/libgomp.c++/pr69555-2.C: New test. 13863 13864 2016-02-26 Keith McDaniel <k.allen.mcdaniel (a] gmail.com> 13865 Martin Jambor <mjambor (a] suse.cz> 13866 13867 * testsuite/lib/libgomp.exp 13868 (check_effective_target_offload_device_shared_as): New proc. 13869 * testsuite/libgomp.c++/declare_target-1.C: New test. 13870 13871 2016-02-25 Ilya Verbin <ilya.verbin (a] intel.com> 13872 13873 PR driver/68463 13874 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove. 13875 13876 2016-02-23 Thomas Schwinge <thomas (a] codesourcery.com> 13877 13878 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims. 13879 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for 13880 dims. 13881 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to 13882 -ftree-parallelize-loops/-fopenacc changes. 13883 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise. 13884 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: 13885 Likewise. 13886 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: 13887 Likewise. 13888 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: 13889 Likewise. 13890 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: 13891 Likewise. 13892 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: 13893 Likewise. 13894 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: 13895 Likewise. 13896 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: 13897 Likewise. 13898 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise. 13899 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: 13900 Likewise. 13901 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise. 13902 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: 13903 Likewise. 13904 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise. 13905 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: 13906 Likewise. 13907 13908 2016-02-22 Cesar Philippidis <cesar (a] codesourcery.com> 13909 13910 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test. 13911 13912 2016-02-19 Jakub Jelinek <jakub (a] redhat.com> 13913 13914 PR driver/69805 13915 * testsuite/libgomp.c/pr69805.c: New test. 13916 13917 2016-02-16 Tom de Vries <tom (a] codesourcery.com> 13918 13919 PR lto/67709 13920 * testsuite/libgomp.fortran/declare-simd-4.f90: New test. 13921 13922 2016-02-09 Tom de Vries <tom (a] codesourcery.com> 13923 13924 PR tree-optimization/69599 13925 * testsuite/libgomp.c/omp-nested-3.c: New test. 13926 * testsuite/libgomp.c/pr46032-2.c: New test. 13927 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test. 13928 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test. 13929 13930 2016-02-09 Tom de Vries <tom (a] codesourcery.com> 13931 13932 PR lto/69707 13933 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test. 13934 13935 2016-02-02 Alexander Monakov <amonakov (a] ispras.ru> 13936 13937 * testsuite/libgomp.c/target-31.c: Fix testcase. 13938 13939 2016-02-02 Alexander Monakov <amonakov (a] ispras.ru> 13940 13941 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction 13942 clause. 13943 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise. 13944 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing 13945 reduction and map clauses. 13946 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise. 13947 13948 2016-02-02 James Norris <jnorris (a] codesourcery.com> 13949 13950 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause. 13951 13952 2016-02-02 Thomas Schwinge <thomas (a] codesourcery.com> 13953 13954 * libgomp.map (GOACC_2.0): Remove GOACC_host_data. 13955 * oacc-parallel.c (GOACC_host_data): Remove function definition. 13956 13957 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test 13958 cases. 13959 13960 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New 13961 variables. 13962 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib) 13963 (hsa_kmt_lib): Set variables. 13964 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend 13965 always_ld_library_path. 13966 * Makefile.in: Regenerate. 13967 * configure: Likewise. 13968 * testsuite/Makefile.in: Likewise. 13969 13970 * plugin/configfrag.ac (offload_additional_options) 13971 (offload_additional_lib_paths): Don't amend for hsa offloading. 13972 * configure: Regenerate. 13973 13974 * plugin/configfrag.ac: Don't configure for offloading target if 13975 we don't build the corresponding plugin. 13976 * configure: Regenerate. 13977 13978 2016-02-01 Nathan Sidwell <nathan (a] codesourcery.com> 13979 13980 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New. 13981 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop. 13982 13983 2016-01-26 Tom de Vries <tom (a] codesourcery.com> 13984 13985 PR tree-optimization/69110 13986 * testsuite/libgomp.c/pr69110.c: New test. 13987 13988 2016-01-25 Richard Biener <rguenther (a] suse.de> 13989 13990 PR lto/69393 13991 * testsuite/libgomp.c++/pr69393.C: New testcase. 13992 13993 2016-01-22 Ilya Verbin <ilya.verbin (a] intel.com> 13994 13995 * target.c (gomp_get_target_fn_addr): Allow host fallback if target 13996 function wasn't mapped to the device with non-shared memory. 13997 13998 2016-01-20 Ilya Verbin <ilya.verbin (a] intel.com> 13999 14000 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL. 14001 14002 2016-01-19 Martin Jambor <mjambor (a] suse.cz> 14003 Martin Liska <mliska (a] suse.cz> 14004 14005 * plugin/Makefrag.am: Add HSA plugin requirements. 14006 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable. 14007 (HSA_RUNTIME_LIB): Likewise. 14008 (HSA_RUNTIME_CPPFLAGS): Likewise. 14009 (HSA_RUNTIME_INCLUDE): New substitution. 14010 (HSA_RUNTIME_LIB): Likewise. 14011 (HSA_RUNTIME_LDFLAGS): Likewise. 14012 (hsa-runtime): New configure option. 14013 (hsa-runtime-include): Likewise. 14014 (hsa-runtime-lib): Likewise. 14015 (PLUGIN_HSA): New substitution variable. 14016 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new 14017 configure options. 14018 (PLUGIN_HSA_CPPFLAGS): Likewise. 14019 (PLUGIN_HSA_LDFLAGS): Likewise. 14020 (PLUGIN_HSA_LIBS): Likewise. 14021 Check that we have access to HSA run-time. 14022 * libgomp-plugin.h (offload_target_type): New element 14023 OFFLOAD_TARGET_TYPE_HSA. 14024 * libgomp.h (gomp_target_task): New fields firstprivate_copies and 14025 args. 14026 (bool gomp_create_target_task): Updated. 14027 (gomp_device_descr): Extra parameter of run_func and async_run_func, 14028 new field can_run_func. 14029 * libgomp_g.h (GOMP_target_ext): Update prototype. 14030 * oacc-host.c (host_run): Added a new parameter args. 14031 * target.c (calculate_firstprivate_requirements): New function. 14032 (copy_firstprivate_data): Likewise. 14033 (gomp_target_fallback_firstprivate): Use them. 14034 (gomp_target_unshare_firstprivate): New function. 14035 (gomp_get_target_fn_addr): Allow returning NULL for shared memory 14036 devices. 14037 (GOMP_target): Do host fallback for all shared memory devices. Do not 14038 pass any args to plugins. 14039 (GOMP_target_ext): Introduce device-specific argument parameter args. 14040 Allow host fallback if device shares memory. Do not remap data if 14041 device has shared memory. 14042 (gomp_target_task_fn): Likewise. Also treat shared memory devices 14043 like host fallback for mappings. 14044 (GOMP_target_data): Treat shared memory devices like host fallback. 14045 (GOMP_target_data_ext): Likewise. 14046 (GOMP_target_update): Likewise. 14047 (GOMP_target_update_ext): Likewise. Also pass NULL as args to 14048 gomp_create_target_task. 14049 (GOMP_target_enter_exit_data): Likewise. 14050 (omp_target_alloc): Treat shared memory devices like host fallback. 14051 (omp_target_free): Likewise. 14052 (omp_target_is_present): Likewise. 14053 (omp_target_memcpy): Likewise. 14054 (omp_target_memcpy_rect): Likewise. 14055 (omp_target_associate_ptr): Likewise. 14056 (gomp_load_plugin_for_device): Also load can_run. 14057 * task.c (GOMP_PLUGIN_target_task_completion): Free 14058 firstprivate_copies. 14059 (gomp_create_target_task): Accept new argument args and store it to 14060 ttask. 14061 * plugin/plugin-hsa.c: New file. 14062 14063 2016-01-18 Tom de Vries <tom (a] codesourcery.com> 14064 14065 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test. 14066 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same. 14067 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same. 14068 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same. 14069 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same. 14070 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same. 14071 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same. 14072 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same. 14073 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same. 14074 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same. 14075 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c: 14076 Same. 14077 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c: 14078 Same. 14079 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same. 14080 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same. 14081 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same. 14082 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same. 14083 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same. 14084 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same. 14085 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same. 14086 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c: 14087 Same. 14088 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same. 14089 14090 2016-01-15 Jakub Jelinek <jakub (a] redhat.com> 14091 14092 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return. 14093 14094 2016-01-15 Cesar Philippidis <cesar (a] codesourcery.com> 14095 14096 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test. 14097 14098 2016-01-12 James Norris <jnorris (a] codesourcery.com> 14099 14100 * libgomp.texi: Updates for OpenACC. 14101 14102 2016-01-11 Alexander Monakov <amonakov (a] ispras.ru> 14103 14104 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET. 14105 14106 2016-01-07 H.J. Lu <hongjiu.lu (a] intel.com> 14107 14108 PR fortran/66680 14109 * testsuite/libgomp.fortran/pr66680.f90: New test. 14110 14111 2016-01-07 Jakub Jelinek <jakub (a] redhat.com> 14112 14113 PR middle-end/68960 14114 * testsuite/libgomp.c/pr68960.c: New test. 14115 14116 2016-01-06 Nathan Sidwell <nathan (a] acm.org> 14117 14118 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper. 14119 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New. 14120 14121 2016-01-04 Jakub Jelinek <jakub (a] redhat.com> 14122 14123 Update copyright years. 14124 14125 * libgomp.texi: Bump @copying's copyright year. 14126 14127 2015-12-31 Nathan Sidwell <nathan (a] acm.org> 14128 14129 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct 14130 dg-additional-options syntax. 14131 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise. 14132 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise. 14133 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise. 14134 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise. 14135 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise. 14136 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise. 14137 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise. 14138 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise. 14139 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise. 14140 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise. 14141 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise. 14142 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise. 14143 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise. 14144 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise. 14145 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise. 14146 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise. 14147 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise. 14148 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise. 14149 14150 2015-12-15 Ilya Verbin <ilya.verbin (a] intel.com> 14151 14152 * libgomp.h (REFCOUNT_LINK): Define. 14153 (struct splay_tree_key_s): Add link_key. 14154 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped. 14155 Replace target address of the pointer with target address of newly 14156 mapped object in the splay tree. Set link pointer on target to the 14157 device address of the mapped object. 14158 (gomp_unmap_vars): Restore target address of the pointer in the splay 14159 tree for REFCOUNT_LINK objects after unmapping. 14160 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp 14161 declare target link" objects. 14162 (gomp_unload_image_from_device): Replace j with i. Force unmap of all 14163 "omp declare target link" objects, which were mapped for the image. 14164 (gomp_exit_data): Restore target address of the pointer in the splay 14165 tree for REFCOUNT_LINK objects after unmapping. 14166 * testsuite/libgomp.c/target-link-1.c: New file. 14167 14168 2015-12-14 Ilya Verbin <ilya.verbin (a] intel.com> 14169 14170 * libgomp.h (gomp_device_state): New enum. 14171 (struct gomp_device_descr): Replace is_initialized with state. 14172 (gomp_fini_device): Remove declaration. 14173 * oacc-host.c (host_dispatch): Use state instead of is_initialized. 14174 * oacc-init.c (acc_init_1): Use state instead of is_initialized. 14175 (acc_shutdown_1): Likewise. Inline gomp_fini_device. 14176 (acc_set_device_type): Use state instead of is_initialized. 14177 (acc_set_device_num): Likewise. 14178 * target.c (resolve_device): Use state instead of is_initialized. 14179 Do not initialize finalized device. 14180 (gomp_map_vars): Do nothing if device is finalized. 14181 (gomp_unmap_vars): Likewise. 14182 (gomp_update): Likewise. 14183 (GOMP_offload_register_ver): Use state instead of is_initialized. 14184 (GOMP_offload_unregister_ver): Likewise. 14185 (gomp_init_device): Likewise. 14186 (gomp_unload_device): Likewise. 14187 (gomp_fini_device): Remove. 14188 (gomp_get_target_fn_addr): Do nothing if device is finalized. 14189 (GOMP_target): Go to host fallback if device is finalized. 14190 (GOMP_target_ext): Likewise. 14191 (gomp_exit_data): Do nothing if device is finalized. 14192 (gomp_target_task_fn): Go to host fallback if device is finalized. 14193 (gomp_target_fini): New static function. 14194 (gomp_target_init): Use state instead of is_initialized. 14195 Call gomp_target_fini at exit. 14196 14197 2015-12-09 Tom de Vries <tom (a] codesourcery.com> 14198 14199 PR tree-optimization/68716 14200 * testsuite/libgomp.c/omp-nested-2.c: New test. 14201 14202 2015-12-02 Thomas Schwinge <thomas (a] codesourcery.com> 14203 14204 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to 14205 target openacc_nvidia_accel_selected. 14206 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise. 14207 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise. 14208 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file. 14209 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file. 14210 14211 2015-12-01 Julian Brown <julian (a] codesourcery.com> 14212 James Norris <James_Norris (a] mentor.com> 14213 14214 * oacc-parallel.c (GOACC_host_data): New function. 14215 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1. 14216 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test. 14217 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test. 14218 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test. 14219 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test. 14220 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test. 14221 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test. 14222 14223 2015-11-30 James Norris <jnorris (a] codesourcery.com> 14224 Cesar Philippidis <cesar (a] codesourcery.com> 14225 14226 libgomp/ 14227 * libgomp.oacc-fortran/routine-5.f90: New test. 14228 * libgomp.oacc-fortran/routine-7.f90: New test. 14229 * libgomp.oacc-fortran/routine-9.f90: New test. 14230 14231 2015-11-30 Tom de Vries <tom (a] codesourcery.com> 14232 14233 PR tree-optimization/46032 14234 * testsuite/libgomp.c/pr46032.c: New test. 14235 14236 2015-11-27 Jakub Jelinek <jakub (a] redhat.com> 14237 14238 PR libgomp/68579 14239 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl. 14240 (gomp_create_target_task): Call it before freeing 14241 GOMP_TARGET_TASK_DATA tasks. 14242 14243 PR c/63326 14244 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon 14245 in between case label and OpenMP standalone directives. 14246 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise. 14247 14248 2015-11-26 David Edelsohn <dje.gcc (a] gmail.com> 14249 14250 * configure: Regenerate. 14251 14252 2015-11-26 Jakub Jelinek <jakub (a] redhat.com> 14253 14254 * testsuite/libgomp.c/target-35.c: New test. 14255 14256 2015-11-22 James Norris <jnorris (a] codesourcery.com> 14257 Cesar Philippidis <cesar (a] codesourcery.com> 14258 14259 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test. 14260 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise. 14261 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise. 14262 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise. 14263 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise. 14264 14265 2015-11-20 Jakub Jelinek <jakub (a] redhat.com> 14266 14267 PR middle-end/68221 14268 * testsuite/libgomp.c/reduction-11.c: Remove xfail. 14269 * testsuite/libgomp.c/reduction-12.c: Likewise. 14270 * testsuite/libgomp.c++/reduction-11.C: Likewise. 14271 * testsuite/libgomp.c++/reduction-12.C: Likewise. 14272 14273 2015-11-19 Nathan Sidwell <nathan (a] codesourcery.com> 14274 14275 * libgomp.oacc-c-c++-common/reduction-dbl.c: New. 14276 * libgomp.oacc-c-c++-common/reduction-flt.c: New. 14277 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef. 14278 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef. 14279 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests 14280 and fix. 14281 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise. 14282 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise. 14283 14284 2015-11-18 Nathan Sidwell <nathan (a] codesourcery.com> 14285 14286 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add 14287 worker & gang cases. 14288 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise. 14289 14290 2015-11-17 Cesar Philippidis <cesar (a] codesourcery.com> 14291 14292 * config/nvptx/priority_queue.c: New file. 14293 14294 2015-11-14 Jakub Jelinek <jakub (a] redhat.com> 14295 14296 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5 14297 sections. 14298 14299 2015-11-14 Jakub Jelinek <jakub (a] redhat.com> 14300 Aldy Hernandez <aldyh (a] redhat.com> 14301 Ilya Verbin <ilya.verbin (a] intel.com> 14302 14303 * ordered.c (gomp_doacross_init, GOMP_doacross_post, 14304 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post, 14305 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of 14306 iterators or IV by chunk size. 14307 * parallel.c (gomp_resolve_num_threads): Don't assume that 14308 if thr->ts.team is non-NULL, then pool must be non-NULL. 14309 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare. 14310 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export 14311 GOMP_PLUGIN_target_task_completion. 14312 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c. 14313 * Makefile.in: Regenerate. 14314 * libgomp.h: Shuffle prototypes and forward definitions around so 14315 priority queues can be defined. 14316 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING. 14317 (enum gomp_target_task_state): New enum. 14318 (struct gomp_target_task): Add state, tgt, task and team fields. 14319 (gomp_create_target_task): Change return type to bool, add 14320 state argument. 14321 (gomp_target_task_fn): Change return type to bool. 14322 (struct gomp_device_descr): Add async_run_func. 14323 (struct gomp_task): Remove children, next_child, prev_child, 14324 next_queue, prev_queue, next_taskgroup, prev_taskgroup. 14325 Add pnode field. 14326 (struct gomp_taskgroup): Remove children. 14327 Add taskgroup_queue. 14328 (struct gomp_team): Change task_queue type to a priority queue. 14329 (splay_compare): Define inline. 14330 (priority_queue_offset): New. 14331 (priority_node_to_task): New. 14332 (task_to_priority_node): New. 14333 * oacc-mem.c: Do not include splay-tree.h. 14334 * priority_queue.c: New file. 14335 * priority_queue.h: New file. 14336 * splay-tree.c: Do not include splay-tree.h. 14337 (splay_tree_foreach_internal): New. 14338 (splay_tree_foreach): New. 14339 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined. 14340 (splay_tree_callback): Define typedef. 14341 * target.c (splay_compare): Move to libgomp.h. 14342 (GOMP_target): Don't adjust *thr in any way around running offloaded 14343 task. 14344 (GOMP_target_ext): Likewise. Handle target nowait. 14345 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check 14346 return value from gomp_create_target_task, if false, fallthrough 14347 as if no dependencies exist. 14348 (gomp_target_task_fn): Change return type to bool, return true 14349 if the task should have another part scheduled later. Handle 14350 target nowait. 14351 (gomp_load_plugin_for_device): Initialize async_run. 14352 * task.c (gomp_init_task): Initialize children_queue. 14353 (gomp_clear_parent_in_list): New. 14354 (gomp_clear_parent_in_tree): New. 14355 (gomp_clear_parent): Handle priorities. 14356 (GOMP_task): Likewise. 14357 (priority_queue_move_task_first, 14358 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion): 14359 New functions. 14360 (gomp_create_target_task): Use priority queues. Change return type 14361 to bool, add state argument, return false if for async 14362 {{enter,exit} data,update} constructs no dependencies need to be 14363 waited for, handle target nowait. Set task->fn to NULL instead of 14364 gomp_target_task_fn. 14365 (verify_children_queue): Remove. 14366 (priority_list_upgrade_task): New. 14367 (priority_queue_upgrade_task): New. 14368 (verify_task_queue): Remove. 14369 (priority_list_downgrade_task): New. 14370 (priority_queue_downgrade_task): New. 14371 (gomp_task_run_pre): Use priority queues. 14372 Abstract code out to priority_queue_downgrade_task. 14373 (gomp_task_run_post_handle_dependers): Use priority queues. 14374 (gomp_task_run_post_remove_parent): Likewise. 14375 (gomp_task_run_post_remove_taskgroup): Likewise. 14376 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target 14377 tasks specially. 14378 (GOMP_taskwait): Likewise. 14379 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to 14380 priority-queue_upgrade_task. 14381 (GOMP_taskgroup_start): Use priority queues. 14382 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks 14383 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a 14384 barrier. 14385 * taskloop.c (GOMP_taskloop): Handle priorities. 14386 * team.c (gomp_new_team): Call priority_queue_init. 14387 (free_team): Call priority_queue_free. 14388 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial 14389 team created for target nowait in implicit parallel region. 14390 (gomp_team_start): For nested check, test thr->ts.level instead of 14391 thr->ts.team != NULL. 14392 * testsuite/libgomp.c/doacross-3.c: New test. 14393 * testsuite/libgomp.c/ordered-5.c: New test. 14394 * testsuite/libgomp.c/priority.c: New test. 14395 * testsuite/libgomp.c/target-31.c: New test. 14396 * testsuite/libgomp.c/target-32.c: New test. 14397 * testsuite/libgomp.c/target-33.c: New test. 14398 * testsuite/libgomp.c/target-34.c: New test. 14399 14400 2015-11-13 Nathan Sidwell <nathan (a] codesourcery.com> 14401 14402 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New. 14403 14404 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential 14405 loop is sequential. 14406 14407 2015-11-13 Nathan Sidwell <nathan (a] codesourcery.com> 14408 14409 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New. 14410 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New. 14411 14412 2015-11-12 James Norris <jnorris (a] codesourcery.com> 14413 Joseph Myers <joseph (a] codesourcery.com> 14414 14415 * libgomp.map (GOACC_2.0.1): Export GOACC_declare. 14416 * oacc-parallel.c (GOACC_declare): New function. 14417 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test. 14418 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise. 14419 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise. 14420 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise. 14421 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise. 14422 14423 2015-11-12 Nathan Sidwell <nathan (a] codesourcery.com> 14424 14425 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New. 14426 14427 2015-11-1 Nathan Sidwell <nathan (a] codesourcery.com> 14428 14429 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New. 14430 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New. 14431 14432 2015-11-09 Nathan Sidwell <nathan (a] codesourcery.com> 14433 14434 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove 14435 inadvertent commit. 14436 14437 2015-11-09 Nathan Sidwell <nathan (a] codesourcery.com> 14438 14439 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New. 14440 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New. 14441 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New. 14442 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New. 14443 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New. 14444 14445 2015-11-06 Thomas Schwinge <thomas (a] codesourcery.com> 14446 14447 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL. 14448 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise. 14449 14450 2015-11-05 Jakub Jelinek <jakub (a] redhat.com> 14451 Ilya Verbin <ilya.verbin (a] intel.com> 14452 14453 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next, 14454 GOMP_loop_nonmonotonic_dynamic_start, 14455 GOMP_loop_nonmonotonic_guided_next, 14456 GOMP_loop_nonmonotonic_guided_start, 14457 GOMP_loop_ull_nonmonotonic_dynamic_next, 14458 GOMP_loop_ull_nonmonotonic_dynamic_start, 14459 GOMP_loop_ull_nonmonotonic_guided_next, 14460 GOMP_loop_ull_nonmonotonic_guided_start, 14461 GOMP_parallel_loop_nonmonotonic_dynamic, 14462 GOMP_parallel_loop_nonmonotonic_guided): New prototypes. 14463 (GOMP_target_41): Renamed to ... 14464 (GOMP_target_ext): ... this. Add num_teams and thread_limit 14465 arguments. 14466 (GOMP_target_data_41): Renamed to ... 14467 (GOMP_target_data_ext): ... this. 14468 (GOMP_target_update_41): Renamed to ... 14469 (GOMP_target_update_ext): ... this. 14470 * libgomp.map (GOMP_4.5): Export GOMP_target_ext, 14471 GOMP_target_data_ext and GOMP_target_update_ext instead of 14472 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41. 14473 Export GOMP_loop_nonmonotonic_dynamic_next, 14474 GOMP_loop_nonmonotonic_dynamic_start, 14475 GOMP_loop_nonmonotonic_guided_next, 14476 GOMP_loop_nonmonotonic_guided_start, 14477 GOMP_loop_ull_nonmonotonic_dynamic_next, 14478 GOMP_loop_ull_nonmonotonic_dynamic_start, 14479 GOMP_loop_ull_nonmonotonic_guided_next, 14480 GOMP_loop_ull_nonmonotonic_guided_start, 14481 GOMP_parallel_loop_nonmonotonic_dynamic and 14482 GOMP_parallel_loop_nonmonotonic_guided. 14483 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic, 14484 GOMP_parallel_loop_nonmonotonic_guided, 14485 GOMP_loop_nonmonotonic_dynamic_start, 14486 GOMP_loop_nonmonotonic_guided_start, 14487 GOMP_loop_nonmonotonic_dynamic_next, 14488 GOMP_loop_nonmonotonic_guided_next): New aliases or functions. 14489 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start, 14490 GOMP_loop_ull_nonmonotonic_guided_start, 14491 GOMP_loop_ull_nonmonotonic_dynamic_next, 14492 GOMP_loop_ull_nonmonotonic_guided_next): Likewise. 14493 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline 14494 functions. 14495 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For 14496 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup. 14497 Use gomp_map_val function. 14498 (gomp_target_fallback_firstprivate): New static function. 14499 (GOMP_target_41): Renamed to ... 14500 (GOMP_target_ext): ... this. Add num_teams and thread_limit 14501 arguments. Move firstprivate fallback handling into a new 14502 function. 14503 (GOMP_target_data_41): Renamed to ... 14504 (GOMP_target_data_ext): ... this. 14505 (GOMP_target_update_41): Renamed to ... 14506 (GOMP_target_update_ext): ... this. 14507 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use 14508 gomp_map_0len_lookup instead of gomp_map_lookup. 14509 (omp_target_is_present): Use gomp_map_0len_lookup instead of 14510 gomp_map_lookup. 14511 * testsuite/libgomp.c/target-28.c: Likewise. 14512 * testsuite/libgomp.c/monotonic-1.c: New test. 14513 * testsuite/libgomp.c/monotonic-2.c: New test. 14514 * testsuite/libgomp.c/nonmonotonic-1.c: New test. 14515 * testsuite/libgomp.c/nonmonotonic-2.c: New test. 14516 * testsuite/libgomp.c/pr66199-5.c: New test. 14517 * testsuite/libgomp.c/pr66199-6.c: New test. 14518 * testsuite/libgomp.c/pr66199-7.c: New test. 14519 * testsuite/libgomp.c/pr66199-8.c: New test. 14520 * testsuite/libgomp.c/pr66199-9.c: New test. 14521 * testsuite/libgomp.c/reduction-11.c: New test. 14522 * testsuite/libgomp.c/reduction-12.c: New test. 14523 * testsuite/libgomp.c/reduction-13.c: New test. 14524 * testsuite/libgomp.c/reduction-14.c: New test. 14525 * testsuite/libgomp.c/reduction-15.c: New test. 14526 * testsuite/libgomp.c/target-12.c (main): Adjust for 14527 omp_target_is_present change for one-past-last element. 14528 * testsuite/libgomp.c/target-17.c (foo): Drop tests where 14529 the same var is both mapped and privatized. 14530 * testsuite/libgomp.c/target-19.c (foo): Adjust for different 14531 handling of zero-length array sections. 14532 * testsuite/libgomp.c/target-28.c: New test. 14533 * testsuite/libgomp.c/target-29.c: New test. 14534 * testsuite/libgomp.c/target-30.c: New test. 14535 * testsuite/libgomp.c/target-teams-1.c: New test. 14536 * testsuite/libgomp.c++/member-6.C: New test. 14537 * testsuite/libgomp.c++/member-7.C: New test. 14538 * testsuite/libgomp.c++/monotonic-1.C: New test. 14539 * testsuite/libgomp.c++/monotonic-2.C: New test. 14540 * testsuite/libgomp.c++/nonmonotonic-1.C: New test. 14541 * testsuite/libgomp.c++/nonmonotonic-2.C: New test. 14542 * testsuite/libgomp.c++/pr66199-3.C: New test. 14543 * testsuite/libgomp.c++/pr66199-4.C: New test. 14544 * testsuite/libgomp.c++/pr66199-5.C: New test. 14545 * testsuite/libgomp.c++/pr66199-6.C: New test. 14546 * testsuite/libgomp.c++/pr66199-7.C: New test. 14547 * testsuite/libgomp.c++/pr66199-8.C: New test. 14548 * testsuite/libgomp.c++/pr66199-9.C: New test. 14549 * testsuite/libgomp.c++/reduction-11.C: New test. 14550 * testsuite/libgomp.c++/reduction-12.C: New test. 14551 * testsuite/libgomp.c++/target-13.C: New test. 14552 * testsuite/libgomp.c++/target-14.C: New test. 14553 * testsuite/libgomp.c++/target-15.C: New test. 14554 * testsuite/libgomp.c++/target-16.C: New test. 14555 * testsuite/libgomp.c++/target-17.C: New test. 14556 * testsuite/libgomp.c++/target-18.C: New test. 14557 * testsuite/libgomp.c++/target-19.C: New test. 14558 14559 2015-11-04 Nathan Sidwell <nathan (a] codesourcery.com> 14560 14561 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions 14562 and reduction copy. 14563 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise. 14564 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise. 14565 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise. 14566 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. 14567 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise. 14568 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise. 14569 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise. 14570 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise. 14571 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise. 14572 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise. 14573 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise. 14574 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise. 14575 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise. 14576 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New. 14577 14578 2015-11-04 Nathan Sidwell <nathan (a] codesourcery.com> 14579 14580 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New. 14581 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New. 14582 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New. 14583 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New. 14584 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New. 14585 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New. 14586 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New. 14587 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var. 14588 14589 2015-11-03 Nathan Sidwell <nathan (a] codesourcery.com> 14590 14591 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func. 14592 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg. 14593 (GOMP_OFFLOAD_openacc_parallel): Likewise. 14594 * oacc-host.c (host_openacc_exec): Likewise. 14595 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call. 14596 14597 2015-11-03 Julian Brown <julian (a] codesourcery.com> 14598 Thomas Schwinge <thomas (a] codesourcery.com> 14599 14600 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file. 14601 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise. 14602 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: 14603 Likewise. 14604 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise. 14605 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise. 14606 14607 2015-11-03 James Norris <jnorris (a] codesourcery.com> 14608 14609 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New 14610 file. 14611 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: 14612 Likewise. 14613 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise. 14614 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise. 14615 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise. 14616 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file. 14617 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise. 14618 14619 2015-10-29 Nathan Sidwell <nathan (a] codesourcery.com> 14620 14621 * openacc.h (enum acc_device_t): Reformat. Ensure layout 14622 compatibility. 14623 (enum acc_async_t): Reformat. 14624 (acc_on_device): Declare compatible with builtin and provide C++ 14625 wrapper. 14626 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New. 14627 14628 2015-10-29 Thomas Schwinge <thomas (a] codesourcery.com> 14629 Cesar Philippidis <cesar (a] codesourcery.com> 14630 14631 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to... 14632 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c: 14633 ... this. Add a description of the test at the top of the file. 14634 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to... 14635 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: 14636 ... this. Add a description of the test at the top of the file. 14637 14638 2015-10-28 Nathan Sidwell <nathan (a] codesourcery.com> 14639 14640 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New. 14641 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New. 14642 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New. 14643 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New. 14644 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New. 14645 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New. 14646 14647 2015-10-27 Nathan Sidwell <nathan (a] codesourcery.com> 14648 14649 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute 14650 dimensions. 14651 14652 2015-10-27 Thomas Schwinge <thomas (a] codesourcery.com> 14653 14654 PR testsuite/68063 14655 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause. 14656 14657 2015-10-27 James Norris <jnorris (a] codesourcery.com> 14658 14659 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file. 14660 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise. 14661 14662 2015-10-26 Thomas Schwinge <thomas (a] codesourcery.com> 14663 14664 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr. 14665 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise. 14666 14667 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit 14668 acc_device_nvidia usage. 14669 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise. 14670 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise. 14671 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise. 14672 14673 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once. 14674 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file. 14675 14676 PR libgomp/66518 14677 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL. 14678 14679 PR libgomp/65437 14680 PR libgomp/66518 14681 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize. 14682 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL. 14683 14684 2015-10-23 Tom de Vries <tom (a] codesourcery.com> 14685 14686 PR testsuite/68063 14687 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause. 14688 14689 2015-10-20 Nathan Sidwell <nathan (a] codesourcery.com> 14690 14691 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane 14692 vector_length. 14693 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. 14694 14695 2015-10-14 Ilya Verbin <ilya.verbin (a] intel.com> 14696 Aleksander Ivanushenko <aleksander.ivanushenko (a] intel.com> 14697 14698 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end 14699 to 0 when mapnum is 0. 14700 14701 2015-10-14 Sebastian Huber <sebastian.huber (a] embedded-brains.de> 14702 14703 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_): 14704 Cast to int from int32_t. 14705 14706 2015-10-13 Jakub Jelinek <jakub (a] redhat.com> 14707 Aldy Hernandez <aldyh (a] redhat.com> 14708 Ilya Verbin <ilya.verbin (a] intel.com> 14709 14710 * config/linux/affinity.c (omp_get_place_num_procs, 14711 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions. 14712 * config/linux/doacross.h: New file. 14713 * config/posix/affinity.c (omp_get_place_num_procs, 14714 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions. 14715 * config/posix/doacross.h: New file. 14716 * env.c: Include gomp-constants.h. 14717 (struct gomp_task_icv): Rename run_sched_modifier to 14718 run_sched_chunk_size. 14719 (gomp_max_task_priority_var): New variable. 14720 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size. 14721 (handle_omp_display_env): Change _OPENMP value from 201307 to 14722 201511. Print OMP_MAX_TASK_PRIORITY. 14723 (initialize_env): Parse OMP_MAX_TASK_PRIORITY. 14724 (omp_set_schedule, omp_get_schedule): Rename modifier argument to 14725 chunk_size and run_sched_modifier to run_sched_chunk_size. 14726 (omp_get_max_task_priority, omp_get_initial_device, 14727 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places, 14728 omp_get_partition_place_nums): New functions. 14729 * fortran.c (omp_set_schedule_, omp_set_schedule_8_, 14730 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument 14731 to chunk_size. 14732 (omp_get_num_places_, omp_get_place_num_procs_, 14733 omp_get_place_num_procs_8_, omp_get_place_proc_ids_, 14734 omp_get_place_proc_ids_8_, omp_get_place_num_, 14735 omp_get_partition_num_places_, omp_get_partition_place_nums_, 14736 omp_get_partition_place_nums_8_, omp_get_initial_device_, 14737 omp_get_max_task_priority_): New functions. 14738 * libgomp_g.h (GOMP_loop_doacross_static_start, 14739 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start, 14740 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start, 14741 GOMP_loop_ull_doacross_dynamic_start, 14742 GOMP_loop_ull_doacross_guided_start, 14743 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post, 14744 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait, 14745 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41, 14746 GOMP_target_data_41, GOMP_target_update_41, 14747 GOMP_target_enter_exit_data): New prototypes. 14748 (GOMP_task): Add prototype argument. 14749 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined. 14750 (struct gomp_doacross_work_share): New type. 14751 (struct gomp_work_share): Add doacross field. 14752 (struct gomp_task_icv): Rename run_sched_modifier to 14753 run_sched_chunk_size. 14754 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to 14755 GOMP_TASK_UNDEFERRED. Add comments. 14756 (struct gomp_task_depend_entry): Add comments. 14757 (struct gomp_task): Likewise. 14758 (struct gomp_taskgroup): Likewise. 14759 (struct gomp_target_task): New type. 14760 (struct gomp_team): Add comment. 14761 (gomp_get_place_proc_ids_8, gomp_doacross_init, 14762 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies, 14763 gomp_create_target_task, gomp_target_task_fn): New prototypes. 14764 (struct target_var_desc): New type. 14765 (struct target_mem_desc): Adjust comment. Use struct 14766 target_var_desc instead of splay_tree_key for list. 14767 (REFCOUNT_INFINITY): Define. 14768 (struct splay_tree_key_s): Remove copy_from field. 14769 (struct gomp_device_descr): Add dev2dev_func field. 14770 (enum gomp_map_vars_kind): New enum. 14771 (gomp_map_vars): Add one argument. 14772 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority, 14773 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_, 14774 omp_get_place_num_procs, omp_get_place_num_procs_, 14775 omp_get_place_num_procs_8_, omp_get_place_proc_ids, 14776 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num, 14777 omp_get_place_num_, omp_get_partition_num_places, 14778 omp_get_partition_num_places_, omp_get_partition_place_nums, 14779 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_, 14780 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc, 14781 omp_target_free, omp_target_is_present, omp_target_memcpy, 14782 omp_target_memcpy_rect, omp_target_associate_ptr and 14783 omp_target_disassociate_ptr. 14784 (GOMP_4.0.2): Renamed to ... 14785 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41, 14786 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop, 14787 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start, 14788 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start, 14789 GOMP_loop_doacross_static_start, GOMP_doacross_post, 14790 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start, 14791 GOMP_loop_ull_doacross_guided_start, 14792 GOMP_loop_ull_doacross_runtime_start, 14793 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and 14794 GOMP_doacross_ull_wait. 14795 * libgomp.texi: Document omp_get_max_task_priority. 14796 Rename modifier argument to chunk_size for omp_set_schedule and 14797 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var. 14798 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier 14799 to run_sched_chunk_size renaming. 14800 (GOMP_loop_ordered_runtime_start): Likewise. 14801 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start, 14802 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start, 14803 GOMP_parallel_loop_runtime_start): New functions. 14804 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier 14805 to run_sched_chunk_size renaming. 14806 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start, 14807 GOMP_loop_doacross_guided_start): New functions or aliases. 14808 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for 14809 run_sched_modifier to run_sched_chunk_size renaming. 14810 (GOMP_loop_ull_ordered_runtime_start): Likewise. 14811 (gomp_loop_ull_doacross_static_start, 14812 gomp_loop_ull_doacross_dynamic_start, 14813 gomp_loop_ull_doacross_guided_start, 14814 GOMP_loop_ull_doacross_runtime_start): New functions. 14815 (GOMP_loop_ull_doacross_static_start, 14816 GOMP_loop_ull_doacross_dynamic_start, 14817 GOMP_loop_ull_doacross_guided_start): New functions or aliases. 14818 * oacc-mem.c (acc_map_data, present_create_copy, 14819 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false 14820 to gomp_map_vars. 14821 (gomp_acc_remove_pointer): Use copy_from from target_var_desc. 14822 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC 14823 instead of false to gomp_map_vars. 14824 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc. 14825 * omp.h.in (omp_lock_hint_t): New type. 14826 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint, 14827 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids, 14828 omp_get_place_num, omp_get_partition_num_places, 14829 omp_get_partition_place_nums, omp_get_initial_device, 14830 omp_get_max_task_priority, omp_target_alloc, omp_target_free, 14831 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect, 14832 omp_target_associate_ptr, omp_target_disassociate_ptr): New 14833 prototypes. 14834 * omp_lib.f90.in (omp_lock_hint_kind): New parameter. 14835 (omp_lock_hint_none, omp_lock_hint_uncontended, 14836 omp_lock_hint_contended, omp_lock_hint_nonspeculative, 14837 omp_lock_hint_speculative): New parameters. 14838 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint, 14839 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids, 14840 omp_get_place_num, omp_get_partition_num_places, 14841 omp_get_partition_place_nums, omp_get_initial_device, 14842 omp_get_max_task_priority): New interfaces. 14843 (omp_set_schedule, omp_get_schedule): Rename modifier argument 14844 to chunk_size. 14845 * omp_lib.h.in (omp_lock_hint_kind): New parameter. 14846 (omp_lock_hint_none, omp_lock_hint_uncontended, 14847 omp_lock_hint_contended, omp_lock_hint_nonspeculative, 14848 omp_lock_hint_speculative): New parameters. 14849 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint, 14850 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids, 14851 omp_get_place_num, omp_get_partition_num_places, 14852 omp_get_partition_place_nums, omp_get_initial_device, 14853 omp_get_max_task_priority): New functions and subroutines. 14854 * ordered.c: Include stdarg.h and string.h. 14855 (MAX_COLLAPSED_BITS): Define. 14856 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait, 14857 gomp_doacross_ull_init, GOMP_doacross_ull_post, 14858 GOMP_doacross_ull_wait): New functions. 14859 * target.c: Include errno.h. 14860 (resolve_device): If device is not initialized, call 14861 gomp_init_device on it. 14862 (gomp_map_lookup): New function. 14863 (gomp_map_vars_existing): Add tgt_var argument, fill it in. 14864 Don't bump refcount if REFCOUNT_INFINITY. Handle 14865 GOMP_MAP_ALWAYS_TO_P. 14866 (get_kind): Rename is_openacc argument to short_mapkind. 14867 (gomp_map_pointer): Use gomp_map_lookup. 14868 (gomp_map_fields_existing): New function. 14869 (gomp_map_vars): Rename is_openacc argument to short_mapkind 14870 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA, 14871 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT, 14872 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION. 14873 Adjust for tgt->list changed type and copy_from living in there. 14874 (gomp_copy_from_async): Adjust for tgt->list changed type and 14875 copy_from living in there. 14876 (gomp_unmap_vars): Likewise. 14877 (gomp_update): Likewise. Rename is_openacc argument to 14878 short_mapkind. Don't fail if object is not mapped. 14879 (gomp_load_image_to_device): Initialize refcount to 14880 REFCOUNT_INFINITY. 14881 (gomp_target_fallback): New function. 14882 (gomp_get_target_fn_addr): Likewise. 14883 (GOMP_target): Adjust gomp_map_vars caller, use 14884 gomp_get_target_fn_addr and gomp_target_fallback. 14885 (GOMP_target_41): New function. 14886 (gomp_target_data_fallback): New function. 14887 (GOMP_target_data): Use it, adjust gomp_map_vars caller. 14888 (GOMP_target_data_41): New function. 14889 (GOMP_target_update): Adjust gomp_update caller. 14890 (GOMP_target_update_41): New function. 14891 (gomp_exit_data, GOMP_target_enter_exit_data, 14892 gomp_target_task_fn, omp_target_alloc, omp_target_free, 14893 omp_target_is_present, omp_target_memcpy, 14894 omp_target_memcpy_rect_worker, omp_target_memcpy_rect, 14895 omp_target_associate_ptr, omp_target_disassociate_ptr, 14896 gomp_load_plugin_for_device): New functions. 14897 * task.c: Include gomp-constants.h. Include taskloop.c 14898 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions. 14899 (gomp_task_handle_depend): New function. 14900 (GOMP_task): Use it. Add priority argument. Use 14901 gomp-constant.h constants instead of hardcoded numbers. 14902 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED. 14903 (gomp_create_target_task): New function. 14904 (verify_children_queue, verify_taskgroup_queue, 14905 verify_task_queue): New functions. 14906 (gomp_task_run_pre): Call verify_*_queue functions. 14907 If an upcoming tied task is about to leave the sibling or 14908 taskgroup queues in an invalid state, adjust appropriately. 14909 Remove taskgroup argument. Add comments. 14910 (gomp_task_run_post_handle_dependers): Add comments. 14911 (gomp_task_run_post_remove_parent): Likewise. 14912 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller. 14913 (GOMP_taskwait): Likewise. Add comments. 14914 (gomp_task_maybe_wait_for_dependencies): Fix scheduling 14915 problem such that the first non parent_depends_on task does not 14916 end up at the end of the children queue. 14917 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to 14918 GOMP_TASK_UNDEFERRED. 14919 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller. 14920 * taskloop.c: New file. 14921 * testsuite/lib/libgomp.exp 14922 (check_effective_target_offload_device_nonshared_as): New proc. 14923 * testsuite/libgomp.c/affinity-2.c: New test. 14924 * testsuite/libgomp.c/doacross-1.c: New test. 14925 * testsuite/libgomp.c/doacross-2.c: New test. 14926 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper): 14927 Add map clause to target. 14928 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise. 14929 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise. 14930 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise. 14931 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise. 14932 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt): 14933 Likewise. 14934 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise. 14935 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise. 14936 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise. 14937 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if 14938 not defined. Use those where needed. 14939 * testsuite/libgomp.c/for-4.c: New test. 14940 * testsuite/libgomp.c/for-5.c: New test. 14941 * testsuite/libgomp.c/for-6.c: New test. 14942 * testsuite/libgomp.c/linear-1.c: New test. 14943 * testsuite/libgomp.c/ordered-4.c: New test. 14944 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause 14945 only allowed on the loop iterator. 14946 * testsuite/libgomp.c/pr66199-3.c: New test. 14947 * testsuite/libgomp.c/pr66199-4.c: New test. 14948 * testsuite/libgomp.c/reduction-7.c: New test. 14949 * testsuite/libgomp.c/reduction-8.c: New test. 14950 * testsuite/libgomp.c/reduction-9.c: New test. 14951 * testsuite/libgomp.c/reduction-10.c: New test. 14952 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add 14953 map(tofrom:s). 14954 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise. 14955 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed. 14956 * testsuite/libgomp.c/target-11.c: New test. 14957 * testsuite/libgomp.c/target-12.c: New test. 14958 * testsuite/libgomp.c/target-13.c: New test. 14959 * testsuite/libgomp.c/target-14.c: New test. 14960 * testsuite/libgomp.c/target-15.c: New test. 14961 * testsuite/libgomp.c/target-16.c: New test. 14962 * testsuite/libgomp.c/target-17.c: New test. 14963 * testsuite/libgomp.c/target-18.c: New test. 14964 * testsuite/libgomp.c/target-19.c: New test. 14965 * testsuite/libgomp.c/target-20.c: New test. 14966 * testsuite/libgomp.c/target-21.c: New test. 14967 * testsuite/libgomp.c/target-22.c: New test. 14968 * testsuite/libgomp.c/target-23.c: New test. 14969 * testsuite/libgomp.c/target-24.c: New test. 14970 * testsuite/libgomp.c/target-25.c: New test. 14971 * testsuite/libgomp.c/target-26.c: New test. 14972 * testsuite/libgomp.c/target-27.c: New test. 14973 * testsuite/libgomp.c/taskloop-1.c: New test. 14974 * testsuite/libgomp.c/taskloop-2.c: New test. 14975 * testsuite/libgomp.c/taskloop-3.c: New test. 14976 * testsuite/libgomp.c/taskloop-4.c: New test. 14977 * testsuite/libgomp.c++/ctor-13.C: New test. 14978 * testsuite/libgomp.c++/doacross-1.C: New test. 14979 * testsuite/libgomp.c++/examples-4/declare_target-2.C: 14980 Replace offload_device with offload_device_nonshared_as. 14981 * testsuite/libgomp.c++/for-12.C: New test. 14982 * testsuite/libgomp.c++/for-13.C: New test. 14983 * testsuite/libgomp.c++/for-14.C: New test. 14984 * testsuite/libgomp.c++/linear-1.C: New test. 14985 * testsuite/libgomp.c++/member-1.C: New test. 14986 * testsuite/libgomp.c++/member-2.C: New test. 14987 * testsuite/libgomp.c++/member-3.C: New test. 14988 * testsuite/libgomp.c++/member-4.C: New test. 14989 * testsuite/libgomp.c++/member-5.C: New test. 14990 * testsuite/libgomp.c++/ordered-1.C: New test. 14991 * testsuite/libgomp.c++/reduction-5.C: New test. 14992 * testsuite/libgomp.c++/reduction-6.C: New test. 14993 * testsuite/libgomp.c++/reduction-7.C: New test. 14994 * testsuite/libgomp.c++/reduction-8.C: New test. 14995 * testsuite/libgomp.c++/reduction-9.C: New test. 14996 * testsuite/libgomp.c++/reduction-10.C: New test. 14997 * testsuite/libgomp.c++/reference-1.C: New test. 14998 * testsuite/libgomp.c++/simd14.C: New test. 14999 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause. 15000 * testsuite/libgomp.c++/target-5.C: New test. 15001 * testsuite/libgomp.c++/target-6.C: New test. 15002 * testsuite/libgomp.c++/target-7.C: New test. 15003 * testsuite/libgomp.c++/target-8.C: New test. 15004 * testsuite/libgomp.c++/target-9.C: New test. 15005 * testsuite/libgomp.c++/target-10.C: New test. 15006 * testsuite/libgomp.c++/target-11.C: New test. 15007 * testsuite/libgomp.c++/target-12.C: New test. 15008 * testsuite/libgomp.c++/taskloop-1.C: New test. 15009 * testsuite/libgomp.c++/taskloop-2.C: New test. 15010 * testsuite/libgomp.c++/taskloop-3.C: New test. 15011 * testsuite/libgomp.c++/taskloop-4.C: New test. 15012 * testsuite/libgomp.c++/taskloop-5.C: New test. 15013 * testsuite/libgomp.c++/taskloop-6.C: New test. 15014 * testsuite/libgomp.c++/taskloop-7.C: New test. 15015 * testsuite/libgomp.c++/taskloop-8.C: New test. 15016 * testsuite/libgomp.c++/taskloop-9.C: New test. 15017 * testsuite/libgomp.fortran/affinity1.f90: New test. 15018 * testsuite/libgomp.fortran/affinity2.f90: New test. 15019 15020 2015-10-13 Tom de Vries <tom (a] codesourcery.com> 15021 15022 PR tree-optimization/67476 15023 * testsuite/libgomp.c/autopar-3.c: New test. 15024 * testsuite/libgomp.c/autopar-4.c: New test. 15025 * testsuite/libgomp.c/autopar-5.c: New test. 15026 * testsuite/libgomp.c/autopar-6.c: New test. 15027 * testsuite/libgomp.c/autopar-7.c: New test. 15028 * testsuite/libgomp.c/autopar-8.c: New test. 15029 15030 2015-10-12 James Norris <jnorris (a] codesourcery.com> 15031 15032 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop 15033 initializer. 15034 15035 2015-10-09 David Malcolm <dmalcolm (a] redhat.com> 15036 15037 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp, 15038 using load_gcc_lib. 15039 15040 2015-10-02 Thomas Schwinge <thomas (a] codesourcery.com> 15041 15042 * oacc-ptx.h: Remove file, moving its content into... 15043 * config/nvptx/fortran.c: ... here... 15044 * config/nvptx/oacc-init.c: ..., here... 15045 * config/nvptx/oacc-parallel.c: ..., and here. 15046 * config/nvptx/openacc.f90: New file. 15047 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h". 15048 (link_ptx): Don't link in predefined bits of PTX code. 15049 15050 2015-09-30 Nathan Sidwell <nathan (a] codesourcery.com> 15051 Bernd Schmidt <bernds (a] codesourcery.com> 15052 15053 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX. 15054 (struct targ_ptx_obj): New. 15055 (nvptx_tdata): Move earlier, change data format. 15056 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple 15057 objects. 15058 (GOMP_OFFLOAD_load_image): Adjust. 15059 15060 2015-09-30 Thomas Schwinge <thomas (a] codesourcery.com> 15061 15062 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint. 15063 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise. 15064 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise. 15065 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise. 15066 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise. 15067 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise. 15068 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise. 15069 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise. 15070 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise. 15071 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise. 15072 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise. 15073 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise. 15074 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise. 15075 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise. 15076 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise. 15077 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise. 15078 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise. 15079 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise. 15080 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise. 15081 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise. 15082 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. 15083 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise. 15084 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise. 15085 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise. 15086 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise. 15087 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise. 15088 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise. 15089 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise. 15090 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise. 15091 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise. 15092 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise. 15093 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise. 15094 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise. 15095 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise. 15096 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. 15097 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise. 15098 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise. 15099 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise. 15100 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise. 15101 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise. 15102 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise. 15103 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise. 15104 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise. 15105 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise. 15106 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise. 15107 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise. 15108 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise. 15109 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise. 15110 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise. 15111 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise. 15112 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise. 15113 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise. 15114 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise. 15115 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise. 15116 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise. 15117 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise. 15118 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise. 15119 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise. 15120 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise. 15121 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise. 15122 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise. 15123 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise. 15124 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise. 15125 15126 2015-09-29 Nathan Sidwell <nathan (a] codesourcery.com> 15127 15128 * oacc-init.c (acc_on_device): Force optimization level. 15129 15130 2015-09-29 Nathan Sidwell <nathan (a] codesourcery.com> 15131 15132 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete. 15133 (cuda_errlist): Delete. 15134 (cuda_error): Reimplement. 15135 15136 2015-09-28 Nathan Sidwell <nathan (a] codesourcery.com> 15137 15138 * libgomp.h (acc_dispatch_t): Replace separate geometry args with 15139 array. 15140 * libgomp.map (GOACC_parallel_keyed): New. 15141 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust 15142 all callers. 15143 (GOACC_parallel_keyed): New interface. Lose geometry arguments 15144 and take keyed varargs list. Adjust call to exec_func. 15145 (GOACC_parallel): Force host fallback. 15146 * libgomp_g.h (GOACC_parallel): Remove. 15147 (GOACC_parallel_keyed): Declare. 15148 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct. 15149 (struct targ_gn_descriptor): Replace name field with launch field. 15150 (nvptx_exec): Lose separate geometry args, take array. Process 15151 dynamic dimensions and adjust. 15152 (struct nvptx_tdata): Replace fn_names field with fn_descs. 15153 (GOMP_OFFLOAD_load_image): Adjust for change in function table 15154 data. 15155 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension 15156 passing. 15157 * oacc-host.c (host_openacc_exec): Adjust for change in dimension 15158 passing. 15159 15160 2015-09-22 Chung-Lin Tang <cltang (a] codesourcery.com> 15161 15162 PR libgomp/67141 15163 * oacc-int.h (goacc_host_init): Add declaration. 15164 * oacc-host.c (goacc_host_init): Remove static and constructor attribute. 15165 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end. 15166 15167 2015-09-08 Aditya Kumar <hiraditya (a] msn.com> 15168 Sebastian Pop <s.pop (a] samsung.com> 15169 15170 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to 15171 match o/p. 15172 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same. 15173 * testsuite/libgomp.graphite/force-parallel-4.c: Same. 15174 * testsuite/libgomp.graphite/force-parallel-5.c: Same. 15175 * testsuite/libgomp.graphite/force-parallel-7.c: Same. 15176 * testsuite/libgomp.graphite/force-parallel-8.c: Same. 15177 15178 2015-09-03 Jakub Jelinek <jakub (a] redhat.com> 15179 15180 * configure.tgt: Add missing ;; in between nvptx and rtems 15181 snippets. 15182 15183 2015-09-03 Sebastian Huber <sebastian.huber (a] embedded-brains.de> 15184 15185 * config/posix/pool.h (gomp_adjust_thread_attr): New. 15186 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise. 15187 (gomp_thread_pool_reservoir): Add priority member. 15188 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add 15189 priority. 15190 (parse_thread_pools): Likewise. 15191 * team.c (gomp_team_start): Call configuration provided 15192 gomp_adjust_thread_attr(). Destroy thread attributes if 15193 necessary. 15194 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS. 15195 15196 2015-09-03 Sebastian Huber <sebastian.huber (a] embedded-brains.de> 15197 15198 * config/posix/pool.h: New. 15199 * config/rtems/pool.h: Likewise. 15200 * config/rtems/proc.c: Likewise. 15201 * libgomp.h (gomp_thread_destructor): Declare. 15202 * team.c: Include configuration provided "pool.h". 15203 (gomp_get_thread_pool): Define in configuration. 15204 (gomp_team_end): Call configuration defined 15205 gomp_release_thread_pool(). 15206 15207 2015-09-03 Sebastian Huber <sebastian.huber (a] embedded-brains.de> 15208 15209 * config/rtems/bar.c: New. 15210 * config/rtems/bar.h: Likewise. 15211 * config/rtems/mutex.c: Likewise. 15212 * config/rtems/mutex.h: Likewise. 15213 * config/rtems/sem.c: Likewise. 15214 * config/rtems/sem.h: Likewise. 15215 * configure.ac (*-*-rtems*): Check that Newlib provides a proper 15216 <sys/lock.h> header file. 15217 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if 15218 supported by Newlib. 15219 * configure: Regenerate. 15220 15221 2015-09-03 Sebastian Huber <sebastian.huber (a] embedded-brains.de> 15222 15223 * team.c (gomp_new_thread_pool): Delete and move content to ... 15224 (gomp_get_thread_pool): ... new function. Allocate and 15225 initialize thread pool on demand. 15226 (get_last_team): Use gomp_get_thread_pool(). 15227 (gomp_team_start): Delete thread pool initialization. 15228 15229 2015-09-03 Tom de Vries <tom (a] codesourcery.com> 15230 15231 PR tree-optimization/65637 15232 * testsuite/libgomp.c/autopar-2.c: New test. 15233 15234 2015-08-29 Tom de Vries <tom (a] codesourcery.com> 15235 15236 PR tree-optimization/46193 15237 * testsuite/libgomp.c/pr46193.c: New test. 15238 15239 2015-08-24 Nathan Sidwell <nathan (a] codesourcery.com> 15240 15241 libgomp/ 15242 * libgomp.map: Add 4.0.2 version. 15243 * target.c (offload_image_descr): Add version field. 15244 (gomp_load_image_to_device): Add version argument. Adjust plugin 15245 call. Improve load mismatch diagnostic. 15246 (gomp_unload_image_from_device): Add version argument. Adjust plugin 15247 call. 15248 (GOMP_offload_regster): Make stub function, move bulk to ... 15249 (GOMP_offload_register_ver): ... here. Process version argument. 15250 (GOMP_offload_unregister): Make stub function, move bulk to ... 15251 (GOMP_offload_unregister_ver): ... here. Process version argument. 15252 (gomp_init_device): Process version field. 15253 (gomp_unload_device): Process version field. 15254 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT 15255 macros. Check plugin version. 15256 * libgomp.h (gomp_device_descr): Add version function field. Adjust 15257 loader and unloader types. 15258 * oacc-host.c: Include gomp-constants.h. 15259 (host_version): New. 15260 (host_load_image, host_unload_image): Adjust. 15261 (host_dispatch): Add host_version. 15262 * plugin/plugin-nvptx.c: Include gomp-constants.h. 15263 (GOMP_OFFLOAD_version): New. 15264 (GOMP_OFFLOAD_load_image): Add version arg and check it. 15265 (GOMP_OFFLOAD_unload_image): Likewise. 15266 * plugin/plugin-host.c: Include gomp-constants.h. 15267 (GOMP_OFFLOAD_version): New. 15268 (GOMP_OFFLOAD_load_image): Add version arg. 15269 (GOMP_OFFLOAD_unload_image): Likewise. 15270 15271 2015-08-24 Tom de Vries <tom (a] codesourcery.com> 15272 15273 PR tree-optimization/65468 15274 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test. 15275 15276 2015-08-24 Tom de Vries <tom (a] codesourcery.com> 15277 15278 PR tree-optimization/65468 15279 * testsuite/libgomp.c/static-chunk-size-one.c: New test. 15280 15281 2015-08-24 Joost VandeVondele <vondele (a] gnu.gcc.org> 15282 15283 PR libgomp/66761 15284 PR libgomp/67303 15285 * iter.c (gomp_iter_dynamic_next): Employ an atomic load. 15286 (gomp_iter_guided_next): Idem. 15287 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem. 15288 (gomp_iter_ull_guided_next): Idem. 15289 * config/linux/wait.h (do_spin): Idem. 15290 15291 2015-08-10 Thomas Schwinge <thomas (a] codesourcery.com> 15292 15293 * libgomp-plugin.h (enum offload_target_type): Remove 15294 OFFLOAD_TARGET_TYPE_HOST_NONSHM. 15295 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm. 15296 * openacc.h (enum acc_device_t): Likewise. 15297 * openacc_lib.h: Likewise. 15298 * oacc-init.c (name_of_acc_device_t): Don't handle it. 15299 (acc_on_device): Just use __builtin_acc_on_device. 15300 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage 15301 of acc_on_device builtin. 15302 * plugin/plugin-host.h: Remove file. 15303 * plugin/plugin-host.c: Likewise, but salvage some content into... 15304 * oacc-host.c: ... this file. 15305 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la. 15306 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm. 15307 * Makefile.in: Regenerate. 15308 * configure: Likewise. 15309 * testsuite/lib/libgomp.exp 15310 (check_effective_target_openacc_host_nonshm_selected): Remove. 15311 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle 15312 ACC_DEVICE_TYPE=host_nonshm. 15313 * testsuite/libgomp.oacc-c/c.exp: Likewise. 15314 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 15315 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise. 15316 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise. 15317 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise. 15318 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise. 15319 15320 2015-08-10 Thomas Schwinge <thomas (a] codesourcery.com> 15321 Jakub Jelinek <jakub (a] redhat.com> 15322 15323 * config/nvptx/affinity.c: New file. 15324 * config/nvptx/alloc.c: Likewise. 15325 * config/nvptx/bar.c: Likewise. 15326 * config/nvptx/barrier.c: Likewise. 15327 * config/nvptx/critical.c: Likewise. 15328 * config/nvptx/env.c: Likewise. 15329 * config/nvptx/error.c: Likewise. 15330 * config/nvptx/fortran.c: Likewise. 15331 * config/nvptx/iter.c: Likewise. 15332 * config/nvptx/iter_ull.c: Likewise. 15333 * config/nvptx/libgomp-plugin.c: Likewise. 15334 * config/nvptx/lock.c: Likewise. 15335 * config/nvptx/loop.c: Likewise. 15336 * config/nvptx/loop_ull.c: Likewise. 15337 * config/nvptx/mutex.c: Likewise. 15338 * config/nvptx/oacc-async.c: Likewise. 15339 * config/nvptx/oacc-cuda.c: Likewise. 15340 * config/nvptx/oacc-host.c: Likewise. 15341 * config/nvptx/oacc-init.c: Likewise. 15342 * config/nvptx/oacc-mem.c: Likewise. 15343 * config/nvptx/oacc-parallel.c: Likewise. 15344 * config/nvptx/oacc-plugin.c: Likewise. 15345 * config/nvptx/omp-lock.h: Likewise. 15346 * config/nvptx/ordered.c: Likewise. 15347 * config/nvptx/parallel.c: Likewise. 15348 * config/nvptx/proc.c: Likewise. 15349 * config/nvptx/ptrlock.c: Likewise. 15350 * config/nvptx/sections.c: Likewise. 15351 * config/nvptx/sem.c: Likewise. 15352 * config/nvptx/single.c: Likewise. 15353 * config/nvptx/splay-tree.c: Likewise. 15354 * config/nvptx/target.c: Likewise. 15355 * config/nvptx/task.c: Likewise. 15356 * config/nvptx/team.c: Likewise. 15357 * config/nvptx/time.c: Likewise. 15358 * config/nvptx/work.c: Likewise. 15359 * configure.ac: Don't probe pthreads support for host nvptx*-*-*. 15360 * configure: Regenerate. 15361 * configure.tgt (config_path): Set to "nvptx" for target 15362 nvptx*-*-*. 15363 15364 2015-08-10 Thomas Schwinge <thomas (a] codesourcery.com> 15365 15366 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file. 15367 15368 2015-08-03 Nathan Sidwell <nathan (a] codesourcery.com> 15369 15370 * plugin/plugin-nvptx.c: Don't include dlfcn.h. 15371 (cuda_errlist): Constify. 15372 (errmsg): Move into ... 15373 (cuda_error): ... here. Make smaller. 15374 (_XSTR, _STR): Delete. 15375 (cuda_synames): Delete. 15376 (verify_device_library): Delete. 15377 (nvptx_init): Don't call it. 15378 15379 2015-07-28 Tom de Vries <tom (a] codesourcery.com> 15380 15381 * testsuite/libgomp.c/uns-outer-4.c: New test. 15382 15383 2015-07-24 Cesar Philippidis <cesar (a] codesourcery.com> 15384 15385 * testsuite/libgomp.c/pr66714.c: New test. 15386 15387 2015-07-22 Maxim Blumenthal <maxim.blumenthal (a] intel.com> 15388 15389 PR libgomp/66950 15390 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45. 15391 (fib_ref): New function. 15392 (fib): Correct corner cases in the recursion. 15393 (main): Replace the non-simd loop with fib_ref call. 15394 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New 15395 subroutine. 15396 (fibonacci): Lower the parameter N to 30. Correct accordingly check 15397 for the last array element value. Replace the non-simd loop with 15398 fib_ref call. Remove redundant b_ref array. Remove the comparison 15399 of the last array element with according Fibonacci sequence element. 15400 (fib): Correct corner cases in the recursion. 15401 15402 2015-07-21 Nathan Sidwell <nathan (a] codesourcery.com> 15403 15404 * target.c (gomp_offload_image_to_device): Rename to ... 15405 (gomp_load_image_to_device): ... here. 15406 (GOMP_offload_register): Adjust call. 15407 (gomp_init_device): Likewise. 15408 (gomp_unload_image_from_device): New. Broken out of ... 15409 (GOMP_offload_unregister): ... here. Call it. 15410 (gomp_unload_device): New. 15411 * libgomp.h (gomp_unload_device): Declare. 15412 * oacc-init.c (acc_shutdown_1): Unload from device before deleting 15413 mem maps. 15414 15415 2015-07-20 Nathan Sidwell <nathan (a] codesourcery.com> 15416 15417 * oacc-parallel.c (GOACC_parallel): Move variadic handling into 15418 wait=-specific if. 15419 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits 15420 !=0 condition. 15421 (goacc_waits): Move !num_waits handling to ... 15422 (GOACC_wait): ... here, the only caller that might have zero waits. 15423 15424 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later. 15425 (struct ptx_image_data): Move earlier, add fns field. 15426 (struct ptx_device): Add images and image_lock fields. 15427 (ptx_images, ptx_image_lock): Delete. 15428 (nvptx_open_device): Initialize images and image_lock fields. 15429 (nvptx_close_device): Destroy image_lock. 15430 (GOMP_OFFLOAD_load_image): Register image to device-specific fields. 15431 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific 15432 fields. 15433 15434 2015-07-17 Nathan Sidwell <nathan (a] codesourcery.com> 15435 15436 * target.c (GOMP_offload_register): Use int for device type arg. 15437 (GOMP_offload_unregister): Likewise. 15438 15439 * target.c (struct_offload_image_descr): Constify host_table. 15440 (gomp_offload_image_to_device): Likewise. 15441 (GOMP_offload_register, GOMP_offload_unregister): Likewise. 15442 15443 * libgomp.h (gomp_device_descr): Constify target data arguments. 15444 * target.c (struct offload_image_descr): Constify target_data. 15445 (gomp_offload_image_to_device): Likewise. 15446 (GOMP_offload_register): Likewise. 15447 (GOMP_offload_unregister): Likewise. 15448 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image, 15449 GOMP_OFFLOAD_unload_image): Constify target data. 15450 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data. 15451 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise. 15452 15453 2015-07-16 Nathan Sidwell <nathan (a] codesourcery.com> 15454 15455 * plugin/plugin-nvptx.c (link_ptx): Constify string argument. 15456 Workaround driver library const error. 15457 (struct nvptx_tdata, nvptx_tdata_t): New. 15458 (GOMP_OFFLOAD_load_image): Use struct for target_data's real 15459 type. 15460 15461 2015-07-15 Maxim Blumenthal <maxim.blumenthal (a] intel.com> 15462 15463 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type 15464 of EPS parameter from integer to real. 15465 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change 15466 type of EPS parameter from integer to real. 15467 15468 2015-07-15 Sebastian Huber <sebastian.huber (a] embedded-brains.de> 15469 15470 * team.c (get_last_team): New. 15471 (gomp_new_team): Recycle last non-nested team if possible. 15472 (gomp_team_end): Move team work share list free lock destruction 15473 to ... 15474 (free_team): ... here. 15475 15476 2015-07-14 Maxim Blumenthal <maxim.blumenthal (a] intel.com> 15477 15478 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res 15479 and ref from int to double. Replaced their comparison with 15480 an inequality of their difference and EPS. 15481 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the 15482 comparison of pri and a reference number with an inequality of their 15483 difference and EPS. 15484 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced 15485 the comparison of sum and sum_ref with an inequality of their 15486 difference and EPS. 15487 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace 15488 the comparison of pri and a reference number with an inequality of 15489 their difference and EPS. 15490 15491 2015-07-13 Maxim Blumenthal <maxim.blumenthal (a] intel.com> 15492 15493 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to... 15494 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this. 15495 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to... 15496 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this. 15497 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to... 15498 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this. 15499 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to... 15500 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this. 15501 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to... 15502 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this. 15503 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to... 15504 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this. 15505 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local 15506 variables. 15507 (vec_mult): Likewise. Add #pragma omp taskwait. 15508 (main): Adjust caller. 15509 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to... 15510 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this. 15511 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to... 15512 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this. 15513 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to... 15514 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this. 15515 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to... 15516 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this. 15517 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to... 15518 * testsuite/libgomp.c/examples-4/device-1.c: ...this. 15519 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to... 15520 * testsuite/libgomp.c/examples-4/device-2.c: ...this. 15521 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to... 15522 * testsuite/libgomp.c/examples-4/device-3.c: ...this. 15523 * testsuite/libgomp.c/examples-4/simd-1.c: New file. 15524 * testsuite/libgomp.c/examples-4/simd-2.c: New file. 15525 * testsuite/libgomp.c/examples-4/simd-3.c: New file. 15526 * testsuite/libgomp.c/examples-4/simd-4.c: New file. 15527 * testsuite/libgomp.c/examples-4/simd-5.c: New file. 15528 * testsuite/libgomp.c/examples-4/simd-6.c: New file. 15529 * testsuite/libgomp.c/examples-4/simd-7.c: New file. 15530 * testsuite/libgomp.c/examples-4/simd-8.c: New file. 15531 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to... 15532 * testsuite/libgomp.c/examples-4/target-1.c: ...this. 15533 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to... 15534 * testsuite/libgomp.c/examples-4/target-2.c: ...this. 15535 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to... 15536 * testsuite/libgomp.c/examples-4/target-3.c: ...this. 15537 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to... 15538 * testsuite/libgomp.c/examples-4/target-4.c: ...this. 15539 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to... 15540 * testsuite/libgomp.c/examples-4/target-5.c: ...this. 15541 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to... 15542 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this. 15543 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to... 15544 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this. 15545 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to... 15546 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this. 15547 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to... 15548 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this. 15549 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to... 15550 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this. 15551 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to... 15552 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this. 15553 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to... 15554 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this. 15555 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to... 15556 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this. 15557 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file. 15558 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file. 15559 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file. 15560 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file. 15561 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file. 15562 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to... 15563 * testsuite/libgomp.c/examples-4/teams-2.c: ...this. 15564 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to... 15565 * testsuite/libgomp.c/examples-4/teams-3.c: ...this. 15566 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to... 15567 * testsuite/libgomp.c/examples-4/teams-4.c: ...this. 15568 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to... 15569 * testsuite/libgomp.c/examples-4/teams-5.c: ...this. 15570 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to... 15571 * testsuite/libgomp.c/examples-4/teams-6.c: ...this. 15572 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to... 15573 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this. 15574 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to... 15575 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this. 15576 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to... 15577 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this. 15578 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to... 15579 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this. 15580 (vec_mult): Add !$omp taskwait. 15581 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to... 15582 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this. 15583 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to... 15584 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this. 15585 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to... 15586 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this. 15587 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to... 15588 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this. 15589 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to... 15590 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this. 15591 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to... 15592 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this. 15593 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to... 15594 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this. 15595 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to... 15596 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this. 15597 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file. 15598 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file. 15599 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file. 15600 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file. 15601 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file. 15602 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file. 15603 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file. 15604 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file. 15605 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to... 15606 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this. 15607 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to... 15608 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this. 15609 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to... 15610 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this. 15611 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to... 15612 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this. 15613 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to... 15614 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this. 15615 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to... 15616 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this. 15617 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to... 15618 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this. 15619 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to... 15620 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this. 15621 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to... 15622 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this. 15623 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to... 15624 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this. 15625 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to... 15626 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this. 15627 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to... 15628 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this. 15629 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to... 15630 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this. 15631 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to... 15632 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this. 15633 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file. 15634 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file. 15635 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file. 15636 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file. 15637 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file. 15638 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to... 15639 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this. 15640 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to... 15641 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this. 15642 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to... 15643 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this. 15644 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to... 15645 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this. 15646 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to... 15647 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this. 15648 15649 2015-07-10 Tom de Vries <tom (a] codesourcery.com> 15650 15651 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test. 15652 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test. 15653 15654 2015-07-08 Thomas Schwinge <thomas (a] codesourcery.com> 15655 15656 PR libgomp/65099 15657 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not 15658 in a 64-bit configuration. 15659 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia 15660 offloading testing if no such device is available. 15661 * testsuite/libgomp.oacc-c/c.exp: Likewise. 15662 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 15663 15664 2015-07-08 Tom de Vries <tom (a] codesourcery.com> 15665 15666 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix 15667 second call to f. 15668 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same. 15669 15670 2015-07-07 Tom de Vries <tom (a] codesourcery.com> 15671 15672 PR tree-optimization/66642 15673 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low 15674 iteration count case. 15675 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New 15676 function, factor out of ... 15677 (main): ... here. Test low iteration count case. 15678 15679 2015-07-06 Sebastian Huber <sebastian.huber (a] embedded-brains.de> 15680 15681 * libgomp.h (gomp_thread_pool): Comment last_team field. 15682 15683 2015-07-02 Uros Bizjak <ubizjak (a] gmail.com> 15684 15685 * testsuite/libgomp.c++/pr66702-1.C: Require 15686 vect_simd_clones effective target. 15687 * testsuite/libgomp.c++/pr66702-2.C: Ditto. 15688 15689 2015-06-30 Tom de Vries <tom (a] codesourcery.com> 15690 15691 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not 15692 already set. Use DEFAULT_CFLAGS in dg-runtest. 15693 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options 15694 "-O2". 15695 15696 2015-06-30 Tom de Vries <tom (a] codesourcery.com> 15697 15698 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not 15699 already set. Use DEFAULT_CFLAGS in dg-runtest. 15700 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp". 15701 * testsuite/libgomp.c++/pr64824.C: Same. 15702 * testsuite/libgomp.c++/pr64868.C: Same. 15703 * testsuite/libgomp.c++/pr66199-1.C: Same. 15704 * testsuite/libgomp.c++/pr66199-2.C: Same. 15705 * testsuite/libgomp.c++/target-2.C: Same. 15706 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for 15707 -std=<standard> option. 15708 * testsuite/libgomp.c++/udr-11.C: Same. 15709 * testsuite/libgomp.c++/udr-12.C: Same. 15710 * testsuite/libgomp.c++/udr-13.C: Same. 15711 * testsuite/libgomp.c++/udr-14.C: Same. 15712 * testsuite/libgomp.c++/udr-15.C: Same. 15713 * testsuite/libgomp.c++/udr-16.C: Same. 15714 * testsuite/libgomp.c++/udr-17.C: Same. 15715 * testsuite/libgomp.c++/udr-18.C: Same. 15716 * testsuite/libgomp.c++/udr-19.C: Same. 15717 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2". 15718 * testsuite/libgomp.c++/simd-1.C: Same. 15719 * testsuite/libgomp.c++/simd-2.C: Same. 15720 * testsuite/libgomp.c++/simd-3.C: Same. 15721 * testsuite/libgomp.c++/simd-4.C: Same. 15722 * testsuite/libgomp.c++/simd-5.C: Same. 15723 * testsuite/libgomp.c++/simd-6.C: Same. 15724 * testsuite/libgomp.c++/simd-7.C: Same. 15725 * testsuite/libgomp.c++/simd-8.C: Same. 15726 * testsuite/libgomp.c++/simd-9.C: Same. 15727 * testsuite/libgomp.c++/simd10.C: Same. 15728 * testsuite/libgomp.c++/simd11.C: Same. 15729 * testsuite/libgomp.c++/simd12.C: Same. 15730 * testsuite/libgomp.c++/simd13.C: Same. 15731 15732 2015-06-30 Jakub Jelinek <jakub (a] redhat.com> 15733 15734 PR middle-end/66702 15735 * testsuite/libgomp.c++/pr66702-1.C: New test. 15736 * testsuite/libgomp.c++/pr66702-2.C: New test. 15737 15738 2015-06-30 Tom de Vries <tom (a] codesourcery.com> 15739 15740 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test. 15741 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test. 15742 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test. 15743 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment. 15744 15745 2015-06-30 Tom de Vries <tom (a] codesourcery.com> 15746 15747 PR tree-optimization/66652 15748 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite 15749 using restrict pointers. 15750 (main): Add arguments to calls to f. 15751 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same. 15752 15753 2015-06-23 Andreas Tobler <andreast (a] gcc.gnu.org> 15754 15755 * configure.ac: Fix check for header <sys/sysctl.h>. 15756 * configure: Regenerate. 15757 * config.h.in: Likewise. 15758 15759 2015-06-23 Tom de Vries <tom (a] codesourcery.com> 15760 15761 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use 15762 abort. 15763 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same. 15764 15765 2015-06-19 Thomas Schwinge <thomas (a] codesourcery.com> 15766 15767 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for 15768 acc_device_nvidia. 15769 15770 PR libgomp/66518 15771 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL. 15772 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. 15773 15774 2015-06-15 Tom de Vries <tom (a] codesourcery.com> 15775 15776 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use 15777 dg-additional-options for any remaining options. 15778 * testsuite/libgomp.c/atomic-2.c: Same. 15779 * testsuite/libgomp.c/atomic-4.c: Same. 15780 * testsuite/libgomp.c/atomic-5.c: Same. 15781 * testsuite/libgomp.c/atomic-6.c: Same. 15782 * testsuite/libgomp.c/autopar-1.c: Same. 15783 * testsuite/libgomp.c/copyin-1.c: Same. 15784 * testsuite/libgomp.c/copyin-2.c: Same. 15785 * testsuite/libgomp.c/copyin-3.c: Same. 15786 * testsuite/libgomp.c/examples-4/e.53.5.c: Same. 15787 * testsuite/libgomp.c/nestedfn-5.c: Same. 15788 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same. 15789 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same. 15790 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same. 15791 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same. 15792 * testsuite/libgomp.c/pr32362-1.c: Same. 15793 * testsuite/libgomp.c/pr32362-2.c: Same. 15794 * testsuite/libgomp.c/pr32362-3.c: Same. 15795 * testsuite/libgomp.c/pr39591-1.c: Same. 15796 * testsuite/libgomp.c/pr39591-2.c: Same. 15797 * testsuite/libgomp.c/pr39591-3.c: Same. 15798 * testsuite/libgomp.c/pr58392.c: Same. 15799 * testsuite/libgomp.c/pr58756.c: Same. 15800 * testsuite/libgomp.c/simd-1.c: Same. 15801 * testsuite/libgomp.c/simd-10.c: Same. 15802 * testsuite/libgomp.c/simd-11.c: Same. 15803 * testsuite/libgomp.c/simd-12.c: Same. 15804 * testsuite/libgomp.c/simd-13.c: Same. 15805 * testsuite/libgomp.c/simd-14.c: Same. 15806 * testsuite/libgomp.c/simd-15.c: Same. 15807 * testsuite/libgomp.c/simd-2.c: Same. 15808 * testsuite/libgomp.c/simd-3.c: Same. 15809 * testsuite/libgomp.c/simd-4.c: Same. 15810 * testsuite/libgomp.c/simd-5.c: Same. 15811 * testsuite/libgomp.c/simd-6.c: Same. 15812 * testsuite/libgomp.c/simd-7.c: Same. 15813 * testsuite/libgomp.c/simd-8.c: Same. 15814 * testsuite/libgomp.c/simd-9.c: Same. 15815 15816 2015-06-15 Tom de Vries <tom (a] codesourcery.com> 15817 15818 * testsuite/libgomp.c/pr35625.c: Fix typo. 15819 15820 2015-06-15 Tom de Vries <tom (a] codesourcery.com> 15821 15822 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting 15823 in dg-options. 15824 * testsuite/libgomp.c/atomic-3.c: Same. 15825 * testsuite/libgomp.c/debug-1.c: Same. 15826 * testsuite/libgomp.c/nqueens-1.c: Same. 15827 * testsuite/libgomp.c/pr26171.c: Same. 15828 * testsuite/libgomp.c/pr48591.c: Same. 15829 * testsuite/libgomp.c/pr64824.c: Same. 15830 * testsuite/libgomp.c/pr64868.c: Same. 15831 * testsuite/libgomp.c/pr66133.c: Same. 15832 * testsuite/libgomp.c/pr66199-1.c: Same. 15833 * testsuite/libgomp.c/pr66199-2.c: Same. 15834 * testsuite/libgomp.c/target-8.c: Same. 15835 15836 2015-06-15 Tom de Vries <tom (a] codesourcery.com> 15837 15838 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for 15839 -std={gnu99,c99}. 15840 * testsuite/libgomp.c/for-1.c: Same. 15841 * testsuite/libgomp.c/for-2.c: Same. 15842 * testsuite/libgomp.c/for-3.c: Same. 15843 * testsuite/libgomp.c/pr35625.c: Same. 15844 * testsuite/libgomp.c/pr39154.c: Same. 15845 * testsuite/libgomp.c/simd-16.c: Same. 15846 * testsuite/libgomp.c/simd-17.c: Same. 15847 15848 2015-06-13 Tom de Vries <tom (a] codesourcery.com> 15849 15850 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test. 15851 15852 2015-06-13 Tom de Vries <tom (a] codesourcery.com> 15853 15854 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment. 15855 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same. 15856 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment. 15857 (N): Define. 15858 (main): Use N instead of hardcoded constants. 15859 15860 2015-06-05 Tom de Vries <tom (a] codesourcery.com> 15861 15862 merge from gomp4 branch: 15863 2015-05-28 Tom de Vries <tom (a] codesourcery.com> 15864 15865 PR tree-optimization/65443 15866 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test. 15867 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test. 15868 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test. 15869 15870 2015-05-29 Bernhard Reutner-Fischer <aldot (a] gcc.gnu.org> 15871 15872 * testsuite/libgomp.graphite/bounds.c: Adjust for 15873 cleanup-tree-dump removal. 15874 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise. 15875 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise. 15876 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise. 15877 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise. 15878 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise. 15879 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise. 15880 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise. 15881 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise. 15882 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise. 15883 * testsuite/libgomp.graphite/pr41118.c: Likewise. 15884 15885 2015-05-28 Uros Bizjak <ubizjak (a] gmail.com> 15886 15887 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function. 15888 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0. 15889 (futex_wake) [!__x86_64__]: Ditto. 15890 15891 2015-05-28 Julian Brown <julian (a] codesourcery.com> 15892 15893 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update 15894 function comment. Only call gomp_fatal if new argument is true. 15895 (acc_dev_num_out_of_range): New function. 15896 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call 15897 acc_dev_num_out_of_range as appropriate. 15898 (acc_get_num_devices, acc_set_device_type, acc_get_device_type) 15899 (acc_get_device_num, acc_set_device_num): Update calls to 15900 resolve_device. 15901 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test 15902 output. 15903 15904 2015-05-28 Julian Brown <julian (a] codesourcery.com> 15905 15906 PR libgomp/65742 15907 * oacc-init.c (plugin/plugin-host.h): Include. 15908 (acc_on_device): Check whether we're in an offloaded region for 15909 host_nonshm 15910 plugin. Don't use __builtin_acc_on_device. 15911 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set 15912 nonshm_exec flag in thread-local data. 15913 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local 15914 data for host_nonshm plugin. 15915 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data 15916 for host_nonshm plugin. 15917 * plugin/plugin-host.h: New. 15918 15919 2015-05-27 Uros Bizjak <ubizjak (a] gmail.com> 15920 15921 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int. 15922 15923 2015-05-27 Uros Bizjak <ubizjak (a] gmail.com> 15924 15925 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake): 15926 Declare as int. 15927 (FUTEX_PRIVATE_FLAG): Remove L suffix. 15928 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake): 15929 Declare as int. 15930 15931 2015-05-27 Uros Bizjak <ubizjak (a] gmail.com> 15932 15933 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function. 15934 15935 2015-05-27 Chung-Lin Tang <cltang (a] codesourcery.com> 15936 15937 * target.c (gomp_map_pointer): New function abstracting out 15938 GOMP_MAP_POINTER handling. 15939 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use 15940 gomp_map_pointer(). 15941 15942 2015-05-19 Jakub Jelinek <jakub (a] redhat.com> 15943 15944 PR middle-end/66199 15945 * testsuite/libgomp.c/pr66199-1.c: New test. 15946 * testsuite/libgomp.c/pr66199-2.c: New test. 15947 * testsuite/libgomp.c++/pr66199-1.C: New test. 15948 * testsuite/libgomp.c++/pr66199-2.C: New test. 15949 * testsuite/libgomp.fortran/pr66199-1.f90: New test. 15950 * testsuite/libgomp.fortran/pr66199-2.f90: New test. 15951 15952 2015-05-19 Julian Brown <julian (a] codesourcery.com> 15953 15954 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero 15955 on cuInit failure. 15956 15957 2015-05-13 Jakub Jelinek <jakub (a] redhat.com> 15958 15959 PR middle-end/66133 15960 * testsuite/libgomp.c/pr66133.c: New test. 15961 15962 2015-05-13 Michael Haubenwallner <michael.haubenwallner (a] ssi-schaefer.com> 15963 15964 * Makefile.in: Regenerated with automake-1.11.6. 15965 * aclocal.m4: Likewise. 15966 * config.h.in: Likewise. 15967 * configure: Likewise. 15968 * testsuite/Makefile.in: Likewise. 15969 15970 2015-05-08 Jason Merrill <jason (a] redhat.com> 15971 15972 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use 15973 _Complex. 15974 15975 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax. 15976 15977 2015-05-06 Julian Brown <julian (a] codesourcery.com> 15978 15979 * oacc-init.c (acc_device_lock): Add explanatory comment. 15980 (resolve_device): Add comment about locking requirement. 15981 (acc_init_1, acc_shutdown_1): Likewise. Add locking around 15982 gomp_init_device and gomp_fini_device calls. 15983 (acc_get_num_devices, acc_set_device_type, acc_get_device_type) 15984 (acc_get_device_num, acc_set_device_num): Add locking around 15985 resolve_device and gomp_init_device calls. 15986 15987 2015-05-06 Julian Brown <julian (a] codesourcery.com> 15988 15989 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for 15990 goacc_thread_lock on error paths. 15991 * oacc-mem.c (lookup_host): Remove locking from function. Note 15992 locking requirement for caller in function comment. 15993 (lookup_dev): Likewise. 15994 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present) 15995 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout) 15996 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer): 15997 Add locking. 15998 15999 2015-05-05 Thomas Schwinge <thomas (a] codesourcery.com> 16000 16001 PR testsuite/65205 16002 PR libgomp/65993 16003 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output, 16004 don't expect "0x" prefix for "%p" format specifier, don't expect 16005 "(nil)" for NULL pointer. 16006 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise. 16007 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise. 16008 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise. 16009 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise. 16010 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise. 16011 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise. 16012 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. 16013 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise. 16014 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise. 16015 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise. 16016 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise. 16017 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise. 16018 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise. 16019 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise. 16020 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise. 16021 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise. 16022 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise. 16023 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise. 16024 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. 16025 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise. 16026 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise. 16027 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise. 16028 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise. 16029 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise. 16030 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise. 16031 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise. 16032 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise. 16033 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise. 16034 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More 16035 accurately specify what we're looking for. 16036 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise. 16037 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise. 16038 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise. 16039 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise. 16040 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise. 16041 16042 2015-04-30 James Norris <jnorris (a] codesourcery.com> 16043 16044 PR testsuite/65205 16045 * testsuite/lib/libgomp.exp 16046 (check_effective_target_openacc_host_selected) 16047 (check_effective_target_openacc_host_nonshm_selected): New 16048 procedures. 16049 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of 16050 dg-shouldfail. 16051 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise. 16052 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise. 16053 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise. 16054 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise. 16055 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise. 16056 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise. 16057 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise. 16058 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise. 16059 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise. 16060 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. 16061 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise. 16062 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise. 16063 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise. 16064 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise. 16065 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise. 16066 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise. 16067 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise. 16068 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise. 16069 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise. 16070 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise. 16071 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise. 16072 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise. 16073 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise. 16074 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. 16075 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise. 16076 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise. 16077 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise. 16078 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise. 16079 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise. 16080 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise. 16081 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise. 16082 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise. 16083 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise. 16084 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise. 16085 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise. 16086 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise. 16087 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise. 16088 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise. 16089 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise. 16090 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise. 16091 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise. 16092 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise. 16093 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise. 16094 16095 2015-04-08 Julian Brown <julian (a] codesourcery.com> 16096 16097 * libgomp.h (target_mem_desc: Remove mem_map field. 16098 (acc_dispatch_t): Remove open_device_func, close_device_func, 16099 get_device_num_func, set_device_num_func, target_data members. 16100 Change create_thread_data_func argument to device number instead of 16101 generic pointer. 16102 * oacc-async.c (assert.h): Include. 16103 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async) 16104 (acc_wait_all, acc_wait_all_async): Use current host thread's 16105 active device, not base_dev. 16106 * oacc-cuda.c (acc_get_current_cuda_device) 16107 (acc_get_current_cuda_context, acc_get_cuda_stream) 16108 (acc_set_cuda_stream): Likewise. 16109 * oacc-host.c (host_dispatch): Don't set open_device_func, 16110 close_device_func, get_device_num_func or set_device_num_func. 16111 * oacc-init.c (base_dev, init_key): Remove. 16112 (cached_base_dev): New. 16113 (name_of_acc_device_t): New. 16114 (acc_init_1): Initialise default-numbered device, not zeroth. 16115 (acc_shutdown_1): Close all devices of a given type. 16116 (goacc_destroy_thread): Don't use base_dev. 16117 (lazy_open, lazy_init, lazy_init_and_open): Remove. 16118 (goacc_attach_host_thread_to_device): New. 16119 (acc_init): Reimplement with goacc_attach_host_thread_to_device. 16120 (acc_get_num_devices): Don't use base_dev. 16121 (acc_set_device_type): Reimplement. 16122 (acc_get_device_type): Don't use base_dev. 16123 (acc_get_device_num): Tweak logic. 16124 (acc_set_device_num): Likewise. 16125 (acc_on_device): Use acc_get_device_type. 16126 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev. 16127 (goacc_lazy_initialize): Reimplement with acc_init and 16128 goacc_attach_host_thread_to_device. 16129 * oacc-int.h (goacc_thread): Add base_dev field. 16130 (base_dev): Remove extern declaration. 16131 (goacc_attach_host_thread_to_device): Add prototype. 16132 * oacc-mem.c (acc_malloc): Use current thread's device instead of 16133 base_dev. 16134 (acc_free): Likewise. 16135 (acc_memcpy_to_device): Likewise. 16136 (acc_memcpy_from_device): Likewise. 16137 * oacc-parallel.c (select_acc_device): Remove. Replace calls with 16138 goacc_lazy_initialize (throughout). 16139 (GOACC_parallel): Use tgt_offset to locate target functions. 16140 * target.c (gomp_map_vars): Don't set tgt->mem_map. 16141 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map. 16142 (gomp_load_plugin_for_device): Remove open_device, close_device, 16143 get_device_num, set_device_num openacc hook initialisation. Don't set 16144 openacc.target_data. 16145 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device) 16146 (GOMP_OFFLOAD_openacc_close_device) 16147 (GOMP_OFFLOAD_openacc_get_device_num) 16148 (GOMP_OFFLOAD_openacc_set_device_num): Remove. 16149 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument 16150 to int. 16151 * plugin/plugin-nvptx.c (ptx_inited): Remove. 16152 (instantiated_devices, ptx_dev_lock): New. 16153 (struct ptx_image_data): New. 16154 (ptx_devices, ptx_images, ptx_image_lock): New. 16155 (fini_streams_for_device): Reorder cuStreamDestroy call. 16156 (nvptx_get_num_devices): Remove forward declaration. 16157 (nvptx_init): Change return type to bool. 16158 (nvptx_fini): Remove. 16159 (nvptx_attach_host_thread_to_device): New. 16160 (nvptx_open_device): Return struct ptx_device* instead of void*. 16161 (nvptx_close_device): Change argument type to struct ptx_device*, 16162 return type to void. 16163 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited. 16164 (kernel_target_data, kernel_host_table): Remove static globals. 16165 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove. 16166 (GOMP_OFFLOAD_init_device): Reimplement. 16167 (GOMP_OFFLOAD_fini_device): Likewise. 16168 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New. 16169 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host) 16170 (GOMP_OFFLOAD_host2dev): Use ORD argument. 16171 (GOMP_OFFLOAD_openacc_open_device) 16172 (GOMP_OFFLOAD_openacc_close_device) 16173 (GOMP_OFFLOAD_openacc_set_device_num) 16174 (GOMP_OFFLOAD_openacc_get_device_num): Remove. 16175 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int 16176 (device number). 16177 16178 testsuite/ 16179 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test. 16180 16181 2015-04-06 Ilya Verbin <ilya.verbin (a] intel.com> 16182 16183 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair. 16184 * libgomp.h (struct gomp_memory_mapping): Remove. 16185 (struct target_mem_desc): Change type of mem_map from 16186 gomp_memory_mapping * to splay_tree_s *. 16187 (struct gomp_device_descr): Remove register_image_func, get_table_func. 16188 Add load_image_func, unload_image_func. 16189 Change type of mem_map from gomp_memory_mapping to splay_tree_s. 16190 Remove offload_regions_registered. 16191 (gomp_init_tables): Remove. 16192 (gomp_free_memmap): Change type of argument from gomp_memory_mapping * 16193 to splay_tree_s *. 16194 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister. 16195 * oacc-host.c (host_dispatch): Do not initialize register_image_func, 16196 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root, 16197 offload_regions_registered. 16198 Initialize load_image_func, unload_image_func, mem_map.root. 16199 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock. 16200 * oacc-init.c (lazy_open): Don't call gomp_init_tables. 16201 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's. 16202 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of 16203 gomp_memory_mapping *. Use dev's lock and splay_tree. 16204 (lookup_dev): Use dev's lock. 16205 (acc_deviceptr): Pass dev to lookup_host instead of mem_map. 16206 (acc_is_present): Likewise. 16207 (acc_map_data): Likewise. 16208 (acc_unmap_data): Likewise. Use dev's lock. 16209 (present_create_copy): Likewise. 16210 (delete_copyout): Pass dev to lookup_host instead of mem_map. 16211 (update_dev_host): Likewise. 16212 (gomp_acc_remove_pointer): Likewise. Use dev's lock. 16213 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree. 16214 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove. 16215 (GOMP_OFFLOAD_get_table): Remove 16216 (GOMP_OFFLOAD_load_image): New function. 16217 (GOMP_OFFLOAD_unload_image): New function. 16218 * target.c (register_lock): New mutex for offload image registration. 16219 (num_devices): Do not guard with PLUGIN_SUPPORT. 16220 (gomp_realloc_unlock): New static function. 16221 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex 16222 before gomp_fatal. 16223 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's. 16224 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal. 16225 (gomp_copy_from_async): Use dev's lock and splay_tree instead of 16226 mem_map's. 16227 (gomp_unmap_vars): Likewise. 16228 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and 16229 splay_tree instead of mm's. Unlock mutex before gomp_fatal. 16230 (gomp_offload_image_to_device): New static function. 16231 (GOMP_offload_register): Add mutex lock. 16232 Call gomp_offload_image_to_device for all initialized devices. 16233 Replace gomp_realloc with gomp_realloc_unlock. 16234 (GOMP_offload_unregister): New function. 16235 (gomp_init_tables): Replace with gomp_init_device. Replace a call to 16236 get_table_func from the plugin with calls to init_device_func and 16237 gomp_offload_image_to_device. 16238 (gomp_free_memmap): Change type of argument from gomp_memory_mapping * 16239 to splay_tree_s *. 16240 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and 16241 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal. 16242 (GOMP_target_data): Do not call gomp_init_tables. 16243 (GOMP_target_update): Likewise. Remove argument from gomp_update. 16244 (gomp_load_plugin_for_device): Replace register_image and get_table 16245 with load_image and unload_image in DLSYM (). 16246 (gomp_register_images_for_device): Remove function. 16247 (gomp_target_init): Do not initialize current_device.mem_map.*, 16248 current_device.offload_regions_registered. 16249 Remove call to gomp_register_images_for_device. 16250 Do not free offload_images and num_offload_images. 16251 16252 2015-03-30 Jakub Jelinek <jakub (a] redhat.com> 16253 16254 PR fortran/65597 16255 * testsuite/libgomp.fortran/pr65597.f90: New test. 16256 16257 2015-03-27 Tom de Vries <tom (a] codesourcery.com> 16258 16259 PR testsuite/65594 16260 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare. 16261 (init, check): New function. 16262 (foo): Change return type to void. 16263 (main): Call init and check. 16264 16265 2015-03-27 Tom de Vries <tom (a] codesourcery.com> 16266 16267 PR testsuite/65594 16268 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define. 16269 (foo): Use M for non-inner loops to scale down test-case. 16270 16271 2015-03-25 Kai Tietz <ktietz (a] redhat.com> 16272 16273 PR libgomp/64972 16274 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available. 16275 (GOACC_data_start): Likewise. 16276 * target.c (gomp_map_vars): Likewise. 16277 16278 2015-03-21 John David Anglin <danglin (a] gcc.gnu.org> 16279 16280 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on 16281 hppa*-*-hpux*. 16282 16283 2015-03-19 Jakub Jelinek <jakub (a] redhat.com> 16284 16285 * testsuite/libgomp.c/target-10.c: New test. 16286 * testsuite/libgomp.c++/target-4.C: New test. 16287 16288 2015-03-13 Ilya Verbin <ilya.verbin (a] intel.com> 16289 16290 * testsuite/libgomp.fortran/declare-target-1.f90: New test. 16291 * testsuite/libgomp.fortran/declare-target-2.f90: New file. 16292 16293 2015-03-13 Sebastian Huber <sebastian.huber (a] embedded-brains.de> 16294 16295 * configure.tgt (*-*-rtems*): Use local-exec TLS model. 16296 * configure.ac (*-*-rtems*): Assume Pthread is supported. 16297 (pthread.h): Check for this header file. 16298 * configure: Regenerate. 16299 16300 2015-02-25 Tom de Vries <tom (a] codesourcery.com> 16301 16302 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA) 16303 (check_reduction_op, check_reduction_macro, max, min): 16304 Declare. 16305 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New 16306 function. 16307 (main): Use new functions. 16308 16309 2015-02-18 Ilya Tocar <ilya.tocar (a] intel.com> 16310 16311 * target.c (gomp_load_plugin_for_device): Use const char * instead of 16312 char * for variables holding dlerror return values. 16313 (DLSYM_OPT): Ditto. 16314 16315 2015-02-17 Thomas Schwinge <thomas (a] codesourcery.com> 16316 16317 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo. 16318 16319 2015-02-17 Thomas Schwinge <thomas (a] codesourcery.com> 16320 Cesar Philippidis <cesar (a] codesourcery.com> 16321 16322 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid, 16323 GOACC_ctaid, and GOACC_nctaid routines. 16324 16325 2015-02-11 Jakub Jelinek <jakub (a] redhat.com> 16326 16327 PR c/64824 16328 * testsuite/libgomp.c/atomic-18.c: New test. 16329 * testsuite/libgomp.c++/atomic-16.C: New test. 16330 16331 2015-02-04 Jakub Jelinek <jakub (a] redhat.com> 16332 16333 PR c/64824 16334 PR c/64868 16335 * testsuite/libgomp.c/pr64824.c: New test. 16336 * testsuite/libgomp.c/pr64868.c: New test. 16337 * testsuite/libgomp.c++/pr64824.C: New test. 16338 * testsuite/libgomp.c++/pr64868.C: New test. 16339 16340 2015-02-01 David Edelsohn <dje.gcc (a] gmail.com> 16341 16342 PR libgomp/64635 16343 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h. 16344 Link with -lpthread. 16345 * config/aix/plugin-suffix.h: Delete. 16346 16347 2015-01-28 Jack Howarth <howarth.at.gcc (a] gmail.com> 16348 16349 PR libgomp/64635 16350 * configure.tgt (*-*-aix*): Use config_path "aix posix". 16351 (*-*-darwin*): Use config_path "bsd darwin posix". 16352 (*-*-hpux*): Use config_path "hpux posix". 16353 * target.c: Add include of plugin-suffix.h and use 16354 SONAME_SUFFIX macro. 16355 * config/aix/plugin-suffix.h: New file. 16356 * config/darwin/plugin-suffix.h: New file. 16357 * config/hpux/plugin-suffix.h: New file. 16358 * config/posix/plugin-suffix.h: New file. 16359 16360 2015-01-23 Jakub Jelinek <jakub (a] redhat.com> 16361 16362 PR middle-end/64734 16363 * libgomp.c/pr64734.c: New test. 16364 16365 2015-01-23 Tom de Vries <tom (a] codesourcery.com> 16366 16367 PR libgomp/64672 16368 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test. 16369 16370 2015-01-23 Tom de Vries <tom (a] codesourcery.com> 16371 16372 PR libgomp/64707 16373 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to 16374 dg-options. 16375 16376 2015-01-19 Thomas Schwinge <thomas (a] codesourcery.com> 16377 16378 PR libgomp/64625 16379 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data) 16380 (GOACC_parallel, GOACC_update): Remove const_void *offload_table 16381 formal parameter. Update all users. 16382 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update): 16383 Document unused formal parameter. 16384 16385 2015-01-16 Thomas Schwinge <thomas (a] codesourcery.com> 16386 16387 * oacc-parallel.c: Don't include <alloca.h>. 16388 (GOACC_parallel): Use gomp_alloca instead of alloca. 16389 16390 2015-01-16 Gerald Pfeifer <gerald (a] pfeifer.com> 16391 16392 * target.c (num_devices): Guard with PLUGIN_SUPPORT. 16393 16394 2015-01-15 Thomas Schwinge <thomas (a] codesourcery.com> 16395 James Norris <jnorris (a] codesourcery.com> 16396 Tom de Vries <tom (a] codesourcery.com> 16397 Julian Brown <julian (a] codesourcery.com> 16398 Cesar Philippidis <cesar (a] codesourcery.com> 16399 Nathan Sidwell <nathan (a] codesourcery.com> 16400 Tobias Burnus <burnus (a] net-b.de> 16401 16402 * Makefile.am (search_path): Add $(top_srcdir)/../include. 16403 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c, 16404 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c, 16405 oacc-async.c, oacc-plugin.c, oacc-cuda.c. 16406 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90. 16407 Include $(top_srcdir)/plugin/Makefrag.am. 16408 (nodist_libsubinclude_HEADERS): Add openacc.h. 16409 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h, 16410 openacc.f90, openacc.mod, openacc_kinds.mod. 16411 (omp_lib.mod): Generalize into... 16412 (%.mod): ... this new rule. 16413 (openacc_kinds.mod, openacc.mod): New rules. 16414 * plugin/configfrag.ac: New file. 16415 * configure.ac: Move plugin/offloading support into it. Include 16416 it. Instantiate testsuite/libgomp-test-support.pt.exp. 16417 * plugin/Makefrag.am: New file. 16418 * testsuite/Makefile.am (OFFLOAD_TARGETS) 16419 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't 16420 export. 16421 (libgomp-test-support.exp): New rule. 16422 (all-local): Depend on it. 16423 * Makefile.in: Regenerate. 16424 * testsuite/Makefile.in: Regenerate. 16425 * config.h.in: Likewise. 16426 * configure: Likewise. 16427 * configure.tgt: Harden shell syntax. 16428 * env.c: Include "oacc-int.h". 16429 (parse_acc_device_type): New function. 16430 (gomp_debug_var, goacc_device_type, goacc_device_num): New 16431 variables. 16432 (initialize_env): Initialize those. Call 16433 goacc_runtime_initialize. 16434 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions. 16435 (gomp_fatal): Call gomp_vfatal. 16436 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>. 16437 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug) 16438 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once) 16439 (splay_tree_node, splay_tree, splay_tree_key) 16440 (struct target_mem_desc, struct splay_tree_key_s) 16441 (struct gomp_memory_mapping, struct acc_dispatch_t) 16442 (struct gomp_device_descr, gomp_acc_insert_pointer) 16443 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async) 16444 (gomp_unmap_vars, gomp_init_device, gomp_init_tables) 16445 (gomp_free_memmap, gomp_fini_device): New declarations. 16446 (gomp_vdebug, gomp_debug): New macros. 16447 Include "splay-tree.h". 16448 * libgomp.map (OACC_2.0): New symbol version. Use for 16449 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type, 16450 acc_set_device_type_h_, acc_get_device_type, 16451 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_, 16452 acc_get_device_num, acc_get_device_num_h_, acc_async_test, 16453 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_, 16454 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_, 16455 acc_wait_all, acc_wait_all_h_, acc_wait_all_async, 16456 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown, 16457 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc, 16458 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_, 16459 acc_copyin_array_h_, acc_present_or_copyin, 16460 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_, 16461 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_, 16462 acc_create_64_h_, acc_create_array_h_, acc_present_or_create, 16463 acc_present_or_create_32_h_, acc_present_or_create_64_h_, 16464 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_, 16465 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete, 16466 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_, 16467 acc_update_device, acc_update_device_32_h_, 16468 acc_update_device_64_h_, acc_update_device_array_h_, 16469 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_, 16470 acc_update_self_array_h_, acc_map_data, acc_unmap_data, 16471 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_, 16472 acc_is_present_64_h_, acc_is_present_array_h_, 16473 acc_memcpy_to_device, acc_memcpy_from_device, 16474 acc_get_current_cuda_device, acc_get_current_cuda_context, 16475 acc_get_cuda_stream, acc_set_cuda_stream. 16476 (GOACC_2.0): New symbol version. Use for GOACC_data_end, 16477 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel, 16478 GOACC_update, GOACC_wait, GOACC_get_thread_num, 16479 GOACC_get_num_threads. 16480 (GOMP_PLUGIN_1.0): New symbol version. Use for 16481 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared, 16482 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error, 16483 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars, 16484 GOMP_PLUGIN_acc_thread. 16485 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG 16486 environment variable. 16487 * libgomp_g.h (GOACC_data_start, GOACC_data_end) 16488 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait) 16489 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations. 16490 * splay-tree.h (splay_tree_lookup, splay_tree_insert) 16491 (splay_tree_remove): New declarations. 16492 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert) 16493 (splay_tree_remove, splay_tree_lookup): Move into... 16494 * splay-tree.c: ... this new file. 16495 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>. 16496 (splay_tree_node, splay_tree, splay_tree_key) 16497 (struct target_mem_desc, struct splay_tree_key_s) 16498 (struct gomp_device_descr): Don't declare. 16499 (num_devices_openmp): New variable. 16500 (gomp_get_num_devices ): Use it. 16501 (gomp_init_targets_once): New function. 16502 (gomp_get_num_devices ): Use it. 16503 (get_kind, gomp_copy_from_async, gomp_free_memmap) 16504 (gomp_fini_device, gomp_register_image_for_device): New functions. 16505 (gomp_map_vars): Add devaddrs parameter. 16506 (gomp_update): Add mm parameter. 16507 (gomp_init_device): Move most of it into... 16508 (gomp_init_tables): ... this new function. 16509 (gomp_register_images_for_device): Remove function. 16510 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device): 16511 Make them hidden instead of static. 16512 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars) 16513 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data) 16514 (GOMP_target_end_data, GOMP_target_update) 16515 (gomp_load_plugin_for_device, gomp_target_init): Update for 16516 OpenACC changes. 16517 * oacc-async.c: New file. 16518 * oacc-cuda.c: Likewise. 16519 * oacc-host.c: Likewise. 16520 * oacc-init.c: Likewise. 16521 * oacc-int.h: Likewise. 16522 * oacc-mem.c: Likewise. 16523 * oacc-parallel.c: Likewise. 16524 * oacc-plugin.c: Likewise. 16525 * oacc-plugin.h: Likewise. 16526 * oacc-ptx.h: Likewise. 16527 * openacc.f90: Likewise. 16528 * openacc.h: Likewise. 16529 * openacc_lib.h: Likewise. 16530 * plugin/plugin-host.c: Likewise. 16531 * plugin/plugin-nvptx.c: Likewise. 16532 * libgomp-plugin.c: Likewise. 16533 * libgomp-plugin.h: Likewise. 16534 * libgomp_target.h: Remove file after merging content into the 16535 former file. Update all users. 16536 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp. 16537 (offload_targets_s, offload_targets_s_openacc): New variables. 16538 (check_effective_target_openacc_nvidia_accel_present) 16539 (check_effective_target_openacc_nvidia_accel_selected): New 16540 procedures. 16541 (libgomp_init): Update for OpenACC changes. 16542 * testsuite/libgomp-test-support.exp.in: New file. 16543 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. 16544 * testsuite/libgomp.oacc-c/c.exp: Likewise. 16545 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 16546 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise. 16547 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise. 16548 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise. 16549 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise. 16550 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise. 16551 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise. 16552 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise. 16553 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise. 16554 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise. 16555 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise. 16556 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise. 16557 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise. 16558 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise. 16559 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise. 16560 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise. 16561 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise. 16562 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise. 16563 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise. 16564 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise. 16565 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise. 16566 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise. 16567 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise. 16568 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise. 16569 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise. 16570 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise. 16571 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise. 16572 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise. 16573 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise. 16574 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise. 16575 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise. 16576 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise. 16577 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise. 16578 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise. 16579 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise. 16580 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise. 16581 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise. 16582 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise. 16583 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise. 16584 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise. 16585 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise. 16586 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise. 16587 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise. 16588 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise. 16589 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise. 16590 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise. 16591 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise. 16592 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise. 16593 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. 16594 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise. 16595 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise. 16596 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise. 16597 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise. 16598 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise. 16599 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise. 16600 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise. 16601 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise. 16602 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise. 16603 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise. 16604 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise. 16605 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise. 16606 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise. 16607 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise. 16608 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise. 16609 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise. 16610 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise. 16611 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise. 16612 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise. 16613 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise. 16614 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. 16615 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise. 16616 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise. 16617 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise. 16618 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise. 16619 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise. 16620 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise. 16621 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise. 16622 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise. 16623 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise. 16624 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise. 16625 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise. 16626 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise. 16627 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise. 16628 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise. 16629 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise. 16630 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise. 16631 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise. 16632 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise. 16633 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise. 16634 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise. 16635 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise. 16636 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise. 16637 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise. 16638 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise. 16639 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise. 16640 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise. 16641 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise. 16642 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise. 16643 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise. 16644 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise. 16645 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise. 16646 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise. 16647 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise. 16648 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise. 16649 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise. 16650 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise. 16651 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise. 16652 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise. 16653 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise. 16654 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise. 16655 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise. 16656 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise. 16657 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise. 16658 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise. 16659 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise. 16660 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise. 16661 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise. 16662 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise. 16663 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise. 16664 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise. 16665 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise. 16666 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise. 16667 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise. 16668 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise. 16669 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise. 16670 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise. 16671 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise. 16672 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise. 16673 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise. 16674 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise. 16675 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise. 16676 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise. 16677 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise. 16678 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise. 16679 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise. 16680 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise. 16681 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise. 16682 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: 16683 Likewise. 16684 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise. 16685 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise. 16686 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise. 16687 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise. 16688 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise. 16689 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise. 16690 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise. 16691 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise. 16692 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise. 16693 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise. 16694 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise. 16695 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise. 16696 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise. 16697 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise. 16698 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise. 16699 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise. 16700 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise. 16701 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise. 16702 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise. 16703 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise. 16704 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise. 16705 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise. 16706 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise. 16707 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise. 16708 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise. 16709 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise. 16710 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise. 16711 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise. 16712 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise. 16713 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise. 16714 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise. 16715 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise. 16716 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise. 16717 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise. 16718 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise. 16719 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise. 16720 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise. 16721 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise. 16722 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise. 16723 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise. 16724 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise. 16725 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise. 16726 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise. 16727 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise. 16728 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise. 16729 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise. 16730 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise. 16731 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise. 16732 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise. 16733 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise. 16734 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise. 16735 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise. 16736 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise. 16737 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. 16738 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise. 16739 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise. 16740 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise. 16741 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise. 16742 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise. 16743 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise. 16744 16745 2015-01-10 Thomas Schwinge <thomas (a] codesourcery.com> 16746 Julian Brown <julian (a] codesourcery.com> 16747 David Malcolm <dmalcolm (a] redhat.com> 16748 16749 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library" 16750 to "GNU Offloading and Multi Processing Runtime Library". Change 16751 all users. 16752 * configure: Regenerate. 16753 * libgomp.texi: Update. 16754 16755 2015-01-08 Thomas Schwinge <thomas (a] codesourcery.com> 16756 16757 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add 16758 "$tgt_dir/lib32". 16759 * configure: Regenerate. 16760 16761 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match 16762 "intelmic" in $offload_targets. 16763 16764 2015-01-05 Jakub Jelinek <jakub (a] redhat.com> 16765 16766 Update copyright years. 16767 16768 * libgomp.texi: Bump @copying's copyright year. 16769 16770 2014-12-12 Kyrylo Tkachov <kyrylo.tkachov (a] arm.com> 16771 16772 * testsuite/lib/libgomp.exp: Load target-utils.exp. 16773 Move load of target-supports.exp earlier. 16774 16775 2014-12-10 Ilya Verbin <ilya.verbin (a] intel.com> 16776 16777 * testsuite/libgomp.c/target-9.c: New test. 16778 16779 2014-12-09 Varvara Rainchik <varvara.rainchik (a] intel.com> 16780 16781 * config.h.in: Regenerate. 16782 * configure: Regenerate. 16783 * configure.ac: Add GCC_CHECK_EMUTLS. 16784 * libgomp.h: Add check for USE_EMUTLS: this case 16785 is equal to HAVE_TLS. 16786 * team.c: Likewise. 16787 16788 2014-12-03 Uros Bizjak <ubizjak (a] gmail.com> 16789 16790 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic. 16791 16792 2014-11-28 Andrey Turetskiy <andrey.turetskiy (a] intel.com> 16793 Ilya Verbin <ilya.verbin (a] intel.com> 16794 16795 * testsuite/libgomp.c/target-critical-1.c: New test. 16796 16797 2014-11-26 Jakub Jelinek <jakub (a] redhat.com> 16798 16799 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20 16800 to dg-options unless expensive testing is on. 16801 (TESTITERS): Define to N if not defined. 16802 (main): Use TESTITERS instead of N. 16803 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from 16804 dg-additional-options depending on whether expensive testing is on. 16805 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod): 16806 Decrease N to 100000 and CHUNKSZ to 10000. 16807 16808 2014-11-24 Jakub Jelinek <jakub (a] redhat.com> 16809 16810 PR fortran/63938 16811 * testsuite/libgomp.fortran/pr63938-1.f90: New test. 16812 * testsuite/libgomp.fortran/pr63938-2.f90: New test. 16813 16814 2014-11-21 Steve Ellcey <sellcey (a] imgtec.com> 16815 16816 * config/linux/mips/futex.h (SYS_futex): Define if not already done. 16817 16818 2014-11-21 H.J. Lu <hongjiu.lu (a] intel.com> 16819 16820 PR bootstrap/63784 16821 * configure: Regenerated. 16822 16823 2014-11-19 Uros Bizjak <ubizjak (a] gmail.com> 16824 16825 * testsuite/libgomp.c/examples-4/e.53.5.c: Require 16826 vect_simd_clones effective target. 16827 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto. 16828 16829 2014-11-14 Jakub Jelinek <jakub (a] redhat.com> 16830 16831 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead 16832 of 32 as block_size. 16833 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8 16834 instead of 32 as block_size. 16835 16836 2014-11-13 Andrey Turetskiy <andrey.turetskiy (a] intel.com> 16837 Ilya Verbin <ilya.verbin (a] intel.com> 16838 16839 * Makefile.in: Regenerate. 16840 * configure: Regenerate. 16841 * configure.ac: Set up offload_additional_options, 16842 offload_additional_lib_paths and offload_targets. 16843 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS, 16844 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS. 16845 * testsuite/Makefile.in: Regenerate. 16846 * testsuite/lib/libgomp.exp (libgomp_init): Append 16847 offload_additional_lib_paths to LD_LIBRARY_PATH. Append 16848 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic 16849 build directory to LD_LIBRARY_PATH for intelmic offload targets. 16850 16851 2014-11-13 Andrey Turetskiy <andrey.turetskiy (a] intel.com> 16852 Ilya Verbin <ilya.verbin (a] intel.com> 16853 Kirill Yukhin <kirill.yukhin (a] intel.com> 16854 Ilya Tocar <ilya.tocar (a] intel.com> 16855 16856 * testsuite/lib/libgomp.exp 16857 (check_effective_target_offload_device): New. 16858 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories. 16859 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test. 16860 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto. 16861 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto. 16862 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto. 16863 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto. 16864 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto. 16865 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto. 16866 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto. 16867 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto. 16868 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto. 16869 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto. 16870 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto. 16871 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto. 16872 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto. 16873 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto. 16874 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto. 16875 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto. 16876 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto. 16877 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto. 16878 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto. 16879 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto. 16880 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto. 16881 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto. 16882 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto. 16883 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto. 16884 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto. 16885 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto. 16886 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto. 16887 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto. 16888 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto. 16889 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto. 16890 * testsuite/libgomp.c/target-7.c: Fix test. 16891 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test. 16892 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto. 16893 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto. 16894 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto. 16895 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto. 16896 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto. 16897 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto. 16898 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto. 16899 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto. 16900 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto. 16901 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto. 16902 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto. 16903 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto. 16904 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto. 16905 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto. 16906 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto. 16907 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto. 16908 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto. 16909 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto. 16910 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto. 16911 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto. 16912 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto. 16913 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto. 16914 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto. 16915 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto. 16916 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto. 16917 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto. 16918 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto. 16919 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto. 16920 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto. 16921 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto. 16922 16923 2014-11-13 Jakub Jelinek <jakub (a] redhat.com> 16924 Ilya Verbin <ilya.verbin (a] intel.com> 16925 Thomas Schwinge <thomas (a] codesourcery.com> 16926 Andrey Turetskiy <andrey.turetskiy (a] intel.com> 16927 16928 * libgomp.map (GOMP_4.0.1): New symbol version. 16929 Add GOMP_offload_register. 16930 * libgomp_target.h: New file. 16931 * splay-tree.h: New file. 16932 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h. 16933 (gomp_target_init): New forward declaration. 16934 (gomp_is_initialized): New static variable. 16935 (splay_tree_node, splay_tree, splay_tree_key): New typedefs. 16936 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr): 16937 New structures. 16938 (offload_images, num_offload_images, devices, num_devices): New static 16939 variables. 16940 (splay_compare): New static function. 16941 (struct gomp_device_descr): New structure. 16942 (gomp_get_num_devices): Call gomp_target_init. 16943 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt) 16944 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions. 16945 (GOMP_offload_register): New function. 16946 (GOMP_target): Arrange for host callback to be performed in a separate 16947 initial thread and contention group, inheriting ICVs from 16948 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars. 16949 Add device initialization and lookup for target function in splay tree. 16950 (GOMP_target_data): Add device initialization and call gomp_map_vars. 16951 (GOMP_target_end_data): Call gomp_unmap_vars. 16952 (GOMP_target_update): Add device initialization and call gomp_update. 16953 (gomp_load_plugin_for_device, gomp_register_images_for_device) 16954 (gomp_target_init): New static functions. 16955 16956 2014-11-13 Bernd Schmidt <bernds (a] codesourcery.com> 16957 Thomas Schwinge <thomas (a] codesourcery.com> 16958 Ilya Verbin <ilya.verbin (a] intel.com> 16959 Andrey Turetskiy <andrey.turetskiy (a] intel.com> 16960 16961 * config.h.in: Regenerate. 16962 * configure: Regenerate. 16963 * configure.ac: Check for libdl, required for plugin support. 16964 (PLUGIN_SUPPORT): Define if plugins are supported. 16965 (enable_offload_targets): Support Intel MIC targets. 16966 (OFFLOAD_TARGETS): List of target names suitable for offloading. 16967 16968 2014-11-11 Francois-Xavier Coudert <fxcoudert (a] gcc.gnu.org> 16969 16970 PR target/63610 16971 * configure: Regenerate. 16972 16973 2014-11-05 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 16974 16975 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600. 16976 16977 2014-10-06 Marek Polacek <polacek (a] redhat.com> 16978 16979 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>. 16980 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>. 16981 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h> 16982 * testsuite/libgomp.c/thread-limit-2.c: Likewise. 16983 16984 2014-10-06 Marek Polacek <polacek (a] redhat.com> 16985 16986 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations. 16987 * testsuite/libgomp.c/nqueens-1.c: Likewise. 16988 * testsuite/libgomp.c/pr26943-3.c: Likewise. 16989 * testsuite/libgomp.c/pr26943-4.c: Likewise. 16990 * testsuite/libgomp.c/pr36802-2.c: Likewise. 16991 * testsuite/libgomp.c/pr36802-3.c: Likewise. 16992 * testsuite/libgomp.c/thread-limit-1.c: Likewise. 16993 * testsuite/libgomp.c/thread-limit-2.c: Likewise. 16994 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>. 16995 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int. 16996 * testsuite/libgomp.c/omp-parallel-for.c: Likewise. 16997 * testsuite/libgomp.c/omp-parallel-if.c: Likewise. 16998 * testsuite/libgomp.c/omp-single-1.c: Likewise. 16999 * testsuite/libgomp.c/omp-single-2.c: Likewise. 17000 * testsuite/libgomp.c/omp_matvec.c: Likewise. 17001 * testsuite/libgomp.c/omp_workshare3.c: Likewise. 17002 * testsuite/libgomp.c/omp_workshare4.c: Likewise. 17003 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit 17004 declarations. 17005 17006 2014-10-03 Jakub Jelinek <jakub (a] redhat.com> 17007 17008 PR libgomp/61200 17009 * testsuite/libgomp.c/pr61200.c: New test. 17010 17011 2014-09-18 Jakub Jelinek <jakub (a] redhat.com> 17012 17013 PR c++/63248 17014 * testsuite/libgomp.c++/pr63248.C: New test. 17015 17016 2014-08-04 Jakub Jelinek <jakub (a] redhat.com> 17017 17018 * task.c (GOMP_taskgroup_end): If taskgroup->num_children 17019 is not zero, but taskgroup->children is NULL and there are 17020 any task->children, schedule those instead of waiting. 17021 * testsuite/libgomp.c/depend-6.c: New test. 17022 * testsuite/libgomp.c/depend-7.c: New test. 17023 * testsuite/libgomp.c/depend-8.c: New test. 17024 * testsuite/libgomp.c/depend-9.c: New test. 17025 * testsuite/libgomp.c/depend-10.c: New test. 17026 17027 2014-08-01 Jakub Jelinek <jakub (a] redhat.com> 17028 17029 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field. 17030 (struct gomp_taskwait): New type. 17031 (struct gomp_task): Add taskwait and parent_depends_on, remove 17032 in_taskwait and taskwait_sem fields. 17033 (gomp_finish_task): Don't destroy taskwait_sem. 17034 * task.c (gomp_init_task): Don't init in_taskwait, instead init 17035 taskwait and parent_depends_on. 17036 (GOMP_task): For if (0) tasks with depend clause that depend on 17037 earlier tasks don't defer them, instead call 17038 gomp_task_maybe_wait_for_dependencies to wait for the dependencies. 17039 Initialize redundant_out field, for redundant out entries just 17040 move them at the end of linked list instead of removing them 17041 completely, and set redundant_out flag instead of redundant. 17042 (gomp_task_run_pre): Update last_parent_depends_on if scheduling 17043 that task. 17044 (gomp_task_run_post_handle_dependers): If parent is in 17045 gomp_task_maybe_wait_for_dependencies and newly runnable task 17046 is not parent_depends_on, queue it in parent->children linked 17047 list after all runnable tasks with parent_depends_on set. 17048 Adjust for addition of taskwait indirection. 17049 (gomp_task_run_post_remove_parent): If parent is in 17050 gomp_task_maybe_wait_for_dependencies and task to be removed 17051 is parent_depends_on, decrement n_depend and if needed awake 17052 parent. Adjust for addition of taskwait indirection. 17053 (GOMP_taskwait): Adjust for addition of taskwait indirection. 17054 (gomp_task_maybe_wait_for_dependencies): New function. 17055 * testsuite/libgomp.c/depend-5.c: New test. 17056 17057 2014-07-13 Tobias Burnus <burnus (a] net-b.de> 17058 17059 * testsuite/libgomp.fortran/pr34020.f90: Make compile 17060 with TS 18508/Fortran 2015. 17061 17062 2014-07-06 Marek Polacek <polacek (a] redhat.com> 17063 17064 PR c/6940 17065 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings. 17066 17067 2014-07-03 Jakub Jelinek <jakub (a] redhat.com> 17068 17069 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source 17070 matches regex $lang_source_re, add $lang_include_flags to options. 17071 * testsuite/libgomp.c/c.exp: Unset lang_include_flags. 17072 * testsuite/libgomp.c++/c++.exp: Likewise. 17073 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re 17074 and lang_include_flags instead of adding -fintrinsic-modules-path= to 17075 ALWAYS_CFLAGS. 17076 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags. 17077 17078 2014-07-03 Thomas Schwinge <thomas (a] codesourcery.com> 17079 17080 * testsuite/libgomp.fortran/fortran.exp: Explain 17081 gfortran-dg-runtest usage. 17082 17083 2014-06-25 Jakub Jelinek <jakub (a] redhat.com> 17084 17085 * testsuite/libgomp.fortran/simd5.f90: New test. 17086 * testsuite/libgomp.fortran/simd6.f90: New test. 17087 * testsuite/libgomp.fortran/simd7.f90: New test. 17088 17089 2014-06-24 Jakub Jelinek <jakub (a] redhat.com> 17090 17091 * testsuite/libgomp.c/for-2.c: Define SC to static for 17092 #pragma omp for simd testing. 17093 * testsuite/libgomp.c/for-2.h (SC): Define if not defined. 17094 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use 17095 SC macro. 17096 * testsuite/libgomp.c/simd-14.c: New test. 17097 * testsuite/libgomp.c/simd-15.c: New test. 17098 * testsuite/libgomp.c/simd-16.c: New test. 17099 * testsuite/libgomp.c/simd-17.c: New test. 17100 * testsuite/libgomp.c++/for-10.C: Define SC to static for 17101 #pragma omp for simd testing. 17102 * testsuite/libgomp.c++/simd10.C: New test. 17103 * testsuite/libgomp.c++/simd11.C: New test. 17104 * testsuite/libgomp.c++/simd12.C: New test. 17105 * testsuite/libgomp.c++/simd13.C: New test. 17106 17107 * testsuite/libgomp.fortran/aligned1.f03: New test. 17108 * testsuite/libgomp.fortran/nestedfn5.f90: New test. 17109 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning 17110 tasks with !$omp parallel !$omp single. 17111 * testsuite/libgomp.fortran/target8.f90: New test. 17112 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust 17113 not to use trim in the combiner, instead call elemental function. 17114 (fn): New elemental function. 17115 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init): 17116 Make elemental. 17117 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out, 17118 omp_in): Likewise. 17119 * testsuite/libgomp.fortran/udr12.f90: New test. 17120 * testsuite/libgomp.fortran/udr13.f90: New test. 17121 * testsuite/libgomp.fortran/udr14.f90: New test. 17122 * testsuite/libgomp.fortran/udr15.f90: New test. 17123 17124 2014-06-18 Jakub Jelinek <jakub (a] redhat.com> 17125 17126 * omp_lib.f90.in (openmp_version): Set to 201307. 17127 * omp_lib.h.in (openmp_version): Likewise. 17128 * testsuite/libgomp.c/target-8.c: New test. 17129 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch 17130 and inbranch clauses. 17131 * testsuite/libgomp.fortran/depend-3.f90: New test. 17132 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new 17133 openmp_version. 17134 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise. 17135 * testsuite/libgomp.fortran/target1.f90: New test. 17136 * testsuite/libgomp.fortran/target2.f90: New test. 17137 * testsuite/libgomp.fortran/target3.f90: New test. 17138 * testsuite/libgomp.fortran/target4.f90: New test. 17139 * testsuite/libgomp.fortran/target5.f90: New test. 17140 * testsuite/libgomp.fortran/target6.f90: New test. 17141 * testsuite/libgomp.fortran/target7.f90: New test. 17142 17143 2014-06-10 Jakub Jelinek <jakub (a] redhat.com> 17144 17145 PR fortran/60928 17146 * testsuite/libgomp.fortran/allocatable9.f90: New test. 17147 * testsuite/libgomp.fortran/allocatable10.f90: New test. 17148 * testsuite/libgomp.fortran/allocatable11.f90: New test. 17149 * testsuite/libgomp.fortran/allocatable12.f90: New test. 17150 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test. 17151 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test. 17152 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test. 17153 * testsuite/libgomp.fortran/associate1.f90: New test. 17154 * testsuite/libgomp.fortran/associate2.f90: New test. 17155 * testsuite/libgomp.fortran/procptr1.f90: New test. 17156 17157 2014-06-06 Jakub Jelinek <jakub (a] redhat.com> 17158 17159 * testsuite/libgomp.fortran/simd1.f90: New test. 17160 * testsuite/libgomp.fortran/udr1.f90: New test. 17161 * testsuite/libgomp.fortran/udr2.f90: New test. 17162 * testsuite/libgomp.fortran/udr3.f90: New test. 17163 * testsuite/libgomp.fortran/udr4.f90: New test. 17164 * testsuite/libgomp.fortran/udr5.f90: New test. 17165 * testsuite/libgomp.fortran/udr6.f90: New test. 17166 * testsuite/libgomp.fortran/udr7.f90: New test. 17167 * testsuite/libgomp.fortran/udr8.f90: New test. 17168 * testsuite/libgomp.fortran/udr9.f90: New test. 17169 * testsuite/libgomp.fortran/udr10.f90: New test. 17170 * testsuite/libgomp.fortran/udr11.f90: New test. 17171 17172 2014-05-27 Uros Bizjak <ubizjak (a] gmail.com> 17173 17174 * testsuite/libgomp.fortran/declare-simd-1.f90: Require 17175 vect_simd_clones effective target. 17176 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto. 17177 17178 2014-05-21 Jakub Jelinek <jakub (a] redhat.com> 17179 17180 PR middle-end/61252 17181 * testsuite/libgomp.c++/simd-9.C: New test. 17182 17183 2014-05-18 Uros Bizjak <ubizjak (a] gmail.com> 17184 17185 * libgomp.texi (Runitme Library Routines): Remove multiple @menu. 17186 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node 17187 texts according to their @menu entry positions. 17188 17189 2014-05-11 Jakub Jelinek <jakub (a] redhat.com> 17190 17191 * testsuite/libgomp.fortran/cancel-do-1.f90: New test. 17192 * testsuite/libgomp.fortran/cancel-do-2.f90: New test. 17193 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test. 17194 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test. 17195 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test. 17196 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test. 17197 * testsuite/libgomp.fortran/declare-simd-1.f90: New test. 17198 * testsuite/libgomp.fortran/declare-simd-2.f90: New test. 17199 * testsuite/libgomp.fortran/declare-simd-3.f90: New test. 17200 * testsuite/libgomp.fortran/depend-1.f90: New test. 17201 * testsuite/libgomp.fortran/depend-2.f90: New test. 17202 * testsuite/libgomp.fortran/omp_atomic5.f90: New test. 17203 * testsuite/libgomp.fortran/simd1.f90: New test. 17204 * testsuite/libgomp.fortran/simd2.f90: New test. 17205 * testsuite/libgomp.fortran/simd3.f90: New test. 17206 * testsuite/libgomp.fortran/simd4.f90: New test. 17207 * testsuite/libgomp.fortran/taskgroup1.f90: New test. 17208 17209 2014-05-02 Jakub Jelinek <jakub (a] redhat.com> 17210 17211 * testsuite/libgomp.c/simd-10.c: New test. 17212 * testsuite/libgomp.c/simd-11.c: New test. 17213 * testsuite/libgomp.c/simd-12.c: New test. 17214 * testsuite/libgomp.c/simd-13.c: New test. 17215 17216 2014-04-24 Jakub Jelinek <jakub (a] redhat.com> 17217 17218 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and 17219 atomic type clauses in any order and optional comma in between. 17220 * testsuite/libgomp.c++/atomic-15.C: Likewise. 17221 * testsuite/libgomp.c/atomic-17.c: Likewise. 17222 17223 * testsuite/libgomp.c/simd-7.c: New test. 17224 * testsuite/libgomp.c/simd-8.c: New test. 17225 * testsuite/libgomp.c/simd-9.c: New test. 17226 * testsuite/libgomp.c/loop-16.c: New test. 17227 17228 2014-04-02 Richard Henderson <rth (a] redhat.com> 17229 17230 * config/linux/futex.h (futex_wait): Get error value from errno. 17231 (futex_wake): Likewise. 17232 17233 2014-03-25 Jakub Jelinek <jakub (a] redhat.com> 17234 17235 PR c++/60331 17236 * testsuite/libgomp.c++/udr-11.C: New test. 17237 * testsuite/libgomp.c++/udr-12.C: New test. 17238 * testsuite/libgomp.c++/udr-13.C: New test. 17239 * testsuite/libgomp.c++/udr-14.C: New test. 17240 * testsuite/libgomp.c++/udr-15.C: New test. 17241 * testsuite/libgomp.c++/udr-16.C: New test. 17242 * testsuite/libgomp.c++/udr-17.C: New test. 17243 * testsuite/libgomp.c++/udr-18.C: New test. 17244 * testsuite/libgomp.c++/udr-19.C: New test. 17245 17246 2014-01-02 Richard Sandiford <rdsandiford (a] googlemail.com> 17247 17248 Update copyright years 17249 17250 2014-01-02 Richard Sandiford <rdsandiford (a] googlemail.com> 17251 17252 * hashtab.h: Use the standard form for the copyright notice. 17253 17254 2014-01-02 Tobias Burnus <burnus (a] net-b.de> 17255 17256 * libgomp.texi: Bump @copying's copyright year. 17257 17258 2013-12-17 Andreas Tobler <andreast (a] gcc.gnu.org> 17259 17260 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace 17261 alloca () with __builtin_alloca (). 17262 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage. 17263 * testsuite/libgomp.c/lock-3.c: Likewise. 17264 * testsuite/libgomp.c/pr48591.c: Likewise. 17265 17266 2013-12-17 Jakub Jelinek <jakub (a] redhat.com> 17267 17268 PR testsuite/59534 17269 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited 17270 comparisons. 17271 17272 2013-12-16 Jakub Jelinek <jakub (a] redhat.com> 17273 17274 PR libgomp/58756 17275 * testsuite/libgomp.c/pr58756.c: New test. 17276 17277 2013-12-12 Jakub Jelinek <jakub (a] redhat.com> 17278 17279 PR libgomp/59467 17280 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to 17281 !$omp parallel. 17282 17283 2013-11-07 Thomas Schwinge <thomas (a] codesourcery.com> 17284 17285 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to 17286 ALWAYS_CFLAGS. 17287 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp. 17288 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise. 17289 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise. 17290 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS): 17291 Likewise. 17292 17293 * libgomp_g.h: Include <stddef.h> for size_t. 17294 17295 * libgomp.spec.in: Update comment about libgomp's dependencies. 17296 * configure.ac: Likewise. 17297 * configure: Regenerate. 17298 17299 2013-10-16 Tobias Burnus <burnus (a] net-b.de> 17300 17301 * libgomp.texi: (Runtime Library Routines): Update references for 17302 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device, 17303 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind, 17304 omp_get_team_num, omp_is_initial_device, omp_set_default_device. 17305 (Environment Variables): Update references for OpenMP 4.0. Add 17306 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES. 17307 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical 17308 order. 17309 17310 2013-10-14 Jakub Jelinek <jakub (a] redhat.com> 17311 17312 * env.c (parse_bind_var): Initialize value to avoid 17313 (false positive) warning. 17314 17315 2013-10-12 Jakub Jelinek <jakub (a] redhat.com> 17316 17317 PR libgomp/58691 17318 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute 17319 to check variable. 17320 (gomp_init_num_threads): Move i variable declaration into 17321 #ifdef CPU_ALLOC_SIZE block. 17322 * config/linux/affinity.c (gomp_affinity_init_level): Test 17323 gomp_places_list_len == 0 rather than gomp_places_list == 0 17324 when checking for topology reading error. 17325 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false. 17326 * env.c (parse_affinity): Add ignore argument, if true, don't populate 17327 gomp_places_list, only parse env var and always return false. 17328 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var. 17329 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env 17330 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified 17331 and either of these variables were parsed correctly into a places 17332 list. 17333 17334 2013-10-11 Thomas Schwinge <thomas (a] codesourcery.com> 17335 Jakub Jelinek <jakub (a] redhat.com> 17336 17337 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead 17338 of 5 loopfn matches. 17339 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise. 17340 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise. 17341 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise. 17342 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise. 17343 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise. 17344 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise. 17345 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise. 17346 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise. 17347 17348 2013-10-11 Thomas Schwinge <thomas (a] codesourcery.com> 17349 17350 * Makefile.am (omp_lib.mod): Streamline rule. 17351 * Makefile.in: Regenerate. 17352 17353 * libgomp.texi (Runtime Library Routines): C linkage, don't throw 17354 exceptions. 17355 17356 * testsuite/libgomp.c/lib-1.c (main): Add missing error check. 17357 * testsuite/libgomp.fortran/lib1.f90: Likewise. 17358 * testsuite/libgomp.fortran/lib2.f: Likewise. 17359 * testsuite/libgomp.fortran/lib3.f: Likewise. 17360 17361 * configure.ac: Typo fix. 17362 * configure: Regenerate. 17363 17364 * testsuite/libgomp.fortran/openmp_version-1.f: New file. 17365 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise. 17366 17367 * omp.h.in: Don't touch the user's namespace. 17368 17369 2013-10-11 Jakub Jelinek <jakub (a] redhat.com> 17370 Tobias Burnus <burnus (a] net-b.de> 17371 Richard Henderson <rth (a] redhat.com> 17372 17373 * target.c: New file. 17374 * Makefile.am (libgomp_la_SOURCES): Add target.c. 17375 * Makefile.in: Regenerated. 17376 * libgomp_g.h (GOMP_task): Add depend argument. 17377 (GOMP_barrier_cancel, GOMP_loop_end_cancel, 17378 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data, 17379 GOMP_target_end_data, GOMP_target_update, GOMP_teams, 17380 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic, 17381 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime, 17382 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point, 17383 GOMP_taskgroup_start, GOMP_taskgroup_end, 17384 GOMP_parallel_sections): New prototypes. 17385 * fortran.c (omp_is_initial_device): Add ialias_redirect. 17386 (omp_is_initial_device_): New function. 17387 (ULP, STR1, STR2, ialias_redirect): Removed. 17388 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_, 17389 omp_set_default_device_8_, omp_get_default_device_, 17390 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New 17391 functions. 17392 * libgomp.map (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): Export 17395 @@GOMP_4.0. 17396 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation, 17397 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_, 17398 omp_set_default_device, omp_set_default_device_, 17399 omp_set_default_device_8_, omp_get_default_device, 17400 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_, 17401 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num, 17402 omp_get_team_num_): Export @@OMP_4.0. 17403 * team.c (struct gomp_thread_start_data): Add place field. 17404 (gomp_thread_start): Clear thr->thread_pool and 17405 thr->task before returning. Use gomp_team_barrier_wait_final 17406 instead of gomp_team_barrier_wait. Initialize thr->place. 17407 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled, 17408 team_cancelled and task_queued_count fields. 17409 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task 17410 before calling pthread_exit. 17411 (gomp_free_thread): No longer static. Use 17412 gomp_managed_threads_lock instead of gomp_remaining_threads_lock. 17413 (gomp_team_start): Add flags argument. Set 17414 thr->thread_pool->threads_busy to nthreads immediately after creating 17415 new pool. Use gomp_managed_threads_lock instead of 17416 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity. 17417 (gomp_team_end): Use gomp_managed_threads_lock instead of 17418 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead 17419 of gomp_team_barrier_wait. If team->team_cancelled, call 17420 gomp_fini_workshare on ws chain starting at team->work_shares_to_free 17421 rather than thr->ts.work_share. 17422 (initialize_team): Don't call gomp_sem_init here. 17423 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start 17424 caller. 17425 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions. 17426 * env.c (gomp_global_icv): Add default_device_var, target_data and 17427 bind_var initializers. 17428 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove. 17429 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list, 17430 gomp_places_list_len): New variables. 17431 (parse_bind_var, parse_one_place, parse_places_var): New functions. 17432 (parse_affinity): Rewritten to construct OMP_PLACES list with unit 17433 sized places. 17434 (gomp_cancel_var): New global variable. 17435 (parse_int): New function. 17436 (handle_omp_display_env): New function. 17437 (initialize_env): Use it. Initialize default_device_var. 17438 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse 17439 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for 17440 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has 17441 been successfully parsed (and call gomp_init_affinity in that case). 17442 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device, 17443 omp_get_default_device, omp_get_num_devices, omp_get_num_teams, 17444 omp_get_team_num, omp_is_initial_device): New functions. 17445 * libgomp.h: Include stdlib.h. 17446 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call): 17447 Define. 17448 (struct target_mem_desc): Forward declare. 17449 (struct gomp_task_icv): Add default_device_var, target_data, bind_var 17450 and thread_limit_var fields. 17451 (gomp_get_num_devices): New prototype. 17452 (gomp_cancel_var): New extern decl. 17453 (struct gomp_team): Add work_shares_to_free, work_share_cancelled, 17454 team_cancelled and task_queued_count fields. Add comments about 17455 task_{,queued_,running_}count. 17456 (gomp_cancel_kind): New enum. 17457 (gomp_work_share_end_cancel): New prototype. 17458 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup, 17459 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees 17460 and depend fields. 17461 (struct gomp_taskgroup): New type. 17462 (struct gomp_task_depend_entry, 17463 struct gomp_dependers_vec): New types. 17464 (gomp_finish_task): Free depend_hash if non-NULL. 17465 (struct gomp_team_state): Add place_partition_off 17466 and place_partition_len fields. 17467 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list, 17468 gomp_places_list_len): New extern decls. 17469 (struct gomp_thread): Add place field. 17470 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove. 17471 (gomp_init_thread_affinity): Add place argument. 17472 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus, 17473 gomp_affinity_remove_cpu, gomp_affinity_copy_place, 17474 gomp_affinity_same_place, gomp_affinity_finalize_place_list, 17475 gomp_affinity_init_level, gomp_affinity_print_place): New 17476 prototypes. 17477 (gomp_team_start): Add flags argument. 17478 (gomp_thread_limit_var, gomp_remaining_threads_count, 17479 gomp_remaining_threads_lock): Remove. 17480 (gomp_managed_threads_lock): New variable. 17481 (struct gomp_thread_pool): Add threads_busy field. 17482 (gomp_free_thread): New prototype. 17483 * task.c: Include hashtab.h. 17484 (hash_entry_type): New typedef. 17485 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines. 17486 (gomp_init_task): Clear dependers, depend_hash, depend_count, 17487 copy_ctors_done and taskgroup fields. 17488 (GOMP_task): Add depend argument, handle depend clauses. If 17489 gomp_team_barrier_cancelled or if it's taskgroup has been 17490 cancelled, don't queue or start new tasks. Set copy_ctors_done 17491 field if needed. Initialize taskgroup field. If copy_ctors_done 17492 and already cancelled, don't discard the task. If taskgroup is 17493 non-NULL, enqueue the task into taskgroup queue. Increment 17494 num_children field in taskgroup. Increment task_queued_count. 17495 (gomp_task_run_pre, gomp_task_run_post_remove_parent, 17496 gomp_task_run_post_remove_taskgroup): New inline functions. 17497 (gomp_task_run_post_handle_depend_hash, 17498 gomp_task_run_post_handle_dependers, 17499 gomp_task_run_post_handle_depend): New functions. 17500 (GOMP_taskwait): Use them. If more than one new tasks 17501 have been queued, wake other threads if needed. 17502 (gomp_barrier_handle_tasks): Likewise. If 17503 gomp_team_barrier_cancelled, don't start any new tasks, just free 17504 all tasks. 17505 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions. 17506 * omp_lib.f90.in 17507 (omp_proc_bind_kind, omp_proc_bind_false, 17508 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close, 17509 omp_proc_bind_spread): New params. 17510 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device, 17511 omp_get_default_device, omp_get_num_devices, omp_get_num_teams, 17512 omp_get_team_num, omp_is_initial_device): New interfaces. 17513 (omp_get_dynamic, omp_get_nested, omp_in_parallel, 17514 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads, 17515 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels, 17516 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num, 17517 omp_get_team_size, omp_get_active_level, omp_in_final): Remove 17518 useless use omp_lib_kinds. 17519 * omp.h.in (omp_proc_bind_t): New typedef. 17520 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device, 17521 omp_get_default_device, omp_get_num_devices, omp_get_num_teams, 17522 omp_get_team_num, omp_is_initial_device): New prototypes. 17523 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it 17524 through to gomp_team_start. 17525 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start, 17526 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start): 17527 Adjust gomp_parallel_loop_start callers. 17528 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic, 17529 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime, 17530 GOMP_loop_end_cancel): New functions. 17531 (GOMP_parallel_end): Add ialias_redirect. 17532 * hashtab.h: New file. 17533 * libgomp.texi (Environment Variables): Minor cleanup, 17534 update section refs to OpenMP 4.0rc2. 17535 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these 17536 environment variables. 17537 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set 17538 team->work_shares_to_free to thr->ts.work_share before calling 17539 free_work_share. 17540 (gomp_work_share_end_cancel): New function. 17541 * config/linux/proc.c: Include errno.h. 17542 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables. 17543 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of 17544 sizeof (cpu_set_t) to determine number of iterations. Fix up check 17545 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if 17546 gomp_cpuset_size is sizeof (cpu_set_t). 17547 (gomp_init_num_threads): Initialize gomp_cpuset_size, 17548 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead 17549 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t) 17550 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't 17551 contain any logical CPUs. 17552 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp 17553 is NULL. Use gomp_cpusetp instead of &cpuset and pass 17554 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to 17555 pthread_getaffinity_np. Check gomp_places_list instead of 17556 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller. 17557 * config/linux/bar.c (gomp_barrier_wait_end, 17558 gomp_barrier_wait_last): Use BAR_* defines. 17559 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED 17560 from state where needed. Set work_share_cancelled to 0 on last 17561 thread. 17562 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end, 17563 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New 17564 functions. 17565 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden. 17566 Add cpusetsize argument. 17567 (gomp_cpuset_size, gomp_cpusetp): Declare. 17568 * config/linux/affinity.c: Include errno.h, stdio.h and string.h. 17569 (affinity_counter): Remove. 17570 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define 17571 if CPU_ALLOC_SIZE isn't defined. 17572 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try 17573 silently create OMP_PLACES=threads, if it is non-NULL afterwards, 17574 bind current thread to the first place. 17575 (gomp_init_thread_affinity): Rewritten. Add place argument, just 17576 pthread_setaffinity_np to gomp_places_list[place]. 17577 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus, 17578 gomp_affinity_remove_cpu, gomp_affinity_copy_place, 17579 gomp_affinity_same_place, gomp_affinity_finalize_place_list, 17580 gomp_affinity_init_level, gomp_affinity_print_place): New functions. 17581 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST, 17582 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define. 17583 (gomp_barrier_t): Add awaited_final field. 17584 (gomp_barrier_init): Initialize awaited_final field. 17585 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel, 17586 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New 17587 prototypes. 17588 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_* 17589 defines. 17590 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start, 17591 gomp_team_barrier_cancelled): New inline functions. 17592 (gomp_barrier_last_thread, 17593 gomp_team_barrier_set_task_pending, 17594 gomp_team_barrier_clear_task_pending, 17595 gomp_team_barrier_set_waiting_for_tasks, 17596 gomp_team_barrier_waiting_for_tasks, 17597 gomp_team_barrier_done): Use BAR_* defines. 17598 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field. 17599 (gomp_barrier_wait_end): Use BAR_* defines. 17600 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state. 17601 Set work_share_cancelled to 0 on last thread, use __atomic_load_n. 17602 Use BAR_* defines. 17603 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel, 17604 gomp_team_barrier_cancel): New functions. 17605 * config/posix/affinity.c (gomp_init_thread_affinity): Add place 17606 argument. 17607 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus, 17608 gomp_affinity_remove_cpu, gomp_affinity_copy_place, 17609 gomp_affinity_same_place, gomp_affinity_finalize_place_list, 17610 gomp_affinity_init_level, gomp_affinity_print_place): New stubs. 17611 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST, 17612 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define. 17613 (gomp_barrier_t): Add cancellable field. 17614 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end, 17615 gomp_team_barrier_cancel): New prototypes. 17616 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. 17617 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final, 17618 gomp_team_barrier_cancelled): New inline functions. 17619 (gomp_barrier_wait_start, gomp_barrier_last_thread, 17620 gomp_team_barrier_set_task_pending, 17621 gomp_team_barrier_clear_task_pending, 17622 gomp_team_barrier_set_waiting_for_tasks, 17623 gomp_team_barrier_waiting_for_tasks, 17624 gomp_team_barrier_done): Use BAR_* defines. 17625 * barrier.c (GOMP_barrier_cancel): New function. 17626 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false, 17627 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close, 17628 omp_proc_bind_spread): New params. 17629 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device, 17630 omp_get_default_device, omp_get_num_devices, omp_get_num_teams, 17631 omp_get_team_num, omp_is_initial_device): New externals. 17632 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point): 17633 New functions. 17634 (gomp_resolve_num_threads): Adjust for thread_limit now being in 17635 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as 17636 infinity. If not nested, just return minimum of max_num_threads 17637 and icv->thread_limit_var and if thr->thread_pool, set threads_busy 17638 to the returned value. Otherwise, don't update atomically 17639 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy. 17640 (GOMP_parallel_end): Adjust for thread_limit now being in 17641 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as 17642 infinity. Adjust threads_busy in the pool rather than 17643 gomp_remaining_threads_count. Remember team->nthreads and call 17644 gomp_team_end before adjusting threads_busy, if not nested 17645 afterwards, just set it to 1 non-atomically. Add ialias. 17646 (GOMP_parallel_start): Adjust gomp_team_start caller. 17647 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid. 17648 * testsuite/libgomp.c/affinity-1.c: New test. 17649 * testsuite/libgomp.c/atomic-15.c: New test. 17650 * testsuite/libgomp.c/atomic-16.c: New test. 17651 * testsuite/libgomp.c/atomic-17.c: New test. 17652 * testsuite/libgomp.c/cancel-for-1.c: New test. 17653 * testsuite/libgomp.c/cancel-for-2.c: New test. 17654 * testsuite/libgomp.c/cancel-parallel-1.c: New test. 17655 * testsuite/libgomp.c/cancel-parallel-2.c: New test. 17656 * testsuite/libgomp.c/cancel-parallel-3.c: New test. 17657 * testsuite/libgomp.c/cancel-sections-1.c: New test. 17658 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test. 17659 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test. 17660 * testsuite/libgomp.c/depend-1.c: New test. 17661 * testsuite/libgomp.c/depend-2.c: New test. 17662 * testsuite/libgomp.c/depend-3.c: New test. 17663 * testsuite/libgomp.c/depend-4.c: New test. 17664 * testsuite/libgomp.c/for-1.c: New test. 17665 * testsuite/libgomp.c/for-1.h: New file. 17666 * testsuite/libgomp.c/for-2.c: New test. 17667 * testsuite/libgomp.c/for-2.h: New file. 17668 * testsuite/libgomp.c/for-3.c: New test. 17669 * testsuite/libgomp.c/pr58392.c: New test. 17670 * testsuite/libgomp.c/simd-1.c: New test. 17671 * testsuite/libgomp.c/simd-2.c: New test. 17672 * testsuite/libgomp.c/simd-3.c: New test. 17673 * testsuite/libgomp.c/simd-4.c: New test. 17674 * testsuite/libgomp.c/simd-5.c: New test. 17675 * testsuite/libgomp.c/simd-6.c: New test. 17676 * testsuite/libgomp.c/target-1.c: New test. 17677 * testsuite/libgomp.c/target-2.c: New test. 17678 * testsuite/libgomp.c/target-3.c: New test. 17679 * testsuite/libgomp.c/target-4.c: New test. 17680 * testsuite/libgomp.c/target-5.c: New test. 17681 * testsuite/libgomp.c/target-6.c: New test. 17682 * testsuite/libgomp.c/target-7.c: New test. 17683 * testsuite/libgomp.c/taskgroup-1.c: New test. 17684 * testsuite/libgomp.c/thread-limit-1.c: New test. 17685 * testsuite/libgomp.c/thread-limit-2.c: New test. 17686 * testsuite/libgomp.c/thread-limit-3.c: New test. 17687 * testsuite/libgomp.c/udr-1.c: New test. 17688 * testsuite/libgomp.c/udr-2.c: New test. 17689 * testsuite/libgomp.c/udr-3.c: New test. 17690 * testsuite/libgomp.c++/affinity-1.C: New test. 17691 * testsuite/libgomp.c++/atomic-10.C: New test. 17692 * testsuite/libgomp.c++/atomic-11.C: New test. 17693 * testsuite/libgomp.c++/atomic-12.C: New test. 17694 * testsuite/libgomp.c++/atomic-13.C: New test. 17695 * testsuite/libgomp.c++/atomic-14.C: New test. 17696 * testsuite/libgomp.c++/atomic-15.C: New test. 17697 * testsuite/libgomp.c++/cancel-for-1.C: New test. 17698 * testsuite/libgomp.c++/cancel-for-2.C: New test. 17699 * testsuite/libgomp.c++/cancel-parallel-1.C: New test. 17700 * testsuite/libgomp.c++/cancel-parallel-2.C: New test. 17701 * testsuite/libgomp.c++/cancel-parallel-3.C: New test. 17702 * testsuite/libgomp.c++/cancel-sections-1.C: New test. 17703 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test. 17704 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test. 17705 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test. 17706 * testsuite/libgomp.c++/cancel-test.h: New file. 17707 * testsuite/libgomp.c++/for-9.C: New test. 17708 * testsuite/libgomp.c++/for-10.C: New test. 17709 * testsuite/libgomp.c++/for-11.C: New test. 17710 * testsuite/libgomp.c++/simd-1.C: New test. 17711 * testsuite/libgomp.c++/simd-2.C: New test. 17712 * testsuite/libgomp.c++/simd-3.C: New test. 17713 * testsuite/libgomp.c++/simd-4.C: New test. 17714 * testsuite/libgomp.c++/simd-5.C: New test. 17715 * testsuite/libgomp.c++/simd-6.C: New test. 17716 * testsuite/libgomp.c++/simd-7.C: New test. 17717 * testsuite/libgomp.c++/simd-8.C: New test. 17718 * testsuite/libgomp.c++/target-1.C: New test. 17719 * testsuite/libgomp.c++/target-2.C: New test. 17720 * testsuite/libgomp.c++/target-2-aux.cc: New file. 17721 * testsuite/libgomp.c++/target-3.C: New test. 17722 * testsuite/libgomp.c++/taskgroup-1.C: New test. 17723 * testsuite/libgomp.c++/udr-1.C: New test. 17724 * testsuite/libgomp.c++/udr-2.C: New test. 17725 * testsuite/libgomp.c++/udr-3.C: New test. 17726 * testsuite/libgomp.c++/udr-4.C: New test. 17727 * testsuite/libgomp.c++/udr-5.C: New test. 17728 * testsuite/libgomp.c++/udr-6.C: New test. 17729 * testsuite/libgomp.c++/udr-7.C: New test. 17730 * testsuite/libgomp.c++/udr-8.C: New test. 17731 * testsuite/libgomp.c++/udr-9.C: New test. 17732 17733 2013-09-20 Jakub Jelinek <jakub (a] redhat.com> 17734 17735 PR testsuite/57605 17736 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to 17737 ALWAYS_CFLAGS. 17738 17739 2013-09-20 Alan Modra <amodra (a] gmail.com> 17740 17741 * configure: Regenerate. 17742 17743 2013-09-19 Jakub Jelinek <jakub (a] redhat.com> 17744 17745 * testsuite/libgomp.c/sections-2.c: New test. 17746 17747 2013-06-28 Marcus Shawcroft <marcus.shawcroft (a] arm.com> 17748 17749 * testsuite/libgomp.fortran/strassen.f90: 17750 Add dg-skip-if aarch64_tiny. 17751 17752 2013-06-20 Iain Sandoe <iain (a] codesourcery.com> 17753 Cesar Philippidis <cesar (a] codesourcery.com> 17754 17755 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order. 17756 Do not load_gcc_lib gcc-dg.exp and add a comment as to why. 17757 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp. 17758 * testsuite/libgomp.fortran/fortran.exp: Likewise. 17759 * testsuite/libgomp.graphite/graphite.exp: Likewise. 17760 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp. 17761 Use dg-runtest rather than gfortran-dg-runtest. 17762 17763 2013-06-10 Thomas Schwinge <thomas (a] codesourcery.com> 17764 17765 * testsuite/libgomp.c/icv-2.c: Extend current handling of 17766 Linux-based x86 systems to cover all GNU systems. 17767 * testsuite/libgomp.c/lock-3.c: Likewise. 17768 * testsuite/libgomp.c/pr48591.c: Likewise. 17769 17770 2013-06-06 Thomas Schwinge <thomas (a] codesourcery.com> 17771 17772 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for 17773 GNU/Hurd, as done for Linux-based systems. 17774 17775 * config/posix/ptrlock.h: Fix comment. 17776 17777 2013-05-27 Tobias Burnus <burnus (a] net-b.de> 17778 17779 PR fortran/57423 17780 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested, 17781 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock, 17782 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock, 17783 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock, 17784 omp_destroy_nest_lock): Correct arguments to match the one in 17785 the OpenMP spec. 17786 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock 17787 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock, 17788 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested, 17789 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto. 17790 17791 2013-05-16 Jakub Jelinek <jakub (a] redhat.com> 17792 17793 * testsuite/libgomp.c/loop-13.c: New test. 17794 * testsuite/libgomp.c/loop-14.c: New test. 17795 * testsuite/libgomp.c/loop-15.c: New test. 17796 * testsuite/libgomp.c++/loop-13.C: New test. 17797 * testsuite/libgomp.c++/loop-14.C: New test. 17798 * testsuite/libgomp.c++/loop-15.C: New test. 17799 17800 2013-02-06 Jakub Jelinek <jakub (a] redhat.com> 17801 17802 PR middle-end/56217 17803 * testsuite/libgomp.c++/pr56217.C: New test. 17804 17805 2013-02-01 Alan Modra <amodra (a] gmail.com> 17806 17807 * task.c (GOMP_task, GOMP_taskwait): Comment. 17808 17809 2013-01-31 Dmitry Vyukov <dvyukov (a] gcc.gnu.org> 17810 Joost VandeVondele <Joost.VandeVondele (a] mat.ethz.ch> 17811 17812 PR libgomp/55561 17813 * config/linux/wait.h (do_spin): Use atomic load for addr. 17814 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic 17815 for intptr and ptrlock. 17816 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load 17817 for ptrlock. 17818 17819 2013-01-22 Alan Modra <amodra (a] gmail.com> 17820 17821 PR libgomp/51376 17822 PR libgomp/56073 17823 * task.c (GOMP_task): Revert 2011-12-09 change. 17824 (GOMP_taskwait): Likewise. Instead use atomic load with acquire 17825 barrier to read task->children.. 17826 (gomp_barrier_handle_tasks): ..and matching atomic store with 17827 release barrier here when setting parent->children to NULL. 17828 17829 2013-01-16 Jakub Jelinek <jakub (a] redhat.com> 17830 Tobias Burnus <burnus (a] net-b.de> 17831 17832 PR driver/55884 17833 * testsuite/libgomp.fortran/fortran.exp: Use 17834 -fintrinsic-modules-path= instead of 17835 -fintrinsic-modules-path. 17836 17837 2013-01-14 Richard Sandiford <rdsandiford (a] googlemail.com> 17838 17839 Update copyright years. 17840 17841 2012-12-19 Tobias Burnus <burnus (a] net-b.de> 17842 17843 * testsuite/libgomp.fortran/fortran.exp: Set 17844 -fintrinsic-modules-path. 17845 17846 2012-12-19 Tobias Burnus <burnus (a] net-b.de> 17847 17848 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved 17849 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90. 17850 17851 2012-11-21 Jakub Jelinek <jakub (a] redhat.com> 17852 17853 PR libgomp/55411 17854 * team.c (gomp_free_thread): Decrease gomp_managed_threads 17855 if pool had any threads_used. 17856 17857 2012-11-07 Jack Howarth <howarth (a] bromo.med.uc.edu> 17858 17859 * testsuite/libgomp.c++/pr24455.C: Use 17860 -Wl,-undefined,dynamic_lookup on darwin. 17861 17862 2012-11-07 David Edelsohn <dje.gcc (a] gmail.com> 17863 17864 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX. 17865 17866 2012-10-24 Dominique d'Humieres <dominiq (a] lps.ens.fr> 17867 17868 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops. 17869 17870 2012-10-23 Ian Bolton <ian.bolton (a] arm.com> 17871 Jim MacArthur <jim.macarthur (a] arm.com> 17872 Marcus Shawcroft <marcus.shawcroft (a] arm.com> 17873 Nigel Stephens <nigel.stephens (a] arm.com> 17874 Ramana Radhakrishnan <ramana.radhakrishnan (a] arm.com> 17875 Richard Earnshaw <rearnsha (a] arm.com> 17876 Sofiane Naci <sofiane.naci (a] arm.com> 17877 Stephen Thomas <stephen.thomas (a] arm.com> 17878 Tejas Belagod <tejas.belagod (a] arm.com> 17879 Yufeng Zhang <yufeng.zhang (a] arm.com> 17880 17881 * configure.tgt: Add AArch64. 17882 17883 2012-10-04 Jason Merrill <jason (a] redhat.com> 17884 17885 * testsuite/libgomp.c++/tls-init1.C: New. 17886 17887 2012-09-14 David Edelsohn <dje.gcc (a] gmail.com> 17888 17889 * configure: Regenerated. 17890 17891 2012-08-29 Chung-Lin Tang <cltang (a] codesourcery.com> 17892 17893 * config/linux/mips/futex.h (sys_futex0): Change to static 17894 function with noinline, nomips16 attributes under MIPS16. Adjust 17895 asm statement to place 'li v0,SYS_futex' immediately before 17896 syscall insn. 17897 17898 2012-07-04 Sandra Loosemore <sandra (a] codesourcery.com> 17899 17900 * libgomp.texi (Library Index): Renamed from "Index" to prevent 17901 conflict with index.html on case-insensitive file systems. 17902 17903 2012-07-03 Uros Bizjak <ubizjak (a] gmail.com> 17904 17905 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause. 17906 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto. 17907 17908 2012-07-02 Richard Guenther <rguenther (a] suse.de> 17909 Michael Matz <matz (a] suse.de> 17910 Tobias Grosser <tobias (a] grosser.es> 17911 Sebastian Pop <sebpop (a] gmail.com> 17912 17913 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust. 17914 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise. 17915 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise. 17916 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise. 17917 17918 2012-06-28 Andreas Schwab <schwab (a] linux-m68k.org> 17919 17920 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi. 17921 17922 2012-06-22 Richard Guenther <rguenther (a] suse.de> 17923 17924 Merge from graphite branch 17925 2012-01-13 Tobias Grosser <tobias (a] grosser.es> 17926 17927 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust. 17928 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise. 17929 17930 2012-06-07 Jakub Jelinek <jakub (a] redhat.com> 17931 17932 PR middle-end/53580 17933 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier, 17934 use GOMP_barrier () call instead. 17935 * testsuite/libgomp.c/pr26943-3.c: Likewise. 17936 * testsuite/libgomp.c/pr26943-4.c: Likewise. 17937 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier, 17938 call GOMP_barrier instead. 17939 * testsuite/libgomp.fortran/vla5.f90: Likewise. 17940 17941 2012-06-06 Jakub Jelinek <jakub (a] redhat.com> 17942 17943 PR libgomp/52993 17944 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last 17945 argument to memset call. 17946 17947 2012-05-16 H.J. Lu <hongjiu.lu (a] intel.com> 17948 17949 * configure: Regenerated. 17950 17951 2012-04-11 Manuel Lpez-Ibez <manu (a] gcc.gnu.org> 17952 17953 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret. 17954 17955 2012-03-31 H.J. Lu <hongjiu.lu (a] intel.com> 17956 17957 PR bootstrap/52812 17958 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64. 17959 17960 2012-03-22 Jakub Jelinek <jakub (a] redhat.com> 17961 17962 PR middle-end/52547 17963 * testsuite/libgomp.c/pr52547.c: New test. 17964 17965 2012-03-16 Bernhard Reutner-Fischer <aldot (a] gcc.gnu.org> 17966 17967 * testsuite/lib/libgomp.exp: load fortran-modules.exp 17968 17969 2012-03-14 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 17970 17971 * configure.tgt (mips-sgi-irix6*): Remove. 17972 17973 2012-03-12 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 17974 17975 * configure.tgt (alpha*-dec-osf*): Remove. 17976 17977 * config/osf/sem.h: Remove. 17978 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally. 17979 17980 2012-02-29 Eric Botcazou <ebotcazou (a] adacore.com> 17981 17982 * config/linux/sparc/futex.h (cpu_relax): Read from CC register. 17983 17984 2012-02-27 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 17985 17986 PR libstdc++/52188 17987 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming. 17988 Remove ENABLE_SYMVERS_SOL2. 17989 * configure: Regenerate. 17990 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable. 17991 (PREPROCESS): New variable. 17992 (libgomp.ver): New target. 17993 [LIBGOMP_BUILD_VERSIONED_SHLIB && 17994 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove 17995 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling. 17996 Use libgomp.ver. 17997 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun. 17998 * Makefile.in: Regenerate. 17999 18000 2012-02-14 Walter Lee <walt (a] tilera.com> 18001 18002 * configure.tgt: Handle tilegx and tilepro. 18003 * config/linux/tile/futex.h: New file. 18004 18005 2012-02-08 Richard Guenther <rguenther (a] suse.de> 18006 18007 PR tree-optimization/46886 18008 * testsuite/libgomp.c/pr46886.c: New testcase. 18009 18010 2012-01-25 Matthias Klose <doko (a] ubuntu.com> 18011 18012 * config/linux/arm: Remove empty directory. 18013 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*. 18014 18015 2011-12-09 Alan Modra <amodra (a] gmail.com> 18016 18017 PR libgomp/51376 18018 * task.c (GOMP_taskwait): Don't access task->children outside of 18019 task_lock mutex region. 18020 (GOMP_task): Likewise. 18021 18022 2011-12-06 Jakub Jelinek <jakub (a] redhat.com> 18023 18024 PR libgomp/51132 18025 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays 18026 to file scope. 18027 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise. 18028 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise. 18029 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise. 18030 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise. 18031 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise. 18032 18033 2011-12-02 Alan Modra <amodra (a] gmail.com> 18034 18035 * config/linux/affinity.c: Use atomic rather than sync builtin. 18036 * config/linux/lock.c: Likewise. 18037 * config/linux/ptrlock.h: Likewise. 18038 * config/linux/ptrlock.c: Likewise. 18039 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here.. 18040 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here. 18041 * config/linux/futex.h (atomic_write_barrier): Delete unused function. 18042 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise. 18043 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise. 18044 * config/linux/mips/futex.h (atomic_write_barrier): Likewise. 18045 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise. 18046 * config/linux/s390/futex.h (atomic_write_barrier): Likewise. 18047 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise. 18048 * config/linux/x86/futex.h (atomic_write_barrier): Likewise. 18049 18050 2011-11-30 Alan Modra <amodra (a] gmail.com> 18051 18052 PR libgomp/51298 18053 * config/linux/bar.h: Use atomic rather than sync builtins. 18054 * config/linux/bar.c: Likewise. Add missing acquire 18055 synchronisation on generation field. 18056 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not 18057 double unlock. 18058 18059 2011-11-30 Alan Modra <amodra (a] gmail.com> 18060 18061 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence. 18062 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence. 18063 * config/linux/mutex.h: Use atomic rather than sync builtins. 18064 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state. 18065 * config/linux/omp-lock.h: Comment fix. 18066 * config/linux/arm/mutex.h: Delete. 18067 * config/linux/powerpc/mutex.h: Delete. 18068 * config/linux/ia64/mutex.h: Delete. 18069 * config/linux/mips/mutex.h: Delete. 18070 18071 2011-11-30 Alan Modra <amodra (a] gmail.com> 18072 18073 PR libgomp/51249 18074 * config/linux/sem.h: Rewrite. 18075 * config/linux/sem.c: Rewrite. 18076 18077 2011-11-28 Richard Henderson <rth (a] redhat.com> 18078 18079 * libgomp.h (enum memmodel): New. 18080 18081 2011-11-21 Andreas Tobler <andreast (a] fgznet.ch> 18082 18083 * configure: Regenerate. 18084 18085 2011-10-10 Matthias Klose <doko (a] ubuntu.com> 18086 18087 * config/posix95: Remove empty directory. 18088 18089 2011-08-26 Jakub Jelinek <jakub (a] redhat.com> 18090 18091 * testsuite/libgomp.fortran/threadprivate4.f90: New test. 18092 18093 2011-08-19 Jakub Jelinek <jakub (a] redhat.com> 18094 18095 PR fortran/49792 18096 * testsuite/libgomp.fortran/pr49792-1.f90: New test. 18097 * testsuite/libgomp.fortran/pr49792-2.f90: New test. 18098 18099 2011-08-08 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 18100 18101 * config/posix95/lock.c, posix95/omp-lock.h: Remove. 18102 18103 2011-08-05 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 18104 18105 PR libgomp/49965 18106 * testsuite/libgomp.c++/task-8.C: Replaced err by errval. 18107 18108 2011-08-03 Uros Bizjak <ubizjak (a] gmail.com> 18109 18110 * config/linux/proc.h: New. 18111 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>. 18112 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static. 18113 (gomp_init_num_threads): Update call to cpuset_popcount. 18114 (get_num_procs): Ditto. 18115 * config/linux/affinity.c (gomp_init_affinity): Call 18116 gomp_cpuset_popcount. 18117 18118 2011-08-02 Jakub Jelinek <jakub (a] redhat.com> 18119 18120 PR fortran/42041 18121 PR fortran/46752 18122 * omp.h.in (omp_in_final): New prototype. 18123 * omp_lib.f90.in (omp_in_final): New interface. 18124 (omp_integer_kind, omp_logical_kind): Remove 18125 and replace all its uses in the module with 4. 18126 (openmp_version): Change to 201107. 18127 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic, 18128 omp_sched_guided, omp_sched_auto): Use omp_sched_kind 18129 kind for the parameters. 18130 (omp_in_final): New external. 18131 (openmp_version): Change to 201107. 18132 * task.c (omp_in_final): New function. 18133 (gomp_init_task): Initialize final_task. 18134 (GOMP_task): Remove unused attribute from flags. Handle final 18135 tasks. 18136 (GOMP_taskyield): New function. 18137 (omp_in_final): Return true if if (false) or final (true) task 18138 or descendant of final (true). 18139 * fortran.c (omp_in_final_): New function. 18140 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_. 18141 (GOMP_3.0): Export GOMP_taskyield. 18142 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New 18143 variables. 18144 (parse_unsigned_long_list): New function. 18145 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean 18146 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity 18147 even if parse_affinity returned false. 18148 * config/linux/affinity.c (gomp_init_affinity): Handle 18149 gomp_cpu_affinity_len == 0. 18150 * libgomp_g.h (GOMP_taskyield): New prototype. 18151 * libgomp.h (struct gomp_task): Add final_task field. 18152 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs. 18153 * team.c (gomp_team_start): Override new task's nthreads_var icv 18154 if list form OMP_NUM_THREADS has been used and it has value for 18155 the new nesting level. 18156 18157 * testsuite/libgomp.c/atomic-11.c: New test. 18158 * testsuite/libgomp.c/atomic-12.c: New test. 18159 * testsuite/libgomp.c/atomic-13.c: New test. 18160 * testsuite/libgomp.c/atomic-14.c: New test. 18161 * testsuite/libgomp.c/reduction-6.c: New test. 18162 * testsuite/libgomp.c/task-5.c: New test. 18163 * testsuite/libgomp.c++/atomic-2.C: New test. 18164 * testsuite/libgomp.c++/atomic-3.C: New test. 18165 * testsuite/libgomp.c++/atomic-4.C: New test. 18166 * testsuite/libgomp.c++/atomic-5.C: New test. 18167 * testsuite/libgomp.c++/atomic-6.C: New test. 18168 * testsuite/libgomp.c++/atomic-7.C: New test. 18169 * testsuite/libgomp.c++/atomic-8.C: New test. 18170 * testsuite/libgomp.c++/atomic-9.C: New test. 18171 * testsuite/libgomp.c++/task-8.C: New test. 18172 * testsuite/libgomp.c++/reduction-4.C: New test. 18173 * testsuite/libgomp.fortran/allocatable7.f90: New test. 18174 * testsuite/libgomp.fortran/allocatable8.f90: New test. 18175 * testsuite/libgomp.fortran/crayptr3.f90: New test. 18176 * testsuite/libgomp.fortran/omp_atomic3.f90: New test. 18177 * testsuite/libgomp.fortran/omp_atomic4.f90: New test. 18178 * testsuite/libgomp.fortran/pointer1.f90: New test. 18179 * testsuite/libgomp.fortran/pointer2.f90: New test. 18180 * testsuite/libgomp.fortran/task4.f90: New test. 18181 18182 2011-08-02 Tobias Burnus <burnus (a] net-b.de> 18183 18184 * libgomp.texi: Update OpenMP spec references to 3.1. 18185 (omp_in_final,OMP_PROC_BIND): New sections. 18186 (OMP_NUM_THREADS): Document that the value can be now a list. 18187 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref. 18188 18189 2011-08-02 H.J. Lu <hongjiu.lu (a] intel.com> 18190 18191 * config/linux/x86/futex.h: Check __x86_64__ instead of 18192 __LP64__. 18193 18194 2011-07-29 Jakub Jelinek <jakub (a] redhat.com> 18195 18196 PR middle-end/49897 18197 PR middle-end/49898 18198 * testsuite/libgomp.c/pr49897-1.c: New test. 18199 * testsuite/libgomp.c/pr49897-2.c: New test. 18200 * testsuite/libgomp.c/pr49898-1.c: New test. 18201 * testsuite/libgomp.c/pr49898-2.c: New test. 18202 18203 2011-07-28 H.J. Lu <hongjiu.lu (a] intel.com> 18204 18205 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486 18206 for ia32 instead of ilp32. 18207 18208 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32. 18209 * testsuite/libgomp.c/atomic-6.c: Likewise. 18210 18211 2011-07-23 Sebastian Pop <sebastian.pop (a] amd.com> 18212 18213 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail. 18214 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern. 18215 18216 2011-07-25 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 18217 18218 PR libgomp/45351 18219 * config/osf/sem.h: New file. 18220 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path. 18221 18222 2011-07-18 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 18223 18224 PR target/49541 18225 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to 18226 ldflags. 18227 18228 2011-07-15 Jakub Jelinek <jakub (a] redhat.com> 18229 18230 * config/linux/wait.h (do_spin): New inline, largely copied 18231 from do_wait, just don't do futex_wait here, instead return true if 18232 it should be done. 18233 (do_wait): Implement using do_spin. 18234 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument 18235 to prototype. 18236 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of 18237 __sync_bool_compare_and_swap, pass the oldval to 18238 gomp_mutex_lock_slow. 18239 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument. 18240 If all mutex contenders are just spinning and not sleeping, don't 18241 change state to 2 unnecessarily. Optimize the loop when state has 18242 already become 2 to use just one atomic operation per loop instead 18243 of two. 18244 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument 18245 to prototype. 18246 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of 18247 __sync_bool_compare_and_swap, pass the oldval to 18248 gomp_mutex_lock_slow. 18249 18250 2011-06-22 Jakub Jelinek <jakub (a] redhat.com> 18251 18252 PR libgomp/49490 18253 * iter.c (gomp_iter_static_next): For chunk size 0 18254 only use n ceil/ nthreads size for the first 18255 n % nthreads threads in the team instead of 18256 all threads except for the last few ones which 18257 get less work or none at all. 18258 * iter_ull.c (gomp_iter_ull_static_next): Likewise. 18259 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have 18260 chunk argument, set run_sched_modifier to 0 for static 18261 resp. 1 for other kinds. If chunk argument is 0 18262 and not static, set value to 1. 18263 18264 2011-05-19 Jakub Jelinek <jakub (a] redhat.com> 18265 18266 PR c++/49043 18267 * testsuite/libgomp.c++/pr49043.C: New test. 18268 18269 PR c++/48869 18270 * testsuite/libgomp.c++/pr48869.C: New test. 18271 18272 2011-05-06 Jakub Jelinek <jakub (a] redhat.com> 18273 18274 PR fortran/48894 18275 * fortran.c: Include limits.h. 18276 (TO_INT): Define. 18277 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of 18278 *set. 18279 (omp_set_num_threads_8_, omp_set_schedule_8_, 18280 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_, 18281 omp_get_team_size_8_): Use TO_INT macro. 18282 * testsuite/libgomp.fortran/pr48894.f90: New test. 18283 18284 2011-04-13 Jakub Jelinek <jakub (a] redhat.com> 18285 18286 PR middle-end/48591 18287 * testsuite/libgomp.c/pr48591.c: New test. 18288 18289 2011-03-21 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 18290 18291 PR bootstrap/48135 18292 * acinclude.m4 (enable_symvers): Handle --disable-symvers. 18293 * configure: Regenerate. 18294 18295 2011-02-27 Jakub Jelinek <jakub (a] redhat.com> 18296 18297 PR fortran/47886 18298 * testsuite/libgomp.fortran/task3.f90: New test. 18299 18300 2011-02-24 Tobias Burnus <burnus (a] net-b.de> 18301 18302 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE. 18303 18304 2011-02-23 Jakub Jelinek <jakub (a] redhat.com> 18305 18306 PR libgomp/47854 18307 * libgomp.texi (omp_get_wtime): Don't say time in the past 18308 must be Unix Epoch. 18309 18310 2011-02-18 Jakub Jelinek <jakub (a] redhat.com> 18311 18312 PR libgomp/47804 18313 * testsuite/libgomp.fortran/fortran.exp: Check for both 18314 libquadmath.a and libquadmath.${shlib_ext}. If neither exists, 18315 but $blddir != "", still append ${blddir}/${lang_library_path} 18316 to ld_library_path. 18317 18318 2011-02-16 Tobias Burnus <burnus (a] net-b.de> 18319 18320 PR libgomp/47758 18321 * testsuite/libgomp.fortran/fortran.exp: Check for the existence 18322 of libquadmath.a before adding its libpath to ldflags. 18323 18324 2011-02-14 Jakub Jelinek <jakub (a] redhat.com> 18325 18326 PR libgomp/47731 18327 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument 18328 to FUTEX_WAIT futex syscall. 18329 * config/linux/wait.h: Include <futex.h> instead of "futex.h". 18330 18331 2011-02-13 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de> 18332 18333 * configure: Regenerate. 18334 18335 2011-01-20 Benjamin Kosnik <bkoz (a] redhat.com> 18336 18337 PR libstdc++/36104 18338 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants. 18339 18340 2011-01-16 Gerald Pfeifer 18341 18342 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS. 18343 18344 2010-12-14 Jakub Jelinek <jakub (a] redhat.com> 18345 18346 PR fortran/46874 18347 * libgomp.fortran/allocatable6.f90: New test. 18348 18349 2010-12-06 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 18350 18351 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no. 18352 * configure: Regenerate. 18353 18354 2010-12-06 Dave Korn <dave.korn.cygwin (a] gmail.com> 18355 18356 PR target/40125 18357 PR lto/46695 18358 * configure.ac: Invoke ACX_LT_HOST_FLAGS. 18359 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags. 18360 * aclocal.m4: Regenerate. 18361 * configure: Regenerate. 18362 * Makefile.in: Regenerate. 18363 * testsuite/Makefile.in: Regenerate. 18364 18365 2010-12-02 Jakub Jelinek <jakub (a] redhat.com> 18366 18367 PR fortran/46753 18368 * libgomp.fortran/pr46753.f90: New test. 18369 18370 PR libgomp/43706 18371 * env.c (initialize_env): Default to spin count 300000 18372 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT 18373 is specified. 18374 18375 PR libgomp/45240 18376 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock 18377 at the end if sync builtins aren't supported. 18378 18379 2010-12-01 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 18380 18381 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS. 18382 18383 2010-12-01 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 18384 18385 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0. 18386 18387 2010-11-24 Iain Sandoe <iains (a] gcc.gnu.org> 18388 18389 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath. 18390 18391 2010-11-16 Francois-Xavier Coudert <fxcoudert (a] gcc.gnu.org> 18392 Tobias Burnus <burnus (a] net-b.de> 18393 18394 PR fortran/32049 18395 * configure.ac: 18396 * configure: Regenerate. 18397 18398 2010-10-06 Marcus Shawcroft <marcus.shawcroft (a] arm.com> 18399 18400 * config/linux/futex.h: New. 18401 * config/linux/arm/mutex.h: New. 18402 * configure.tgt (arm*-*-linux*): Add config path. 18403 18404 2010-09-30 Sebastian Pop <sebastian.pop (a] amd.com> 18405 18406 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust. 18407 18408 2010-09-23 Tobias Burnus <burnus (a] net-b.de> 18409 18410 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic): 18411 Change Fortran datatype to LOGICAL. 18412 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock, 18413 omp_unset_nested_lock): Use intent(inout) instead of intent(out). 18414 18415 2010-08-21 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de> 18416 18417 * configure: Regenerate. 18418 18419 2010-07-26 Jakub Jelinek <jakub (a] redhat.com> 18420 18421 * libgomp.texi: Add function keyword to a couple of Fortran 18422 interfaces, use integer instead of int for Fortran. 18423 18424 2010-07-26 Aldy Hernandez <aldyh (a] redhat.com> 18425 18426 * libgomp.texi: Fix spelling and pasto problems throughout. 18427 Adjust prototypes to match code. 18428 18429 2010-07-24 Tobias Burnus <burnus (a] net-b.de> 18430 18431 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to 18432 silence -fwhole-file warning. 18433 18434 2010-07-23 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 18435 18436 * configure.tgt (*-*-solaris2.[56]*): Removed. 18437 18438 2010-07-05 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 18439 18440 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style. 18441 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU, 18442 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals. 18443 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless 18444 targetting solaris2*. 18445 * configure: Regenerate. 18446 * config.h.in: Regenerate. 18447 18448 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect 18449 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU. 18450 Add libgomp_version_dep. 18451 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol 18452 versioning. 18453 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep. 18454 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep). 18455 * Makefile.in: Regenerate. 18456 18457 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless 18458 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT. 18459 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0 18460 to common block, protected by 18461 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT. 18462 18463 2010-06-10 Gerald Pfeifer <gerald (a] pfeifer.com> 18464 18465 * libgomp.texi: Move to GFDL version 1.3. Update copyright years. 18466 18467 2010-06-09 Iain Sandoe <iains (a] gcc.gnu.org> 18468 18469 PR bootstrap/43170 18470 * configure: Regenerate. 18471 18472 2010-05-04 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de> 18473 18474 PR other/43620 18475 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist. 18476 * configure: Regenerate. 18477 * Makefile.in: Regenerate. 18478 * testsuite/Makefile.in: Regenerate. 18479 18480 2010-04-26 Jakub Jelinek <jakub (a] redhat.com> 18481 18482 PR c/43893 18483 * testsuite/libgomp.c/pr43893.c: New test. 18484 * testsuite/libgomp.c++/pr43893.C: New test. 18485 18486 2010-04-21 Jakub Jelinek <jakub (a] redhat.com> 18487 18488 PR middle-end/43570 18489 * testsuite/libgomp.fortran/vla8.f90: New test. 18490 18491 2010-04-20 Jakub Jelinek <jakub (a] redhat.com> 18492 18493 PR libgomp/43706 18494 * config/linux/affinity.c (gomp_init_affinity): Decrease 18495 gomp_available_cpus if affinity mask confines the process to fewer 18496 CPUs. 18497 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is 18498 non-NULL, just return gomp_available_cpus. 18499 18500 PR libgomp/43569 18501 * sections.c (gomp_sections_init): Initialize ws->mode. 18502 18503 2010-04-14 Uros Bizjak <ubizjak (a] gmail.com> 18504 18505 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but 18506 not unused bar variable. 18507 * configure: Regenerate. 18508 18509 2010-04-02 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de> 18510 18511 * Makefile.in: Regenerate. 18512 * aclocal.m4: Regenerate. 18513 * testsuite/Makefile.in: Regenerate. 18514 18515 2010-03-22 Jakub Jelinek <jakub (a] redhat.com> 18516 18517 PR libgomp/42942 18518 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument. 18519 (initialize_env): Adjust callers. 18520 (omp_set_max_active_levels): Set gomp_max_active_levels_var even 18521 when the argument is 0. 18522 18523 * testsuite/libgomp.c/pr42942.c: New test. 18524 18525 2010-03-08 Tobias Grosser <grosser (a] fim.uni-passau.de> 18526 18527 PR middle-end/42644 18528 PR middle-end/42130 18529 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust. 18530 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust. 18531 18532 2010-01-29 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 18533 18534 * testsuite/libgomp.c++/task-1.C: Renamed err to e. 18535 * testsuite/libgomp.c++/task-6.C: Likewise. 18536 18537 2010-01-28 Steve Ellcey <sje (a] cup.hp.com> 18538 18539 * configure.tgt (*-*-hpux*): Add -frandom-seed flag. 18540 18541 2010-01-26 Paolo Bonzini <bonzini (a] gnu.org> 18542 18543 * configure.ac: Test for executability of _the first word_ of GFORTRAN. 18544 * configure: Regenerate. 18545 18546 2010-01-26 Jakub Jelinek <jakub (a] redhat.com> 18547 18548 PR fortran/42866 18549 * testsuite/libgomp.fortran/allocatable5.f90: New test. 18550 18551 2010-01-20 Paolo Bonzini <bonzini (a] gnu.org> 18552 18553 * configure.ac: Test for executability of GFORTRAN. 18554 * configure: Regenerate. 18555 18556 2010-01-05 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 18557 18558 * configure: Regenerate. 18559 18560 2010-01-04 H.J. Lu <hongjiu.lu (a] intel.com> 18561 18562 PR libgomp/42602 18563 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic. 18564 18565 2010-01-03 Richard Guenther <rguenther (a] suse.de> 18566 18567 * testsuite/libgomp.fortran/recursion1.f90: New testcase. 18568 18569 2009-12-23 Sebastian Pop <sebpop (a] gmail.com> 18570 18571 * testsuite/libgomp.graphite/pr4118.c: New. 18572 18573 2009-12-22 Iain Sandoe <iain.sandoe (a] sandoe-acoustics.co.uk> 18574 18575 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage 18576 for darwin, protect the test with require-effective-target tls_runtime. 18577 * testsuite/libgomp.fortran/pr32550.f90: Ditto. 18578 18579 2009-12-22 Iain Sandoe <iain.sandoe (a] sandoe-acoustics.co.uk> 18580 18581 PR target/41605 18582 * testsuite/lib/libgomp.exp: Provide -B options to allow for 18583 link spec %s substitutions for static libraries. 18584 18585 2009-12-18 Jack Howarth <howarth (a] bromo.med.uc.edu> 18586 18587 PR testsuite/42135 18588 * libgomp.graphite/force-parallel-2.c: Reduce array size. 18589 18590 2009-12-05 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de> 18591 18592 * Makefile.in: Regenerate. 18593 * configure: Regenerate. 18594 * testsuite/Makefile.in: Regenerate. 18595 18596 2009-11-30 Dave Korn <dave.korn.cygwin (a] gmail.com> 18597 18598 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent 18599 settings for LC_ALL and LANG. 18600 18601 2009-11-25 Jakub Jelinek <jakub (a] redhat.com> 18602 18603 PR fortran/42162 18604 * testsuite/libgomp.fortran/pr42162.f90: New test. 18605 18606 2009-11-13 Jakub Jelinek <jakub (a] redhat.com> 18607 18608 PR middle-end/42029 18609 * testsuite/libgomp.c/pr42029.c: New test. 18610 18611 2009-10-26 Jakub Jelinek <jakub (a] redhat.com> 18612 18613 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many 18614 *s. Accept ld version without text in ()s. 18615 * configure: Regenerated. 18616 18617 2009-10-22 Razya Ladelsky <razya (a] il.ibm.com> 18618 18619 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan. 18620 18621 2009-10-17 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de> 18622 18623 PR libgomp/41418 18624 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no" 18625 or a hyphen (happens with fortran language disabled). 18626 * configure: Regenerate. 18627 18628 2009-09-30 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de> 18629 18630 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head', 18631 use sed script portable to Solaris /bin/sed for extracting ld 18632 version. 18633 * configure: Regenerate. 18634 18635 2009-09-17 Alexander Monakov <amonakov (a] ispras.ru> 18636 18637 * testsuite/libgomp.graphite/bounds.c: New test. 18638 18639 2009-09-11 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de> 18640 18641 * Makefile.am (libgomp_la_LINK): New. 18642 * Makefile.in: Regenerate. 18643 18644 2009-08-24 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de> 18645 18646 * configure.ac (AC_PREREQ): Bump to 2.64. 18647 18648 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de> 18649 18650 * Makefile.am (install-html, install-pdf): Remove. 18651 * Makefile.in: Regenerate. 18652 18653 * Makefile.in: Regenerate. 18654 * aclocal.m4: Regenerate. 18655 * config.h.in: Regenerate. 18656 * configure: Regenerate. 18657 * testsuite/Makefile.in: Regenerate. 18658 18659 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de> 18660 18661 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS). 18662 * Makefile.in: Regenerate. 18663 18664 2009-08-20 Dave Korn <dave.korn.cygwin (a] gmail.com> 18665 18666 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag. 18667 * Makefile.in: Regenerate. 18668 18669 2009-08-19 Tobias Burnus <burnus (a] net-b.de> 18670 18671 PR fortran/41102 18672 omp_lib.h.in: Fix -std=f95 errors. 18673 18674 2009-08-14 David Edelsohn <edelsohn (a] gnu.org> 18675 18676 * testsuite/libgomp.graphite: Move from gcc.dg/graphite. 18677 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete. 18678 * testsuite/libgomp.graphite/graphite.exp: New. 18679 18680 2009-08-05 Andreas Tobler <a.tobler (a] schweiz.org> 18681 18682 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared 18683 only build. 18684 18685 2009-08-04 David Daney <ddaney (a] caviumnetworks.com> 18686 18687 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about 18688 needed memory barrier semantics. 18689 * config/linux/mips/mutex.h: New file. 18690 18691 2009-07-30 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de> 18692 18693 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force. 18694 18695 2009-07-16 Joseph Myers <joseph (a] codesourcery.com> 18696 18697 * configure: Regenerate. 18698 18699 2009-07-11 Richard Sandiford <rdsandiford (a] googlemail.com> 18700 18701 PR testsuite/40699 18702 PR testsuite/40707 18703 PR testsuite/40709 18704 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits. 18705 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp, 18706 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits. 18707 18708 2009-07-02 Richard Sandiford <r.sandiford (a] uk.ibm.com> 18709 18710 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS 18711 options when choosing a multilib. 18712 18713 2009-06-30 Richard Sandiford <r.sandiford (a] uk.ibm.com> 18714 18715 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to 18716 ld_library_path. Use add_path. Add just find_libgcc_s to 18717 ld_library_path, not every libgcc multilib directory. 18718 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call 18719 gcc-set-multilib-library-path; rely on $always_ld_library_path instead. 18720 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise. 18721 Use add_path. 18722 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise. 18723 18724 2009-06-09 Nathan Froyd <froydnj (a] codesourcery.com> 18725 18726 * Makefile.am (LTLDFLAGS): Define. 18727 (LINK): Define. 18728 * Makefile.in: Regenerate. 18729 18730 2009-05-27 Janne Blomqvist <jb (a] gcc.gnu.org> 18731 18732 PR fortran/39718 18733 * testsuite/libgomp.fortran/fortran.exp: Don't link with 18734 libgfortranbegin, check existence of libgfortran.a instead of 18735 libgfortranbegin.a. 18736 18737 2009-05-20 Jakub Jelinek <jakub (a] redhat.com> 18738 18739 PR libgomp/40174 18740 * team.c (gomp_thread_start): Destroy thr->release semaphore. 18741 (gomp_free_pool_helper): Likewise. 18742 18743 2009-04-20 Vasilis Liaskovitis <vliaskov (a] gmail.com> 18744 Jakub Jelinek <jakub (a] redhat.com> 18745 18746 PR fortran/35423 18747 * testsuite/libgomp.fortran/workshare2.f90: New test. 18748 18749 2009-04-09 Nick Clifton <nickc (a] redhat.com> 18750 18751 * iter.c: Change copyright header to refer to version 3 of the 18752 GNU General Public License with version 3.1 of the GCC Runtime 18753 Library Exception and to point readers at the COPYING3 and 18754 COPYING3.RUNTIME files and the FSF's license web page. 18755 * alloc.c: Likewise. 18756 * barrier.c: Likewise. 18757 * config/bsd/proc.c: Likewise. 18758 * config/linux/affinity.c: Likewise. 18759 * config/linux/alpha/futex.h: Likewise. 18760 * config/linux/bar.c: Likewise. 18761 * config/linux/bar.h: Likewise. 18762 * config/linux/ia64/futex.h: Likewise. 18763 * config/linux/ia64/mutex.h: Likewise. 18764 * config/linux/lock.c: Likewise. 18765 * config/linux/mips/futex.h: Likewise. 18766 * config/linux/mutex.c: Likewise. 18767 * config/linux/mutex.h: Likewise. 18768 * config/linux/powerpc/futex.h: Likewise. 18769 * config/linux/proc.c: Likewise. 18770 * config/linux/ptrlock.c: Likewise. 18771 * config/linux/ptrlock.h: Likewise. 18772 * config/linux/s390/futex.h: Likewise. 18773 * config/linux/sem.c: Likewise. 18774 * config/linux/sem.h: Likewise. 18775 * config/linux/sparc/futex.h: Likewise. 18776 * config/linux/wait.h: Likewise. 18777 * config/linux/x86/futex.h: Likewise. 18778 * config/mingw32/proc.c: Likewise. 18779 * config/mingw32/time.c: Likewise. 18780 * config/posix/affinity.c: Likewise. 18781 * config/posix/bar.c: Likewise. 18782 * config/posix/bar.h: Likewise. 18783 * config/posix/lock.c: Likewise. 18784 * config/posix/mutex.h: Likewise. 18785 * config/posix/proc.c: Likewise. 18786 * config/posix/ptrlock.h: Likewise. 18787 * config/posix/sem.c: Likewise. 18788 * config/posix/sem.h: Likewise. 18789 * config/posix/time.c: Likewise. 18790 * config/posix95/lock.c: Likewise. 18791 * critical.c: Likewise. 18792 * env.c: Likewise. 18793 * error.c: Likewise. 18794 * fortran.c: Likewise. 18795 * iter_ull.c: Likewise. 18796 * libgomp.h: Likewise. 18797 * libgomp_f.h.in: Likewise. 18798 * libgomp_g.h: Likewise. 18799 * loop.c: Likewise. 18800 * loop_ull.c: Likewise. 18801 * omp.h.in: Likewise. 18802 * omp_lib.f90.in: Likewise. 18803 * omp_lib.h.in: Likewise. 18804 * ordered.c: Likewise. 18805 * parallel.c: Likewise. 18806 * sections.c: Likewise. 18807 * single.c: Likewise. 18808 * task.c: Likewise. 18809 * team.c: Likewise. 18810 * work.c: Likewise. 18811 18812 2009-04-09 Jakub Jelinek <jakub (a] redhat.com> 18813 18814 * testsuite/config/default.exp: Change copyright header to refer to 18815 version 3 of the GNU General Public License and to point readers 18816 at the COPYING3 file and the FSF's license web page. 18817 18818 2009-04-08 Jakub Jelinek <jakub (a] redhat.com> 18819 18820 PR middle-end/39573 18821 * libgomp.c++/pr39573.C: New test. 18822 18823 2009-04-01 Jakub Jelinek <jakub (a] redhat.com> 18824 18825 PR other/39591 18826 * testsuite/libgomp.c/pr39591-1.c: New test. 18827 * testsuite/libgomp.c/pr39591-2.c: New test. 18828 * testsuite/libgomp.c/pr39591-3.c: New test. 18829 18830 2009-03-25 Uros Bizjak <ubizjak (a] gmail.com> 18831 18832 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage. 18833 * testsuite/libgomp.c/atomic-6.c: Ditto. 18834 18835 2009-03-23 Jakub Jelinek <jakub (a] redhat.com> 18836 18837 PR c/39495 18838 * testsuite/libgomp.c/loop-12.c: New test. 18839 * testsuite/libgomp.c/loop-11.c: New test. 18840 * testsuite/libgomp.c++/loop-11.C: New test. 18841 * testsuite/libgomp.c++/loop-12.C: New test. 18842 * testsuite/libgomp.c++/for-8.C: New test. 18843 18844 2009-03-01 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de> 18845 18846 * configure: Regenerate. 18847 18848 2009-02-11 Jakub Jelinek <jakub (a] redhat.com> 18849 18850 PR middle-end/39154 18851 * testsuite/libgomp.c/pr39154.c: New test. 18852 18853 2009-01-30 Ian Lance Taylor <iant (a] google.com> 18854 18855 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set 18856 libgomp_ld_is_gold. Get gold version number. 18857 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning. 18858 * configure: Rebuild. 18859 18860 2009-01-19 Iain Sandoe <iain.sandoe (a] sandoe-acoustics.co.uk> 18861 18862 * testsuite/lib/libgomp.exp: Add -B option for targets that 18863 use libgfortran.a%s in their specs. 18864 18865 2009-01-07 Jakub Jelinek <jakub (a] redhat.com> 18866 18867 PR libgomp/38086 18868 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check. 18869 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if 18870 HAVE_AS_SYMVER_DIRECTIVE is not defined. 18871 * configure: Regenerated. 18872 * config.h.in: Likewise. 18873 18874 2008-12-28 Jakub Jelinek <jakub (a] redhat.com> 18875 18876 PR c++/38650 18877 * testsuite/libgomp.c/pr38650.c: New test. 18878 * testsuite/libgomp.c++/pr38650.C: New test. 18879 18880 2008-12-27 Jakub Jelinek <jakub (a] redhat.com> 18881 18882 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause. 18883 18884 2008-12-26 Uros Bizjak <ubizjak (a] gmail.com> 18885 18886 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets. 18887 18888 2008-12-18 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de> 18889 18890 * configure: Regenerate. 18891 18892 2008-12-08 Jakub Jelinek <jakub (a] redhat.com> 18893 18894 PR middle-end/36802 18895 * testsuite/libgomp.c/pr36802-1.c: New test. 18896 * testsuite/libgomp.c/pr36802-2.c: New test. 18897 * testsuite/libgomp.c/pr36802-3.c: New test. 18898 18899 2008-12-01 Janis Johnson <janis187 (a] us.ibm.com> 18900 18901 PR libgomp/38270 18902 * config/linux/powerpc/mutex.h: New. 18903 18904 2008-12-01 Jakub Jelinek <jakub (a] redhat.com> 18905 18906 PR c++/38257 18907 * testsuite/libgomp.c++/for-7.C: New test. 18908 18909 PR c++/38348 18910 * testsuite/libgomp.c++/for-6.C: New test. 18911 18912 2008-11-26 Janis Johnson <janis187 (a] us.ibm.com> 18913 18914 PR testsuite/28870 18915 * testsuite/lib/libgomp.exp: Include new timeout library files. 18916 (libgomp_target_compile): Set timeout value from new proc. 18917 18918 2008-11-13 Steve Ellcey <sje (a] cup.hp.com> 18919 18920 PR libgomp/37938 18921 * config/linux/ia64/mutex.h: New. 18922 18923 2008-11-04 Tobias Burnus <burnus (a] net-b.de> 18924 18925 PR libgomp/37935 18926 * libgomp.texi (Runtime library routines, environment variables): 18927 Update for OpenMP version 3.0. 18928 18929 2008-09-26 Peter O'Gorman <pogma (a] thewrittenword.com> 18930 Steve Ellcey <sje (a] cup.hp.com> 18931 18932 * configure: Regenerate for new libtool. 18933 * Makefile.in: Ditto. 18934 * testsuite/Makefile.in: Ditto. 18935 18936 2008-09-19 Jakub Jelinek <jakub (a] redhat.com> 18937 Andreas Tobler <a.tobler (a] schweiz.org> 18938 18939 * config/bsd/proc.c: New file. 18940 * configure.tgt (*-*-darwin*): Use config_path "bsd posix". 18941 * configure.ac: Check for header <sys/sysctl.h> 18942 * configure: Regenerate. 18943 * config.h.in: Likewise. 18944 18945 2008-09-05 Janis Johnson <janis187 (a] us.ibm.com> 18946 18947 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists. 18948 18949 2008-08-31 Aaron W. LaFramboise <aaronavay62 (a] aaronwl.com> 18950 18951 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined. 18952 * Makefile.in: Regenerated. 18953 * testsuite/Makefile.in: Regenerated. 18954 18955 2008-08-21 Nathan Froyd <froydnj (a] codesourcery.com> 18956 18957 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that 18958 depend on blddir if blddir exists. 18959 (libgomp_target_compile): Likewise. 18960 * testsuite/libgomp.c++/c++.exp: Likewise. 18961 * testsuite/libgomp.fortran/fortran.exp: Likewise. 18962 18963 2008-07-30 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de> 18964 18965 * libgomp.texi: Update to GFDL 1.2. Update copyright years. 18966 Do not list GPL as Invariant Section. 18967 18968 2008-07-28 Ilie Garbacea <ilie (a] mips.com> 18969 Chao-ying Fu <fu (a] mips.com> 18970 18971 * configure.tgt: Enable futex for MIPS. 18972 * config/linux/mips/futex.h: New file. 18973 18974 2008-07-16 Jakub Jelinek <jakub (a] redhat.com> 18975 18976 * team.c (gomp_team_end): Free team immediately if it has 18977 just one thread. 18978 18979 2008-07-08 David Edelsohn <edelsohn (a] gnu.org> 18980 18981 * testsuite/libgomp.c++/c++.exp: Append multilib library path. 18982 * testsuite/libgomp.fortran/fortran.exp: Same. 18983 * testsuite/libgomp.c/c.exp: Same. 18984 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib 18985 directory to library path first. 18986 18987 2008-06-29 Krister Walfridsson <krister.walfridsson (a] gmail.com> 18988 18989 * env.c (parse_stacksize): Add cast to avoid warning. 18990 (parse_spincount): Likewise. 18991 18992 2008-06-27 Jakub Jelinek <jakub (a] redhat.com> 18993 18994 * testsuite/libgomp.c/loop-10.c: New test. 18995 * libgomp.c/loop-3.c (main): Add lastprivate clause. 18996 * libgomp.c++/loop-6.C (main): Likewise. 18997 18998 PR debug/36617 18999 * testsuite/libgomp.c/debug-1.c: New test. 19000 19001 2008-06-19 Jakub Jelinek <jakub (a] redhat.com> 19002 19003 * testsuite/libgomp.c/nqueens-1.c: New test. 19004 19005 PR c++/36523 19006 * testsuite/libgomp.c++/task-7.C: New function. 19007 19008 2008-06-17 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de> 19009 19010 * configure: Regenerate. 19011 19012 2008-06-15 John David Anglin <dave.anglin (a] nrc-cnrc.gc.ca> 19013 19014 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock 19015 mutex when HAVE_SYNC_BUILTINS isn't defined. 19016 19017 2008-06-15 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de> 19018 19019 * libgomp.texi (omp_test_lock): Fix typo. 19020 19021 2008-06-12 Tobias Burnus <burnus (a] net-b.de> 19022 19023 * omp_lib.f90.in: Add "implicit none". 19024 19025 2008-06-12 Jakub Jelinek <jakub (a] redhat.com> 19026 19027 PR middle-end/36506 19028 * testsuite/libgomp.c/reduction-5.c: New test. 19029 19030 2008-06-11 Jakub Jelinek <jakub (a] redhat.com> 19031 19032 * libgomp.h (struct gomp_task): Add in_tied_task field. 19033 * task.c (gomp_init_task): Initialize it. 19034 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending 19035 unconditionally. Don't call gomp_team_barrier_wake if 19036 current task is implicit or if(0) from implicit and number of 19037 running tasks is equal to nthreads - 1. 19038 19039 PR libgomp/36471 19040 * omp_lib.f90.in (omp_get_ancestor_thread_num_8, 19041 omp_get_team_size_8): Fix pastos. 19042 19043 PR libgomp/36469 19044 * configure.ac: Add AC_CHECK_FUNCS (strtoull). 19045 * configure: Regenerated. 19046 * config.h.in: Regenerated. 19047 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not 19048 defined. 19049 19050 2008-06-06 Andreas Tobler <a.tobler (a] schweiz.org> 19051 19052 PR bootstrap/36452 19053 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API. 19054 (GOMP_loop_ull_dynamic_start): Likewise. 19055 (GOMP_loop_ull_guided_start): Likewise. 19056 (GOMP_loop_ull_ordered_static_start): Likewise. 19057 (GOMP_loop_ull_ordered_dynamic_start): Likewise. 19058 (GOMP_loop_ull_ordered_guided_start): Likewise. 19059 19060 2008-06-06 Jakub Jelinek <jakub (a] redhat.com> 19061 Richard Henderson <rth (a] redhat.com> 19062 Ulrich Drepper <drepper (a] redhat.com> 19063 Jakob Blomer <jakob.blomer (a] ira.uka.de> 19064 19065 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE. 19066 Substitute also OMP_*LOCK_25*. 19067 * configure: Regenerated. 19068 * config.h.in: Regenerated. 19069 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c, 19070 ptrlock.c and task.c. 19071 * Makefile.in: Regenerated. 19072 * testsuite/Makefile.in: Regenerated. 19073 * task.c: New file. 19074 * loop_ull.c: New file. 19075 * iter_ull.c: New file. 19076 * libgomp.h: Include ptrlock.h. 19077 (enum gomp_task_kind): New type. 19078 (struct gomp_team): Add task_lock, task_queue, task_count, 19079 task_running_count, single_count fields. Add 19080 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS. 19081 Remove work_share_lock, generation_mask, 19082 oldest_live_gen, num_live_gen and init_work_shares fields, add 19083 work work_share_list_alloc, work_share_list_free and work_share_chunk 19084 fields. Change work_shares from pointer to pointers into an array. 19085 Change ordered_release field into gomp_sem_t ** from flexible array 19086 member. Add implicit_task and initial_work_shares fields. 19087 Move close to the end of the struct. 19088 (struct gomp_team_state): Add single_count, last_work_share, 19089 active_level and level fields, remove work_share_generation. 19090 (gomp_barrier_handle_tasks): New prototype. 19091 (gomp_finish_task): New inline function. 19092 (struct gomp_work_share): Move chunk_size, end, incr into 19093 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and 19094 next_ll fields. Reshuffle fields. Add next_alloc, 19095 next_ws, next_free and inline_ordered_team_ids fields, change 19096 ordered_team_ids into pointer from flexible array member. 19097 Add mode field. Put lock and next into a different cache line 19098 from most of the write-once fields. 19099 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked, 19100 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next, 19101 gomp_iter_ull_guided_next): New prototypes. 19102 (gomp_new_icv): New prototype. 19103 (struct gomp_thread): Add thread_pool and task fields. 19104 (struct gomp_thread_pool): New type. 19105 (gomp_new_team): New prototype. 19106 (gomp_team_start): Change type of last argument. 19107 (gomp_new_work_share): Removed. 19108 (gomp_init_work_share, gomp_fini_work_share): New prototypes. 19109 (gomp_work_share_init_done): New static inline. 19110 (gomp_throttled_spin_count_var, gomp_available_cpus, 19111 gomp_managed_threads): New extern decls. 19112 (gomp_init_task): New prototype. 19113 (gomp_spin_count_var): New extern var decl. 19114 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility 19115 or no alias support, or if not PIC. 19116 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30, 19117 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30, 19118 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30, 19119 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25, 19120 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25, 19121 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25, 19122 gomp_set_nest_lock_25, gomp_unset_nest_lock_25, 19123 gomp_test_nest_lock_25): New prototypes. 19124 (omp_lock_symver, strong_alias): Define. 19125 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New 19126 decls. 19127 (gomp_end_task): New. 19128 (struct gomp_task_icv, gomp_global_icv): New. 19129 (gomp_thread_limit_var, gomp_max_active_levels_var): New. 19130 (struct gomp_task): New. 19131 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var, 19132 gomp_run_sched_var, gomp_run_sched_chunk): Remove. 19133 (gomp_icv): New. 19134 (gomp_schedule_type): Reorder enum to match 19135 omp_sched_t. 19136 * team.c (struct gomp_thread_start_data): Add thread_pool and task 19137 fields. 19138 (gomp_thread_start): Add gomp_team_barrier_wait call. 19139 For non-nested case remove clearing of docked thread thr fields. 19140 Use pool fields instead of global gomp_* variables. Use 19141 gomp_barrier_wait_last when needed. Initialize ts.active_level. 19142 Create tasks for each member thread. 19143 (free_team): Only destroy team barrier, task_lock here and free it. 19144 (gomp_free_thread): Free last_team if non-NULL. 19145 (gomp_team_end): Call gomp_team_barrier_wait instead of 19146 gomp_barrier_wait. For nested case call one extra 19147 gomp_barrier_wait. Move here some destruction from free_team. 19148 Call free_team on pool->last_team if any, rather than freeing 19149 current team. Destroy work_share_list_free_lock ifndef 19150 HAVE_SYNC_BUILTINS. 19151 (gomp_new_icv): New function. 19152 (gomp_threads, gomp_threads_size, gomp_threads_used, 19153 gomp_threads_dock): Removed. 19154 (gomp_thread_destructor): New variable. 19155 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New 19156 functions. 19157 (gomp_team_start): Create new pool if current thread doesn't have 19158 one. Use pool fields instead of global gomp_* variables. 19159 Initialize thread_pool field for new threads. Clear single_count. 19160 Change last argument from ws to team, don't create 19161 new team, set ts.work_share to &team->work_shares[0] and clear 19162 ts.last_work_share. Don't clear ts.work_share_generation. 19163 If number of threads changed, adjust atomically gomp_managed_threads. 19164 Use gomp_init_task instead of gomp_new_task, 19165 set thr->task to the corresponding implicit_task array entry. 19166 Create tasks for each member thread. Initialize ts.level. 19167 (initialize_team): Call pthread_key_create on 19168 gomp_thread_destructor. 19169 (team_destructor): New function. 19170 (new_team): Removed. 19171 (gomp_new_team): New function. 19172 (free_team): Free gomp_work_share blocks chained through next_alloc, 19173 instead of freeing work_shares and destroying work_share_lock. 19174 (gomp_team_end): Call gomp_fini_work_share. If number of threads 19175 changed, adjust atomically gomp_managed_threads. Use gomp_end_task. 19176 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead 19177 of gomp_barrier_wait. 19178 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait 19179 instead of gomp_barrier_wait. Call gomp_work_share_init_done 19180 if gomp_work_share_start returned true. Don't unlock ws->lock. 19181 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead 19182 of gomp_barrier_wait. 19183 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call 19184 gomp_work_share_init_done if gomp_work_share_start returned true. 19185 Don't unlock ws->lock. 19186 * work.c: Include stddef.h. 19187 (free_work_share): Use work_share_list_free_lock instead 19188 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument. 19189 Call gomp_fini_work_share and then either free ws if orphaned, or 19190 put it into work_share_list_free list of the current team. 19191 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New 19192 functions. 19193 (gomp_work_share_start, gomp_work_share_end, 19194 gomp_work_share_end_nowait): Rewritten. 19195 * omp_lib.f90.in Change some tabs to spaces to prevent warnings. 19196 (openmp_version): Set to 200805. 19197 (omp_sched_kind, omp_sched_static, omp_sched_dynamic, 19198 omp_sched_guided, omp_sched_auto): New parameters. 19199 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit, 19200 omp_set_max_active_levels, omp_get_max_active_levels, 19201 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size, 19202 omp_get_active_level): New interfaces. 19203 * omp_lib.h.in (openmp_version): Set to 200805. 19204 (omp_sched_kind, omp_sched_static, omp_sched_dynamic, 19205 omp_sched_guided, omp_sched_auto): New parameters. 19206 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit, 19207 omp_set_max_active_levels, omp_get_max_active_levels, 19208 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size, 19209 omp_get_active_level): New externals. 19210 * loop.c: Include limits.h. 19211 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle 19212 GFS_AUTO. 19213 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start): 19214 Likewise. Use gomp_icv. 19215 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear 19216 ts.static_trip here. 19217 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call 19218 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock. 19219 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call 19220 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS, 19221 don't unlock ws->lock, otherwise lock it. 19222 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call 19223 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock. 19224 (gomp_parallel_loop_start): Call gomp_new_team instead of 19225 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0]. 19226 Adjust gomp_team_start caller. Pass 0 as second argument to 19227 gomp_resolve_num_threads. 19228 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr. 19229 If adding ws->chunk_size nthreads + 1 times after end won't 19230 overflow, set ws->mode to 1. 19231 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start, 19232 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start, 19233 GOMP_loop_ull_ordered_static_start, 19234 GOMP_loop_ull_ordered_dynamic_start, 19235 GOMP_loop_ull_ordered_guided_start, 19236 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next, 19237 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next, 19238 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next, 19239 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next, 19240 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New 19241 prototypes. 19242 * libgomp.map: Export lock routines also @@OMP_2.0. 19243 (GOMP_loop_ordered_dynamic_first, 19244 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first, 19245 GOMP_loop_ordered_static_first): Remove. 19246 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start, 19247 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start, 19248 GOMP_loop_ull_ordered_dynamic_next, 19249 GOMP_loop_ull_ordered_dynamic_start, 19250 GOMP_loop_ull_ordered_guided_next, 19251 GOMP_loop_ull_ordered_guided_start, 19252 GOMP_loop_ull_ordered_runtime_next, 19253 GOMP_loop_ull_ordered_runtime_start, 19254 GOMP_loop_ull_ordered_static_next, 19255 GOMP_loop_ull_ordered_static_start, 19256 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start, 19257 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start, 19258 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0. 19259 (omp_set_schedule, omp_get_schedule, 19260 omp_get_thread_limit, omp_set_max_active_levels, 19261 omp_get_max_active_levels, omp_get_level, 19262 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level, 19263 omp_set_schedule_, omp_set_schedule_8_, 19264 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_, 19265 omp_set_max_active_levels_, omp_set_max_active_levels_8_, 19266 omp_get_max_active_levels_, omp_get_level_, 19267 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_, 19268 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_): 19269 New exports @@OMP_3.0. 19270 * omp.h.in (omp_sched_t): New type. 19271 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit, 19272 omp_set_max_active_levels, omp_get_max_active_levels, 19273 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size, 19274 omp_get_active_level): New prototypes. 19275 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var, 19276 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var, 19277 gomp_thread_limit_var, gomp_remaining_threads_count, 19278 gomp_remaining_threads_lock): New variables. 19279 (parse_spincount): New function. 19280 (initialize_env): Call gomp_init_num_threads unconditionally. 19281 Initialize gomp_available_cpus. Call parse_spincount, 19282 initialize gomp_{,throttled_}spin_count_var 19283 depending on presence and value of OMP_WAIT_POLICY and 19284 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var. 19285 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS, 19286 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification 19287 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and 19288 gomp_remaining_threads_lock if needed. Use gomp_global_icv. 19289 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var, 19290 gomp_run_sched_var, gomp_run_sched_chunk): Remove. 19291 (gomp_global_icv): New. 19292 (parse_schedule): Use it. Parse "auto". 19293 (omp_set_num_threads): Use gomp_icv. 19294 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested): 19295 Likewise. 19296 (omp_get_max_threads): Move from parallel.c. 19297 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit, 19298 omp_set_max_active_levels, omp_get_max_active_levels): New functions, 19299 add ialias. 19300 (parse_stacksize, parse_wait_policy): New functions. 19301 * fortran.c: Rewrite lock wrappers, if symbol versioning provide 19302 both wrappers for compatibility and new locks. 19303 (omp_set_schedule, omp_get_schedule, 19304 omp_get_thread_limit, omp_set_max_active_levels, 19305 omp_get_max_active_levels, omp_get_level, 19306 omp_get_ancestor_thread_num, omp_get_team_size, 19307 omp_get_active_level): New ialias_redirect. 19308 (omp_set_schedule_, omp_set_schedule_8_, 19309 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_, 19310 omp_set_max_active_levels_, omp_set_max_active_levels_8_, 19311 omp_get_max_active_levels_, omp_get_level_, 19312 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_, 19313 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_): 19314 New functions. 19315 * parallel.c: Include limits.h. 19316 (gomp_resolve_num_threads): Add count argument. Rewritten. 19317 (GOMP_parallel_start): Call gomp_new_team and pass that as last 19318 argument to gomp_team_start. Pass 0 as second argument to 19319 gomp_resolve_num_threads. 19320 (GOMP_parallel_end): Decrease gomp_remaining_threads_count 19321 if gomp_thread_limit_var != ULONG_MAX. 19322 (omp_in_parallel): Implement using ts.active_level. 19323 (omp_get_max_threads): Move to env.c. 19324 (omp_get_level, omp_get_ancestor_thread_num, 19325 omp_get_team_size, omp_get_active_level): New functions, 19326 add ialias. 19327 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done 19328 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call 19329 gomp_iter_dynamic_next instead of the _locked variant and don't take 19330 lock around it, otherwise acquire it before calling 19331 gomp_iter_dynamic_next_locked. 19332 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call 19333 gomp_iter_dynamic_next instead of the _locked variant and don't take 19334 lock around it. 19335 (GOMP_parallel_sections_start): Call gomp_new_team instead of 19336 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0]. 19337 Adjust gomp_team_start caller. Pass count as second argument to 19338 gomp_resolve_num_threads, don't adjust num_threads after the call. 19339 Use gomp_icv. 19340 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply 19341 ws->chunk_size by incr. 19342 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient 19343 code. 19344 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New 19345 types. 19346 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros. 19347 (omp_check_defines): Check even the compat defines. 19348 * config/linux/ptrlock.c: New file. 19349 * config/linux/ptrlock.h: New file. 19350 * config/linux/wait.h: New file. 19351 * config/posix/ptrlock.c: New file. 19352 * config/posix/ptrlock.h: New file. 19353 * config/linux/bar.h (gomp_team_barrier_wait, 19354 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes. 19355 (gomp_team_barrier_set_task_pending, 19356 gomp_team_barrier_clear_task_pending, 19357 gomp_team_barrier_set_waiting_for_tasks, 19358 gomp_team_barrier_waiting_for_tasks, 19359 gomp_team_barrier_done): New inlines. 19360 (gomp_barrier_t): Rewritten. 19361 (gomp_barrier_state_t): New typedef. 19362 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy, 19363 gomp_barrier_wait_start): Rewritten. 19364 (gomp_barrier_wait_end): Change second argument to 19365 gomp_barrier_state_t. 19366 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static 19367 inlines. 19368 * config/linux/bar.c: Include wait.h instead of libgomp.h and 19369 futex.h. 19370 (gomp_barrier_wait_end): Rewritten. 19371 (gomp_team_barrier_wait, gomp_team_barrier_wait_end, 19372 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions. 19373 * config/posix/bar.h (gomp_barrier_t): Add generation field. 19374 (gomp_barrier_state_t): New typedef. 19375 (gomp_team_barrier_wait, 19376 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes. 19377 (gomp_barrier_wait_start): Or all but low 2 bits from generation 19378 into the return value. Return gomp_barrier_state_t. 19379 (gomp_team_barrier_set_task_pending, 19380 gomp_team_barrier_clear_task_pending, 19381 gomp_team_barrier_set_waiting_for_tasks, 19382 gomp_team_barrier_waiting_for_tasks, 19383 gomp_team_barrier_done): New inlines. 19384 (gomp_barrier_wait_end): Change second argument to 19385 gomp_barrier_state_t. 19386 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static 19387 inlines. 19388 * config/posix/bar.c (gomp_barrier_init): Clear generation field. 19389 (gomp_barrier_wait_end): Change second argument to 19390 gomp_barrier_state_t. 19391 (gomp_team_barrier_wait, gomp_team_barrier_wait_end, 19392 gomp_team_barrier_wake): New functions. 19393 * config/linux/mutex.c: Include wait.h instead of libgomp.h and 19394 futex.h. 19395 (gomp_futex_wake, gomp_futex_wait): New variables. 19396 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait. 19397 * config/linux/lock.c: Rewrite to make locks task owned, 19398 for backwards compatibility provide the old entrypoints 19399 if symbol versioning. Include wait.h instead of libgomp.h and 19400 futex.h. 19401 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait. 19402 * config/posix95/lock.c: Rewrite to make locks task owned, 19403 for backwards compatibility provide the old entrypoints 19404 if symbol versioning. 19405 * config/posix/lock.c: Rewrite to make locks task owned, 19406 for backwards compatibility provide the old entrypoints 19407 if symbol versioning. 19408 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv. 19409 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv. 19410 * config/posix/proc.c, config/mingw32/proc.c: Similarly. 19411 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove. 19412 (sys_futex0): Return error code. 19413 (futex_wake, futex_wait): If ENOSYS was returned, clear 19414 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry. 19415 (cpu_relax, atomic_write_barrier): New static inlines. 19416 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove. 19417 (futex_wake, futex_wait): If ENOSYS was returned, clear 19418 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry. 19419 (cpu_relax, atomic_write_barrier): New static inlines. 19420 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove. 19421 (sys_futex0): Return error code. 19422 (futex_wake, futex_wait): If ENOSYS was returned, clear 19423 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry. 19424 (cpu_relax, atomic_write_barrier): New static inlines. 19425 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove. 19426 (sys_futex0): Return error code. 19427 (futex_wake, futex_wait): If ENOSYS was returned, clear 19428 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry. 19429 (cpu_relax, atomic_write_barrier): New static inlines. 19430 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove. 19431 (sys_futex0): Return error code. 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/sparc/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/sem.c: Include wait.h instead of libgomp.h and 19441 futex.h. 19442 (gomp_sem_wait_slow): Call do_wait instead of futex_wait. 19443 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS. 19444 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New 19445 types. 19446 (omp_nest_lock_t): Change owner into void *, add lock field. 19447 * config/posix95/omp-lock.h: Include semaphore.h. 19448 (omp_lock_25_t, omp_nest_lock_25_t): New types. 19449 (omp_lock_t): Use sem_t instead of mutex if semaphores 19450 aren't broken. 19451 (omp_nest_lock_t): Likewise. Change owner to void *. 19452 * config/posix/omp-lock.h: Include semaphore.h. 19453 (omp_lock_25_t, omp_nest_lock_25_t): New types. 19454 (omp_lock_t): Use sem_t instead of mutex if semaphores 19455 aren't broken. 19456 (omp_nest_lock_t): Likewise. Add owner field. 19457 19458 2008-06-06 Jakub Jelinek <jakub (a] redhat.com> 19459 19460 * testsuite/libgomp.c/collapse-1.c: New test. 19461 * testsuite/libgomp.c/collapse-2.c: New test. 19462 * testsuite/libgomp.c/collapse-3.c: New test. 19463 * testsuite/libgomp.c/icv-1.c: New test. 19464 * testsuite/libgomp.c/icv-2.c: New test. 19465 * testsuite/libgomp.c/lib-2.c: New test. 19466 * testsuite/libgomp.c/lock-1.c: New test. 19467 * testsuite/libgomp.c/lock-2.c: New test. 19468 * testsuite/libgomp.c/lock-3.c: New test. 19469 * testsuite/libgomp.c/loop-4.c: New test. 19470 * testsuite/libgomp.c/loop-5.c: New test. 19471 * testsuite/libgomp.c/loop-6.c: New test. 19472 * testsuite/libgomp.c/loop-7.c: New test. 19473 * testsuite/libgomp.c/loop-8.c: New test. 19474 * testsuite/libgomp.c/loop-9.c: New test. 19475 * testsuite/libgomp.c/nested-3.c: New test. 19476 * testsuite/libgomp.c/nestedfn-6.c: New test. 19477 * testsuite/libgomp.c/sort-1.c: New test. 19478 * testsuite/libgomp.c/task-1.c: New test. 19479 * testsuite/libgomp.c/task-2.c: New test. 19480 * testsuite/libgomp.c/task-3.c: New test. 19481 * testsuite/libgomp.c/task-4.c: New test. 19482 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes 19483 to C++ testsuite default compiler options. 19484 * testsuite/libgomp.c++/collapse-1.C: New test. 19485 * testsuite/libgomp.c++/collapse-2.C: New test. 19486 * testsuite/libgomp.c++/ctor-10.C: New test. 19487 * testsuite/libgomp.c++/for-1.C: New test. 19488 * testsuite/libgomp.c++/for-2.C: New test. 19489 * testsuite/libgomp.c++/for-3.C: New test. 19490 * testsuite/libgomp.c++/for-4.C: New test. 19491 * testsuite/libgomp.c++/for-5.C: New test. 19492 * testsuite/libgomp.c++/loop-8.C: New test. 19493 * testsuite/libgomp.c++/loop-9.C: New test. 19494 * testsuite/libgomp.c++/loop-10.C: New test. 19495 * testsuite/libgomp.c++/task-1.C: New test. 19496 * testsuite/libgomp.c++/task-2.C: New test. 19497 * testsuite/libgomp.c++/task-3.C: New test. 19498 * testsuite/libgomp.c++/task-4.C: New test. 19499 * testsuite/libgomp.c++/task-5.C: New test. 19500 * testsuite/libgomp.c++/task-6.C: New test. 19501 * testsuite/libgomp.fortran/allocatable1.f90: New test. 19502 * testsuite/libgomp.fortran/allocatable2.f90: New test. 19503 * testsuite/libgomp.fortran/allocatable3.f90: New test. 19504 * testsuite/libgomp.fortran/allocatable4.f90: New test. 19505 * testsuite/libgomp.fortran/collapse1.f90: New test. 19506 * testsuite/libgomp.fortran/collapse2.f90: New test. 19507 * testsuite/libgomp.fortran/collapse3.f90: New test. 19508 * testsuite/libgomp.fortran/collapse4.f90: New test. 19509 * testsuite/libgomp.fortran/lastprivate1.f90: New test. 19510 * testsuite/libgomp.fortran/lastprivate2.f90: New test. 19511 * testsuite/libgomp.fortran/lib4.f90: New test. 19512 * testsuite/libgomp.fortran/lock-1.f90: New test. 19513 * testsuite/libgomp.fortran/lock-2.f90: New test. 19514 * testsuite/libgomp.fortran/nested1.f90: New test. 19515 * testsuite/libgomp.fortran/nestedfn4.f90: New test. 19516 * testsuite/libgomp.fortran/strassen.f90: New test. 19517 * testsuite/libgomp.fortran/tabs1.f90: New test. 19518 * testsuite/libgomp.fortran/tabs2.f: New test. 19519 * testsuite/libgomp.fortran/task1.f90: New test. 19520 * testsuite/libgomp.fortran/task2.f90: New test. 19521 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning. 19522 * testsuite/libgomp.fortran/vla5.f90: Likewise. 19523 * testsuite/libgomp.c/pr26943-2.c: Likewise. 19524 * testsuite/libgomp.c/pr26943-3.c: Likewise. 19525 * testsuite/libgomp.c/pr26943-4.c: Likewise. 19526 19527 2008-05-23 Jakub Jelinek <jakub (a] redhat.com> 19528 19529 PR c++/36308 19530 * testsuite/libgomp.c++/ctor-11.C: New test. 19531 * testsuite/libgomp.c++/ctor-12.C: New test. 19532 19533 2008-05-15 Janis Johnson <janis187 (a] us.ibm.com> 19534 19535 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib. 19536 19537 2008-05-07 Jakub Jelinek <jakub (a] redhat.com> 19538 19539 PR middle-end/36106 19540 * testsuite/libgomp.c/atomic-5.c: New test. 19541 * testsuite/libgomp.c/atomic-6.c: New test. 19542 * testsuite/libgomp.c/autopar-1.c: New test. 19543 19544 2008-04-21 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de> 19545 19546 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS) 19547 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY) 19548 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT) 19549 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names. 19550 * configure: Regenerate. 19551 * Makefile.in, testsuite/Makefile.in: Likewise. 19552 19553 2008-04-18 Paolo Bonzini <bonzini (a] gnu.org> 19554 19555 PR bootstrap/35457 19556 * aclocal.m4: Regenerate. 19557 * configure: Regenerate. 19558 19559 2008-03-18 Jakub Jelinek <jakub (a] redhat.com> 19560 19561 PR middle-end/35611 19562 * testsuite/libgomp.c/atomic-4.c: New test. 19563 19564 PR libgomp/35625 19565 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end. 19566 (gomp_iter_guided_next): Likewise. 19567 * testsuite/libgomp.c/pr35625.c: New test. 19568 19569 2008-03-16 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de> 19570 19571 * aclocal.m4: Regenerate. 19572 * configure: Likewise. 19573 * Makefile.in: Likewise. 19574 * testsuite/Makefile.in: Likewise. 19575 19576 2008-03-13 Jakub Jelinek <jakub (a] redhat.com> 19577 19578 PR middle-end/35185 19579 * testsuite/libgomp.c++/pr35185.C: New test. 19580 19581 2008-03-12 Jakub Jelinek <jakub (a] redhat.com> 19582 19583 PR middle-end/35549 19584 * testsuite/libgomp.c/pr35549.c: New test. 19585 19586 2008-03-06 Jakub Jelinek <jakub (a] redhat.com> 19587 19588 * testsuite/libgomp.c/atomic-3.c: New test. 19589 19590 2008-03-03 Francois-Xavier Coudert <fxcoudert (a] gcc.gnu.org> 19591 19592 PR fortran/33197 19593 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and 19594 .F08 file suffixes. 19595 19596 2008-03-03 Peter O'Gorman <pogma (a] thewrittenword.com> 19597 19598 PR libgomp/33131 19599 * configure.ac: Add ACX_HEADER_STRING. 19600 * env.c: Include strings.h. 19601 * aclocal.m4: Regenerate. 19602 * config.h.in: Regenerate. 19603 * configure: Regenerate. 19604 * Makefile.in: Regenerate. 19605 * testsuite/Makefile.in: Regenerate. 19606 19607 2008-02-15 Jakub Jelinek <jakub (a] redhat.com> 19608 19609 PR middle-end/35196 19610 * testsuite/libgomp.c/pr35196.c: New test. 19611 19612 PR middle-end/35130 19613 * testsuite/libgomp.fortran/pr35130.f90: New test. 19614 * testsuite/libgomp.c/pr35130.c: New test. 19615 19616 2008-01-25 Jakub Jelinek <jakub (a] redhat.com> 19617 19618 PR middle-end/33880 19619 * testsuite/libgomp.c/pr33880.c: New test. 19620 * testsuite/libgomp.fortran/pr33880.f90: New test. 19621 19622 2008-01-24 David Edelsohn <edelsohn (a] gnu.org> 19623 19624 * configure: Regenerate. 19625 19626 2008-01-08 Jakub Jelinek <jakub (a] redhat.com> 19627 19628 * configure.ac: Move futex checking into ../config/futex.m4. 19629 * configure: Rebuilt. 19630 * aclocal.m4: Rebuilt. 19631 * Makefile.in: Rebuilt. 19632 19633 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match 19634 2007-10-15 ../config/tls.m4 change. 19635 19636 2007-12-19 Jakub Jelinek <jakub (a] redhat.com> 19637 19638 PR c++/34513 19639 * testsuite/libgomp.c/pr34513.c: New test. 19640 * testsuite/libgomp.c++/pr34513.C: New test. 19641 19642 2007-12-17 Jack Howarth <howarth (a] bromo.med.uc.edu> 19643 19644 PR target/32765 19645 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin. 19646 19647 2007-12-04 Jakub Jelinek <jakub (a] redhat.com> 19648 19649 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes. 19650 19651 2007-12-03 Jakub Jelinek <jakub (a] redhat.com> 19652 19653 * testsuite/libgomp.c/private-1.c: New test. 19654 19655 2007-11-29 Andris Pavenis <andris.pavenis (a] iki.fi> 19656 Paolo Bonzini <bonzini (a] gnu.org> 19657 19658 * Makefile.am: Use space as vpath separator. Use 'vpath %' 19659 instead of 'VPATH ='. 19660 * Makefile.in: Regenerate. 19661 19662 2007-11-23 Matthias Klose <doko (a] ubuntu.com> 19663 19664 * configure.ac: Adjust makeinfo version check. 19665 * configure: Regenerate. 19666 19667 2007-11-10 Jakub Jelinek <jakub (a] redhat.com> 19668 19669 PR fortran/34020 19670 * testsuite/libgomp.fortran/pr34020.f90: New test. 19671 19672 2007-11-06 Jakub Jelinek <jakub (a] redhat.com> 19673 19674 PR c++/33894 19675 * testsuite/libgomp.c++/atomic-1.C: New test. 19676 19677 2007-10-25 Jakub Jelinek <jakub (a] redhat.com> 19678 19679 PR libgomp/33275 19680 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate): 19681 Make x and y integers rather than (implicit) reals. Add private (j) 19682 clause to the last omp parallel. 19683 19684 2007-10-15 Maciej W. Rozycki <macro (a] linux-mips.org> 19685 19686 * configure: Regenerate following changes to ../config/tls.m4. 19687 19688 2007-09-28 Jakub Jelinek <jakub (a] redhat.com> 19689 19690 * testsuite/libgomp.fortran/stack.f90: New test. 19691 19692 2007-09-10 Danny Smith <dannysmith (a] users.sourceforge.net> 19693 19694 * config/mingw32/proc.c: New file. 19695 19696 2007-09-05 Uros Bizjak <ubizjak (a] gmail.com> 19697 19698 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets. 19699 (main): Use __get_cpuid to get i386 target fetaures. 19700 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets. 19701 (main): Use __get_cpuid to get x86_64 target fetaures. 19702 19703 2007-08-15 Jack Howarth <howarth (a] bromo.med.uc.edu> 19704 19705 PR target/32765 19706 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin. 19707 * testsuite/libgomp.fortran/crayptr2.f90: Likwise. 19708 19709 2007-07-12 Jakub Jelinek <jakub (a] redhat.com> 19710 19711 PR fortran/32550 19712 * testsuite/libgomp.fortran/pr32550.f90: New test. 19713 * testsuite/libgomp.fortran/crayptr2.f90: New test. 19714 19715 2007-07-05 H.J. Lu <hongjiu.lu (a] intel.com> 19716 19717 * aclocal.m4: Regenerated. 19718 19719 2007-07-05 Tobias Burnus <burnus (a] net-b.de> 19720 19721 PR fortran/32359 19722 * testsuite/libgomp.fortran/pr32359.f90: New. 19723 19724 2007-07-02 Jakub Jelinek <jakub (a] redhat.com> 19725 19726 PR libgomp/32468 19727 * sections.c (GOMP_parallel_sections_start): Only decrease 19728 number of threads to COUNT if dyn_var is true. 19729 * testsuite/libgomp.c/pr32468.c: New test. 19730 19731 2007-07-02 Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE> 19732 19733 PR libgomp/26308 19734 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX. 19735 19736 2007-06-21 Jakub Jelinek <jakub (a] redhat.com> 19737 19738 PR middle-end/32362 19739 * testsuite/libgomp.c/pr32362-1.c: New test. 19740 * testsuite/libgomp.c/pr32362-2.c: New test. 19741 * testsuite/libgomp.c/pr32362-3.c: New test. 19742 19743 2007-06-07 Jakub Jelinek <jakub (a] redhat.com> 19744 19745 * team.c (gomp_team_start): Fix setting up thread_attr 19746 stack size. 19747 19748 2007-06-02 Paolo Bonzini <bonzini (a] gnu.org> 19749 19750 * configure: Regenerate. 19751 19752 2007-05-23 Steve Ellcey <sje (a] cup.hp.com> 19753 19754 * Makefile.in: Regenerate. 19755 * configure: Regenerate. 19756 * aclocal.m4: Regenerate. 19757 * testsuite/Makefile.in: Regenerate. 19758 19759 2007-05-04 Jakub Jelinek <jakub (a] redhat.com> 19760 19761 * config/linux/proc.c: New file. 19762 19763 PR libgomp/28482 19764 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux. 19765 19766 2007-04-19 Daniel Franke <franke.daniel (a] gmail.com> 19767 19768 * libgomp.texi (GOMP_CPU_AFFINITY): Updated. 19769 19770 2007-04-16 Matthias Klose <doko (a] debian.org> 19771 19772 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific 19773 flags if not building with -m64. 19774 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march 19775 flag for i?86-*-* targets, if current target matches -m64. 19776 19777 2007-04-14 Steve Ellcey <sje (a] cup.hp.com> 19778 19779 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS. 19780 * Makefile.in: Regenerate. 19781 19782 2007-04-07 John David Anglin <dave.anglin (a] nrc-cnrc.gc.ca> 19783 19784 PR testsuite/31369 19785 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting 19786 ld_library_path. 19787 * testsuite/libgomp.fortran/fortran.exp: Likewise. 19788 19789 2007-04-04 Jakub Jelinek <jakub (a] redhat.com> 19790 19791 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern 19792 decls. 19793 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes. 19794 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables. 19795 (parse_affinity): New function. 19796 (initialize_env): Call it and gomp_init_affinity. 19797 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL, 19798 create new pthread_attr_t and call gomp_init_thread_affinity 19799 on it for each thread before passing the attribute to pthread_create. 19800 * config/linux/affinity.c: New file. 19801 * config/posix/affinity.c: New file. 19802 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test. 19803 * configure: Rebuilt. 19804 * config.h.in: Rebuilt. 19805 * Makefile.am (libgomp_la_SOURCES): Add affinity.c. 19806 * Makefile.in: Rebuilt. 19807 19808 2007-03-23 Andreas Tobler <a.tobler (a] schweiz.org> 19809 19810 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for 19811 *-*-darwin*. 19812 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library 19813 and use it if found. 19814 19815 2007-03-18 Uros Bizjak <ubizjak (a] gmail.com> 19816 19817 * testsuite/config/default.exp: New file. 19818 * testsuite/lib/libgomp.exp: New file. 19819 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init, 19820 libgomp_target_compile, libgomp_option_help, libgomp_option_proc, 19821 load_lib *, load_gcc_lib *): Move to libgomp.exp. 19822 (libgomp_load): Remove. 19823 * testsuite/lib/libgomp.exp (libgomp_init): Compute 19824 always_ld_library_path, not ld_library_path. Set additional_flags 19825 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets. 19826 (target_compile): Do not call libgomp_init. Append lang_library_path 19827 and lang_link_flags to options. 19828 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set 19829 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH 19830 here. 19831 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from 19832 always_ld_library_path. Set LD_LIBRARY_PATH here. 19833 * testsuite/libgomp.fortran/fortran.exp: Ditto. 19834 * testsuite/libgomp.c/atomic-1.c: Set dg-options to 19835 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for 19836 CX8 flag. 19837 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for 19838 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3. 19839 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options. 19840 * testsuite/libgomp.c/pr29947-1.c: Ditto. 19841 * testsuite/libgomp.c/atomic-10.c: Ditto. 19842 19843 2007-03-21 Jakub Jelinek <jakub (a] redhat.com> 19844 19845 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add 19846 dg-final cleanup-modules line. 19847 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise. 19848 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise. 19849 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise. 19850 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise. 19851 * testsuite/libgomp.fortran/reduction5.f90: Likewise. 19852 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise. 19853 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. 19854 19855 2007-03-18 Andreas Schwab <schwab (a] suse.de> 19856 19857 * acinclude.m4: Adjust regular expression for ld version 19858 extraction. 19859 * configure: Regenerate. 19860 19861 2007-03-01 Brooks Moses <brooks.moses (a] codesourcery.com> 19862 19863 * Makefile.am: Add install-pdf target as copied from 19864 automake v1.10 rules. 19865 * Makefile.in: Regenerate 19866 19867 2007-02-07 Jakub Jelinek <jakub (a] redhat.com> 19868 19869 PR libgomp/28486 19870 * configure: Regenerate. 19871 19872 PR c++/30703 19873 * testsuite/libgomp.c++/pr30703.C: New test. 19874 19875 2007-02-02 Jakub Jelinek <jakub (a] redhat.com> 19876 19877 Revert: 19878 2006-07-05 Eric Christopher <echristo (a] apple.com> 19879 * configure.ac: Depend addition of -pthread on host OS. 19880 * configure: Regenerate. 19881 19882 2007-01-31 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de> 19883 19884 * libgomp.texi: Fix spacing after abbreviations. 19885 19886 2007-01-31 Daniel Franke <franke.daniel (a] gmail.com> 19887 19888 PR libgomp/30546 19889 * configure.ac: Add check for makeinfo 19890 * Makefile.am: Redefined target libgomp.info, build libgomp.info only 19891 if an appropriate version of makeinfo is found. 19892 * aclocal.m4: Regenerated. 19893 * configure: Regenerated. 19894 * Makefile.in: Regenerated. 19895 * testsuite/Makefile.in: Regenerated. 19896 19897 2007-01-29 Daniel Franke <franke.daniel (a] gmail.com> 19898 19899 PR libgomp/30540 19900 * libgomp.texi: More about implementation-dependent settings. 19901 19902 2007-01-26 Tobias Burnus <burnus (a] net-b.de> 19903 19904 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension. 19905 19906 2007-01-24 Jakub Jelinek <jakub (a] redhat.com> 19907 19908 PR middle-end/30494 19909 * testsuite/libgomp.c/pr30494.c: New test. 19910 19911 2007-01-15 Tom Tromey <tromey (a] redhat.com> 19912 19913 * configure: Rebuilt. 19914 * configure.ac: Fixed comment. 19915 19916 2007-01-14 Daniel Franke <franke.daniel (a] gmail.com> 19917 19918 * libgomp.texi: Document implementation specific default values of 19919 environment variables. 19920 19921 2006-12-21 Daniel Franke <franke.daniel (a] gmail.com> 19922 19923 PR libgomp/28209 19924 * libgomp.texi: New file. 19925 * configure.ac: Add --enable-generated-files-in-srcdir option. 19926 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy 19927 files to srcdir. 19928 * Makefile.in: Regenerated. 19929 * config.h.in: Regenerated. 19930 * testsuite/Makefile.in: Regenerated. 19931 * NOTES: Removed. 19932 19933 2006-12-04 Daniel Franke <franke.daniel (a] gmail.com> 19934 19935 PR libgomp/29949 19936 * env.c (omp_set_num_threads): Set illegal thread count to 1. 19937 19938 2006-12-04 Eric Botcazou <ebotcazou (a] libertysurf.fr> 19939 19940 * configure: Regenerate. 19941 19942 2006-12-04 Jakub Jelinek <jakub (a] redhat.com> 19943 19944 PR libgomp/29947 19945 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to 19946 start if there shouldn't be any loop iterations. 19947 (gomp_loop_ordered_static_start): Remove start == end test. 19948 * testsuite/libgomp.c/pr29947-1.c: New test. 19949 * testsuite/libgomp.c/pr29947-2.c: New test. 19950 19951 2006-12-02 Eric Botcazou <ebotcazou (a] libertysurf.fr> 19952 19953 * configure.tgt: Force initial-exec TLS model on Linux only. 19954 19955 2006-11-13 Daniel Jacobowitz <dan (a] codesourcery.com> 19956 19957 * configure: Regenerated. 19958 19959 2006-11-09 Uros Bizjak <ubizjak (a] gmail.com> 19960 19961 * env.c (parse_schedule): Reject out of range values. 19962 (parse_unsigned_long): Reject out of range, negative or zero values. 19963 19964 2006-10-29 Jakub Jelinek <jakub (a] redhat.com> 19965 19966 PR fortran/29629 19967 * testsuite/libgomp.fortran/pr29629.f90: New test. 19968 19969 2006-10-24 Eric Botcazou <ebotcazou (a] libertysurf.fr> 19970 19971 PR libgomp/29494 19972 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6. 19973 * config/posix95: New directory. 19974 * config/posix95/omp-lock.h: New file. 19975 * config/posix95/lock.c: Likewise. 19976 19977 2006-10-14 Geoffrey Keating <geoffk (a] apple.com> 19978 19979 * aclocal.m4: Regenerate. 19980 * configure: Regenerate. 19981 19982 2006-10-05 Danny Smith <dannysmith (a] users.sourceforge.net> 19983 19984 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from 19985 '<' to '<='. 19986 19987 2006-10-05 Danny Smith <dannysmith (a] users.sourceforge.net> 19988 19989 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from 19990 test. 19991 * configure: Regenerate. 19992 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias. 19993 19994 2006-09-26 Jakub Jelinek <jakub (a] redhat.com> 19995 19996 PR middle-end/25261 19997 PR middle-end/28790 19998 * testsuite/libgomp.c/nestedfn-4.c: New test. 19999 * testsuite/libgomp.c/nestedfn-5.c: New test. 20000 * testsuite/libgomp.fortran/nestedfn3.f90: New test. 20001 20002 PR fortran/29097 20003 * testsuite/libgomp.fortran/condinc1.f: New test. 20004 * testsuite/libgomp.fortran/condinc2.f: New test. 20005 * testsuite/libgomp.fortran/condinc3.f90: New test. 20006 * testsuite/libgomp.fortran/condinc4.f90: New test. 20007 * testsuite/libgomp.fortran/condinc1.inc: New file. 20008 20009 2006-09-18 Tom Tromey <tromey (a] redhat.com> 20010 20011 * configure: Rebuilt. 20012 20013 2006-09-13 Joseph S. Myers <joseph (a] codesourcery.com> 20014 20015 PR c/28768 20016 PR preprocessor/14634 20017 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument 20018 to AC_DEFINE. 20019 * configure: Regenerate. 20020 20021 2006-09-08 Steven G. Kargl <kargl (a] gcc.gnu.org> 20022 20023 * testsuite/libgomp.fortran/reduction3.f90: Change 20024 -2147483648 to -huge(i)-1 to avoid overflow. 20025 * testsuite/libgomp.fortran/reduction4.f90: Change 20026 Z'ffffffff' to not(0) to avoid overflow. 20027 20028 2006-08-26 Joseph S. Myers <joseph (a] codesourcery.com> 20029 20030 PR libgomp/25938 20031 * Makefile.am (libsubincludedir): New. 20032 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS. 20033 * Makefile.in: Regenerate. 20034 20035 2006-08-17 Jakub Jelinek <jakub (a] redhat.com> 20036 20037 PR libgomp/28725 20038 * env.c: Include ctype.h. 20039 (parse_schedule, parse_unsigned_long, parse_boolean): Allow 20040 leading and/or trailing whitespace and compare strings case 20041 insensitively. 20042 20043 2006-07-16 Jakub Jelinek <jakub (a] redhat.com> 20044 20045 PR fortran/28390 20046 * testsuite/libgomp.fortran/pr28390.f: New test. 20047 20048 2006-07-05 Eric Christopher <echristo (a] apple.com> 20049 20050 * configure.ac: Depend addition of -pthread on host OS. 20051 * configure: Regenerate. 20052 20053 2006-06-21 Jakub Jelinek <jakub (a] redhat.com> 20054 20055 * critical.c (GOMP_critical_name_start): Fix *pptr initialization 20056 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is 20057 defined. 20058 20059 2006-06-20 Jakub Jelinek <jakub (a] redhat.com> 20060 20061 PR libgomp/26175 20062 PR libgomp/26477 20063 * configure.ac: If neither --enable-linux-futex nor 20064 --disable-linux-futex is passed, determine the default by checking 20065 for compiling and/or running against NPTL. With --enable-linux-futex, 20066 check if SYS_gettid and SYS_futex are defined. 20067 * configure: Rebuilt. 20068 20069 2006-06-14 Richard Henderson <rth (a] redhat.com> 20070 20071 PR libgomp/28008 20072 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when 20073 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment. 20074 20075 2006-06-09 Richard Henderson <rth (a] redhat.com> 20076 20077 * env.c (gomp_nthreads_var): Change to unsigned long. 20078 (gomp_run_sched_chunk): Likewise. 20079 (parse_unsigned_long): Rename from parse_num_threads and generalize. 20080 (initialize_env): Initialize gomp_thread_attr. 20081 * libgomp.h (gomp_nthreads_var): Update decl. 20082 (gomp_run_sched_chunk): Likewise. 20083 (gomp_thread_attr): Declare. 20084 * team.c (gomp_thread_attr): Export. 20085 (initialize_team): Don't initialize it. 20086 20087 2006-06-09 Jakub Jelinek <jakub (a] redhat.com> 20088 20089 PR fortran/27916 20090 * testsuite/libgomp.fortran/pr27916-1.f90: New test. 20091 * testsuite/libgomp.fortran/pr27916-2.f90: New test. 20092 20093 2006-06-06 Francois-Xavier Coudert <coudert (a] clipper.ens.fr> 20094 20095 * config/mingw32/time.c: New file. 20096 * configure.tgt: Use it. 20097 20098 2006-05-23 Carlos O'Donell <carlos (a] codesourcery.com> 20099 20100 * Makefile.am: Add install-html target. Add install-html to .PHONY 20101 * Makefile.in: Regenerate. 20102 20103 2006-05-22 John David Anglin <dave.anglin (a] nrc-cnrc.gc.ca> 20104 20105 PR libgomp/27612 20106 * testsuite/libgomp.c/sections-1.c: Require sync_int_long. 20107 * testsuite/libgomp.c/critical-1.c: Likewise. 20108 * testsuite/libgomp.c/loop-1.c: Likewise. 20109 * testsuite/libgomp.c/loop-2.c: Likewise. 20110 * testsuite/libgomp.c/single-1.c: Likewise. 20111 * testsuite/libgomp.c/ordered-1.c: Likewise. 20112 * testsuite/libgomp.c/ordered-2.c: Likewise. 20113 20114 2006-05-15 Jakub Jelinek <jakub (a] redhat.com> 20115 20116 PR middle-end/27416 20117 * libgomp.fortran/pr27416-1.f90: New test. 20118 20119 2006-05-03 Jakub Jelinek <jakub (a] redhat.com> 20120 20121 PR fortran/27395 20122 * testsuite/libgomp.fortran/pr27395-1.f90: New test. 20123 * testsuite/libgomp.fortran/pr27395-2.f90: New test. 20124 20125 2006-05-02 Jakub Jelinek <jakub (a] redhat.com> 20126 20127 PR c++/26943 20128 * testsuite/libgomp.c/pr26943-1.c: New test. 20129 * testsuite/libgomp.c/pr26943-2.c: New test. 20130 * testsuite/libgomp.c/pr26943-3.c: New test. 20131 * testsuite/libgomp.c/pr26943-4.c: New test. 20132 * testsuite/libgomp.c++/pr27337.C: Remove barrier. 20133 * testsuite/libgomp.c++/pr26943.C: New test. 20134 20135 2006-05-02 Jakub Jelinek <jakub (a] redhat.com> 20136 20137 PR middle-end/27337 20138 * testsuite/libgomp.c++/pr27337.C: New test. 20139 20140 2006-04-26 Jakub Jelinek <jakub (a] redhat.com> 20141 20142 PR c/26171 20143 * testsuite/libgomp.c/pr26171.c: New test. 20144 20145 2006-04-25 Richard Henderson <rth (a] redhat.com> 20146 20147 PR libgomp/25865 20148 * configure.ac: Use GCC_CHECK_TLS. 20149 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove. 20150 * Makefile.in, aclocal.m4, configure: Regenerate. 20151 20152 2006-04-10 Matthias Klose <doko (a] debian.org> 20153 20154 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib 20155 directory names containing underscores. 20156 20157 2006-03-21 Jakub Jelinek <jakub (a] redhat.com> 20158 20159 PR c++/26691 20160 * testsuite/libgomp.c++/pr26691.C: New test. 20161 20162 2006-03-13 Jakub Jelinek <jakub (a] redhat.com> 20163 20164 * testsuite/libgomp.fortran/retval2.f90: New test. 20165 20166 2006-03-09 Diego Novillo <dnovillo (a] redhat.com> 20167 20168 * testsuite/libgomp.c++: New directory. 20169 20170 2006-02-25 Shantonu Sen <ssen (a] opendarwin.org> 20171 20172 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions. 20173 * config/posix/sem.c: Implement the above. 20174 20175 2006-02-25 Andreas Tobler <a.tobler (a] schweiz.ch> 20176 20177 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and 20178 define HAVE_BROKEN_POSIX_SEMAPHORES. 20179 * configure: Rebuilt. 20180 * config.h.in: Rebuilt. 20181 20182 2006-02-17 Francois-Xavier Coudert <coudert (a] clipper.ens.fr> 20183 20184 PR bootstrap/26161 20185 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment 20186 for the other pthread check. 20187 * configure: Regenerate. 20188 * config.h.in: Regenerate. 20189 20190 2006-02-15 Jakub Jelinek <jakub (a] redhat.com> 20191 20192 PR libgomp/25938 20193 PR libgomp/25984 20194 * Makefile.am (fincludedir): New variable. 20195 (nodist_include_HEADERS): Remove Fortran files. 20196 (nodist_finclude_HEADERS): New variable. 20197 * Makefile.in: Regenerated. 20198 20199 2006-02-13 Jakub Jelinek <jakub (a] redhat.com> 20200 20201 * testsuite/libgomp.fortran/vla7.f90: Add -w to options. 20202 Remove tests for returning assumed character length arrays. 20203 20204 2006-02-12 Roger Sayle <roger (a] eyesopen.com> 20205 John David Anglin <dave (a] hiauly1.hia.nrc.ca> 20206 20207 PR libgomp/25936 20208 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems. 20209 20210 2006-02-08 Ulrich Weigand <uweigand (a] de.ibm.com> 20211 20212 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library. 20213 20214 2006-02-07 Eric Botcazou <ebotcazou (a] libertysurf.fr> 20215 20216 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related 20217 part of LD_LIBRARY_PATH manually. 20218 20219 2006-02-03 H.J. Lu <hongjiu.lu (a] intel.com> 20220 20221 PR libgomp/25852 20222 * testsuite/lib/libgomp-dg.exp (blddir): Set it in 20223 libgomp_init. 20224 20225 2005-01-25 Paolo Bonzini <bonzini (a] gnu.org> 20226 20227 PR libgomp/25884 20228 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove. 20229 * configure.ac (PERL): Don't set. 20230 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here. 20231 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE, 20232 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions. 20233 * omp.h.in: Wrap the new configure substitutions with @ characters. 20234 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise. 20235 * aclocal.m4, configure, Makefile.in: Regenerate. 20236 * mkomp_h.pl: Delete. 20237 20238 2005-01-24 Paolo Bonzini <bonzini (a] gnu.org> 20239 20240 PR libgomp/25259 20241 * configure.ac: Use GCC_HEADER_STDINT. 20242 * libgomp.h: Include gstdint.h. 20243 * libgomp_f.h.in: Don't include stdint.h or inttypes.h. 20244 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild. 20245 20246 2006-01-24 Richard Henderson <rth (a] redhat.com> 20247 20248 PR libgomp/25942 20249 * configure.ac: Add AM_MAINTAINER_MODE. 20250 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild. 20251 20252 2006-01-24 Diego Novillo <dnovillo (a] redhat.com> 20253 20254 * Makefile.in: Regenerate. 20255 * testsuite/Makefile.in: Regenerate. 20256 * aclocal.m4: Regenerate. 20257 20258 2006-01-23 Andreas Tobler <a.tobler (a] schweiz.ch> 20259 20260 * config/posix/proc.c: Conditional include of sys/loadavg.h for 20261 Solaris. 20262 * configure.ac: Add check for loadavg.h. 20263 (link_gomp): Adjust comment. 20264 * configure: Regenerate. 20265 * config.h.in: Regenerate. 20266 20267 2006-01-21 Steve Ellcey <sje (a] cup.hp.com> 20268 20269 PR libgomp/25877 20270 * configure.ac: Remove check for alloca.h. 20271 * configure: Regenerate. 20272 * config.h.in: Regenerate. 20273 * libgomp.h: define gomp_alloca to be __builtin_alloca. 20274 * team.c: Remove use of alloca.h. 20275 Call gomp_alloca instead of alloca. 20276 20277 2006-01-20 Steve Ellcey <sje (a] cup.hp.com> 20278 20279 PR libgomp/25877 20280 * team.c: Add include of alloca.h. 20281 * configure.ac: Add check for alloca.h. 20282 * configure: Regenerate. 20283 * config.h.in: Regenerate. 20284 20285 2006-01-17 Jakub Jelinek <jakub (a] redhat.com> 20286 20287 PR fortran/25219 20288 * testsuite/libgomp.fortran/pr25219.f90: New test. 20289 20290 2005-12-05 Uros Bizjak <uros (a] kss-loka.si> 20291 20292 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c, 20293 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c, 20294 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C, 20295 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C, 20296 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C, 20297 testsuite/libgomp.fortran/threadprivate1.f90, 20298 testsuite/libgomp.fortran/threadprivate2.f90, 20299 testsuite/libgomp.fortran/threadprivate3.f90, 20300 testsuite/libgomp.fortran/appendix-a/a.22.7.f9, 20301 testsuite/libgomp.fortran/appendix-a/a.22.8.f9, 20302 testsuite/libgomp.fortran/omp_parse3.f90: Change required 20303 effective-target to TLS runtime. 20304 20305 * testsuite/libgomp.fortran/pr25162.f: Require 20306 effective-target TLS runtime. 20307 20308 2005-12-01 Jakub Jelinek <jakub (a] redhat.com> 20309 20310 * testsuite/libgomp.fortran/nestedfn2.f90: New test. 20311 * testsuite/libgomp.c/nestedfn-3.c: New test. 20312 20313 2005-11-30 Jakub Jelinek <jakub (a] redhat.com> 20314 20315 PR fortran/25162 20316 * testsuite/libgomp.fortran/pr25162.f: New test. 20317 20318 2005-11-28 Jakub Jelinek <jakub (a] redhat.com> 20319 20320 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to 20321 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed. 20322 20323 2005-11-25 Jakub Jelinek <jakub (a] redhat.com> 20324 20325 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c, 20326 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in, 20327 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c, 20328 single.c, team.c, work.c, config/linux/alpha/futex.h, 20329 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h, 20330 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h, 20331 config/linux/powerpc/futex.h, config/linux/s390/futex.h, 20332 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h, 20333 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h, 20334 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c, 20335 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update 20336 FSF address. 20337 20338 2005-11-18 Jakub Jelinek <jakub (a] redhat.com> 20339 20340 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS 20341 to nodist_noinst_HEADERS. 20342 * Makefile.in: Rebuilt. 20343 20344 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct, 20345 add integer count field. 20346 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for 20347 omp_nest_lock_t type change. 20348 (omp_init_nest_lock): Likewise. Initialize count to 0. 20349 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change. 20350 Increment count. 20351 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change. 20352 Decrement count. 20353 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change. 20354 Increment count if successful and return the new nesting level. 20355 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level. 20356 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type. 20357 * testsuite/libgomp.c/lib-1.c: New test. 20358 * testsuite/libgomp.fortran/lib1.f90: New test. 20359 * testsuite/libgomp.fortran/lib2.f: New test. 20360 * testsuite/libgomp.fortran/lib3.f: New test. 20361 20362 2005-11-17 Richard Henderson <rth (a] redhat.com> 20363 20364 PR 24845 20365 * Makefile.am (nodist_toolexeclib_HEADERS): New. 20366 * configure.ac (link_gomp): New. Substitute it. 20367 (AC_CONFIG_FILES): Add libgomp.spec. 20368 * libgomp.spec.in: New file. 20369 * Makefile.in, testsuite/Makefile.in, configure: Rebuild. 20370 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags. 20371 20372 2005-11-18 Jakub Jelinek <jakub (a] redhat.com> 20373 20374 * testsuite/libgomp.fortran/reduction1.f90: Adjust for 20375 reduction(-:var) behaving the same as reduction(+:var). 20376 * testsuite/libgomp.c/reduction-4.c: New test. 20377 20378 2005-11-15 Uros Bizjak <uros (a] kss-loka.si> 20379 20380 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c, 20381 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c, 20382 testsuite/libgomp.c/copyin-3.c, 20383 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C, 20384 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C, 20385 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C, 20386 testsuite/libgomp.c++/pr24455.C, 20387 testsuite/libgomp.fortran/threadprivate1.f90, 20388 testsuite/libgomp.fortran/threadprivate2.f90, 20389 testsuite/libgomp.fortran/threadprivate3.f90, 20390 testsuite/libgomp.fortran/appendix-a/a.22.7.f9, 20391 testsuite/libgomp.fortran/appendix-a/a.22.8.f9, 20392 testsuite/libgomp.fortran/omp_parse3.f90: Require 20393 effective-target TLS. 20394 20395 2005-11-14 Diego Novillo <dnovillo (a] redhat.com> 20396 20397 * HEADER: Remove. 20398 20399 2005-11-13 Jakub Jelinek <jakub (a] redhat.com> 20400 20401 PR libgomp/24797 20402 * team.c (initialize_team): Pass NULL rather than free as 20403 pthread_key_create destructor. Initialize thread specific data 20404 pointer in initial thread to a static local variable rather than 20405 malloced memory. 20406 20407 2005-11-11 Uros Bizjak <uros (a] kss-loka.si> 20408 20409 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append 20410 its location to ld_library_path. 20411 20412 2005-11-10 Diego Novillo <dnovillo (a] redhat.com> 20413 20414 * testsuite/libgomp.c/c.exp: Rename from dg.exp. 20415 20416 2005-11-10 Diego Novillo <dnovillo (a] redhat.com> 20417 20418 * testsuite/libgomp.c: Rename from libgomp.dg. 20419 20420 2005-11-09 Diego Novillo <dnovillo (a] redhat.com> 20421 20422 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for 20423 threadprivate variable 'i'. 20424 20425 2005-11-09 Jakub Jelinek <jakub (a] redhat.com> 20426 20427 * config/linux/s390/futex.h: New file. 20428 * configure.tgt: Use it. 20429 20430 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization 20431 before the parallel. 20432 20433 2005-11-08 Jakub Jelinek <jakub (a] redhat.com> 20434 20435 PR c++/24734 20436 * testsuite/libgomp.c++/master-1.C: New test. 20437 20438 2005-11-07 Jakub Jelinek <jakub (a] redhat.com> 20439 20440 * testsuite/libgomp.dg/copyin-3.c: New test. 20441 20442 2005-11-07 Jakub Jelinek <jakub (a] redhat.com> 20443 20444 * testsuite/libgomp.fortran/retval1.f90: New test. 20445 * testsuite/libgomp.fortran/vla7.f90: New test. 20446 20447 2005-11-06 Jakub Jelinek <jakub (a] redhat.com> 20448 20449 * testsuite/libgomp.fortran/vla2.f90: New test. 20450 * testsuite/libgomp.fortran/vla3.f90: New test. 20451 * testsuite/libgomp.fortran/vla4.f90: New test. 20452 * testsuite/libgomp.fortran/vla5.f90: New test. 20453 * testsuite/libgomp.fortran/vla6.f90: New test. 20454 20455 2005-11-01 Jakub Jelinek <jakub (a] redhat.com> 20456 20457 * config/linux/sparc/futex.h: New file. 20458 * configure.tgt: Use it. 20459 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing. 20460 20461 * critical.c: Include stdlib.h. 20462 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about 20463 ignoring return value. 20464 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after 20465 LIBGOMP_CHECK_SYNC_BUILTINS check. 20466 * configure: Rebuilt. 20467 20468 2005-10-31 Jakub Jelinek <jakub (a] redhat.com> 20469 20470 * testsuite/libgomp.fortran/vla1.f90: New test. 20471 20472 2005-10-31 Richard Henderson <rth (a] redhat.com> 20473 20474 * testsuite/libgomp.fortran/character2.f90: Fix race condition 20475 setting 's' in different threads. 20476 20477 2005-10-31 Jakub Jelinek <jakub (a] redhat.com> 20478 20479 * libgomp.h (attribute_hidden, ialias): Define. 20480 * config/posix/proc.c (omp_get_num_procs): Add ialias. 20481 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise. 20482 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock, 20483 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock, 20484 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock, 20485 omp_test_lock, omp_test_nest_lock): Likewise. 20486 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock, 20487 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock, 20488 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock, 20489 omp_test_lock, omp_test_nest_lock): Likewise. 20490 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads, 20491 omp_get_dynamic, omp_get_nested): Likewise. 20492 * parallel.c (omp_get_num_threads, omp_get_max_threads, 20493 omp_get_thread_num, omp_in_parallel): Likewise. 20494 * fortran.c (ialias_redirect): Define. 20495 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock, 20496 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, 20497 omp_unset_lock, omp_unset_nest_lock, omp_test_lock, 20498 omp_test_nest_lock, omp_set_dynamic, omp_set_nested, 20499 omp_set_num_threads, omp_get_dynamic, omp_get_nested, 20500 omp_in_parallel, omp_get_max_threads, omp_get_num_procs, 20501 omp_get_num_threads, omp_get_thread_num, omp_get_wtick, 20502 omp_get_wtime): Add ialias_redirect. 20503 20504 2005-10-30 Jakub Jelinek <jakub (a] redhat.com> 20505 20506 * fortran.c: Include stdlib.h. 20507 20508 2005-10-29 Jakub Jelinek <jakub (a] redhat.com> 20509 20510 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h. 20511 * Makefile.in: Regenerated. 20512 20513 2005-10-28 Jakub Jelinek <jakub (a] redhat.com> 20514 20515 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE. 20516 * libgomp_f.h.in (omp_check_defines): New function. 20517 * env.c: Include libgomp_f.h. 20518 (initialize_env): Call omp_check_defines. 20519 20520 * testsuite/libgomp.dg/copyin-2.c: New test. 20521 * testsuite/libgomp.c++/copyin-2.C: New test. 20522 * testsuite/libgomp.fortran/threadprivate3.f90: New test. 20523 20524 * testsuite/libgomp.fortran/threadprivate2.f90: New test. 20525 * testsuite/libgomp.fortran/sharing2.f90: New test. 20526 20527 * testsuite/libgomp.dg/copyin-1.c: New test. 20528 * testsuite/libgomp.c++/copyin-1.C: New test. 20529 20530 2005-10-26 Jakub Jelinek <jakub (a] redhat.com> 20531 20532 * testsuite/libgomp.fortran/crayptr1.f90: New test. 20533 20534 * testsuite/libgomp.fortran/workshare1.f90: New test. 20535 20536 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile 20537 only test. 20538 * libgomp.fortran/sharing1.f90: New test. 20539 20540 2005-10-24 Jakub Jelinek <jakub (a] redhat.com> 20541 20542 PR c++/24502 20543 * testsuite/libgomp.c++/loop-7.C: New test. 20544 20545 * testsuite/libgomp.dg/nestedfn-2.c: New test. 20546 20547 * testsuite/libgomp.dg/nestedfn-1.c: New test. 20548 * testsuite/libgomp.fortran/reduction6.f90: New test. 20549 * testsuite/libgomp.fortran/nestedfn1.f90: New test. 20550 20551 2005-10-23 Richard Henderson <rth (a] redhat.com> 20552 20553 * testsuite/libgomp.c++/ctor-1.C: New. 20554 * testsuite/libgomp.c++/ctor-2.C: New. 20555 * testsuite/libgomp.c++/ctor-3.C: New. 20556 * testsuite/libgomp.c++/ctor-4.C: New. 20557 * testsuite/libgomp.c++/ctor-5.C: New. 20558 * testsuite/libgomp.c++/ctor-6.C: New. 20559 * testsuite/libgomp.c++/ctor-7.C: New. 20560 * testsuite/libgomp.c++/ctor-8.C: New. 20561 * testsuite/libgomp.c++/ctor-9.C: New. 20562 20563 2005-10-21 Diego Novillo <dnovillo (a] redhat.com> 20564 20565 PR 24455 20566 * testsuite/libgomp.c++/pr24455-1.C: New test. 20567 * testsuite/libgomp.c++/pr24455.C: New test. 20568 * testsuite/libgomp.dg/pr24455-1.c: New test. 20569 * testsuite/libgomp.dg/pr24455.c: New test. 20570 20571 2005-10-20 Richard Henderson <rth (a] redhat.com> 20572 20573 * testsuite/libgomp.c++/loop-6.C: New. 20574 * testsuite/libgomp.dg/loop-3.c: New. 20575 20576 2005-10-20 Jakub Jelinek <jakub (a] redhat.com> 20577 20578 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j 20579 explicitly private. 20580 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i 20581 explicitly shared. 20582 20583 2005-10-19 Diego Novillo <dnovillo (a] redhat.com> 20584 20585 * testsuite/libgomp.fortran/jacobi.f: New test. 20586 20587 2005-10-19 Richard Henderson <rth (a] redhat.com> 20588 20589 * configure.tgt (i?86-linux): Default to with_arch instead of 20590 CFLAGS. Add -mtune to match target_cpu. 20591 (x86_64-linux): Tune to i686. 20592 20593 * fortran.c (omp_test_nest_lock_): Fix typo. 20594 20595 2005-10-19 Jakub Jelinek <jakub (a] redhat.com> 20596 20597 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next, 20598 gomp_ordered_sync): Do nothing if team->nthreads == 1. 20599 * testsuite/libgomp.dg/ordered-3.c: New test. 20600 20601 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort. 20602 Remove volatile keyword. 20603 20604 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables 20605 in COMMON block to avoid warnings on 64-bit targets. 20606 20607 2005-10-18 Diego Novillo <dnovillo (a] redhat.com> 20608 20609 * testsuite/libgomp.dg/shared-3.c: New test. 20610 20611 2005-10-18 Jakub Jelinek <jakub (a] redhat.com> 20612 20613 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed. 20614 * testsuite/libgomp.fortran/reduction5.f90: New test. 20615 20616 2005-10-18 Jakub Jelinek <jakub (a] redhat.com> 20617 20618 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to 20619 dg-options. 20620 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable 20621 flush loop now that __sync_synchronize has proper memory barrier. 20622 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo. 20623 Add -ffixed-form to dg-options. 20624 20625 2005-10-17 Diego Novillo <dnovillo (a] redhat.com> 20626 20627 * testsuite/libgomp.fortran/fortran.exp: Also gather tests 20628 from subdirectories. 20629 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test. 20630 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test. 20631 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test. 20632 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test. 20633 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test. 20634 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test. 20635 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test. 20636 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test. 20637 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test. 20638 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test. 20639 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test. 20640 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test. 20641 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test. 20642 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test. 20643 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test. 20644 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test. 20645 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test. 20646 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test. 20647 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test. 20648 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test. 20649 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test. 20650 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test. 20651 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test. 20652 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test. 20653 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test. 20654 20655 2005-10-17 Jakub Jelinek <jakub (a] redhat.com> 20656 20657 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if 20658 lang_library_path exists. Use find instead of glob to gather tests. 20659 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed. 20660 20661 2005-10-17 Diego Novillo <dnovillo (a] redhat.com> 20662 20663 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test. 20664 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test. 20665 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test. 20666 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test. 20667 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test. 20668 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test. 20669 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test. 20670 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test. 20671 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test. 20672 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test. 20673 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test. 20674 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test. 20675 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file. 20676 20677 2005-10-15 Jakub Jelinek <jakub (a] redhat.com> 20678 20679 * testsuite/libgomp.dg/vla-1.c: New test. 20680 20681 * testsuite/libgomp.fortran/reference2.f90: New test. 20682 20683 * testsuite/libgomp.fortran/character2.f90: Remove explicit 20684 declaration of omp_get_thread_num. 20685 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add 20686 use omp_lib. 20687 20688 * testsuite/libgomp.fortran/reduction1.f90: New test. 20689 * testsuite/libgomp.fortran/reduction2.f90: New test. 20690 * testsuite/libgomp.fortran/reduction3.f90: New test. 20691 * testsuite/libgomp.fortran/reduction4.f90: New test. 20692 20693 2005-10-13 Richard Henderson <rth (a] redhat.com> 20694 20695 * Makefile.am (libgomp_la_SOURCES): Add bar.c. 20696 * Makefile.in: Regenerate. 20697 * barrier.c (GOMP_barrier): Use gomp_barrier_wait. 20698 * libgomp.h: Include bar.h. 20699 (struct gomp_barrier): Remove. 20700 (struct gomp_team): Add barrier. Replace master_barrier with 20701 master_release. Replace threads with ordered_release. 20702 (struct gomp_thread): Replace barrier with release. 20703 * ordered.c (gomp_ordered_first): Update for ordered_release change. 20704 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init, 20705 gomp_ordered_static_next, gomp_ordered_sync): Likewise. 20706 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait. 20707 (GOMP_single_copy_end): Likewise. 20708 * team.c (gomp_threads_dock): New. 20709 (gomp_barrier_init, gomp_barrier_destroy): Remove. 20710 (gomp_thread_start): Use gomp_barrier_wait. 20711 (new_team, free_team): Update for gomp_team changes. 20712 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit. 20713 (gomp_team_end): Use gomp_barrier_wait. 20714 (initialize_team): Update for gomp_thread changes. 20715 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start. 20716 (gomp_work_share_end_nowait): Use atomic ops when available. 20717 * config/linux/bar.c, config/linux/bar.h: New files. 20718 * config/posix/bar.c, config/posix/bar.h: New files. 20719 20720 2005-10-13 Jakub Jelinek <jakub (a] redhat.com> 20721 20722 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL. 20723 * testsuite/libgomp.dg/single-2.c: New test. 20724 20725 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file, 20726 lang_link_flags): Unset, so that they aren't inherited from previously 20727 sourced *.exp. 20728 20729 * testsuite/libgomp.fortran/threadprivate1.f90: New test. 20730 20731 2005-10-12 Richard Henderson <rth (a] redhat.com> 20732 20733 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel. 20734 (libgomp_init): Use lang_test_file, lang_library_path, and 20735 lang_link_flags, set by the subdirectory files. Add -fopenmp here. 20736 20737 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New. 20738 (lang_test_file, lang_link_flags): New. 20739 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove. 20740 20741 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C, 20742 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C, 20743 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C, 20744 testsuite/libgomp.c++/parallel-1.C, 20745 testsuite/libgomp.c++/reduction-1.C, 20746 testsuite/libgomp.c++/reduction-2.C, 20747 testsuite/libgomp.c++/reduction-3.C, 20748 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C, 20749 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C, 20750 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C: 20751 New files, largely cribbed from the C testsuite. 20752 20753 2005-10-12 Jakub Jelinek <jakub (a] redhat.com> 20754 20755 * testsuite/libgomp.fortran/character1.f90: New test. 20756 * testsuite/libgomp.fortran/character2.f90: New test. 20757 20758 * testsuite/libgomp.dg/nested-1.c: New test. 20759 * testsuite/libgomp.dg/nested-2.c: New test. 20760 * testsuite/libgomp.fortran/do1.f90: New test. 20761 * testsuite/libgomp.fortran/do2.f90: New test. 20762 20763 * testsuite/libgomp.fortran/reference1.f90: New test. 20764 20765 2005-10-11 Jakub Jelinek <jakub (a] redhat.com> 20766 20767 * testsuite/libgomp.dg/reduction-1.c: New test. 20768 * testsuite/libgomp.dg/reduction-2.c: New test. 20769 * testsuite/libgomp.dg/reduction-3.c: New test. 20770 20771 2005-10-10 Jakub Jelinek <jakub (a] redhat.com> 20772 20773 * testsuite/libgomp.dg/atomic-1.c: New test. 20774 * testsuite/libgomp.dg/atomic-2.c: New test. 20775 20776 2005-10-09 Richard Henderson <rth (a] redhat.com> 20777 20778 * critical.c (atomic_lock): New. 20779 (initialize_critical): Initialize it. 20780 (GOMP_atomic_start, GOMP_atomic_end): New. 20781 * libgomp.map: Export them. 20782 * libgomp_g.h: Declare them. 20783 20784 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite. 20785 20786 2005-10-02 Richard Henderson <rth (a] redhat.com> 20787 20788 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror 20789 to XCFLAGS instead of CFLAGS. 20790 20791 2005-09-30 Richard Henderson <rth (a] redhat.com> 20792 20793 * configure.ac: Determine whether -pthread or -lpthread is needed. 20794 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread. 20795 * Makefile.in, configure: Rebuild. 20796 20797 2005-09-28 Richard Henderson <rth (a] redhat.com> 20798 20799 * testsuite/libgomp.dg/omp-loop03.c: Fix return code. 20800 * testsuite/libgomp.dg/omp-single-3.c: New test. 20801 20802 2005-09-28 Diego Novillo <dnovillo (a] redhat.com> 20803 20804 * testsuite/libgomp.dg/omp-single-2.c: New test. 20805 * testsuite/libgomp.dg/shared-2.c: Fix return code. 20806 20807 2005-09-27 Richard Henderson <rth (a] redhat.com> 20808 20809 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier. 20810 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule. 20811 20812 2005-09-27 Jakub Jelinek <jakub (a] redhat.com> 20813 20814 * testsuite/libgomp.dg/omp-loop03.c: New test. 20815 20816 2005-09-27 Diego Novillo <dnovillo (a] redhat.com> 20817 20818 * testsuite/libgomp.dg/omp-parallel-for.c: New test. 20819 20820 2005-09-27 Diego Novillo <dnovillo (a] redhat.com> 20821 20822 * testsuite/libgomp.dg/omp-single-1.c: New test. 20823 * testsuite/libgomp.dg/shared-1.c: Return 0. 20824 Add prototype for abort. 20825 * testsuite/libgomp.dg/shared-2.c: Likewise. 20826 20827 2005-09-26 Jakub Jelinek <jakub (a] redhat.com> 20828 20829 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming 20830 constructs. 20831 20832 2005-09-26 Diego Novillo <dnovillo (a] redhat.com> 20833 20834 * testsuite/libgomp.dg/shared-1.c: New test. 20835 * testsuite/libgomp.dg/shared-2.c: New test. 20836 20837 2005-09-24 Richard Henderson <rth (a] redhat.com> 20838 20839 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error. 20840 20841 2005-09-24 Richard Henderson <rth (a] redhat.com> 20842 20843 * iter.c (gomp_iter_static_next): Round up when computing number 20844 of iterations. Don't bother distributing a remainder equally. 20845 20846 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main. 20847 Don't call srand. Zero b before testing. 20848 (main): New. 20849 20850 2005-09-24 Jakub Jelinek <jakub (a] redhat.com> 20851 20852 * testsuite/libgomp.fortran/omp_atomic1.f90: New test. 20853 * testsuite/libgomp.fortran/omp_atomic2.f90: New test. 20854 20855 2005-09-23 Jakub Jelinek <jakub (a] redhat.com> 20856 20857 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do 20858 without !$omp end do, followed immediately by subroutine end. 20859 20860 2005-09-23 Diego Novillo <dnovillo (a] redhat.com> 20861 20862 * testsuite/libgomp.dg/omp-parallel-if.c: New test. 20863 20864 2005-09-22 Richard Henderson <rth (a] redhat.com> 20865 20866 * critical.c (GOMP_critical_name_start): Change argument to void**. 20867 Reuse the pointer space if the mutex fits. 20868 (GOMP_critical_name_end): Likewise. 20869 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0. 20870 * libgomp_g.h (GOMP_critical_name_start): Update decl. 20871 (GOMP_critical_name_end): Likewise. 20872 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New. 20873 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New. 20874 20875 2005-09-20 Richard Henderson <rth (a] redhat.com> 20876 20877 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New. 20878 (create_lock_lock): New. 20879 (initialize_critical): Initialize it. 20880 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New. 20881 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare. 20882 20883 2005-09-20 Diego Novillo <dnovillo (a] redhat.com> 20884 20885 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h. 20886 20887 2005-09-20 Diego Novillo <dnovillo (a] redhat.com> 20888 20889 * testsuite/libgomp.dg/omp-loop01.c: New test. 20890 * testsuite/libgomp.dg/omp-loop02.c: New test. 20891 20892 2005-09-20 Jakub Jelinek <jakub (a] redhat.com> 20893 20894 * configure.ac (AC_PROG_FC): Add. 20895 (USE_FORTRAN): New automake conditional. 20896 * configure: Rebuilt. 20897 * Makefile.am (libgomp_la_SOURCES): Add fortran.c. 20898 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h. 20899 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod. 20900 Add rules to build them. 20901 * Makefile.in: Rebuilt. 20902 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and 20903 OMP_NEST_LOCK_KIND. 20904 * libgomp.map: Add Fortran wrappers. 20905 * libgomp_f.h.in: New file. 20906 * omp_lib.h.in: New file. 20907 * omp_lib.f90.in: New file. 20908 * fortran.c: New file. 20909 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files. 20910 Append libgfortran directory to LD_LIBRARY_PATH if it exists. 20911 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if 20912 libgfortran has been built. 20913 * testsuite/libgomp.fortran/fortran.exp: New file. 20914 * testsuite/libgomp.fortran/omp_cond1.f: New test. 20915 * testsuite/libgomp.fortran/omp_cond2.f: New test. 20916 * testsuite/libgomp.fortran/omp_cond3.F90: New test. 20917 * testsuite/libgomp.fortran/omp_cond4.F90: New test. 20918 * testsuite/libgomp.fortran/omp_hello.f: New test. 20919 * testsuite/libgomp.fortran/omp_orphan.f: New test. 20920 * testsuite/libgomp.fortran/omp_parse1.f90: New test. 20921 * testsuite/libgomp.fortran/omp_parse2.f90: New test. 20922 * testsuite/libgomp.fortran/omp_parse3.f90: New test. 20923 * testsuite/libgomp.fortran/omp_parse4.f90: New test. 20924 * testsuite/libgomp.fortran/omp_reduction.f: New test. 20925 * testsuite/libgomp.fortran/omp_workshare1.f: New test. 20926 * testsuite/libgomp.fortran/omp_workshare2.f: New test. 20927 20928 2005-08-30 Richard Henderson <rth (a] redhat.com> 20929 20930 * loop.c (GOMP_loop_static_start): Provide fallback wrapper 20931 function for when aliases are not usable. 20932 (GOMP_loop_dynamic_start, GOMP_loop_guided_start, 20933 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start, 20934 GOMP_loop_ordered_guided_start, GOMP_loop_static_next, 20935 GOMP_loop_dynamic_next, GOMP_loop_guided_next, 20936 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next, 20937 GOMP_loop_ordered_guided_next): Likewise. 20938 * ordered.c (GOMP_ordered_start): Likewise. 20939 20940 2005-08-01 Diego Novillo <dnovillo (a] redhat.com> 20941 20942 * testsuite/libgomp.dg/dg.exp: Use -O2 for now. 20943 * testsuite/libgomp.dg/omp_hello.c: Fix return code 20944 * testsuite/libgomp.dg/omp_matvec.c: Likewise. 20945 * testsuite/libgomp.dg/omp_orphan.c: Likewise 20946 * testsuite/libgomp.dg/omp_reduction.c: Likewise 20947 * testsuite/libgomp.dg/omp_workshare1.c: Likewise 20948 * testsuite/libgomp.dg/omp_workshare2.c: Likewise 20949 * testsuite/libgomp.dg/omp_workshare3.c: Likewise 20950 * testsuite/libgomp.dg/omp_workshare4.c: Likewise 20951 20952 2005-07-07 Eric Christopher <echristo (a] redhat.com> 20953 Diego Novillo <dnovillo (a] redhat.com> 20954 20955 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS. 20956 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix 20957 up code. 20958 * testsuite/libgomp.dg/omp_matvec.c: Ditto. 20959 * testsuite/libgomp.dg/omp_orphan.c: Ditto. 20960 * testsuite/libgomp.dg/omp_reduction.c: Ditto. 20961 * testsuite/libgomp.dg/omp_workshare1.c: Ditto. 20962 * testsuite/libgomp.dg/omp_workshare2.c: Ditto. 20963 * testsuite/libgomp.dg/omp_workshare3.c: Ditto. 20964 * testsuite/libgomp.dg/omp_workshare4.c: Ditto. 20965 20966 2005-06-13 Diego Novillo <dnovillo (a] redhat.com> 20967 20968 * TOPLEVEL.patch: Remove. 20969 20970 2005-05-16 Richard Henderson <rth (a] redhat.com> 20971 20972 * configure.ac: Test for clock_gettime. 20973 * config.h.in, configure: Rebuild. 20974 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern. 20975 (omp_get_wtime): Use clock_gettime if available. 20976 (omp_get_wtick): Use clock_getres if available. 20977 20978 2005-05-11 Richard Henderson <rth (a] redhat.com> 20979 20980 * config/linux/ia64/futex.h: New file. 20981 * configure.tgt: Use it. 20982 20983 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline. 20984 20985 2005-05-07 Richard Henderson <rth (a] redhat.com> 20986 20987 * config/linux/powerpc/futex.h: New file. 20988 * configure.tgt: Use it. 20989 20990 * config/linux/i486/futex.h: Merge ... 20991 * config/linux/x86_64/futex.h: ... into ... 20992 * config/linux/x86/futex.h: ... here. 20993 * configure.tgt: Update to match. 20994 20995 2005-05-06 Richard Henderson <rth (a] redhat.com> 20996 20997 * config/linux/alpha/futex.h: Conditionally define SYS_futex. 20998 * config/linux/i486/futex.h: Likewise. 20999 * config/linux/x86_64/futex.h: Likewise. 21000 21001 * config/linux/lock.c: New file. 21002 * config/linux/omp-lock.h: New file. 21003 21004 * critical.c, env.h: Don't include omp.h 21005 * config/posix/lock.c: Include libgomp.h instead of omp.h. 21006 * config/posix/time.c: Likewise. 21007 * config/posix/omp-lock.h: New file. 21008 * libgomp.h: Include omp-lock.h and omp.h. 21009 * Makefile.am (nodist_include_HEADERS): New. 21010 (omp.h): New rule. 21011 * configure.ac (PERL): New. 21012 * mkomp_h.pl: New file. 21013 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t 21014 with templates. 21015 * Makefile.in, configure, testsuite/Makefile.in: Rebuild. 21016 21017 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into 21018 build directory. Re-add -march=i486 hack. 21019 21020 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove. 21021 (libgomp_link_flags): Remove. 21022 (libgomp_initialized): Remove. 21023 (libgomp_init): Don't protect from reinitialization. Copy code 21024 from libstdc++ for getting the multilib set correctly. 21025 21026 2005-05-05 Richard Henderson <rth (a] redhat.com> 21027 21028 * config/linux/alpha/futex.h: New file. 21029 * configure.tgt (alpha*-*-linux*): Use it. 21030 21031 * config/posix/mutex.c: New file. 21032 * config/posix/sem.c: Use libgomp.h. 21033 21034 * configure.tgt (x86_64-linux): Also test CC for -m32. 21035 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage. 21036 21037 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add / 21038 after $gccpath. 21039 21040 * Makefile.am (SUBDIRS): New. 21041 (libgomp_la_LDFLAGS): Add -lpthread. 21042 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies. 21043 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild. 21044 21045 * libgomp_g.h: New file. 21046 * libgomp.h: Split out all public declarations to libgomp_g.h. 21047 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN. 21048 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN. 21049 * config/linux/sem.h: Likewise. 21050 * config/posix/sem.h: Likewise. 21051 21052 * Makefile.am (AM_LDFLAGS): New. 21053 (libgomp_version_script): Split out from ... 21054 (libgomp_la_LDFLAGS): ... here. 21055 (libgomp_version_info): New. 21056 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE. 21057 (LIBGOMP_ENABLE): New. 21058 (LIBGOMP_CHECK_LINKER_FEATURES): New. 21059 (LIBGOMP_ENABLE_SYMVERS): New. 21060 * configure.ac (AC_INIT): Version 1.0. 21061 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE. 21062 (enable-linux-futex): Likewise. Rename from enable-futex. 21063 (libtool_VERSION): New. 21064 (LIBGOMP_ENABLE_SYMVERS): Use it. 21065 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations. 21066 * Makefile.in, aclocal.m4, configure: Rebuild. 21067 21068 * config/linux/mutex.c: Include libgomp.h instead of mutex.h. 21069 (gomp_mutex_unlock_slow): Fix typo. 21070 * config/linux/sem.c: Similarly. 21071 (gomp_sem_post_slow): Fix typo. 21072 * config/linux/sem.h (gomp_sem_post_slow): Fix typo. 21073 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code. 21074 [__PIC__] (sys_futex0): Don't use tmp output in asm. 21075 21076 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS. 21077 (libgomp_la_LDFLAGS): Add top_srcdir to path. 21078 * acinclude.m4: Copy libtool.m4 stuff from libgfortran. 21079 * configure.ac: Check for getloadavg. Substitute XCFLAGS and 21080 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS. 21081 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and 21082 LDFLAGS. Pull enable_futex check to top-level. 21083 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN. 21084 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate. 21085 21086 First attempt at real configury. 21087 * Makefile, config.h: Remove file. 21088 * Makefile.am, Makefile.in: New file. 21089 * acinclude.m4 aclocal.m4: New file. 21090 * configure.ac, configure.tgt, configure: New file. 21091 21092 * config/posix/lock.c: Rename from sys-lock.c. 21093 * config/posix/mutex.h: Rename from sys-mutex.h. 21094 * config/posix/sem.c: Rename from sys-sem.c. 21095 * config/posix/sem.h: Rename from sys-sem.h. 21096 * config/posix/proc.c: Rename from sys-proc.c. 21097 * config/posix/time.c: Rename from sys-proc.c. 21098 21099 * config/linux/mutex.c: New file. 21100 * config/linux/mutex.h: New file. 21101 * config/linux/sem.c: New file. 21102 * config/linux/sem.h: New file. 21103 * config/linux/i486/futex.h: New file. 21104 * config/linux/x86_64/futex.h: New file. 21105 21106 2005-05-04 Richard Henderson <rth (a] redhat.com> 21107 21108 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New. 21109 * libgomp.h: Declare them. 21110 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start, 21111 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them. 21112 21113 2005-05-04 Richard Henderson <rth (a] redhat.com> 21114 21115 * libgomp-1 code drop 21116 21117 2005-05-04 Richard Henderson <rth (a] redhat.com> 21118 21119 * iter.c (gomp_iter_static_next): Return tri-state on 0. 21120 * ordered.c (gomp_ordered_static_next): Remove not_last argument. 21121 * libgomp.h (struct gomp_team_state): Make static_trip unsigned. 21122 (gomp_iter_static_next): Update. 21123 (gomp_ordered_static_next): Update. 21124 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next. 21125 (gomp_loop_ordered_static_start): Likewise. Exit early for a 21126 totally empty range. 21127 (gomp_loop_ordered_static_next): Refine test for calling 21128 gomp_ordered_static_next. 21129 * testsuite/ordered-1.c: Add case for more threads than iterations. 21130 21131 * iter.c (gomp_iter_runtime_next_locked): Remove. 21132 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start, 21133 gomp_loop_guided_start, gomp_loop_ordered_static_start, 21134 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start, 21135 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next, 21136 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next, 21137 gomp_loop_ordered_guided_next): Downcase name, make static, add 21138 an external alias with the old name. 21139 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start, 21140 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a 21141 switch and call one of the above static functions. 21142 * libgomp.h: Update. 21143 21144 * work.c (gomp_work_share_start): Lock the mutex for !first too. 21145 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start, 21146 GOMP_loop_guided_start, GOMP_loop_runtime_start, 21147 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start, 21148 GOMP_loop_ordered_guided_start): Update to match. 21149 * sections.c (GOMP_sections_start): Likewise. 21150 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise. 21151 21152 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next, 21153 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//. 21154 Use bounds check instead of modulus. 21155 (gomp_ordered_sync): Split out of GOMP_ordered_start. 21156 (gomp_ordered_last): Don't sync with ordered_owner here. 21157 (gomp_ordered_next): Likewise. 21158 (gomp_ordered_static_loop_next): Likewise. 21159 * loop.c, libgomp.h: Update to match. 21160 21161 * libgomp.h (GOMP_barrier): Declare. 21162 21163 * testsuite/barrier-1.c: New file. 21164 * testsuite/critical-1.c: New file. 21165 * testsuite/ordered-2.c: New file. 21166 * testsuite/ordered-1.c: New file. 21167 * testsuite/sections-1.c: New file. 21168 * testsuite/single-1.c: New file. 21169 * testsuite/Makefile (TESTS): Add them. 21170 21171 2005-05-04 Richard Henderson <rth (a] redhat.com> 21172 21173 * libgomp.h (struct gomp_work_share): Add ordered_owner. 21174 * loop.c (GOMP_loop_static_start): If not the startup thread, 21175 acquire the mutex to wait for initialization complete. 21176 (GOMP_loop_ordered_static_start): Likewise. 21177 (GOMP_loop_ordered_runtime_start): Likewise. 21178 (GOMP_loop_ordered_static_first): Remove. 21179 (GOMP_loop_ordered_dynamic_first): Remove. 21180 (GOMP_loop_ordered_guided_first): Remove. 21181 (GOMP_loop_ordered_runtime_first): Remove. 21182 * ordered.c (gomp_ordered_loop_first): Post to own release when 21183 we're the first thread. 21184 (gomp_ordered_loop_last): Wait on release if not owner. 21185 (gomp_ordered_loop_next): Likewise. 21186 (gomp_ordered_static_loop_init): New. 21187 (gomp_ordered_static_loop_next): Use ordered_owner. 21188 (GOMP_ordered_start): Likewise. 21189 * work.c (gomp_new_work_share): Initialize ordered_owner. 21190 21191 2005-05-03 Richard Henderson <rth (a] redhat.com> 21192 21193 * Makefile (OPT): New. 21194 (CFLAGS): Use it. 21195 21196 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New. 21197 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New. 21198 * libgomp.h, libgomp.map, NOTES: Update to match. 21199 21200 * team.c (struct gomp_thread_start_data): Remove ts, fn, data. 21201 Add initialized and thr members. 21202 (gomp_thread_start): Pause when initially spawned to wait for 21203 the whole team to be created. 21204 (gomp_team_start): Release team members at the end. 21205 21206 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100. 21207 (f_foo_1): Use GOMP_loop_end. 21208 (f_foo_2): Use GOMP_loop_end_nowait. 21209 21210 * testsuite/loop-2.c: New file. 21211 * testsuite/Makefile (TESTS): Add it. 21212 21213 2005-05-03 Richard Henderson <rth (a] redhat.com> 21214 21215 * iter.c (gomp_iter_static_next): Fix overflow check typo. 21216 (gomp_iter_dynamic_next_locked): Fix overflow check thinko. 21217 * team.c (new_team): Initialize oldest_live_gen to 1 if no 21218 initial work_share. 21219 21220 * testsuite/Makefile: New file. 21221 * testsuite/loop-1.c: New file. 21222 21223 2005-05-03 Richard Henderson <rth (a] redhat.com> 21224 21225 Initial implementation and checkin. 21226 21228 Copyright (C) 2005-2024 Free Software Foundation, Inc. 21229 21230 Copying and distribution of this file, with or without modification, 21231 are permitted in any medium without royalty provided the copyright 21232 notice and this notice are preserved. 21233