12021-07-28 Release Manager 2 3 * GCC 11.2.0 released. 4 52021-07-18 Jakub Jelinek <jakub@redhat.com> 6 7 Backported from master: 8 2021-07-01 Jakub Jelinek <jakub@redhat.com> 9 10 PR middle-end/94366 11 * testsuite/libgomp.c-c++-common/pr94366.c: New test. 12 132021-07-18 Tobias Burnus <tobias@codesourcery.com> 14 15 Backported from master: 16 2021-05-04 Tobias Burnus <tobias@codesourcery.com> 17 18 * testsuite/libgomp.c-c++-common/reduction-1.c: New test. 19 * testsuite/libgomp.c-c++-common/reduction-2.c: New test. 20 * testsuite/libgomp.c-c++-common/reduction-3.c: New test. 21 * testsuite/libgomp.c-c++-common/reduction-4.c: New file. 22 232021-07-18 Jakub Jelinek <jakub@redhat.com> 24 25 Backported from master: 26 2021-07-13 Jakub Jelinek <jakub@redhat.com> 27 Florian Weimer <fweimer@redhat.com> 28 29 * config/linux/sem.h: Don't include limits.h. 30 (SEM_WAIT): Define to -__INT_MAX__ - 1 instead of INT_MIN. 31 * config/linux/affinity.c: Include limits.h. 32 332021-06-23 Jakub Jelinek <jakub@redhat.com> 34 35 Backported from master: 36 2021-06-23 Jakub Jelinek <jakub@redhat.com> 37 38 PR middle-end/101167 39 * testsuite/libgomp.c-c++-common/task-reduction-15.c: New test. 40 412021-06-16 Richard Biener <rguenther@suse.de> 42 43 PR tree-optimization/100981 44 * testsuite/libgomp.fortran/pr100981-2.f90: New testcase. 45 462021-05-17 Kwok Cheung Yeung <kcy@codesourcery.com> 47 48 Backported from master: 49 2021-05-17 Kwok Cheung Yeung <kcy@codesourcery.com> 50 51 * task.c (omp_fulfill_event): Call gomp_team_barrier_set_task_pending 52 if new tasks generated. 53 * testsuite/libgomp.c-c++-common/task-detach-13.c: New. 54 552021-05-13 Tobias Burnus <tobias@codesourcery.com> 56 57 Backported from master: 58 2021-05-12 Tobias Burnus <tobias@codesourcery.com> 59 60 * testsuite/libgomp.c-c++-common/task-detach-12.c: New test. 61 * testsuite/libgomp.fortran/task-detach-12.f90: New test. 62 632021-05-12 Jakub Jelinek <jakub@redhat.com> 64 65 Backported from master: 66 2021-05-11 Jakub Jelinek <jakub@redhat.com> 67 68 PR middle-end/100471 69 * taskloop.c (GOMP_taskloop): If GOMP_TASK_FLAG_REDUCTION and not 70 GOMP_TASK_FLAG_NOGROUP, when doing early return clear the task 71 reduction pointer. 72 * testsuite/libgomp.c/task-reduction-4.c: New test. 73 742021-05-06 Roman Zhuykov <zhroma@ispras.ru> 75 76 Backported from master: 77 2021-04-30 Roman Zhuykov <zhroma@ispras.ru> 78 79 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-3.c: New test. 80 812021-04-29 Tom de Vries <tdevries@suse.de> 82 83 Backported from master: 84 2021-04-29 Tom de Vries <tdevries@suse.de> 85 86 PR target/100232 87 * testsuite/libgomp.c/target-43.c: New file. 88 892021-04-27 Tobias Burnus <tobias@codesourcery.com> 90 91 Backported from master: 92 2021-04-21 Tobias Burnus <tobias@codesourcery.com> 93 94 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type): 95 New, based on check_effective_target_offload_target_nvptx. 96 (check_effective_target_offload_target_nvptx): Call it. 97 (check_effective_target_offload_target_amdgcn): New. 98 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: 99 Require target offload_target_nvptx || offload_target_amdgcn. 100 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: Likewise. 101 * testsuite/libgomp.c/pr86416-1.c: Likewise. 102 * testsuite/libgomp.c/pr86416-2.c: Likewise. 103 1042021-04-27 Release Manager 105 106 * GCC 11.1.0 released. 107 1082021-04-22 Richard Biener <rguenther@suse.de> 109 110 Backported from master: 111 2021-04-22 Richard Biener <rguenther@suse.de> 112 113 * testsuite/libgomp.c-c++-common/reduction-16.c: Use -latomic 114 only on nvptx-none. 115 1162021-04-19 Thomas Schwinge <thomas@codesourcery.com> 117 118 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c: 119 '-fopenacc-kernels=[...]' -> '--param=openacc-kernels=[...]'. 120 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c: 121 Likewise. 122 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: 123 Likewise. 124 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise. 125 1262021-04-15 Thomas Schwinge <thomas@codesourcery.com> 127 128 PR target/99555 129 * testsuite/lib/libgomp.exp 130 (check_effective_target_offload_device_nvptx): New. 131 * testsuite/libgomp.c/pr99555-1.c <nvptx offload device>: Until 132 resolved, make sure that we exit quickly, with error status, 133 XFAILed. 134 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise. 135 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise. 136 1372021-04-14 Jakub Jelinek <jakub@redhat.com> 138 139 PR testsuite/100071 140 * testsuite/libgomp.fortran/alloc-1.F90: Call c_f_pointer after last 141 cp = omp_alloc with cp, p arguments instead of cq, q and call 142 c_f_pointer after last cq = omp_alloc with cq, q. 143 1442021-04-11 Hafiz Abid Qadeer <abidh@codesourcery.com> 145 146 PR middle-end/98088 147 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Add check 148 for loop with GT/GE condition. 149 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise. 150 1512021-04-09 Thomas Schwinge <thomas@codesourcery.com> 152 153 PR middle-end/84991 154 PR middle-end/84992 155 PR middle-end/90779 156 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: New. 157 1582021-04-09 Jakub Jelinek <jakub@redhat.com> 159 160 PR libgomp/99984 161 * team.c (gomp_thread_start): Call pthread_setspecific for 162 !(defined HAVE_TLS || defined USE_EMUTLS) only after local_thr 163 has been initialized to avoid false positive warning. 164 1652021-03-29 Tobias Burnus <tobias@codesourcery.com> 166 167 PR target/99555 168 * testsuite/lib/on_device_arch.c: Move to ... 169 * testsuite/libgomp.c-c++-common/on_device_arch.h: ... here. 170 * testsuite/libgomp.fortran/on_device_arch.c: New file; 171 #include on_device_arch.h. 172 * testsuite/libgomp.c-c++-common/task-detach-6.c: #include 173 on_device_arch.h instead of using dg-additional-source. 174 * testsuite/libgomp.c/pr99555-1.c: Likewise. 175 * testsuite/libgomp.fortran/task-detach-6.f90: Update to use 176 on_device_arch.c without relative paths. 177 1782021-03-25 Thomas Schwinge <thomas@codesourcery.com> 179 180 * plugin/plugin-gcn.c (init_environment_variables): Don't prepend 181 the 'HSA_RUNTIME_LIB' path to 'libhsa-runtime64.so'. 182 * plugin/configfrag.ac (HSA_RUNTIME_LIB): Clean up. 183 * config.h.in: Regenerate. 184 * configure: Likewise. 185 1862021-03-25 Thomas Schwinge <thomas@codesourcery.com> 187 188 PR target/99555 189 * testsuite/lib/on_device_arch.c: New file. 190 * testsuite/libgomp.c/pr99555-1.c: Likewise. 191 * testsuite/libgomp.c-c++-common/task-detach-6.c: Until resolved, 192 skip for nvptx offloading, with error status. 193 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise. 194 1952021-03-25 Thomas Schwinge <thomas@codesourcery.com> 196 197 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: 198 OpenACC 'serial' construct diagnostic for nvptx offloading. 199 2002021-03-15 Tobias Burnus <tobias@codesourcery.com> 201 202 PR c++/99509 203 * testsuite/libgomp.c-c++-common/declare_target-1.c: New test. 204 2052021-03-12 Tobias Burnus <tobias@codesourcery.com> 206 207 PR fortran/98858 208 * testsuite/libgomp.fortran/use_device_ptr-3.f90: New test. 209 2102021-03-04 Jakub Jelinek <jakub@redhat.com> 211 212 * configure.ac: Add AC_CHECK_SIZEOF([void *]). 213 * plugin/configfrag.ac: Check $ac_cv_sizeof_void_p value instead of 214 checking of -m32 or -mx32 options on the command line. 215 * config.h.in: Regenerated. 216 * configure: Regenerated. 217 2182021-02-27 Iain Sandoe <iain@sandoe.co.uk> 219 220 * testsuite/libgomp.c-c++-common/pr96390.c: Require alias 221 support from the target. 222 2232021-02-25 Kwok Cheung Yeung <kcy@codesourcery.com> 224 Jakub Jelinek <jakub@redhat.com> 225 226 PR libgomp/98738 227 * libgomp.h (enum gomp_task_kind): Add GOMP_TASK_DETACHED. 228 (struct gomp_task): Replace detach and completion_sem fields with 229 union containing completion_sem and detach_team. Add deferred_p 230 field. 231 (struct gomp_team): Remove task_detach_queue. 232 * task.c: Include assert.h. 233 (gomp_init_task): Initialize deferred_p and completion_sem fields. 234 Rearrange initialization order of fields. 235 (task_fulfilled_p): Delete. 236 (GOMP_task): Use address of task as the event handle. Remove 237 initialization of detach field. Initialize deferred_p field. 238 Use automatic local for completion_sem. Initialize detach_team field 239 for deferred tasks. 240 (gomp_barrier_handle_tasks): Remove handling of task_detach_queue. 241 Set kind of suspended detach task to GOMP_TASK_DETACHED and 242 decrement task_running_count. Move finish_cancelled block out of 243 else branch. Relocate call to gomp_team_barrier_done. 244 (GOMP_taskwait): Handle tasks with completion events that have not 245 been fulfilled. 246 (GOMP_taskgroup_end): Likewise. 247 (omp_fulfill_event): Use address of task as event handle. Post to 248 completion_sem for undeferred tasks. Clear detach_team if task 249 has not finished. For finished tasks, handle post-execution tasks, 250 call gomp_team_barrier_wake if necessary, and free task. 251 * team.c (gomp_new_team): Remove initialization of task_detach_queue. 252 (free_team): Remove free of task_detach_queue. 253 * testsuite/libgomp.c-c++-common/task-detach-1.c: Fix formatting. 254 * testsuite/libgomp.c-c++-common/task-detach-2.c: Fix formatting. 255 * testsuite/libgomp.c-c++-common/task-detach-3.c: Fix formatting. 256 * testsuite/libgomp.c-c++-common/task-detach-4.c: Fix formatting. 257 * testsuite/libgomp.c-c++-common/task-detach-5.c: Fix formatting. 258 Change data-sharing of detach events on enclosing parallel to private. 259 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise. Remove 260 taskwait directive. 261 * testsuite/libgomp.c-c++-common/task-detach-7.c: New. 262 * testsuite/libgomp.c-c++-common/task-detach-8.c: New. 263 * testsuite/libgomp.c-c++-common/task-detach-9.c: New. 264 * testsuite/libgomp.c-c++-common/task-detach-10.c: New. 265 * testsuite/libgomp.c-c++-common/task-detach-11.c: New. 266 * testsuite/libgomp.fortran/task-detach-1.f90: Fix formatting. 267 * testsuite/libgomp.fortran/task-detach-2.f90: Fix formatting. 268 * testsuite/libgomp.fortran/task-detach-3.f90: Fix formatting. 269 * testsuite/libgomp.fortran/task-detach-4.f90: Fix formatting. 270 * testsuite/libgomp.fortran/task-detach-5.f90: Fix formatting. 271 Change data-sharing of detach events on enclosing parallel to private. 272 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise. Remove 273 taskwait directive. 274 * testsuite/libgomp.fortran/task-detach-7.f90: New. 275 * testsuite/libgomp.fortran/task-detach-8.f90: New. 276 * testsuite/libgomp.fortran/task-detach-9.f90: New. 277 * testsuite/libgomp.fortran/task-detach-10.f90: New. 278 * testsuite/libgomp.fortran/task-detach-11.f90: New. 279 2802021-02-22 Tobias Burnus <tobias@codesourcery.com> 281 282 PR fortran/99171 283 * testsuite/libgomp.fortran/dummy-procs-1.f90: New test. 284 2852021-02-17 Julian Brown <julian@codesourcery.com> 286 287 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Remove 288 expected errors. 289 2902021-02-17 Julian Brown <julian@codesourcery.com> 291 292 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: New test. 293 * testsuite/libgomp.oacc-fortran/update-dt-array.f90: Likewise. 294 2952021-02-11 Uroš Bizjak <ubizjak@gmail.com> 296 297 * config/linux/x86/futex.h (__futex_wait): 298 Revert output type back to long. 299 (__futex_wake): Ditto. 300 (futex_wait): Update for revert. 301 (futex_wake): Ditto. 302 3032021-02-11 Uroš Bizjak <ubizjak@gmail.com> 304 305 * config/linux/x86/futex.h (__futex_wait): New static inline 306 wrapper function. Correct output type to int and 307 timeout type to void *. 308 (__futex_wake): New static inline wrapper function. 309 Correct output type to int. 310 (futex_wait): Use __futex_wait. 311 (futex_wake): Use __futex_wake. 312 3132021-02-10 Julian Brown <julian@codesourcery.com> 314 315 PR fortran/98979 316 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Add expected 317 errors. 318 3192021-02-04 Julian Brown <julian@codesourcery.com> 320 321 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: New test. 322 3232021-02-03 Andrew Stubbs <ams@codesourcery.com> 324 325 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add 326 EF_AMDGPU_MACH_AMDGCN_GFX908. 327 (gcn_gfx908_s): New constant string. 328 (isa_hsa_name): Add gfx908. 329 (isa_code): Add gfx908. 330 3312021-01-25 Kwok Cheung Yeung <kcy@codesourcery.com> 332 333 * libgomp.texi (omp_fulfill_event): New entry. 334 3352021-01-20 Jakub Jelinek <jakub@redhat.com> 336 337 * task.c (GOMP_task): Rename priority argument to priority_arg, 338 add priority automatic variable and modify that variable. Instead of 339 clearing detach argument when GOMP_TASK_FLAG_DETACH bit is not set, 340 check flags for that bit. 341 3422021-01-19 Tobias Burnus <tobias@codesourcery.com> 343 344 PR fortran/98476 345 * testsuite/libgomp.fortran/is_device_ptr-1.f90: New test. 346 3472021-01-18 Andreas Schwab <schwab@suse.de> 348 349 * configure.tgt (riscv64*-*-linux*): Add linux to config_path. 350 3512021-01-18 Sebastian Huber <sebastian.huber@embedded-brains.de> 352 353 * config/rtems/sem.h (gomp_sem_getcount): New function. 354 3552021-01-18 Jakub Jelinek <jakub@redhat.com> 356 357 * config/linux/sem.h (gomp_sem_getcount): New function. 358 * config/posix/sem.h (gomp_sem_getcount): New function. 359 * config/posix/sem.c (gomp_sem_getcount): New function. 360 * config/accel/sem.h (gomp_sem_getcount): New function. 361 * task.c (task_fulfilled_p): Use gomp_sem_getcount. 362 (omp_fulfill_event): Likewise. 363 3642021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com> 365 366 * fortran.c (omp_fulfill_event_): New. 367 * libgomp.h (struct gomp_task): Add detach and completion_sem fields. 368 (struct gomp_team): Add task_detach_queue and task_detach_count 369 fields. 370 * libgomp.map (OMP_5.0.1): Add omp_fulfill_event and omp_fulfill_event_. 371 * libgomp_g.h (GOMP_task): Add extra argument. 372 * omp.h.in (enum omp_event_handle_t): New. 373 (omp_fulfill_event): New. 374 * omp_lib.f90.in (omp_event_handle_kind): New. 375 (omp_fulfill_event): New. 376 * omp_lib.h.in (omp_event_handle_kind): New. 377 (omp_fulfill_event): Declare. 378 * priority_queue.c (priority_tree_find): New. 379 (priority_list_find): New. 380 (priority_queue_find): New. 381 * priority_queue.h (priority_queue_predicate): New. 382 (priority_queue_find): New. 383 * task.c (gomp_init_task): Initialize detach field. 384 (task_fulfilled_p): New. 385 (GOMP_task): Add detach argument. Ignore detach argument if 386 GOMP_TASK_FLAG_DETACH not set in flags. Initialize completion_sem 387 field. Copy address of completion_sem into detach argument and 388 into the start of the data record. Wait for detach event if task 389 not deferred. 390 (gomp_barrier_handle_tasks): Queue tasks with unfulfilled events. 391 Remove completed tasks and requeue dependent tasks. 392 (omp_fulfill_event): New. 393 * team.c (gomp_new_team): Initialize task_detach_queue and 394 task_detach_count fields. 395 (free_team): Free task_detach_queue field. 396 * testsuite/libgomp.c-c++-common/task-detach-1.c: New testcase. 397 * testsuite/libgomp.c-c++-common/task-detach-2.c: New testcase. 398 * testsuite/libgomp.c-c++-common/task-detach-3.c: New testcase. 399 * testsuite/libgomp.c-c++-common/task-detach-4.c: New testcase. 400 * testsuite/libgomp.c-c++-common/task-detach-5.c: New testcase. 401 * testsuite/libgomp.c-c++-common/task-detach-6.c: New testcase. 402 * testsuite/libgomp.fortran/task-detach-1.f90: New testcase. 403 * testsuite/libgomp.fortran/task-detach-2.f90: New testcase. 404 * testsuite/libgomp.fortran/task-detach-3.f90: New testcase. 405 * testsuite/libgomp.fortran/task-detach-4.f90: New testcase. 406 * testsuite/libgomp.fortran/task-detach-5.f90: New testcase. 407 * testsuite/libgomp.fortran/task-detach-6.f90: New testcase. 408 4092021-01-15 Jakub Jelinek <jakub@redhat.com> 410 411 PR target/70454 412 * configure.tgt: For i?86 and x86_64 determine if -march=i486 needs to 413 be added through preprocessor check on 414 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4. 415 4162021-01-14 Thomas Schwinge <thomas@codesourcery.com> 417 418 PR libgomp/65099 419 * plugin/configfrag.ac (PLUGIN_NVPTX): Restrict to supported 420 configurations. 421 * configure: Regenerate. 422 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Remove 64-bit 423 check. 424 4252021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org> 426 427 * configure: Re-generate. 428 4292021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org> 430 431 * configure: Re-generate. 432 4332021-01-05 Julian Brown <julian@codesourcery.com> 434 435 * plugin/plugin-nvptx.c (SOFTSTACK_CACHE_LIMIT): New define. 436 (struct ptx_device): Add omp_stacks struct. 437 (nvptx_open_device): Initialise cached-stacks housekeeping info. 438 (nvptx_close_device): Free cached stacks block and mutex. 439 (nvptx_stacks_free): New function. 440 (nvptx_alloc): Add SUPPRESS_ERRORS parameter. 441 (GOMP_OFFLOAD_alloc): Add strategies for freeing soft-stacks block. 442 (nvptx_stacks_alloc): Rename to... 443 (nvptx_stacks_acquire): This. Cache stacks block between runs if same 444 size or smaller is required. 445 (nvptx_stacks_free): Remove. 446 (GOMP_OFFLOAD_run): Call nvptx_stacks_acquire and lock stacks block 447 during kernel execution. 448 4492021-01-01 Jakub Jelinek <jakub@redhat.com> 450 451 * libgomp.texi: Bump @copying's copyright year. 452 4532020-12-28 Gerald Pfeifer <gerald@pfeifer.com> 454 455 * libgomp.texi (Top): Avoid bad "up" link. 456 4572020-12-18 Jakub Jelinek <jakub@redhat.com> 458 459 * testsuite/libgomp.c/task-6.c: New test. 460 4612020-12-09 Andrew Stubbs <ams@codesourcery.com> 462 463 * plugin/plugin-gcn.c: Include hsa_ext_amd.h. 464 (HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT): Delete redundant definition. 465 4662020-12-08 Tobias Burnus <tobias@codesourcery.com> 467 468 * testsuite/libgomp.fortran/scan-1.f90: New test. 469 4702020-12-05 Iain Sandoe <iain@sandoe.co.uk> 471 472 PR target/97865 473 * configure: Regenerate. 474 4752020-11-29 John David Anglin <danglin@gcc.gnu.org> 476 477 * configure: Regenerate. 478 4792020-11-25 Thomas Schwinge <thomas@codesourcery.com> 480 481 * testsuite/libgomp.oacc-c++/cache-1.C: New. 482 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Update. 483 4842020-11-25 Andrew Stubbs <ams@codesourcery.com> 485 486 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Adjust 487 expected results. 488 4892020-11-24 Andrew Stubbs <ams@codesourcery.com> 490 491 * plugin/plugin-gcn.c: Don't redefine relocations if elf.h has them. 492 (reserved): Delete unused define. 493 4942020-11-24 Thomas Schwinge <thomas@codesourcery.com> 495 496 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Avoid 497 Tcl 8.5-specific behavior. 498 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise. 499 5002020-11-18 Kwok Cheung Yeung <kcy@codesourcery.com> 501 502 * env.c (gomp_global_icv): Remove nest_var field. Add 503 max_active_levels_var field. 504 (gomp_max_active_levels_var): Remove. 505 (parse_boolean): Return true on success. 506 (handle_omp_display_env): Express OMP_NESTED in terms of 507 max_active_levels_var. Change format specifier for 508 max_active_levels_var. 509 (initialize_env): Set max_active_levels_var from 510 OMP_MAX_ACTIVE_LEVELS, OMP_NESTED, OMP_NUM_THREADS and 511 OMP_PROC_BIND. 512 * icv.c (omp_set_nested): Express in terms of 513 max_active_levels_var. 514 (omp_get_nested): Likewise. 515 (omp_set_max_active_levels): Use max_active_levels_var field instead 516 of gomp_max_active_levels_var. 517 (omp_get_max_active_levels): Likewise. 518 * libgomp.h (struct gomp_task_icv): Remove nest_var field. Add 519 max_active_levels_var field. 520 (gomp_supported_active_levels): Set to UCHAR_MAX. 521 (gomp_max_active_levels_var): Delete. 522 * libgomp.texi (omp_get_nested): Update documentation. 523 (omp_set_nested): Likewise. 524 (OMP_MAX_ACTIVE_LEVELS): Likewise. 525 (OMP_NESTED): Likewise. 526 (OMP_NUM_THREADS): Likewise. 527 (OMP_PROC_BIND): Likewise. 528 * parallel.c (gomp_resolve_num_threads): Replace reference 529 to nest_var with max_active_levels_var. Use max_active_levels_var 530 field instead of gomp_max_active_levels_var. 531 5322020-11-18 Tobias Burnus <tobias@codesourcery.com> 533 534 * testsuite/libgomp.c/usleep.h (fallback_usleep): Renamed from 535 nvptx_usleep; use also for device={arch(gcn)}. 536 5372020-11-14 Jakub Jelinek <jakub@redhat.com> 538 539 * testsuite/libgomp.c-c++-common/allocate-1.c (struct S): New type. 540 (foo): Add tests for non-VLA private and firstprivate clauses on 541 omp task. 542 (bar): Likewise. Remove taking of address from private/firstprivate 543 variables. 544 * testsuite/libgomp.c++/allocate-1.C (struct S): New type. 545 (foo): Add p, q, px and s arguments. Add tests for array reductions 546 and for non-VLA private and firstprivate clauses on omp task. 547 (bar): Removed. 548 (main): Adjust foo caller. Don't call bar. 549 5502020-11-13 Gergö Barany <gergo@codesourcery.com> 551 Thomas Schwinge <thomas@codesourcery.com> 552 553 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c: 554 New. 555 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c: 556 Likewise. 557 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: 558 Likewise. 559 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust. 560 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise. 561 5622020-11-13 Gergö Barany <gergo@codesourcery.com> 563 Thomas Schwinge <thomas@codesourcery.com> 564 565 PR fortran/94358 566 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: New. 567 5682020-11-13 Jakub Jelinek <jakub@redhat.com> 569 570 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add tests 571 for array reductions. 572 (main): Adjust foo callers. 573 5742020-11-12 Jakub Jelinek <jakub@redhat.com> 575 576 * libgomp.map (GOMP_alloc, GOMP_free): Export at GOMP_5.0.1. 577 * omp.h.in (omp_alloc): Add malloc and alloc_size attributes. 578 * libgomp_g.h (GOMP_alloc, GOMP_free): Declare. 579 * allocator.c (omp_aligned_alloc): New for now static function, 580 add alignment argument and handle it. 581 (omp_alloc): Reimplement using omp_aligned_alloc. 582 (GOMP_alloc, GOMP_free): New functions. 583 (omp_free): Add ialias. 584 * testsuite/libgomp.c-c++-common/allocate-1.c: New test. 585 * testsuite/libgomp.c++/allocate-1.C: New test. 586 5872020-11-12 Thomas Schwinge <thomas@codesourcery.com> 588 589 PR fortran/97782 590 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Adjust. 591 5922020-11-10 Chung-Lin Tang <cltang@codesourcery.com> 593 594 * libgomp.h (enum gomp_map_vars_kind): Adjust enum values to be bit-flag 595 usable. 596 * oacc-mem.c (acc_map_data): Adjust gomp_map_vars argument flags to 597 'GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_ENTER_DATA'. 598 (goacc_enter_datum): Likewise for call to gomp_map_vars_async. 599 (goacc_enter_data_internal): Likewise. 600 * target.c (gomp_map_vars_internal): 601 Change checks of GOMP_MAP_VARS_ENTER_DATA to use bit-and (&). Adjust use 602 of gomp_attach_pointer for OpenMP cases. 603 (gomp_exit_data): Add handling of GOMP_MAP_DETACH. 604 (GOMP_target_enter_exit_data): Add handling of GOMP_MAP_ATTACH. 605 * testsuite/libgomp.c-c++-common/ptr-attach-1.c: New testcase. 606 6072020-11-05 Ulrich Drepper <drepper@redhat.com> 608 Kwok Cheung Yeung <kcy@codesourcery.com> 609 610 * Makefile.am (%.mod): Add -cpp and -fopenmp to compile flags. 611 * Makefile.in: Regenerate. 612 * fortran.c: Wrap uses of omp_set_nested and omp_get_nested with 613 pragmas to ignore -Wdeprecated-declarations warnings. 614 * icv.c: Likewise. 615 * omp.h.in (__GOMP_DEPRECATED_5_0): Define. 616 Mark omp_lock_hint_* enum values, omp_lock_hint_t, omp_set_nested, 617 and omp_get_nested with __GOMP_DEPRECATED_5_0. 618 * omp_lib.f90.in: Mark omp_get_nested and omp_set_nested as 619 deprecated. 620 * testsuite/libgomp.c++/affinity-1.C: Add -Wno-deprecated-declarations 621 to test options. 622 * testsuite/libgomp.c/affinity-1.c: Likewise. 623 * testsuite/libgomp.c/affinity-2.c: Likewise. 624 * testsuite/libgomp.c/appendix-a/a.15.1.c: Likewise. 625 * testsuite/libgomp.c/lib-1.c: Likewise. 626 * testsuite/libgomp.c/nested-1.c: Likewise. 627 * testsuite/libgomp.c/nested-2.c: Likewise. 628 * testsuite/libgomp.c/nested-3.c: Likewise. 629 * testsuite/libgomp.c/pr32362-1.c: Likewise. 630 * testsuite/libgomp.c/pr32362-2.c: Likewise. 631 * testsuite/libgomp.c/pr32362-3.c: Likewise. 632 * testsuite/libgomp.c/pr35549.c: Likewise. 633 * testsuite/libgomp.c/pr42942.c: Likewise. 634 * testsuite/libgomp.c/pr61200.c: Likewise. 635 * testsuite/libgomp.c/sort-1.c: Likewise. 636 * testsuite/libgomp.c/target-5.c: Likewise. 637 * testsuite/libgomp.c/target-6.c: Likewise. 638 * testsuite/libgomp.c/teams-1.c: Likewise. 639 * testsuite/libgomp.c/thread-limit-1.c: Likewise. 640 * testsuite/libgomp.c/thread-limit-2.c: Likewise. 641 * testsuite/libgomp.c/thread-limit-4.c: Likewise. 642 * testsuite/libgomp.fortran/affinity1.f90: Likewise. 643 * testsuite/libgomp.fortran/lib1.f90: Likewise. 644 * testsuite/libgomp.fortran/lib2.f: Likewise. 645 * testsuite/libgomp.fortran/nested1.f90: Likewise. 646 * testsuite/libgomp.fortran/teams1.f90: Likewise. 647 6482020-11-02 Thomas Schwinge <thomas@codesourcery.com> 649 650 PR target/85486 651 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Simplify and enhance. 652 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise. 653 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise. 654 6552020-11-02 Thomas Schwinge <thomas@codesourcery.com> 656 657 PR testsuite/80219 658 PR testsuite/85303 659 * testsuite/lib/libgomp.exp (libgomp_init): Set 660 'gcc_warning_prefix', 'gcc_error_prefix'. 661 6622020-10-30 Jakub Jelinek <jakub@redhat.com> 663 664 * target.c (gomp_map_vars_internal): Use FIELD_TGT_EMPTY macro 665 even in field_tgt_clear initializer. 666 6672020-10-28 Jakub Jelinek <jakub@redhat.com> 668 669 * testsuite/libgomp.c/target-42.c: New test. 670 6712020-10-28 Jakub Jelinek <jakub@redhat.com> 672 Tom de Vries <tdevries@suse.de> 673 674 PR testsuite/81690 675 * testsuite/libgomp.c/usleep.h: New file. 676 * testsuite/libgomp.c/target-32.c: Include usleep.h. 677 (main): Use tgt_usleep instead of usleep. 678 * testsuite/libgomp.c/thread-limit-2.c: Include usleep.h. 679 (main): Use tgt_usleep instead of usleep. 680 6812020-10-28 Jakub Jelinek <jakub@redhat.com> 682 683 PR lto/96680 684 * testsuite/libgomp.c/declare-variant-1.c: New test. 685 6862020-10-22 Jakub Jelinek <jakub@redhat.com> 687 688 * testsuite/libgomp.c/target-41.c: New test. 689 6902020-10-22 Jakub Jelinek <jakub@redhat.com> 691 692 * icv.c (omp_get_initial_device): Remove including corresponding 693 ialias. 694 * icv-device.c (omp_get_initial_device): New function. Return 695 gomp_get_num_devices (). Add ialias. 696 * target.c (resolve_device): Don't fail with 697 OMP_TARGET_OFFLOAD=mandatory if device_id is equal to 698 gomp_get_num_devices (). 699 (omp_target_alloc, omp_target_free, omp_target_is_present, 700 omp_target_memcpy, omp_target_memcpy_rect, omp_target_associate_ptr, 701 omp_target_disassociate_ptr, omp_pause_resource): Use 702 gomp_get_num_devices () instead of GOMP_DEVICE_HOST_FALLBACK on the 703 first use in the functions, in uses dominated by the 704 gomp_get_num_devices call use num_devices_openmp instead. 705 * libgomp.texi (omp_get_initial_device): Document. 706 * config/gcn/icv-device.c (omp_get_initial_device): New function. 707 Add ialias. 708 * config/nvptx/icv-device.c (omp_get_initial_device): Likewise. 709 * testsuite/libgomp.c/target-40.c: New test. 710 7112020-10-21 Jakub Jelinek <jakub@redhat.com> 712 713 * env.c (parse_target_offload): Change new_offload var type to int, 714 preinitialize to -1, remove found var and test new_offload != -1 715 instead of found. 716 7172020-10-20 Jakub Jelinek <jakub@redhat.com> 718 719 * target.c (gomp_target_init): Inside of the function, use automatic 720 variables corresponding to num_devices, num_devices_openmp and devices 721 global variables and update the globals only at the end of the 722 function. 723 7242020-10-20 Kwok Cheung Yeung <kcy@codesourcery.com> 725 726 * env.c (gomp_target_offload_var): New. 727 (parse_target_offload): New. 728 (handle_omp_display_env): Print value of OMP_TARGET_OFFLOAD. 729 (initialize_env): Parse OMP_TARGET_OFFLOAD. 730 * libgomp.h (gomp_target_offload_t): New. 731 (gomp_target_offload_var): New. 732 * libgomp.texi (OMP_TARGET_OFFLOAD): New section. 733 * target.c (resolve_device): Generate error if device not found and 734 offloading is mandatory. 735 (gomp_target_fallback): Generate error if offloading is mandatory. 736 (GOMP_target): Add argument in call to gomp_target_fallback. 737 (GOMP_target_ext): Likewise. 738 (gomp_target_data_fallback): Generate error if offloading is mandatory. 739 (GOMP_target_data): Add argument in call to gomp_target_data_fallback. 740 (GOMP_target_data_ext): Likewise. 741 (gomp_target_task_fn): Add argument in call to gomp_target_fallback. 742 (gomp_target_init): Return early if offloading is disabled. 743 7442020-10-15 Kwok Cheung Yeung <kcy@codesourcery.com> 745 746 * libgomp.texi (omp_get_max_active_levels): Modify description. 747 (omp_get_supported_active_levels): Make descriptions consistent. 748 7492020-10-14 Jakub Jelinek <jakub@redhat.com> 750 751 * libgomp.texi (omp_get_supported_active_levels): Fix a typo. 752 7532020-10-13 Kwok Cheung Yeung <kcy@codesourcery.com> 754 755 * env.c (gomp_max_active_levels_var): Initialize to 756 gomp_supported_active_levels. 757 (initialize_env): Limit gomp_max_active_levels_var to be at most 758 equal to gomp_supported_active_levels. 759 * fortran.c (omp_get_supported_active_levels): Add ialias_redirect. 760 (omp_get_supported_active_levels_): New. 761 * icv.c (omp_set_max_active_levels): Limit gomp_max_active_levels_var 762 to at most equal to gomp_supported_active_levels. 763 (omp_get_supported_active_levels): New. 764 * libgomp.h (gomp_supported_active_levels): New. 765 * libgomp.map (OMP_5.0.1): Add omp_get_supported_active_levels and 766 omp_get_supported_active_levels_. 767 * libgomp.texi (omp_get_supported_active_levels): New. 768 (omp_set_max_active_levels): Update. Add reference to 769 omp_get_supported_active_levels. 770 * omp.h.in (omp_get_supported_active_levels): New. 771 * omp_lib.f90.in (omp_get_supported_active_levels): New. 772 * omp_lib.h.in (omp_get_supported_active_levels): New. 773 * testsuite/libgomp.c/lib-2.c (main): Check omp_get_max_active_levels 774 against omp_get_supported_active_levels. 775 * testsuite/libgomp.fortran/lib4.f90 (lib4): Likewise. 776 7772020-10-11 Clement Chigot <clement.chigot@atos.net> 778 779 * config/t-aix: Delete and recreate libgomp before creating 780 FAT library. 781 7822020-10-08 Tom de Vries <tdevries@suse.de> 783 784 PR libgomp/81802 785 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_run): Report launch 786 dimensions. 787 7882020-10-06 Tom de Vries <tdevries@suse.de> 789 790 * testsuite/libgomp.oacc-fortran/declare-5.f90: Add xfail for PR92790. 791 7922020-10-06 Tom de Vries <tdevries@suse.de> 793 794 PR middle-end/90861 795 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Remove xfail. 796 7972020-10-05 Tom de Vries <tdevries@suse.de> 798 799 PR fortran/95654 800 * testsuite/libgomp.fortran/pr95654.f90: New test. 801 8022020-10-02 Tobias Burnus <tobias@codesourcery.com> 803 804 * Makefile.in: Regenerate with automake 1.15.1. 805 * aclocal.m4: Likewise. 806 * configure: Likewise. 807 * testsuite/Makefile.in: Likewise. 808 8092020-09-30 Andrew Stubbs <ams@codesourcery.com> 810 811 * parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx 812 and amdgcn targets. 813 8142020-09-30 Tobias Burnus <tobias@codesourcery.com> 815 816 * testsuite/libgomp.fortran/declare-target-3.f90: New test. 817 8182020-09-29 Andrew Stubbs <ams@codesourcery.com> 819 820 * config/gcn/bar.c (gomp_barrier_wait_end): Skip the barrier if the 821 total number of threads is one. 822 (gomp_team_barrier_wake): Likewise. 823 (gomp_team_barrier_wait_end): Likewise. 824 (gomp_team_barrier_wait_cancel_end): Likewise. 825 * config/nvptx/bar.c (gomp_barrier_wait_end): Likewise. 826 (gomp_team_barrier_wake): Likewise. 827 (gomp_team_barrier_wait_end): Likewise. 828 (gomp_team_barrier_wait_cancel_end): Likewise. 829 * testsuite/libgomp.c-c++-common/nested-parallel-unbalanced.c: New test. 830 8312020-09-28 Tobias Burnus <tobias@codesourcery.com> 832 833 PR middle-end/96390 834 * testsuite/libgomp.c++/pr96390.C: New test. 835 * testsuite/libgomp.c-c++-common/pr96390.c: New test. 836 8372020-09-27 Clement Chigot <clement.chigot@atos.net> 838 839 * config/t-aix: Use $(AR) without -X32_64. 840 8412020-09-25 Jakub Jelinek <jakub@redhat.com> 842 843 * testsuite/libgomp.c/loop-25.c: New test. 844 8452020-09-22 Tobias Burnus <tobias@codesourcery.com> 846 847 PR fortran/95654 848 * testsuite/libgomp.fortran/pr66199-5.f90: Make stop codes unique. 849 8502020-09-22 Tom de Vries <tdevries@suse.de> 851 852 * plugin/plugin-nvptx.c (link_ptx): Print elog if cuLinkComplete call 853 fails. 854 8552020-09-16 Nathan Sidwell <nathan@acm.org> 856 857 * testsuite/libgomp.c++/udr-3.C: Add missing ctor. 858 8592020-09-15 Tobias Burnus <tobias@codesourcery.com> 860 861 PR fortran/96668 862 * target.c (gomp_map_vars_internal): Initialize has_nullptr. 863 8642020-09-15 Tobias Burnus <tobias@codesourcery.com> 865 866 PR fortran/96668 867 * libgomp.h (struct target_var_desc): Add has_null_ptr_assoc member. 868 * target.c (gomp_map_vars_existing): Add always_to_flag flag. 869 (gomp_map_vars_existing): Update call to it. 870 (gomp_map_fields_existing): Likewise 871 (gomp_map_vars_internal): Update PSET handling such that if a nullptr is 872 now allocated or if GOMP_MAP_POINTER is used PSET is updated and pointer 873 remapped. 874 (GOMP_target_enter_exit_data): Hanlde GOMP_MAP_ALWAYS_POINTER like 875 GOMP_MAP_POINTER. 876 * testsuite/libgomp.fortran/map-alloc-ptr-1.f90: New test. 877 * testsuite/libgomp.fortran/map-alloc-ptr-2.f90: New test. 878 8792020-09-14 Tom de Vries <tdevries@suse.de> 880 881 * config/nvptx/atomic.c: New file. Add 882 __sync_val_compare_and_swap_16. 883 * testsuite/libgomp.c-c++-common/reduction-16.c: Add -latomic for 884 target offload_target_nvptx. 885 8862020-09-08 Julian Brown <julian@codesourcery.com> 887 888 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: Remove 889 iteration-ordering assumptions. 890 8912020-09-08 Julian Brown <julian@codesourcery.com> 892 893 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Fix race condition. 894 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise. 895 8962020-08-20 Chung-Lin Tang <cltang@codesourcery.com> 897 898 * plugin/plugin-nvptx.c (nvptx_free): 899 Change "GOMP_PLUGIN_acc_thread () == NULL" test into check of 900 CUDA_ERROR_NOT_PERMITTED status for cuMemGetAddressRange. Adjust 901 comments. 902 9032020-08-20 Tobias Burnus <tobias@codesourcery.com> 904 905 * testsuite/libgomp.fortran/lastprivate-conditional-10.f90: New test. 906 9072020-08-13 Kwok Cheung Yeung <kcy@codesourcery.com> 908 909 * testsuite/libgomp.c-c++-common/reduction-16.c: New. 910 9112020-08-13 Jakub Jelinek <jakub@redhat.com> 912 913 * testsuite/libgomp.c/loop-22.c (main): Add some further tests. 914 * testsuite/libgomp.c/loop-23.c (main): Likewise. 915 * testsuite/libgomp.c/loop-24.c: New test. 916 9172020-08-08 Jakub Jelinek <jakub@redhat.com> 918 Tobias Burnus <tobias@codesourcery.com> 919 920 PR fortran/93553 921 * testsuite/libgomp.fortran/pr93553.f90: New test. 922 9232020-08-05 Jakub Jelinek <jakub@redhat.com> 924 925 * testsuite/libgomp.c/loop-22.c: New test. 926 * testsuite/libgomp.c/loop-23.c: New test. 927 9282020-08-05 Jakub Jelinek <jakub@redhat.com> 929 930 PR middle-end/96459 931 * testsuite/libgomp.c/teams-3.c: New test. 932 * testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing 933 if not defined yet. 934 (N(test)): Use it before all N(f*) calls. 935 * testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define. 936 (main): Don't call all test_* functions from within 937 #pragma omp teams reduction(|:err), call them directly. 938 9392020-08-04 Tom de Vries <tdevries@suse.de> 940 941 PR target/96428 942 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test. 943 * testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test. 944 9452020-08-03 Julian Brown <julian@codesourcery.com> 946 Thomas Schwinge <thomas@codesourcery.com> 947 948 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Don't run for 949 shared-memory devices. Extend with further checking. 950 9512020-08-03 Martin Jambor <mjambor@suse.cz> 952 953 * plugin/Makefrag.am: Remove configuration of HSA plugin. 954 * aclocal.m4: Regenerated. 955 * Makefile.in: Regenerated. 956 * config.h.in: Regenerated. 957 * configure: Regenerated. 958 * plugin/configfrag.ac: Likewise. 959 * plugin/hsa_ext_finalize.h: Removed. 960 * plugin/plugin-hsa.c: Likewise. 961 * testsuite/Makefile.in: Regenerated. 962 * testsuite/lib/libgomp.exp 963 (offload_target_to_openacc_device_type): Remove hsa case. 964 (check_effective_target_hsa_offloading_selected_nocache): Removed 965 (check_effective_target_hsa_offloading_selected): Likewise. 966 (libgomp_init): Do not add -Wno-hsa to additional_flags. 967 * testsuite/libgomp.hsa.c/alloca-1.c: Removed test. 968 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise. 969 * testsuite/libgomp.hsa.c/bits-insns.c: Likewise. 970 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise. 971 * testsuite/libgomp.hsa.c/c.exp: Likewise. 972 * testsuite/libgomp.hsa.c/complex-1.c: Likewise. 973 * testsuite/libgomp.hsa.c/complex-align-2.c: Likewise. 974 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise. 975 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise. 976 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise. 977 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise. 978 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise. 979 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise. 980 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise. 981 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise. 982 * testsuite/libgomp.hsa.c/pr69568.c: Likewise. 983 * testsuite/libgomp.hsa.c/pr82416.c: Likewise. 984 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise. 985 * testsuite/libgomp.hsa.c/staticvar.c: Likewise. 986 * testsuite/libgomp.hsa.c/switch-1.c: Likewise. 987 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise. 988 * testsuite/libgomp.hsa.c/switch-sbr-2.c: Likewise. 989 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise. 990 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise. 991 9922020-07-27 Julian Brown <julian@codesourcery.com> 993 Thomas Schwinge <thomas@codesourcery.com> 994 995 * libgomp.h (struct target_var_desc): Rename do_detach field to 996 is_attach. 997 * oacc-mem.c (goacc_exit_datum_1): Add assert. Don't set finalize for 998 GOMP_MAP_FORCE_DETACH. Update checking to use is_attach field. 999 (goacc_enter_data_internal): Don't affect reference counts 1000 for attach mappings. 1001 (goacc_exit_data_internal): Don't affect reference counts for detach 1002 mappings. 1003 * target.c (gomp_map_vars_existing): Don't affect reference counts for 1004 attach mappings. 1005 (gomp_map_vars_internal): Set renamed is_attach flag unconditionally to 1006 mark attach mappings. 1007 (gomp_unmap_vars_internal): Use is_attach flag to prevent affecting 1008 reference count for attach mappings. 1009 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-1.c: New test. 1010 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test. 1011 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test. 1012 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Mark 1013 test as shouldfail. 1014 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust to fail 1015 gracefully in no-finalize mode. 1016 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-3.c: New file. 1017 10182020-07-24 Thomas Schwinge <thomas@codesourcery.com> 1019 1020 * testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after 1021 use. 1022 * testsuite/libgomp.oacc-c/c.exp: Likewise. 1023 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 1024 10252020-07-23 Julian Brown <julian@codesourcery.com> 1026 Thomas Schwinge <thomas@codesourcery.com> 1027 1028 * target.c (gomp_unmap_vars_internal): Remove unnecessary forcing of 1029 finalization for detach operation. 1030 * testsuite/libgomp.oacc-c-c++-common/structured-detach-underflow.c: 1031 New test. 1032 10332020-07-23 Tobias Burnus <tobias@codesourcery.com> 1034 1035 * configure.ac: Add OMP_DEPEND_KIND and OMP_INT128_SIZE. 1036 * libgomp_f.h.in (omp_check_defines): Check whether 1037 sizeof of determined Fortran kind and C typedef match. 1038 * omp_lib.f90.in: Add omp_depened_kind. 1039 * omp_lib.h.in: Likewise; fix omp_alloctrait_key_kind. 1040 * configure: Regenerate. 1041 * Makefile.in: Regenerate. 1042 * testsuite/Makefile.in: Regenerate. 1043 10442020-07-22 Tobias Burnus <tobias@codesourcery.com> 1045 1046 * testsuite/libgomp.c-c++-common/critical-hint-1.c: New; moved from 1047 gcc/testsuite/c-c++-common/gomp/. 1048 * testsuite/libgomp.c-c++-common/critical-hint-2.c: Likewise. 1049 * testsuite/libgomp.fortran/critical-hint-1.f90: New; moved 1050 from gcc/testsuite/gfortran.dg/gomp/. 1051 * testsuite/libgomp.fortran/critical-hint-2.f90: Likewise. 1052 10532020-07-22 Tobias Burnus <tobias@codesourcery.com> 1054 1055 * omp_lib.f90.in: Add omp_sync_hint_* and omp_sync_hint_kind. 1056 * omp_lib.h.in: Likewise. 1057 10582020-07-18 H.J. Lu <hjl.tools@gmail.com> 1059 1060 PR target/95620 1061 * testsuite/libgomp.c/pr95620.c: New test. 1062 10632020-07-16 Julian Brown <julian@codesourcery.com> 1064 Thomas Schwinge <thomas@codesourcery.com> 1065 1066 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test. 1067 * testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test. 1068 10692020-07-15 Tobias Burnus <tobias@codesourcery.com> 1070 1071 * testsuite/libgomp.fortran/alloc-1.F90: Use c_size_t to 1072 avoid conversion on 32bit systems from 32bit to 64bit due 1073 to -fdefault-integer-8. 1074 10752020-07-15 Tobias Burnus <tobias@codesourcery.com> 1076 1077 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused 1078 variables; add character(kind=4) tests; update TODO comment. 1079 10802020-07-15 Tobias Burnus <tobias@codesourcery.com> 1081 1082 * allocator.c: Add ialias for omp_init_allocator and 1083 omp_destroy_allocator. 1084 * configure.ac: Set INTPTR_T_KIND. 1085 * configure: Regenerate. 1086 * Makefile.in: Regenerate. 1087 * testsuite/Makefile.in: Regenerate. 1088 * fortran.c (omp_init_allocator_, omp_destroy_allocator_, 1089 omp_set_default_allocator_, omp_get_default_allocator_): New 1090 functions and ialias_redirect. 1091 * icv.c: Add ialias for omp_set_default_allocator and 1092 omp_get_default_allocator. 1093 * libgomp.map (OMP_5.0.1): Add omp_init_allocator_, 1094 omp_destroy_allocator_, omp_set_default_allocator_ and 1095 omp_get_default_allocator_. 1096 * omp_lib.f90.in: Add allocator traits parameters, declare 1097 allocator routines and add related kind parameters. 1098 * omp_lib.h.in: Likewise. 1099 * testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof. 1100 * testsuite/libgomp.fortran/alloc-1.F90: New test. 1101 * testsuite/libgomp.fortran/alloc-2.F90: New test. 1102 * testsuite/libgomp.fortran/alloc-3.F: New test. 1103 * testsuite/libgomp.fortran/alloc-4.f90: New test. 1104 * testsuite/libgomp.fortran/alloc-5.f90: New test. 1105 11062020-07-14 Tom de Vries <tom@codesourcery.com> 1107 Cesar Philippidis <cesar@codesourcery.com> 1108 Thomas Schwinge <thomas@codesourcery.com> 1109 Kwok Cheung Yeung <kcy@codesourcery.com> 1110 1111 * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread): 1112 New variable. 1113 (acc_init_1): Set acc_init_thread to pthread_self (). Set 1114 acc_init_state to initializing at the start, and to initialized at the 1115 end. 1116 (self_initializing_p): New function. 1117 (acc_get_device_type): Return acc_device_none if called by thread that 1118 is currently executing acc_init_1. 1119 * libgomp.texi (acc_get_device_type): Update documentation. 1120 (Implementation Status and Implementation-Defined Behavior): Likewise. 1121 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New. 1122 11232020-07-14 David Edelsohn <dje.gcc@gmail.com> 1124 1125 * config/t-aix: Set BITS from compiler cpp macro. 1126 11272020-07-14 Tobias Burnus <tobias@codesourcery.com> 1128 1129 * testsuite/libgomp.fortran/struct-elem-map-1.f90: New test. 1130 11312020-07-14 Tobias Burnus <tobias@codesourcery.com> 1132 1133 PR fortran/67311 1134 * testsuite/libgomp.fortran/target-map-1.f90: New test. 1135 11362020-07-14 Jakub Jelinek <jakub@redhat.com> 1137 1138 * testsuite/libgomp.c/loop-21.c: New test. 1139 11402020-07-13 Julian Brown <julian@codesourcery.com> 1141 Thomas Schwinge <thomas@codesourcery.com> 1142 1143 * testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test. 1144 11452020-07-10 Julian Brown <julian@codesourcery.com> 1146 Thomas Schwinge <thomas@codesourcery.com> 1147 1148 * libgomp.h (struct splay_tree_key_s): Change virtual_refcount to 1149 dynamic_refcount. 1150 (struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA. 1151 * oacc-mem.c (acc_map_data): Substitute virtual_refcount for 1152 dynamic_refcount. 1153 (acc_unmap_data): Update comment. 1154 (goacc_map_var_existing, goacc_enter_datum): Adjust for 1155 dynamic_refcount semantics. 1156 (goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking. 1157 Adjust for dynamic_refcount semantics. 1158 (goacc_enter_data_internal): Implement "present" case of dynamic 1159 memory-map handling here. Update "non-present" case for 1160 dynamic_refcount semantics. 1161 (goacc_exit_data_internal): Use goacc_exit_datum_1. 1162 * target.c (gomp_map_vars_internal): Remove 1163 GOMP_MAP_VARS_OPENACC_ENTER_DATA handling. Update for dynamic_refcount 1164 handling. 1165 (gomp_unmap_vars_internal): Remove virtual_refcount handling. 1166 (gomp_load_image_to_device): Substitute dynamic_refcount for 1167 virtual_refcount. 1168 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs. 1169 * testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test. 1170 * testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test. 1171 * testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test. 1172 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and 1173 trace output. 1174 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove 1175 trace output. 1176 * testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New 1177 test. 1178 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c: 1179 Remove stale comment. 1180 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs. 1181 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise. 1182 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise. 1183 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise. 1184 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise. 1185 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL. 1186 11872020-07-10 Julian Brown <julian@codesourcery.com> 1188 Thomas Schwinge <thomas@codesourcery.com> 1189 1190 * oacc-mem.c (goacc_map_var_existing): New function. 1191 (goacc_enter_datum): Use above function. 1192 (goacc_exit_datum_1): New function. 1193 (goacc_exit_datum): Use above function. 1194 11952020-07-09 Julian Brown <julian@codesourcery.com> 1196 Thomas Schwinge <thomas@codesourcery.com> 1197 1198 PR middle-end/95270 1199 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test. 1200 * testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test. 1201 12022020-07-09 Julian Brown <julian@codesourcery.com> 1203 1204 * oacc-mem.c (find_group_last): Group data-movement clauses 1205 (GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent 1206 GOMP_MAP_ATTACH. Allow standalone GOMP_MAP_ATTACH also. 1207 12082020-07-09 Jakub Jelinek <jakub@redhat.com> 1209 1210 * testsuite/libgomp.c/loop-19.c: New test. 1211 * testsuite/libgomp.c/loop-20.c: New test. 1212 12132020-07-09 Jakub Jelinek <jakub@redhat.com> 1214 1215 * omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from 1216 2 to -1. Add omp_atv_serialized and define omp_atv_sequential using 1217 it. Remove __omp_alloctrait_value_max__. 1218 * allocator.c (omp_init_allocator): Handle omp_atv_default for 1219 omp_atk_alignment and omp_atk_pool_size. 1220 12212020-07-03 Thomas Schwinge <thomas@codesourcery.com> 1222 1223 * oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom 1224 behavior for 'GOMP_MAP_FORCE_FROM'. 1225 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL. 1226 12272020-07-03 Thomas Schwinge <thomas@codesourcery.com> 1228 1229 * oacc-mem.c (goacc_exit_data_internal): Remove 1230 'GOMP_MAP_ALWAYS_FROM' handling. 1231 12322020-06-30 Thomas Schwinge <thomas@codesourcery.com> 1233 1234 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile 1235 'scan-assembler' with 'scan-offload-rtl'. 1236 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise. 1237 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise. 1238 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise. 1239 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise. 1240 12412020-06-30 Thomas Schwinge <thomas@codesourcery.com> 1242 1243 * target.c (gomp_map_vars_existing): Assert 'kind != 1244 GOMP_MAP_ATTACH'. 1245 (gomp_map_vars_internal): Clean up. 1246 12472020-06-27 Jakub Jelinek <jakub@redhat.com> 1248 1249 * testsuite/libgomp.c/loop-17.c: New test. 1250 * testsuite/libgomp.c/loop-18.c: New test. 1251 12522020-06-26 Marek Polacek <polacek@redhat.com> 1253 1254 * testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14. 1255 12562020-06-23 Alexandre Oliva <oliva@adacore.com> 1257 1258 * testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp. 1259 * testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps. 1260 12612020-06-22 David Edelsohn <dje.gcc@gmail.com> 1262 1263 * Makefile.am: Use -include. 1264 * Makefile.in: Regenerate. 1265 12662020-06-21 David Edelsohn <dje.gcc@gmail.com> 1267 1268 * Makefile.am (tmake_file): Build and install AIX-style FAT libraries. 1269 * Makefile.in: Regenerate 1270 * configure.ac (tmake_file): Substitute. 1271 * configure: Regenerate. 1272 * configure.tgt (powerpc-ibm-aix*): Define tmake_file. 1273 * config/t-aix: New file. 1274 12752020-06-17 Thomas Schwinge <thomas@codesourcery.com> 1276 1277 PR lto/94848 1278 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add 1279 'dg-do run'. 1280 12812020-06-17 Andrew Stubbs <ams@codesourcery.com> 1282 1283 * plugin/plugin-gcn.c (init_environment_variables): Use ".so.1" 1284 variant for HSA_RUNTIME_LIB name. 1285 (find_executable_symbol_1): Delete. 1286 (find_executable_symbol): Delete. 1287 (init_kernel_properties): Add ".kd" suffix to symbol names. 1288 (find_load_offset): Delete. 1289 (create_and_finalize_hsa_program): Remove relocation handling. 1290 12912020-06-16 Tobias Burnus <tobias@codesourcery.com> 1292 1293 * testsuite/libgomp.oacc-fortran/routine-10.f90: New test. 1294 12952020-06-08 Tobias Burnus <tobias@codesourcery.com> 1296 1297 PR lto/94848 1298 PR middle-end/95551 1299 * testsuite/libgomp.fortran/target-var.f90: New test. 1300 13012020-06-05 Thomas Schwinge <thomas@codesourcery.com> 1302 Julian Brown <julian@codesourcery.com> 1303 1304 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain 1305 special handling. 1306 13072020-06-05 Thomas Schwinge <thomas@codesourcery.com> 1308 Julian Brown <julian@codesourcery.com> 1309 1310 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: 1311 Simplify. 1312 13132020-06-05 Julian Brown <julian@codesourcery.com> 1314 1315 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test. 1316 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test. 1317 13182020-06-04 Thomas Schwinge <thomas@codesourcery.com> 1319 1320 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: 1321 Evaluate 'copyfrom' individually for each entry. 1322 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update. 1323 13242020-06-04 Thomas Schwinge <thomas@codesourcery.com> 1325 1326 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: 1327 Evaluate 'finalize' individually for each entry. 1328 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file. 1329 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove 1330 file. 1331 13322020-06-04 Thomas Schwinge <thomas@codesourcery.com> 1333 1334 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof' 1335 usage. 1336 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise. 1337 13382020-06-04 Thomas Schwinge <thomas@codesourcery.com> 1339 Julian Brown <julian@codesourcery.com> 1340 1341 * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped' 1342 checking. 1343 (acc_unmap_data, goacc_exit_data_internal): Restore 1344 'is_tgt_unmapped' checking. 1345 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New 1346 file. 1347 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust. 1348 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise. 1349 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise. 1350 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise. 1351 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise. 1352 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise. 1353 13542020-06-04 Thomas Schwinge <thomas@codesourcery.com> 1355 Julian Brown <julian@codesourcery.com> 1356 1357 * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'. 1358 13592020-06-04 Thomas Schwinge <thomas@codesourcery.com> 1360 1361 PR libgomp/92854 1362 * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting. 1363 13642020-06-04 Thomas Schwinge <thomas@codesourcery.com> 1365 1366 PR libgomp/92854 1367 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some 1368 more. 1369 13702020-06-04 Thomas Schwinge <thomas@codesourcery.com> 1371 Julian Brown <julian@codesourcery.com> 1372 1373 * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from 1374 'gomp_map_vars'. 1375 (acc_map_data): Clean up accordingly. 1376 13772020-06-04 Thomas Schwinge <thomas@codesourcery.com> 1378 1379 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior 1380 of over-eager 'finalize' clause. 1381 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New 1382 file. 1383 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise. 1384 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise. 1385 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise. 1386 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise. 1387 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise. 1388 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise. 1389 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise. 1390 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise. 1391 13922020-06-04 Thomas Schwinge <thomas@codesourcery.com> 1393 1394 * oacc-mem.c (goacc_exit_data_internal): Unlock on error path. 1395 13962020-06-04 Julian Brown <julian@codesourcery.com> 1397 1398 * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on 1399 error path. 1400 (goacc_detach_internal): Likewise. 1401 14022020-06-04 Thomas Schwinge <thomas@codesourcery.com> 1403 1404 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before 1405 the checkpoint. 1406 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise. 1407 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise. 1408 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise. 1409 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise. 1410 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise. 1411 14122020-06-02 Jakub Jelinek <jakub@redhat.com> 1413 1414 * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not 1415 defined. 1416 14172020-05-30 Jakub Jelinek <jakub@redhat.com> 1418 1419 * testsuite/libgomp.c-c++-common/alloc-4.c: New test. 1420 14212020-05-30 Jakub Jelinek <jakub@redhat.com> 1422 1423 * allocator.c (omp_alloc): For size == 0, return NULL early. 1424 14252020-05-29 H.J. Lu <hjl.tools@gmail.com> 1426 1427 PR bootstrap/95413 1428 * configure: Regenerated. 1429 14302020-05-23 Thomas Koenig <tkoenig@gcc.gnu.org> 1431 1432 PR libfortran/95191 1433 * testsuite/libgomp.fortran/async_io_9.f90: New test. 1434 14352020-05-19 Jakub Jelinek <jakub@redhat.com> 1436 1437 * omp.h.in (omp_uintptr_t): New typedef. 1438 (__GOMP_UINTPTR_T_ENUM): Define. 1439 (omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t, 1440 omp_alloctrait_value_t, omp_alloctrait_t): New typedefs. 1441 (__GOMP_DEFAULT_NULL_ALLOCATOR): Define. 1442 (omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator, 1443 omp_get_default_allocator, omp_alloc, omp_free): Declare. 1444 * libgomp.h (struct gomp_team_state): Add def_allocator field. 1445 (gomp_def_allocator): Declare. 1446 * libgomp.map (OMP_5.0.1): Export omp_set_default_allocator, 1447 omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator, 1448 omp_alloc and omp_free. 1449 * team.c (gomp_team_start): Copy over ts.def_allocator. 1450 * env.c (gomp_def_allocator): New variable. 1451 (parse_wait_policy): Adjust function comment. 1452 (parse_allocator): New function. 1453 (handle_omp_display_env): Print OMP_ALLOCATOR. 1454 (initialize_env): Call parse_allocator. 1455 * Makefile.am (libgomp_la_SOURCES): Add allocator.c. 1456 * allocator.c: New file. 1457 * icv.c (omp_set_default_allocator, omp_get_default_allocator): New 1458 functions. 1459 * testsuite/libgomp.c-c++-common/alloc-1.c: New test. 1460 * testsuite/libgomp.c-c++-common/alloc-2.c: New test. 1461 * testsuite/libgomp.c-c++-common/alloc-3.c: New test. 1462 * Makefile.in: Regenerated. 1463 14642020-05-15 H.J. Lu <hongjiu.lu@intel.com> 1465 1466 PR bootstrap/95147 1467 * configure: Regenerated. 1468 14692020-05-14 Thomas Koenig <tkoenig@gcc.gnu.org> 1470 1471 PR libfortran/95119 1472 * testsuite/libgomp.fortran/close_errors_1.f90: New test. 1473 14742020-05-14 H.J. Lu <hongjiu.lu@intel.com> 1475 1476 * configure: Regenerated. 1477 14782020-05-14 Jakub Jelinek <jakub@redhat.com> 1479 1480 * testsuite/libgomp.c-c++-common/target-40.c: New test. 1481 14822020-05-13 Tobias Burnus <tobias@codesourcery.com> 1483 1484 PR fortran/94690 1485 * testsuite/libgomp.fortran/pr66199-3.f90: New. 1486 * testsuite/libgomp.fortran/pr66199-4.f90: New. 1487 * testsuite/libgomp.fortran/pr66199-5.f90: New. 1488 * testsuite/libgomp.fortran/pr66199-6.f90: New. 1489 * testsuite/libgomp.fortran/pr66199-7.f90: New. 1490 * testsuite/libgomp.fortran/pr66199-8.f90: New. 1491 * testsuite/libgomp.fortran/pr66199-9.f90: New. 1492 14932020-05-12 Jakub Jelinek <jakub@redhat.com> 1494 1495 * testsuite/libgomp.c/target-39.c: New test. 1496 14972020-04-29 Thomas Schwinge <thomas@codesourcery.com> 1498 1499 * config/accel/openacc.f90 (acc_device_current): Set to '-1'. 1500 * openacc.f90 (acc_device_current): Likewise. 1501 * openacc.h (acc_device_current): Likewise. 1502 * openacc_lib.h (acc_device_current): Likewise. 1503 1504 PR target/94282 1505 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove 1506 'dg-allow-blank-lines-in-output'. 1507 1508 * oacc-init.c (get_openacc_name): Handle 'gcn'. 1509 * testsuite/lib/libgomp.exp 1510 (offload_target_to_openacc_device_type) [amdgcn*]: Return 1511 'radeon'. Adjust all users. 1512 (check_effective_target_openacc_amdgcn_accel_present): Rename 1513 to... 1514 (check_effective_target_openacc_radeon_accel_present): ... this. 1515 Adjust all users. 1516 (check_effective_target_openacc_amdgcn_accel_selected): Rename to... 1517 (check_effective_target_openacc_radeon_accel_selected): ... this. 1518 Adjust all users. 1519 1520 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add 1521 'dg-do run'. 1522 15232020-04-23 Andrew Stubbs <ams@codesourcery.com> 1524 1525 PR other/94629 1526 1527 * plugin/plugin-gcn.c (init_hsa_context): Check return value from 1528 hsa_iterate_agents. 1529 (GOMP_OFFLOAD_init_device): Check return values from both calls to 1530 hsa_agent_iterate_regions. 1531 15322020-04-20 Thomas Schwinge <thomas@codesourcery.com> 1533 1534 PR middle-end/94635 1535 * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do 1536 run'. 1537 15382020-04-20 Tobias Burnus <tobias@codesourcery.com> 1539 1540 PR middle-end/94120 1541 * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)' 1542 test case. 1543 15442020-04-17 Tobias Burnus <tobias@codesourcery.com> 1545 1546 PR middle-end/94635 1547 * testsuite/libgomp.fortran/target-enter-data-2.F90: New. 1548 15492020-04-13 Thomas Schwinge <thomas@codesourcery.com> 1550 1551 PR libgomp/92843 1552 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c: 1553 Rename to... 1554 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c: 1555 ... this. 1556 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c: 1557 Rename to... 1558 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c: 1559 ... this. 1560 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c: 1561 Rename to... 1562 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c: 1563 ... this. 1564 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c: 1565 Rename to... 1566 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c: 1567 ... this. 1568 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c: 1569 Rename to... 1570 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c: 1571 ... this. 1572 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c: 1573 Rename to... 1574 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c: 1575 ... this. 1576 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c: 1577 Rename to... 1578 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c: 1579 ... this. 1580 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c: 1581 Rename to... 1582 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c: 1583 ... this. 1584 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c: 1585 Rename to... 1586 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c: 1587 ... this. 1588 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c: 1589 Rename to... 1590 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c: 1591 ... this. 1592 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c: 1593 Rename to... 1594 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c: 1595 ... this. 1596 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c: 1597 Rename to... 1598 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c: 1599 ... this. 1600 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c: 1601 Rename to... 1602 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c: 1603 ... this. 1604 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c: 1605 Rename to... 1606 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c: 1607 ... this. 1608 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c: 1609 Rename to... 1610 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c: 1611 ... this. 1612 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:: 1613 Rename to... 1614 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c: 1615 ... this. 1616 16172020-04-10 Julian Brown <julian@codesourcery.com> 1618 Thomas Schwinge <thomas@codesourcery.com> 1619 1620 PR libgomp/92843 1621 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c: 1622 New file. 1623 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c: 1624 Likewise. 1625 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c: 1626 Likewise. 1627 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c: 1628 Likewise. 1629 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c: 1630 Likewise. 1631 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c: 1632 Likewise. 1633 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c: 1634 Likewise. 1635 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c: 1636 Likewise. 1637 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c: 1638 Likewise. 1639 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c: 1640 Likewise. 1641 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c: 1642 Likewise. 1643 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c: 1644 Likewise. 1645 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c: 1646 Likewise. 1647 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c: 1648 Likewise. 1649 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c: 1650 Likewise. 1651 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c: 1652 Likewise. 1653 16542020-04-10 Thomas Schwinge <thomas@codesourcery.com> 1655 1656 * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do 1657 run'. 1658 16592020-04-08 Tobias Burnus <tobias@codesourcery.com> 1660 1661 PR middle-end/94120 1662 * libgomp.oacc-c++/declare-pr94120.C: New. 1663 16642020-04-06 Maciej W. Rozycki <macro@wdc.com> 1665 1666 * configure.ac: Add testsuite/libgomp-site-extra.exp to output 1667 files. 1668 * configure: Regenerate. 1669 * testsuite/libgomp-site-extra.exp.in: New file. 1670 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove 1671 variable. 1672 * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New 1673 variable. 1674 * testsuite/Makefile.in: Regenerate. 1675 16762020-04-03 Thomas Schwinge <thomas@codesourcery.com> 1677 1678 PR tree-optimization/89713 1679 PR c/94392 1680 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect 1681 'bar.sync'. 1682 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise. 1683 16842020-03-31 Tobias Burnus <tobias@codesourcery.com> 1685 1686 * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER. 1687 * testsuite/libgomp.fortran/target-enter-data-1.f90: New. 1688 16892020-03-24 Tobias Burnus <tobias@codesourcery.com> 1690 1691 PR libgomp/81689 1692 * testsuite/libgomp.c/target-link-1.c: Remove xfail. 1693 16942020-03-20 Tobias Burnus <tobias@codesourcery.com> 1695 1696 PR libgomp/94251 1697 * target.c (gomp_load_image_to_device): Fix link 1698 variable handling. 1699 17002020-03-19 Jakub Jelinek <jakub@redhat.com> 1701 1702 PR c++/93931 1703 * testsuite/libgomp.c++/pr93931.C: New test. 1704 17052020-03-19 Tobias Burnus <tobias@codesourcery.com> 1706 1707 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add 1708 dg-allow-blank-lines-in-output. 1709 17102020-03-18 Julian Brown <julian@codesourcery.com> 1711 Tobias Burnus <tobias@codesourcery.com> 1712 1713 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make 1714 it work concurrently. 1715 17162020-03-18 Tobias Burnus <tobias@codesourcery.com> 1717 1718 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add 1719 #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn. 1720 * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise. 1721 17222020-03-14 Jakub Jelinek <jakub@redhat.com> 1723 1724 PR middle-end/93566 1725 * testsuite/libgomp.c/pr93566.c: New test. 1726 17272020-02-21 Frederik Harwath <frederik@codesourcery.com> 1728 1729 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to 1730 changes from 2020-02-19, i.e. use integer(c_size_t) instead of 1731 integer(acc_device_property) for the type of the return value of 1732 acc_get_property. 1733 17342020-02-19 Tobias Burnus <tobias@codesourcery.com> 1735 1736 * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h. 1737 * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current. 1738 (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup. 1739 * libgomp.texi (Enabling OpenACC): No longer mark as experimental. 1740 (acc_set_device_num): Fix Fortran argument name, use same name for C. 1741 (acc_get_property): Update Fortran interface to post-OpenACC 3.0 1742 corrections; add note about the previous interface and named constant. 1743 (OpenACC library and environment variables): Fix two typos. 1744 * openacc.f90: Use for all procedures the argument names from the spec 1745 as for …_h they are user visible. 1746 (openacc_kinds): Rename acc_device_property to 1747 acc_device_property_kinds and change value to int32 ; and update users. 1748 Re-add acc_device_property for for backward compatibility. 1749 (acc_get_property_string_h): Clean up as acc_device_property_kind 1750 changed. 1751 (acc_get_property_h): Likewise and return c_size_t instead of 1752 acc_device_property. 1753 (openacc): Also export acc_device_property_kinds. 1754 (acc_async_test_h, acc_async_test_all_h, acc_on_device_h, 1755 acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value 1756 handling; check against /= 0 instead of == 1 to match C. 1757 * openacc_lib.h: Use for all procedures the argument names from the spec 1758 as for …_h they are user visible. Place !GCC$ into the first column to 1759 be active also for fixed-form souce form. 1760 (acc_device_current, acc_device_property_kind, acc_device_property, 1761 acc_property_memory, acc_property_free_memory, acc_property_name, 1762 acc_property_vendor, acc_property_driver): New named constants. 1763 (acc_get_property, acc_get_property_string): New generic interface. 1764 17652020-02-13 Frederik Harwath <frederik@codesourcery.com> 1766 1767 PR libgomp/93481 1768 * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub. 1769 * target.c (gomp_load_plugin_for_device): Make "async_run" loading 1770 optional. 1771 (gomp_target_task_fn): Assert "devicep->async_run_func". 1772 (clear_unsupported_flags): New function to remove unsupported flags 1773 (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored. 1774 (GOMP_target_ext): Apply clear_unsupported_flags to flags. 1775 * testsuite/libgomp.c/target-33.c: 1776 Remove xfail for offload_target_nvptx. 1777 * testsuite/libgomp.c/target-34.c: Likewise. 1778 17792020-02-10 Frederik Harwath <frederik@codesourcery.com> 1780 1781 * testsuite/libgomp.c/target-33.c: Add xfail for execution on 1782 offload_target_nvptx, cf. https://gcc.gnu.org/PR81688. 1783 * testsuite/libgomp.c/target-34.c: Likewise. 1784 * testsuite/libgomp.c/target-link-1.c: Add xfail for 1785 offload_target_nvptx, cf. https://gcc.gnu.org/PR81689. 1786 17872020-02-09 Jakub Jelinek <jakub@redhat.com> 1788 1789 * testsuite/libgomp.c/target-38.c: New test. 1790 17912020-02-06 Jakub Jelinek <jakub@redhat.com> 1792 1793 PR libgomp/93515 1794 * testsuite/libgomp.c-c++-common/pr93515.c: New test. 1795 17962020-02-05 Tobias Burnus <tobias@codesourcery.com> 1797 1798 * testsuite/lib/libgomp.exp 1799 (check_effective_target_offload_target_nvptx): Pass flags as 'options' 1800 and not as 'source' argument to libgomp_target_compile. 1801 18022020-02-03 Andrew Stubbs <ams@codesourcery.com> 1803 1804 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove. 1805 (gcn_gfx801_s): Remove. 1806 (isa_hsa_name): Remove gfx801. 1807 (isa_gcc_name): Remove gfx801/carizzo. 1808 (isa_code): Remove gfx801. 1809 18102020-02-03 Julian Brown <julian@codesourcery.com> 1811 Tobias Burnus <tobias@codesourcery.com> 1812 1813 * libgomp.texi (OpenACC Runtime Library Routines): Document *_async 1814 and *_finalize variants; document acc_attach and acc_detach; update 1815 references from OpenACC 2.0 to 2.6. 1816 * openacc.f90 (openacc_version): Update to 201711. 1817 * openacc_lib.h (openacc_version): Update to 201711. 1818 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected 1819 openacc_version to 201711. 1820 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise. 1821 18222020-01-31 Kwok Cheung Yeung <kcy@codesourcery.com> 1823 1824 * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count 1825 and vgpr_count fields. 1826 (struct kernel_info): Add a field for a hsa_kernel_description. 1827 (run_kernel): Reduce the number of threads/workers if the requested 1828 number would require too many VGPRs. 1829 (init_basic_kernel_info): Initialize description field with 1830 the hsa_kernel_description entry for the kernel. 1831 18322020-01-29 Tobias Burnus <tobias@codesourcery.com> 1833 1834 PR bootstrap/93409 1835 * plugin/configfrag.ac (enable_offload_targets): Skip 1836 HSA and GCN plugin besides -m32 also for -mx32. 1837 * configure: Regenerate. 1838 18392020-01-29 Frederik Harwath <frederik@codesourcery.com> 1840 1841 * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon. 1842 18432020-01-29 Frederik Harwath <frederik@codesourcery.com> 1844 1845 * plugin-gcn.c (struct agent_info): Add fields "name" and 1846 "vendor_name" ... 1847 (GOMP_OFFLOAD_init_device): ... and init from here. 1848 (struct hsa_context_info): Add field "driver_version_s" ... 1849 (init_hsa_contest): ... and init from here. 1850 (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper 1851 implementation. 1852 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: 1853 Enable test execution for amdgcn and host offloading targets. 1854 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise. 1855 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c 1856 (expect_device_properties): Split function into ... 1857 (expect_device_string_properties): ... this new function ... 1858 (expect_device_memory): ... and this new function. 1859 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c: 1860 Add test. 1861 18622020-01-28 Julian Brown <julian@codesourcery.com> 1863 1864 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here. 1865 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed 1866 component/non-component variable refs in a single directive. 1867 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise. 1868 18692020-01-24 Maciej W. Rozycki <macro@wdc.com> 1870 1871 * configure.ac: Handle `--with-toolexeclibdir='. 1872 * Makefile.in: Regenerate. 1873 * aclocal.m4: Regenerate. 1874 * configure: Regenerate. 1875 * testsuite/Makefile.in: Regenerate. 1876 18772020-01-24 Frederik Harwath <frederik@codesourcery.com> 1878 1879 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c 1880 (expect_device_properties): Remove "expected_free_mem" argument, 1881 change "expected_total_mem" argument type to size_t; 1882 change types of acc_get_property results to size_t, 1883 adapt format strings. 1884 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: 1885 Use %zu instead of %zd to print size_t values. 1886 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and 1887 rename to ... 1888 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this. 1889 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and 1890 rename to ... 1891 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this. 1892 18932020-01-23 Andrew Stubbs <ams@codesourcery.com> 1894 1895 * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for 1896 the device id. 1897 18982020-01-20 Andrew Stubbs <ams@codesourcery.com> 1899 1900 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn. 1901 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main): 1902 Adjust test dimensions for amdgcn. 1903 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust 1904 gang/worker/vector expectations dynamically. 1905 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c 1906 (main): Likewise. 1907 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise. 1908 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise. 1909 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise. 1910 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise. 1911 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise. 1912 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise. 1913 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise. 1914 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise. 1915 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c 1916 (acc_gang): Recognise acc_device_radeon. 1917 (acc_worker): Likewise. 1918 (acc_vector): Likewise. 1919 (main): Set expectations for amdgcn. 1920 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c 1921 (main): Adjust gang/worker/vector expectations dynamically. 1922 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise. 1923 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise. 1924 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise. 1925 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations 1926 for amdgcn. 1927 19282020-01-17 Andrew Stubbs <ams@codesourcery.com> 1929 1930 * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to 1931 acc_device_radeon. 1932 (openacc): Likewise. 1933 * openacc.f90 (openacc_kinds): Likewise. 1934 (openacc): Likewise. 1935 * openacc.h (acc_device_t): Likewise. 1936 * openacc_lib.h: Likewise. 1937 * testsuite/lib/libgomp.exp 1938 (check_effective_target_openacc_amdgcn_accel_present): Likewise. 1939 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c 1940 (cb_compute_construct_end): Likewise. 1941 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c 1942 (cb_enqueue_launch_start): Likewise. 1943 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c 1944 (cb_enter_data_end): Likewise. 1945 (cb_exit_data_start): Likewise. 1946 (cb_exit_data_end): Likewise. 1947 (cb_compute_construct_end): Likewise. 1948 (cb_enqueue_launch_start): Likewise. 1949 (cb_enqueue_launch_end): Likewise. 1950 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c 1951 (main): Likewise. 1952 19532020-01-10 Thomas Schwinge <thomas@codesourcery.com> 1954 1955 * libgomp-plugin.h (enum goacc_property): New. Adjust all users 1956 to use this instead of 'enum gomp_device_property'. 1957 (GOMP_OFFLOAD_get_property): Rename to... 1958 (GOMP_OFFLOAD_openacc_get_property): ... this. Adjust all users. 1959 * libgomp.h (struct gomp_device_descr): Move 1960 'GOMP_OFFLOAD_openacc_get_property'... 1961 (struct acc_dispatch_t): ... here. Adjust all users. 1962 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove. 1963 1964 * target.c (gomp_map_vars_internal) 1965 <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code 1966 paths. 1967 19682020-01-10 Jakub Jelinek <jakub@redhat.com> 1969 1970 PR libgomp/93219 1971 * libgomp.h (gomp_print_string): Change return type from void to int. 1972 * affinity-fmt.c (gomp_print_string): Likewise. Return true if 1973 not all characters have been written. 1974 19752020-01-08 Tobias Burnus <tobias@codesourcery.com> 1976 1977 * libgomp.texi: Fix typos, use https. 1978 19792020-01-03 Tobias Burnus <tobias@codesourcery.com> 1980 1981 * testsuite/libgomp.fortran/optional-map.f90: Add test for 1982 unallocated/disassociated actual arguments to nonallocatable/nonpointer 1983 dummy arguments; those are/shall be regarded as absent arguments. 1984 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto. 1985 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New. 1986 19872020-01-01 Jakub Jelinek <jakub@redhat.com> 1988 1989 Update copyright years. 1990 1991 * libgomp.texi: Bump @copying's copyright year. 1992 19932019-12-31 Ayush Mittal <ayush.m@samsung.com> 1994 1995 PR libgomp/93065 1996 * oacc-init.c (goacc_runtime_deinitialize): New function. 1997 19982019-12-28 Jakub Jelinek <jakub@redhat.com> 1999 2000 PR bootstrap/93074 2001 * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare. 2002 (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2. 2003 20042019-12-22 Maciej W. Rozycki <macro@codesourcery.com> 2005 Frederik Harwath <frederik@codesourcery.com> 2006 Thomas Schwinge <tschwinge@codesourcery.com> 2007 2008 * libgomp.h (gomp_device_descr): Add `get_property_func' member. 2009 * libgomp-plugin.h (gomp_device_property_value): New union. 2010 (gomp_device_property_value): New prototype. 2011 * openacc.h (acc_device_t): Add `acc_device_current' enumeration 2012 constant. 2013 (acc_device_property_t): New enum. 2014 (acc_get_property, acc_get_property_string): New prototypes. 2015 * oacc-init.c (acc_get_device_type): Also assert that result 2016 is not `acc_device_current'. 2017 (get_property_any, acc_get_property, acc_get_property_string): 2018 New functions. 2019 * openacc.f90 (openacc_kinds): Add `acc_device_current' and 2020 `acc_property_memory', `acc_property_free_memory', 2021 `acc_property_name', `acc_property_vendor' and 2022 `acc_property_driver' constants. Add `acc_device_property' data 2023 type. 2024 (openacc_internal): Add `acc_get_property' and 2025 `acc_get_property_string' interfaces. Add `acc_get_property_h', 2026 `acc_get_property_string_h', `acc_get_property_l' and 2027 `acc_get_property_string_l'. 2028 * oacc-host.c (host_get_property): New function. 2029 (host_dispatch): Wire it. 2030 * target.c (gomp_load_plugin_for_device): Handle `get_property'. 2031 * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_', 2032 `acc_get_property_string' and `acc_get_property_string_h_' symbols. 2033 * libgomp.texi (OpenACC Runtime Library Routines): Add 2034 `acc_get_property'. 2035 (acc_get_property): New node. 2036 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New 2037 function (stub). 2038 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function. 2039 * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName', 2040 `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo' 2041 calls. 2042 (GOMP_OFFLOAD_get_property): New function. 2043 (struct ptx_device): Add new field "name". 2044 (cuda_driver_version_s): Add new static variable ... 2045 (nvptx_init): ... and init from here. 2046 2047 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test. 2048 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test. 2049 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test. 2050 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file 2051 with test helper functions. 2052 2053 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test. 2054 20552019-12-22 Maciej W. Rozycki <macro@wdc.com> 2056 2057 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New 2058 variable. 2059 20602019-12-21 Thomas Schwinge <thomas@codesourcery.com> 2061 2062 * target.c (gomp_map_vars_internal): Restore 'omp declare target 2063 link' handling. 2064 20652019-12-19 Julian Brown <julian@codesourcery.com> 2066 2067 * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test. 2068 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test. 2069 * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test. 2070 20712019-12-19 Julian Brown <julian@codesourcery.com> 2072 Cesar Philippidis <cesar@codesourcery.com> 2073 2074 * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test. 2075 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test. 2076 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test. 2077 * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test. 2078 * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test. 2079 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test. 2080 * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test. 2081 * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test. 2082 * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test. 2083 * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test. 2084 * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test. 2085 * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test. 2086 * testsuite/libgomp.oacc-fortran/update-2.f90: New test. 2087 20882019-12-19 Julian Brown <julian@codesourcery.com> 2089 2090 * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test. 2091 * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test. 2092 * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test. 2093 * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test. 2094 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test. 2095 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test. 2096 * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test. 2097 * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test. 2098 * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test. 2099 * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test. 2100 * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test. 2101 * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test. 2102 21032019-12-19 Julian Brown <julian@codesourcery.com> 2104 2105 * libgomp.h (struct target_var_desc): Add do_detach flag. 2106 * oacc-init.c (acc_shutdown_1): Free aux block if present. 2107 * oacc-mem.c (find_group_last): Add SIZES parameter. Support 2108 struct components. Tidy up and add some new checks. 2109 (goacc_enter_data_internal): Update call to find_group_last. 2110 (goacc_exit_data_internal): Support detach operations and 2111 GOMP_MAP_STRUCT. 2112 (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or 2113 GOMP_MAP_FORCE_PRESENT in finalization detection code. Handle 2114 attach/detach in enter/exit data detection code. 2115 * target.c (gomp_map_vars_existing): Initialise do_detach field of 2116 tgt_var_desc. 2117 (gomp_map_vars_internal): Support attach. 2118 (gomp_unmap_vars_internal): Support detach. 2119 21202019-12-19 Julian Brown <julian@codesourcery.com> 2121 Thomas Schwinge <thomas@codesourcery.com> 2122 2123 * libgomp.h (struct splay_tree_aux): Add attach_count field. 2124 (gomp_attach_pointer, gomp_detach_pointer): Add prototypes. 2125 * libgomp.map (OACC_2.6): New section. Add acc_attach, 2126 acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize, 2127 acc_detach_finalize_async. 2128 * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal, 2129 acc_detach, acc_detach_async, acc_detach_finalize, 2130 acc_detach_finalize_async): New functions. 2131 * openacc.h (acc_attach, acc_attach_async, acc_detach, 2132 (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add 2133 prototypes. 2134 * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions. 2135 (gomp_remove_var_internal): Free attachment counts if present. 2136 * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test. 2137 * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test. 2138 21392019-12-19 Julian Brown <julian@codesourcery.com> 2140 Cesar Philippidis <cesar@codesourcery.com> 2141 2142 * libgomp.h (gomp_map_val): Add prototype. 2143 * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of 2144 open-coding device-address calculation. 2145 * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in 2146 non-present case. 2147 21482019-12-19 Julian Brown <julian@codesourcery.com> 2149 2150 * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount 2151 field for virtual_refcount. 2152 (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA. 2153 (gomp_free_memmap): Remove prototype. 2154 * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var 2155 instead of calling gomp_free_memmap. 2156 * oacc-mem.c (acc_map_data): Use virtual_refcount instead of 2157 dynamic_refcount. 2158 (acc_unmap_data): Open code instead of forcing target_mem_desc's 2159 to_free field to NULL then calling gomp_unmap_vars. Handle 2160 REFCOUNT_INFINITY on target blocks. 2161 (goacc_enter_data): Rename to... 2162 (goacc_enter_datum): ...this. Remove MAPNUM parameter and special 2163 handling for mapping groups. Use virtual_refcount instead of 2164 dynamic_refcount. Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for 2165 map_map_vars_async call. Re-do lookup for target pointer return value. 2166 (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call 2167 renamed goacc_enter_datum function. 2168 (goacc_exit_data): Rename to... 2169 (goacc_exit_datum): ...this. Update for virtual_refcount semantics. 2170 (acc_delete, acc_delete_async, acc_delete_finalize, 2171 acc_delete_finalize_async, acc_copyout, acc_copyout_async, 2172 acc_copyout_finalize, acc_copyout_finalize_async): Call renamed 2173 goacc_exit_datum function. 2174 (gomp_acc_remove_pointer, find_pointer): Remove functions. 2175 (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal): 2176 New functions. 2177 (GOACC_enter_exit_data): Use goacc_enter_data_internal and 2178 goacc_exit_data_internal helper functions. 2179 * target.c (gomp_map_vars_internal): Handle 2180 GOMP_MAP_VARS_OPENACC_ENTER_DATA. Update for virtual_refcount 2181 semantics. 2182 (gomp_unmap_vars_internal): Update for virtual_refcount semantics. 2183 (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise 2184 virtual_refcount field instead of dynamic_refcount. 2185 (gomp_free_memmap): Remove function. 2186 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test. 2187 * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test. 2188 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL. 2189 21902019-12-19 Julian Brown <julian@codesourcery.com> 2191 Thomas Schwinge <thomas@codesourcery.com> 2192 2193 * libgomp.h (struct splay_tree_aux): New. 2194 (struct splay_tree_key_s): Replace link_key field with aux pointer. 2195 * target.c (gomp_map_vars_internal): Adjust for link_key being moved 2196 to aux struct. 2197 (gomp_remove_var_internal): Free aux block if present. 2198 (gomp_load_image_to_device): Zero-initialise aux field instead of 2199 link_key field. 2200 (omp_target_associate_pointer): Zero-initialise aux field. 2201 22022019-12-18 Jakub Jelinek <jakub@redhat.com> 2203 2204 PR middle-end/86416 2205 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than 2206 q or none. 2207 * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than 2208 L or none. 2209 22102019-12-19 Julian Brown <julian@codesourcery.com> 2211 Maciej W. Rozycki <macro@codesourcery.com> 2212 Tobias Burnus <tobias@codesourcery.com> 2213 Thomas Schwinge <thomas@codesourcery.com> 2214 2215 * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC. 2216 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test. 2217 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test. 2218 * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test. 2219 * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test. 2220 * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test. 2221 * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test. 2222 * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test. 2223 * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test. 2224 22252019-12-18 Thomas Schwinge <thomas@codesourcery.com> 2226 2227 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be 2228 called... 2229 (goacc_insert_pointer): ... from here, "present" case. 2230 (goacc_insert_pointer): Inline function into... 2231 (GOACC_enter_exit_data): ... here, and simplify. 2232 2233 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be 2234 called... 2235 (goacc_insert_pointer): ... from here, "not present" case. 2236 2237 * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust 2238 all users. 2239 2240 * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call 2241 'goacc_enter_data', 'goacc_exit_data'. 2242 2243 * oacc-mem.c (delete_copyout): Refactor into... 2244 (goacc_exit_data): ... this. Adjust all users. 2245 2246 * oacc-mem.c (present_create_copy): Refactor into... 2247 (goacc_enter_data): ... this. Adjust all users. 2248 2249 * target.c (gomp_unmap_vars_internal): Add a safeguard to 2250 'gomp_remove_var'. 2251 2252 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM' 2253 like 'GOMP_MAP_FROM'. 2254 2255 PR libgomp/92726 2256 PR libgomp/92970 2257 PR libgomp/92984 2258 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host' 2259 fails. 2260 (GOACC_enter_exit_data): Simplify accordingly. 2261 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file, 2262 subsuming... 2263 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file... 2264 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this 2265 file. 2266 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file, 2267 subsuming... 2268 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file... 2269 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this 2270 file. 2271 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file, 2272 subsuming... 2273 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file. 2274 2275 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data' 2276 'finalize' handling. 2277 2278 PR libgomp/92848 2279 * oacc-mem.c (acc_map_data, present_create_copy) 2280 (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'. 2281 (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust. 2282 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove. 2283 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file 2284 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise. 2285 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise. 2286 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise. 2287 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c: 2288 Remove "XFAIL"s. 2289 2290 * target.c (gomp_unmap_tgt): Make it 'static'. 2291 * libgomp.h (gomp_unmap_tgt): Remove. 2292 22932019-12-18 Tobias Burnus <tobias@codesourcery.com> 2294 2295 PR middle-end/86416 2296 * testsuite/libgomp.c/pr86416-1.c: New. 2297 * testsuite/libgomp.c/pr86416-2.c: New. 2298 22992019-12-17 Tobias Burnus <tobias@codesourcery.com> 2300 2301 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark 2302 all symbols as public except for the 'use …, only' imported symbol, 2303 which is private. 2304 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark 2305 all symbols from module openacc_kinds as PUBLIC 2306 * openacc.f90: Add comment with crossref to that file and openmp_lib.h; 2307 fix comment typo. 2308 * openacc_lib.h (acc_device_gcn): Add this PARAMETER. 2309 23102019-12-13 Julian Brown <julian@codesourcery.com> 2311 2312 PR libgomp/92881 2313 2314 * libgomp.h (gomp_remove_var_async): Add prototype. 2315 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of 2316 gomp_remove_var. 2317 * target.c (gomp_unref_tgt): Change return type to bool, indicating 2318 whether target_mem_desc was unmapped. 2319 (gomp_unref_tgt_void): New. 2320 (gomp_remove_var): Reimplement in terms of... 2321 (gomp_remove_var_internal): ...this new helper function. 2322 (gomp_remove_var_async): New, implemented using above helper function. 2323 (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of 2324 gomp_unref_tgt. 2325 23262019-12-13 Andrew Stubbs <ams@codesourcery.com> 2327 2328 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn. 2329 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise. 2330 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise. 2331 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise. 2332 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: 2333 Likewise. 2334 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN. 2335 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise. 2336 23372019-12-13 Tobias Burnus <tobias@codesourcery.com> 2338 2339 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols 2340 as public except for the 'use …, only' imported symbol, which is 2341 private. 2342 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark 2343 all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC 2344 attributes for acc_copyout_finalize and acc_delete_finalize. 2345 23462019-12-11 Jakub Jelinek <jakub@redhat.com> 2347 2348 PR fortran/92899 2349 * testsuite/libgomp.fortran/atomic1.f90: New test. 2350 23512019-12-11 Thomas Schwinge <thomas@codesourcery.com> 2352 2353 PR libgomp/92843 2354 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic 2355 reference counting for structured 'REFCOUNT_INFINITY'. Add some 2356 assertions. 2357 (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly. 2358 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file. 2359 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC. 2360 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise. 2361 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise. 2362 2363 * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move... 2364 * oacc-mem.c: ... here. 2365 (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to 2366 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'. 2367 * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer): 2368 Remove. 2369 * libgomp_g.h: Update. 2370 2371 * oacc-parallel.c (GOACC_wait, goacc_wait): Move... 2372 * oacc-async.c: ... here. 2373 * oacc-int.h (goacc_wait): Declare. 2374 * libgomp_g.h: Update 2375 2376 PR libgomp/92854 2377 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c: 2378 New file. 2379 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c: 2380 Likewise. 2381 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c: 2382 Likewise. 2383 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c: 2384 Likewise. 2385 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c: 2386 Likewise. 2387 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c: 2388 Likewise. 2389 23902019-12-11 Thomas Schwinge <thomas@codesourcery.com> 2391 Julian Brown <julian@codesourcery.com> 2392 2393 * target.c (gomp_load_image_to_device, omp_target_associate_ptr): 2394 Initialize 'dynamic_refcount' whenever we initialize 'refcount'. 2395 23962019-12-11 Tobias Burnus <tobias@codesourcery.com> 2397 2398 * omp_lib.h.in: Fix spelling of function declaration 2399 omp_get_cancell(l)ation. 2400 * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all): 2401 Fix typos. 2402 * env.c: Fix comment typos. 2403 * oacc-host.c: Likewise. 2404 * ordered.c: Likewise. 2405 * task.c: Likewise. 2406 * team.c: Likewise. 2407 * config/gcn/task.c: Likewise. 2408 * config/gcn/team.c: Likewise. 2409 * config/nvptx/task.c: Likewise. 2410 * config/nvptx/team.c: Likewise. 2411 * plugin/plugin-gcn.c: Likewise. 2412 * testsuite/libgomp.fortran/jacobi.f: Likewise. 2413 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise. 2414 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise. 2415 24162019-12-11 Tobias Burnus <tobias@codesourcery.com> 2417 2418 * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'. 2419 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove 2420 unnecessary 'dg-additional-options "-w"'. 2421 24222019-12-09 Thomas Schwinge <thomas@codesourcery.com> 2423 Julian Brown <julian@codesourcery.com> 2424 2425 PR libgomp/92116 2426 PR libgomp/92877 2427 2428 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users. 2429 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member. 2430 Adjust all users. 2431 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c: 2432 Remove XFAIL. 2433 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c: 2434 Likewise. 2435 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file. 2436 24372019-12-09 Thomas Schwinge <thomas@codesourcery.com> 2438 2439 PR libgomp/92503 2440 * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'. 2441 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New 2442 file. 2443 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c: 2444 Likewise. 2445 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c: 2446 Likewise. 2447 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c: 2448 Likewise. 2449 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c: 2450 Likewise. 2451 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c: 2452 Likewise. 2453 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust. 2454 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise. 2455 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise. 2456 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise. 2457 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise. 2458 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise. 2459 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise. 2460 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise. 2461 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise. 2462 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise. 2463 2464 PR libgomp/92840 2465 * oacc-mem.c (acc_map_data): Clarify reference counting behavior. 2466 (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'. 2467 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c: 2468 New file. 2469 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c: 2470 Likewise. 2471 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c: 2472 Likewise. 2473 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust. 2474 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust. 2475 2476 PR libgomp/92511 2477 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove 2478 this file... 2479 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and 2480 this file... 2481 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this 2482 file... 2483 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this 2484 file... 2485 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c: 2486 ... with their content moved into, and extended in this new file. 2487 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c: 2488 New file. 2489 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c: 2490 Likewise. 2491 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c: 2492 Likewise. 2493 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c: 2494 Likewise. 2495 2496 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file. 2497 2498 PR libgomp/92854 2499 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file. 2500 2501 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file. 2502 2503 * target.c (gomp_exit_data): Use 'gomp_remove_var'. 2504 25052019-12-09 Tobias Burnus <tobias@codesourcery.com> 2506 2507 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes 2508 unique. 2509 * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto. 2510 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto. 2511 * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto. 2512 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: 2513 Ditto. 2514 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto. 2515 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto. 2516 25172019-12-06 Kwok Cheung Yeung <kcy@codesourcery.com> 2518 2519 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro. 2520 25212019-12-06 Tobias Burnus <tobias@codesourcery.com> 2522 Kwok Cheung Yeung <kcy@codesourcery.com> 2523 2524 * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return 2525 if input it a NULL pointer. 2526 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on 2527 diagnostic of NULL pointer. 2528 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto. 2529 * testsuite/libgomp.fortran/optional-map.f90: New. 2530 * testsuite/libgomp.fortran/use_device_addr-1.f90 2531 (test_dummy_opt_callee_1_absent): New. 2532 (test_dummy_opt_call_1): Call it. 2533 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise. 2534 * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise. 2535 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise. 2536 * testsuite/libgomp.oacc-fortran/optional-cache.f95: New. 2537 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New. 2538 * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New. 2539 * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New. 2540 * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New. 2541 * testsuite/libgomp.oacc-fortran/optional-declare.f90: New. 2542 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New. 2543 * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New. 2544 * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New. 2545 * testsuite/libgomp.oacc-fortran/optional-private.f90: New. 2546 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New. 2547 * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New. 2548 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New. 2549 25502019-12-05 Tobias Burnus <tobias@codesourcery.com> 2551 2552 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't 2553 expect dg-output of 'Error termination.' for GCN. 2554 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise. 2555 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise. 2556 25572019-12-04 Jakub Jelinek <jakub@redhat.com> 2558 2559 PR fortran/92756 2560 * testsuite/libgomp.fortran/teams1.f90: New test. 2561 * testsuite/libgomp.fortran/teams2.f90: New test. 2562 25632019-12-03 Frederik Harwath <frederik@codesourcery.com> 2564 2565 * oacc-init.c (acc_known_device_type): Add function. 2566 (unknown_device_type_error): Add function. 2567 (name_of_acc_device_t): Change to call unknown_device_type_error 2568 on unknown type. 2569 (resolve_device): Use acc_known_device_type. 2570 (acc_init): Fail if acc_device_t argument is not valid. 2571 (acc_shutdown): Likewise. 2572 (acc_get_num_devices): Likewise. 2573 (acc_set_device_type): Likewise. 2574 (acc_get_device_num): Likewise. 2575 (acc_set_device_num): Likewise. 2576 (acc_on_device): Add comment that argument validity is not checked. 2577 25782019-12-03 Andrew Stubbs <ams@codesourcery.com> 2579 2580 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type): 2581 Recognize amdgcn. 2582 (check_effective_target_openacc_amdgcn_accel_present): New proc. 2583 (check_effective_target_openacc_amdgcn_accel_selected): New proc. 2584 * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn. 2585 * testsuite/libgomp.oacc-c/c.exp: Likewise. 2586 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 2587 25882019-12-03 Szabolcs Nagy <szabolcs.nagy@arm.com> 2589 2590 PR libgomp/91938 2591 * configure.tgt: Avoid IE tls on *-*-musl*. 2592 25932019-11-29 Tobias Burnus <tobias@codesourcery.com> 2594 2595 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by 2596 adding a common-block test case. 2597 25982019-11-29 Jakub Jelinek <jakub@redhat.com> 2599 2600 PR c++/60228 2601 * testsuite/libgomp.c++/udr-20.C: New test. 2602 * testsuite/libgomp.c++/udr-21.C: New test. 2603 26042019-11-27 Thomas Schwinge <thomas@codesourcery.com> 2605 2606 * testsuite/lib/libgomp.exp 2607 (check_effective_target_offload_target_nvptx): New proc. 2608 * testsuite/libgomp.fortran/target-print-1.f90: Use it with 2609 'dg-skip-if'. 2610 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise. 2611 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file. 2612 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise. 2613 26142019-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2615 2616 * testsuite/libgomp.c/pr39591-1.c: Rename err to e. 2617 * testsuite/libgomp.c/pr39591-2.c: Likewise. 2618 * testsuite/libgomp.c/pr39591-3.c: Likewise. 2619 * testsuite/libgomp.c/private-1.c: Likewise. 2620 * testsuite/libgomp.c/task-1.c: Likewise. 2621 * testsuite/libgomp.c/task-5.c: Renamed err to serr. 2622 26232019-11-20 Julian Brown <julian@codesourcery.com> 2624 2625 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock 2626 aq->mutex here. 2627 (queue_push_launch): Lock aq->mutex before calling 2628 wait_for_queue_nonfull. 2629 (queue_push_callback): Likewise. 2630 (queue_push_asyncwait): Likewise. 2631 (queue_push_placeholder): Likewise. 2632 26332019-11-20 Julian Brown <julian@codesourcery.com> 2634 2635 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New. 2636 (copy_data, GOMP_OFFLOAD_host2dev): Use above function. 2637 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy 2638 return code. 2639 26402019-11-20 Julian Brown <julian@codesourcery.com> 2641 2642 PR libgomp/92511 2643 2644 * oacc-mem.c (present_create_copy): Fix device pointer return value in 2645 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free 2646 in non-present/create case. 2647 (delete_copyout): Change error condition to fail only on copies outside 2648 of mapped block. Adjust error message accordingly. 2649 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test. 2650 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test. 2651 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error 2652 message. 2653 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. 2654 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now. 2655 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise. 2656 26572019-11-20 Maciej W. Rozycki <macro@wdc.com> 2658 2659 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find 2660 libatomic in build-tree testing. 2661 26622019-11-18 Maciej W. Rozycki <macro@wdc.com> 2663 2664 * testsuite/Makefile.in: Regenerate. 2665 26662019-11-15 Andrew Stubbs <ams@codesourcery.com> 2667 2668 * testsuite/libgomp.c/target-print-1.c: New file. 2669 * testsuite/libgomp.fortran/target-print-1.f90: New file. 2670 * testsuite/libgomp.oacc-c/print-1.c: New file. 2671 * testsuite/libgomp.oacc-fortran/print-1.f90: New file. 2672 26732019-11-13 Andrew Stubbs <ams@codesourcery.com> 2674 Kwok Cheung Yeung <kcy@codesourcery.com> 2675 Julian Brown <julian@codesourcery.com> 2676 Tom de Vries <tom@codesourcery.com> 2677 2678 * plugin/Makefrag.am: Add amdgcn plugin support. 2679 * plugin/configfrag.ac: Likewise. 2680 * plugin/plugin-gcn.c: New file. 2681 * configure: Regenerate. 2682 * Makefile.in: Regenerate. 2683 * testsuite/Makefile.in: Regenerate. 2684 26852019-11-13 Andrew Stubbs <ams@codesourcery.com> 2686 2687 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena 2688 and use team_malloc variants. 2689 (gomp_gcn_exit_kernel): Use team_free. 2690 * libgomp.h (TEAM_ARENA_SIZE): Define. 2691 (TEAM_ARENA_START): Define. 2692 (TEAM_ARENA_FREE): Define. 2693 (TEAM_ARENA_END): Define. 2694 (team_malloc): New function. 2695 (team_malloc_cleared): New function. 2696 (team_free): New function. 2697 * team.c (gomp_new_team): Initialize and use team_malloc. 2698 (free_team): Use team_free. 2699 (gomp_free_thread): Use team_free. 2700 (gomp_pause_host): Use team_free. 2701 * work.c (gomp_init_work_share): Use team_malloc. 2702 (gomp_fini_work_share): Use team_free. 2703 27042019-11-13 Andrew Stubbs <ams@codesourcery.com> 2705 Kwok Cheung Yeung <kcy@codesourcery.com> 2706 Julian Brown <julian@codesourcery.com> 2707 Tom de Vries <tom@codesourcery.com> 2708 2709 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c. 2710 * Makefile.in: Regenerate. 2711 * config.h.in (PLUGIN_GCN): Add new undef. 2712 * config/accel/openacc.f90 (acc_device_gcn): New parameter. 2713 * config/gcn/affinity-fmt.c: New file. 2714 * config/gcn/bar.c: New file. 2715 * config/gcn/bar.h: New file. 2716 * config/gcn/doacross.h: New file. 2717 * config/gcn/icv-device.c: New file. 2718 * config/gcn/oacc-target.c: New file. 2719 * config/gcn/simple-bar.h: New file. 2720 * config/gcn/target.c: New file. 2721 * config/gcn/task.c: New file. 2722 * config/gcn/team.c: New file. 2723 * config/gcn/time.c: New file. 2724 * configure.ac: Add amdgcn*-*-*. 2725 * configure: Regenerate. 2726 * configure.tgt: Add amdgcn*-*-*. 2727 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN. 2728 * libgomp.h (gcn_thrs): Add amdgcn variant. 2729 (set_gcn_thrs): Likewise. 2730 (gomp_thread): Likewise. 2731 * oacc-int.h (goacc_thread): Likewise. 2732 * oacc-target.c: New file. 2733 * openacc.f90 (acc_device_gcn): New parameter. 2734 * openacc.h (acc_device_t): Add acc_device_gcn. 2735 * team.c (gomp_free_pool_helper): Add amdgcn support. 2736 27372019-11-13 Andrew Stubbs <ams@codesourcery.com> 2738 Julian Brown <julian@codesourcery.com> 2739 2740 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int 2741 parameter. 2742 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the 2743 queue constructor. 2744 * oacc-host.c (host_openacc_async_construct): Add device parameter. 2745 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add 2746 device parameter. 2747 27482019-11-13 Andrew Stubbs <ams@codesourcery.com> 2749 2750 * configure.tgt (nvptx*-*-*): Add "accel" directory. 2751 * config/nvptx/libgomp-plugin.c: Move ... 2752 * config/accel/libgomp-plugin.c: ... to here. 2753 * config/nvptx/lock.c: Move ... 2754 * config/accel/lock.c: ... to here. 2755 * config/nvptx/mutex.c: Move ... 2756 * config/accel/mutex.c: ... to here. 2757 * config/nvptx/mutex.h: Move ... 2758 * config/accel/mutex.h: ... to here. 2759 * config/nvptx/oacc-async.c: Move ... 2760 * config/accel/oacc-async.c: ... to here. 2761 * config/nvptx/oacc-cuda.c: Move ... 2762 * config/accel/oacc-cuda.c: ... to here. 2763 * config/nvptx/oacc-host.c: Move ... 2764 * config/accel/oacc-host.c: ... to here. 2765 * config/nvptx/oacc-init.c: Move ... 2766 * config/accel/oacc-init.c: ... to here. 2767 * config/nvptx/oacc-mem.c: Move ... 2768 * config/accel/oacc-mem.c: ... to here. 2769 * config/nvptx/oacc-plugin.c: Move ... 2770 * config/accel/oacc-plugin.c: ... to here. 2771 * config/nvptx/omp-lock.h: Move ... 2772 * config/accel/omp-lock.h: ... to here. 2773 * config/nvptx/openacc.f90: Move ... 2774 * config/accel/openacc.f90: ... to here. 2775 * config/nvptx/pool.h: Move ... 2776 * config/accel/pool.h: ... to here. 2777 * config/nvptx/proc.c: Move ... 2778 * config/accel/proc.c: ... to here. 2779 * config/nvptx/ptrlock.c: Move ... 2780 * config/accel/ptrlock.c: ... to here. 2781 * config/nvptx/ptrlock.h: Move ... 2782 * config/accel/ptrlock.h: ... to here. 2783 * config/nvptx/sem.c: Move ... 2784 * config/accel/sem.c: ... to here. 2785 * config/nvptx/sem.h: Move ... 2786 * config/accel/sem.h: ... to here. 2787 * config/nvptx/thread-stacksize.h: Move ... 2788 * config/accel/thread-stacksize.h: ... to here. 2789 27902019-11-12 Maciej W. Rozycki <macro@codesourcery.com> 2791 Tobias Burnus <tobias@codesourcery.com> 2792 Frederik Harwath <frederik@codesourcery.com> 2793 Thomas Schwinge <thomas@codesourcery.com> 2794 2795 libgomp/ 2796 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test. 2797 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test. 2798 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test. 2799 28002019-11-11 Tobias Burnus <tobias@codesourcery.com> 2801 Kwok Cheung Yeung <kcy@codesourcery.com> 2802 2803 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend. 2804 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New. 2805 28062019-11-11 Thomas Schwinge <thomas@codesourcery.com> 2807 2808 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'. 2809 2810 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do 2811 run'. 2812 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise. 2813 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise. 2814 28152019-11-06 Thomas Schwinge <thomas@codesourcery.com> 2816 2817 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: 2818 Add expected warnings about missing reduction clauses. 2819 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: 2820 Likewise. 2821 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: 2822 Likewise. 2823 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: 2824 Likewise. 2825 28262019-11-04 Tobias Burnus <tobias@codesourcery.com> 2827 2828 * testsuite/libgomp.fortran/pr66199-1.f90: Remove 2829 'dg-do run' (implies torture test) as 'dg-options "O2"' is used. 2830 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto. 2831 * testsuite/libgomp.fortran/taskloop2.f90: Ditto. 2832 * testsuite/libgomp.fortran/taskloop3.f90: Ditto. 2833 * testsuite/libgomp.fortran/taskloop4.f90: Ditto. 2834 28352019-11-04 Tobias Burnus <tobias@codesourcery.com> 2836 2837 PR fortran/92305 2838 * testsuite/libgomp.fortran/allocatable2.f90: Use 2839 unique numbers with 'stop'. 2840 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto. 2841 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto. 2842 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto. 2843 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto. 2844 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto. 2845 28462019-11-01 Tobias Burnus <tobias@codesourcery.com> 2847 2848 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1, 2849 test_dummy_opt_nullptr_callee_1): Add present but unallocated test. 2850 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise. 2851 * testsuite/libgomp.fortran/use_device_addr-3.f90: New. 2852 * testsuite/libgomp.fortran/use_device_addr-4.f90: New. 2853 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New. 2854 28552019-10-30 Tobias Burnus <tobias@codesourcery.com> 2856 2857 * testsuite/libgomp.fortran/target9.f90: New. 2858 28592019-10-30 Tobias Burnus <tobias@codesourcery.com> 2860 2861 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'. 2862 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto. 2863 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto. 2864 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto. 2865 * testsuite/libgomp.fortran/allocatable1.f90: Ditto. 2866 * testsuite/libgomp.fortran/allocatable10.f90: Ditto. 2867 * testsuite/libgomp.fortran/allocatable11.f90: Ditto. 2868 * testsuite/libgomp.fortran/allocatable12.f90: Ditto. 2869 * testsuite/libgomp.fortran/allocatable2.f90: Ditto. 2870 * testsuite/libgomp.fortran/allocatable3.f90: Ditto. 2871 * testsuite/libgomp.fortran/allocatable4.f90: Ditto. 2872 * testsuite/libgomp.fortran/allocatable5.f90: Ditto. 2873 * testsuite/libgomp.fortran/allocatable6.f90: Ditto. 2874 * testsuite/libgomp.fortran/allocatable7.f90: Ditto. 2875 * testsuite/libgomp.fortran/allocatable8.f90: Ditto. 2876 * testsuite/libgomp.fortran/allocatable9.f90: Ditto. 2877 * testsuite/libgomp.fortran/associate1.f90: Ditto. 2878 * testsuite/libgomp.fortran/associate2.f90: Ditto. 2879 * testsuite/libgomp.fortran/associate3.f90: Ditto. 2880 * testsuite/libgomp.fortran/async_io_4.f90: Ditto. 2881 * testsuite/libgomp.fortran/async_io_5.f90: Ditto. 2882 * testsuite/libgomp.fortran/async_io_6.f90: Ditto. 2883 * testsuite/libgomp.fortran/async_io_7.f90: Ditto. 2884 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto. 2885 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto. 2886 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto. 2887 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto. 2888 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto. 2889 * testsuite/libgomp.fortran/character1.f90: Ditto. 2890 * testsuite/libgomp.fortran/character2.f90: Ditto. 2891 * testsuite/libgomp.fortran/collapse1.f90: Ditto. 2892 * testsuite/libgomp.fortran/collapse2.f90: Ditto. 2893 * testsuite/libgomp.fortran/collapse3.f90: Ditto. 2894 * testsuite/libgomp.fortran/collapse4.f90: Ditto. 2895 * testsuite/libgomp.fortran/crayptr1.f90: Ditto. 2896 * testsuite/libgomp.fortran/crayptr2.f90: Ditto. 2897 * testsuite/libgomp.fortran/crayptr3.f90: Ditto. 2898 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto. 2899 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto. 2900 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto. 2901 * testsuite/libgomp.fortran/depend-1.f90: Ditto. 2902 * testsuite/libgomp.fortran/depend-2.f90: Ditto. 2903 * testsuite/libgomp.fortran/depend-3.f90: Ditto. 2904 * testsuite/libgomp.fortran/do1.f90: Ditto. 2905 * testsuite/libgomp.fortran/do2.f90: Ditto. 2906 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto. 2907 * testsuite/libgomp.fortran/doacross1.f90: Ditto. 2908 * testsuite/libgomp.fortran/doacross2.f90: Ditto. 2909 * testsuite/libgomp.fortran/doacross3.f90: Ditto. 2910 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto. 2911 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto. 2912 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto. 2913 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto. 2914 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto. 2915 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto. 2916 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto. 2917 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto. 2918 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto. 2919 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto. 2920 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto. 2921 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto. 2922 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto. 2923 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto. 2924 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto. 2925 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto. 2926 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto. 2927 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto. 2928 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto. 2929 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto. 2930 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto. 2931 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto. 2932 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto. 2933 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto. 2934 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto. 2935 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto. 2936 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto. 2937 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto. 2938 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto. 2939 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto. 2940 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto. 2941 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto. 2942 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto. 2943 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto. 2944 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto. 2945 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto. 2946 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto. 2947 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto. 2948 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto. 2949 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto. 2950 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto. 2951 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto. 2952 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto. 2953 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto. 2954 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto. 2955 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto. 2956 * testsuite/libgomp.fortran/lib1.f90: Ditto. 2957 * testsuite/libgomp.fortran/lib4.f90: Ditto. 2958 * testsuite/libgomp.fortran/lock-1.f90: Ditto. 2959 * testsuite/libgomp.fortran/lock-2.f90: Ditto. 2960 * testsuite/libgomp.fortran/nested1.f90: Ditto. 2961 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto. 2962 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto. 2963 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto. 2964 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto. 2965 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto. 2966 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto. 2967 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto. 2968 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto. 2969 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto. 2970 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto. 2971 * testsuite/libgomp.fortran/omp_cond1.f: Ditto. 2972 * testsuite/libgomp.fortran/omp_cond2.f: Ditto. 2973 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto. 2974 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto. 2975 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto. 2976 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto. 2977 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto. 2978 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto. 2979 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto. 2980 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto. 2981 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto. 2982 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto. 2983 * testsuite/libgomp.fortran/pointer1.f90: Ditto. 2984 * testsuite/libgomp.fortran/pointer2.f90: Ditto. 2985 * testsuite/libgomp.fortran/pr25219.f90: Ditto. 2986 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto. 2987 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto. 2988 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto. 2989 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto. 2990 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto. 2991 * testsuite/libgomp.fortran/pr28390.f: Ditto. 2992 * testsuite/libgomp.fortran/pr29629.f90: Ditto. 2993 * testsuite/libgomp.fortran/pr32550.f90: Ditto. 2994 * testsuite/libgomp.fortran/pr33880.f90: Ditto. 2995 * testsuite/libgomp.fortran/pr34020.f90: Ditto. 2996 * testsuite/libgomp.fortran/pr35130.f90: Ditto. 2997 * testsuite/libgomp.fortran/pr42162.f90: Ditto. 2998 * testsuite/libgomp.fortran/pr46753.f90: Ditto. 2999 * testsuite/libgomp.fortran/pr48894.f90: Ditto. 3000 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto. 3001 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto. 3002 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto. 3003 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto. 3004 * testsuite/libgomp.fortran/pr65597.f90: Ditto. 3005 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto. 3006 * testsuite/libgomp.fortran/pr71014.f90: Ditto. 3007 * testsuite/libgomp.fortran/pr81304.f90: Ditto. 3008 * testsuite/libgomp.fortran/pr81841.f90: Ditto. 3009 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto. 3010 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto. 3011 * testsuite/libgomp.fortran/procptr1.f90: Ditto. 3012 * testsuite/libgomp.fortran/recursion1.f90: Ditto. 3013 * testsuite/libgomp.fortran/reduction1.f90: Ditto. 3014 * testsuite/libgomp.fortran/reduction2.f90: Ditto. 3015 * testsuite/libgomp.fortran/reduction3.f90: Ditto. 3016 * testsuite/libgomp.fortran/reduction4.f90: Ditto. 3017 * testsuite/libgomp.fortran/reduction5.f90: Ditto. 3018 * testsuite/libgomp.fortran/reduction6.f90: Ditto. 3019 * testsuite/libgomp.fortran/reference1.f90: Ditto. 3020 * testsuite/libgomp.fortran/reference2.f90: Ditto. 3021 * testsuite/libgomp.fortran/retval1.f90: Ditto. 3022 * testsuite/libgomp.fortran/retval2.f90: Ditto. 3023 * testsuite/libgomp.fortran/sharing1.f90: Ditto. 3024 * testsuite/libgomp.fortran/sharing2.f90: Ditto. 3025 * testsuite/libgomp.fortran/simd1.f90: Ditto. 3026 * testsuite/libgomp.fortran/simd2.f90: Ditto. 3027 * testsuite/libgomp.fortran/simd3.f90: Ditto. 3028 * testsuite/libgomp.fortran/simd4.f90: Ditto. 3029 * testsuite/libgomp.fortran/simd5.f90: Ditto. 3030 * testsuite/libgomp.fortran/simd6.f90: Ditto. 3031 * testsuite/libgomp.fortran/simd7.f90: Ditto. 3032 * testsuite/libgomp.fortran/stack.f90: Ditto. 3033 * testsuite/libgomp.fortran/strassen.f90: Ditto. 3034 * testsuite/libgomp.fortran/tabs1.f90: Ditto. 3035 * testsuite/libgomp.fortran/tabs2.f: Ditto. 3036 * testsuite/libgomp.fortran/target1.f90: Ditto. 3037 * testsuite/libgomp.fortran/target2.f90: Ditto. 3038 * testsuite/libgomp.fortran/target3.f90: Ditto. 3039 * testsuite/libgomp.fortran/target4.f90: Ditto. 3040 * testsuite/libgomp.fortran/target5.f90: Ditto. 3041 * testsuite/libgomp.fortran/target6.f90: Ditto. 3042 * testsuite/libgomp.fortran/target7.f90: Ditto. 3043 * testsuite/libgomp.fortran/target8.f90: Ditto. 3044 * testsuite/libgomp.fortran/task1.f90: Ditto. 3045 * testsuite/libgomp.fortran/task2.f90: Ditto. 3046 * testsuite/libgomp.fortran/task3.f90: Ditto. 3047 * testsuite/libgomp.fortran/task4.f90: Ditto. 3048 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto. 3049 * testsuite/libgomp.fortran/taskloop1.f90: Ditto. 3050 * testsuite/libgomp.fortran/taskloop2.f90: Ditto. 3051 * testsuite/libgomp.fortran/taskloop3.f90: Ditto. 3052 * testsuite/libgomp.fortran/taskloop4.f90: Ditto. 3053 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto. 3054 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto. 3055 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto. 3056 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto. 3057 * testsuite/libgomp.fortran/udr1.f90: Ditto. 3058 * testsuite/libgomp.fortran/udr10.f90: Ditto. 3059 * testsuite/libgomp.fortran/udr11.f90: Ditto. 3060 * testsuite/libgomp.fortran/udr12.f90: Ditto. 3061 * testsuite/libgomp.fortran/udr13.f90: Ditto. 3062 * testsuite/libgomp.fortran/udr14.f90: Ditto. 3063 * testsuite/libgomp.fortran/udr15.f90: Ditto. 3064 * testsuite/libgomp.fortran/udr2.f90: Ditto. 3065 * testsuite/libgomp.fortran/udr3.f90: Ditto. 3066 * testsuite/libgomp.fortran/udr4.f90: Ditto. 3067 * testsuite/libgomp.fortran/udr5.f90: Ditto. 3068 * testsuite/libgomp.fortran/udr6.f90: Ditto. 3069 * testsuite/libgomp.fortran/udr7.f90: Ditto. 3070 * testsuite/libgomp.fortran/udr8.f90: Ditto. 3071 * testsuite/libgomp.fortran/udr9.f90: Ditto. 3072 * testsuite/libgomp.fortran/vla1.f90: Ditto. 3073 * testsuite/libgomp.fortran/vla2.f90: Ditto. 3074 * testsuite/libgomp.fortran/vla3.f90: Ditto. 3075 * testsuite/libgomp.fortran/vla4.f90: Ditto. 3076 * testsuite/libgomp.fortran/vla5.f90: Ditto. 3077 * testsuite/libgomp.fortran/vla6.f90: Ditto. 3078 * testsuite/libgomp.fortran/vla7.f90: Ditto. 3079 * testsuite/libgomp.fortran/vla8.f90: Ditto. 3080 * testsuite/libgomp.fortran/workshare1.f90: Ditto. 3081 * testsuite/libgomp.fortran/workshare2.f90: Ditto. 3082 30832019-10-30 Tobias Burnus <tobias@codesourcery.com> 3084 3085 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort. 3086 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: 3087 Ditto; add 'dg-do run' for torture testing. 3088 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'. 3089 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto. 3090 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto. 3091 * testsuite/libgomp.fortran/pr25219.f90: Ditto. 3092 * testsuite/libgomp.fortran/pr28390.f: Ditto. 3093 * testsuite/libgomp.fortran/pr35130.f90: Ditto. 3094 * testsuite/libgomp.fortran/pr90779.f90: Ditto. 3095 * testsuite/libgomp.fortran/task2.f90: Ditto. 3096 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto. 3097 * testsuite/libgomp.fortran/taskloop1.f90: Ditto. 3098 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto. 3099 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto. 3100 * testsuite/libgomp.fortran/workshare1.f90: Ditto. 3101 * testsuite/libgomp.fortran/workshare2.f90: Ditto. 3102 31032019-10-28 Tobias Burnus <tobias@codesourcery.com> 3104 3105 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'. 3106 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto. 3107 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto. 3108 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto. 3109 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto. 3110 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto. 3111 * testsuite/libgomp.oacc-fortran/common-block-1.f90: 3112 Use 'stop' not abort(). 3113 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto. 3114 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto. 3115 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto. 3116 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto. 3117 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto. 3118 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto. 3119 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto. 3120 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto. 3121 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto. 3122 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto. 3123 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto. 3124 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto. 3125 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto. 3126 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto. 3127 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto. 3128 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto. 3129 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95: 3130 Ditto. 3131 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90: 3132 Ditto. 3133 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90: 3134 Ditto. 3135 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90: 3136 Ditto. 3137 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90: 3138 Ditto. 3139 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90: 3140 Ditto. 3141 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90: 3142 Ditto. 3143 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90: 3144 Ditto. 3145 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90: 3146 Ditto. 3147 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90: 3148 Ditto. 3149 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90: 3150 Ditto. 3151 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90: 3152 Ditto. 3153 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90: 3154 Ditto. 3155 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90: 3156 Ditto. 3157 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto. 3158 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto. 3159 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto. 3160 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto. 3161 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90: 3162 Likewise and also add 'dg-do run'. 3163 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90: 3164 Ditto. 3165 31662019-10-25 Cesar Philippidis <cesar@codesourcery.com> 3167 Tobias Burnus <tobias@codesourcery.com> 3168 3169 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test. 3170 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test. 3171 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test. 3172 31732019-10-14 Jakub Jelinek <jakub@redhat.com> 3174 3175 PR libgomp/92081 3176 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather 3177 than 0. 3178 31792019-10-11 Tobias Burnus <tobias@codesourcery.com> 3180 3181 * testsuite/libgomp.fortran/use_device_addr-1.f90: New. 3182 * testsuite/libgomp.fortran/use_device_addr-2.f90: New. 3183 31842019-10-09 Thomas Schwinge <thomas@codesourcery.com> 3185 3186 PR middle-end/92036 3187 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New 3188 file. 3189 31902019-10-09 Tobias Burnus <tobias@codesourcery.com> 3191 3192 PR testsuite/91884 3193 * testsuite/libgomp.fortran/fortran.exp: Conditionally 3194 add -lquadmath. 3195 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto. 3196 31972019-10-09 Jakub Jelinek <jakub@redhat.com> 3198 3199 PR libgomp/92028 3200 * target.c (gomp_map_vars_internal): Readd the previous 3201 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop, 3202 though do that just in the !not_found_cnt case. 3203 32042019-10-08 Tobias Burnus <tobias@codesourcery.com> 3205 3206 * gfortran.dg/gomp/target-simd.f90: New. 3207 32082019-10-02 Julian Brown <julian@codesourcery.com> 3209 Cesar Philippidis <cesar@codesourcery.com> 3210 3211 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define. 3212 * target.c (FIELD_TGT_EMPTY): Define. 3213 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write 3214 as switch instead of list of ifs. 3215 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros. 3216 32172019-10-02 Andreas Tobler <andreast@gcc.gnu.org> 3218 3219 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h 3220 include. Replace alloca () with __builtin_alloca (). 3221 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise. 3222 32232019-10-01 Jakub Jelinek <jakub@redhat.com> 3224 3225 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h). 3226 * libgomp.h: Include <stdint.h> instead of "gstdint.h". 3227 * oacc-parallel.c: Don't include "libgomp_g.h". 3228 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h". 3229 * plugin/plugin-nvptx.c: Don't include "gstdint.h". 3230 * aclocal.m4: Regenerated. 3231 * config.h.in: Regenerated. 3232 * configure: Regenerated. 3233 * Makefile.in: Regenerated. 3234 32352019-09-30 Kwok Cheung Yeung <kcy@codesourcery.com> 3236 3237 * libgomp_g.h: Include stdint.h instead of gstdint.h. 3238 32392019-09-27 Maciej W. Rozycki <macro@wdc.com> 3240 3241 * configure: Regenerate. 3242 32432019-09-13 Tobias Burnus <tobias@codesourcery.com> 3244 3245 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure 3246 string is initialized. 3247 32482019-09-06 Florian Weimer <fweimer@redhat.com> 3249 3250 * configure: Regenerate. 3251 32522019-09-03 Chung-Lin Tang <cltang@codesourcery.com> 3253 3254 PR other/79543 3255 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version 3256 scanning to conform to the GNU Coding Standards. 3257 * configure: Regenerate. 3258 32592019-08-28 Jakub Jelinek <jakub@redhat.com> 3260 3261 PR libgomp/91530 3262 * testsuite/libgomp.c/scan-21.c: New test. 3263 * testsuite/libgomp.c/scan-22.c: New test. 3264 32652019-08-27 Jakub Jelinek <jakub@redhat.com> 3266 3267 PR libgomp/91530 3268 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime 3269 targets. 3270 * testsuite/libgomp.c/scan-12.c: Likewise. 3271 * testsuite/libgomp.c/scan-13.c: Likewise. 3272 * testsuite/libgomp.c/scan-14.c: Likewise. 3273 * testsuite/libgomp.c/scan-15.c: Likewise. 3274 * testsuite/libgomp.c/scan-16.c: Likewise. 3275 * testsuite/libgomp.c/scan-17.c: Likewise. 3276 * testsuite/libgomp.c/scan-18.c: Likewise. 3277 * testsuite/libgomp.c/scan-19.c: Likewise. 3278 * testsuite/libgomp.c/scan-20.c: Likewise. 3279 * testsuite/libgomp.c++/scan-9.C: Likewise. 3280 * testsuite/libgomp.c++/scan-10.C: Likewise. 3281 * testsuite/libgomp.c++/scan-11.C: Likewise. 3282 * testsuite/libgomp.c++/scan-12.C: Likewise. 3283 * testsuite/libgomp.c++/scan-14.C: Likewise. 3284 * testsuite/libgomp.c++/scan-15.C: Likewise. 3285 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime 3286 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times. 3287 * testsuite/libgomp.c++/scan-16.C: Likewise. 3288 32892019-08-17 Thomas Koenig <tkoenig@gcc.gnu.org> 3290 3291 PR fortran/91473 3292 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add 3293 -std=legacy so invalid code in the test case is accepted. 3294 32952019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org> 3296 3297 PR fortran/91422 3298 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array 3299 dimension. 3300 33012019-08-08 Jakub Jelinek <jakub@redhat.com> 3302 3303 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR 3304 perform the lookup in the first loop only if !not_found_cnt, otherwise 3305 perform lookups for it in the second loop guarded with 3306 if (not_found_cnt || has_firstprivate). 3307 * testsuite/libgomp.c/target-37.c: New test. 3308 * testsuite/libgomp.c++/target-22.C: New test. 3309 33102019-08-07 Jakub Jelinek <jakub@redhat.com> 3311 3312 * testsuite/libgomp.c/target-18.c (struct S): New type. 3313 (foo): Use use_device_addr clause instead of use_device_ptr clause 3314 where required by OpenMP 5.0, add further tests for both use_device_ptr 3315 and use_device_addr clauses. 3316 * testsuite/libgomp.c++/target-9.C (struct S): New type. 3317 (foo): Use use_device_addr clause instead of use_device_ptr clause 3318 where required by OpenMP 5.0, add further tests for both use_device_ptr 3319 and use_device_addr clauses. Add t and u arguments. 3320 (main): Adjust caller. 3321 33222019-08-06 Jakub Jelinek <jakub@redhat.com> 3323 3324 * testsuite/libgomp.c++/loop-13.C: New test. 3325 * testsuite/libgomp.c++/loop-14.C: New test. 3326 * testsuite/libgomp.c++/loop-15.C: New test. 3327 33282019-07-31 Jakub Jelinek <jakub@redhat.com> 3329 3330 PR middle-end/91301 3331 * testsuite/libgomp.c++/for-27.C: New test. 3332 33332019-07-23 Steven G. Kargl <kargl@gcc.gnu.org> 3334 3335 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage. 3336 * testsuite/libgomp.fortran/reduction5.f90: Ditto. 3337 33382019-07-20 Jakub Jelinek <jakub@redhat.com> 3339 3340 * testsuite/libgomp.c-c++-common/loop-1.c: New test. 3341 33422019-07-08 Jakub Jelinek <jakub@redhat.com> 3343 3344 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86. 3345 * testsuite/libgomp.c++/scan-16.C: Likewise. 3346 33472019-07-06 Jakub Jelinek <jakub@redhat.com> 3348 3349 * testsuite/libgomp.c/scan-19.c: New test. 3350 * testsuite/libgomp.c/scan-20.c: New test. 3351 3352 * testsuite/libgomp.c/scan-11.c: New test. 3353 * testsuite/libgomp.c/scan-12.c: New test. 3354 * testsuite/libgomp.c/scan-13.c: New test. 3355 * testsuite/libgomp.c/scan-14.c: New test. 3356 * testsuite/libgomp.c/scan-15.c: New test. 3357 * testsuite/libgomp.c/scan-16.c: New test. 3358 * testsuite/libgomp.c/scan-17.c: New test. 3359 * testsuite/libgomp.c/scan-18.c: New test. 3360 * testsuite/libgomp.c++/scan-9.C: New test. 3361 * testsuite/libgomp.c++/scan-10.C: New test. 3362 * testsuite/libgomp.c++/scan-11.C: New test. 3363 * testsuite/libgomp.c++/scan-12.C: New test. 3364 * testsuite/libgomp.c++/scan-13.C: New test. 3365 * testsuite/libgomp.c++/scan-14.C: New test. 3366 * testsuite/libgomp.c++/scan-15.C: New test. 3367 * testsuite/libgomp.c++/scan-16.C: New test. 3368 33692019-07-04 Jakub Jelinek <jakub@redhat.com> 3370 3371 * testsuite/libgomp.c/scan-9.c: New test. 3372 * testsuite/libgomp.c/scan-10.c: New test. 3373 33742019-07-03 Jakub Jelinek <jakub@redhat.com> 3375 3376 * testsuite/libgomp.c++/scan-1.C: New test. 3377 * testsuite/libgomp.c++/scan-2.C: New test. 3378 * testsuite/libgomp.c++/scan-3.C: New test. 3379 * testsuite/libgomp.c++/scan-4.C: New test. 3380 * testsuite/libgomp.c++/scan-5.C: New test. 3381 * testsuite/libgomp.c++/scan-6.C: New test. 3382 * testsuite/libgomp.c++/scan-7.C: New test. 3383 * testsuite/libgomp.c++/scan-8.C: New test. 3384 * testsuite/libgomp.c/scan-1.c: New test. 3385 * testsuite/libgomp.c/scan-2.c: New test. 3386 * testsuite/libgomp.c/scan-3.c: New test. 3387 * testsuite/libgomp.c/scan-4.c: New test. 3388 * testsuite/libgomp.c/scan-5.c: New test. 3389 * testsuite/libgomp.c/scan-6.c: New test. 3390 * testsuite/libgomp.c/scan-7.c: New test. 3391 * testsuite/libgomp.c/scan-8.c: New test. 3392 33932019-06-18 Thomas Schwinge <thomas@codesourcery.com> 3394 3395 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file. 3396 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: 3397 Likewise. 3398 3399 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results 3400 check. 3401 34022019-06-18 Cesar Philippidis <cesar@codesourcery.com> 3403 3404 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New 3405 file. 3406 34072019-06-18 Thomas Schwinge <thomas@codesourcery.com> 3408 3409 PR fortran/90743 3410 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping 3411 case. 3412 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file. 3413 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise. 3414 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise. 3415 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise. 3416 3417 PR testsuite/90861 3418 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update. 3419 3420 PR middle-end/90862 3421 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update. 3422 34232019-06-16 Tom de Vries <tdevries@suse.de> 3424 3425 PR tree-optimization/89376 3426 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test. 3427 34282019-06-15 Tom de Vries <tdevries@suse.de> 3429 3430 PR tree-optimization/89713 3431 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync. 3432 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same. 3433 34342019-06-15 Jakub Jelinek <jakub@redhat.com> 3435 3436 PR middle-end/90779 3437 * testsuite/libgomp.c/pr90779.c: New test. 3438 * testsuite/libgomp.fortran/pr90779.f90: New test. 3439 34402019-06-15 Tom de Vries <tdevries@suse.de> 3441 3442 PR tree-optimization/90009 3443 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test. 3444 34452019-06-13 Feng Xue <fxue@os.amperecomputing.com> 3446 3447 PR tree-optimization/89713 3448 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test. 3449 34502019-06-11 Jakub Jelinek <jakub@redhat.com> 3451 3452 PR target/90811 3453 * testsuite/libgomp.c/pr90811.c: New test. 3454 34552019-06-05 Jakub Jelinek <jakub@redhat.com> 3456 3457 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test. 3458 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test. 3459 34602019-06-04 Jakub Jelinek <jakub@redhat.com> 3461 3462 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test. 3463 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test. 3464 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test. 3465 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test. 3466 34672019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 3468 3469 * configure.ac: Call AX_COUNT_CPUS. 3470 Substitute CPU_COUNT. 3471 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor 3472 count fallback. 3473 * aclocal.m4: Regenerate. 3474 * configure: Regenerate. 3475 * Makefile.in, testsuite/Makefile.in: Regenerate. 3476 34772019-05-29 Jakub Jelinek <jakub@redhat.com> 3478 3479 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename 3480 to ... 3481 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this. 3482 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test. 3483 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test. 3484 34852019-05-27 Jakub Jelinek <jakub@redhat.com> 3486 3487 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test. 3488 3489 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test. 3490 3491 PR libgomp/90641 3492 * work.c (gomp_init_work_share): Instead of aligning final ordered 3493 value to multiples of long long alignment, align to that the 3494 first part (ordered team ids) and if inline_ordered_team_ids 3495 is not on a long long alignment boundary within the structure, 3496 use __alignof__ (long long) - 1 pad size always. 3497 * loop.c (GOMP_loop_start): Fix *mem computation if 3498 inline_ordered_team_ids is not aligned on long long alignment boundary 3499 within the structure. 3500 * loop-ull.c (GOMP_loop_ull_start): Likewise. 3501 * sections.c (GOMP_sections2_start): Likewise. 3502 35032019-05-24 Jakub Jelinek <jakub@redhat.com> 3504 3505 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test. 3506 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test. 3507 3508 PR libgomp/90585 3509 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if 3510 HAVE_INTTYPES_H is defined. 3511 (print_uint64_t): New typedef. 3512 (PRIu64): Define if HAVE_INTTYPES_H is not defined. 3513 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of 3514 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t. 3515 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t 3516 before casting to void *. 3517 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h. 3518 * oacc-mem.c: Don't include config.h nor stdint.h. 3519 * target.c: Don't include config.h. 3520 * oacc-cuda.c: Likewise. 3521 * oacc-host.c: Don't include stdint.h. 3522 35232019-05-20 Jakub Jelinek <jakub@redhat.com> 3524 3525 PR libgomp/90527 3526 * alloc.c (_GNU_SOURCE): Define. 3527 35282019-05-17 Thomas Schwinge <thomas@codesourcery.com> 3529 3530 * acc_prof.h: New file. 3531 * oacc-profiling.c: Likewise. 3532 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES): 3533 Add these, respectively. 3534 * Makefile.in: Regenerate. 3535 * env.c (initialize_env): Call goacc_profiling_initialize. 3536 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread) 3537 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions. 3538 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread) 3539 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare. 3540 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup, 3541 acc_prof_register, acc_prof_unregister, and acc_register_library. 3542 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and 3543 GOMP_PLUGIN_goacc_thread. 3544 * oacc-int.h (struct goacc_thread): Add prof_info, api_info, 3545 prof_callbacks_enabled members. 3546 (goacc_prof_enabled, goacc_profiling_initialize) 3547 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p) 3548 (goacc_profiling_dispatch): Declare. 3549 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P) 3550 (GOACC_PROFILING_SETUP_P): Define. 3551 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait) 3552 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for 3553 OpenACC Profiling Interface. 3554 * oacc-cuda.c (acc_get_current_cuda_device) 3555 (acc_get_current_cuda_context, acc_get_cuda_stream) 3556 (acc_set_cuda_stream): Likewise. 3557 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device) 3558 (acc_init, acc_set_device_type, acc_get_device_type) 3559 (acc_get_device_num, goacc_lazy_initialize): Likewise. 3560 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device) 3561 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data) 3562 (acc_unmap_data, present_create_copy, delete_copyout) 3563 (update_dev_host): Likewise. 3564 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start) 3565 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait): 3566 Likewise. 3567 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free) 3568 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec): 3569 Likewise. 3570 * libgomp.texi: Update. 3571 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New 3572 file. 3573 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise. 3574 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: 3575 Likewise. 3576 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: 3577 Likewise. 3578 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c: 3579 Likewise. 3580 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c: 3581 Likewise. 3582 35832019-05-13 Chung-Lin Tang <cltang@codesourcery.com> 3584 3585 * libgomp-plugin.h (struct goacc_asyncqueue): Declare. 3586 (struct goacc_asyncqueue_list): Likewise. 3587 (goacc_aq): Likewise. 3588 (goacc_aq_list): Likewise. 3589 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove. 3590 (GOMP_OFFLOAD_openacc_async_test): Remove. 3591 (GOMP_OFFLOAD_openacc_async_test_all): Remove. 3592 (GOMP_OFFLOAD_openacc_async_wait): Remove. 3593 (GOMP_OFFLOAD_openacc_async_wait_async): Remove. 3594 (GOMP_OFFLOAD_openacc_async_wait_all): Remove. 3595 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove. 3596 (GOMP_OFFLOAD_openacc_async_set_async): Remove. 3597 (GOMP_OFFLOAD_openacc_exec): Adjust declaration. 3598 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise. 3599 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise. 3600 (GOMP_OFFLOAD_openacc_async_exec): Declare. 3601 (GOMP_OFFLOAD_openacc_async_construct): Declare. 3602 (GOMP_OFFLOAD_openacc_async_destruct): Declare. 3603 (GOMP_OFFLOAD_openacc_async_test): Declare. 3604 (GOMP_OFFLOAD_openacc_async_synchronize): Declare. 3605 (GOMP_OFFLOAD_openacc_async_serialize): Declare. 3606 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare. 3607 (GOMP_OFFLOAD_openacc_async_host2dev): Declare. 3608 (GOMP_OFFLOAD_openacc_async_dev2host): Declare. 3609 3610 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct. 3611 (gomp_acc_insert_pointer): Adjust declaration. 3612 (gomp_copy_host2dev): New declaration. 3613 (gomp_copy_dev2host): Likewise. 3614 (gomp_map_vars_async): Likewise. 3615 (gomp_unmap_tgt): Likewise. 3616 (gomp_unmap_vars_async): Likewise. 3617 (gomp_fini_device): Likewise. 3618 3619 * oacc-async.c (get_goacc_thread): New function. 3620 (get_goacc_thread_device): New function. 3621 (lookup_goacc_asyncqueue): New function. 3622 (get_goacc_asyncqueue): New function. 3623 (acc_async_test): Adjust code to use new async design. 3624 (acc_async_test_all): Likewise. 3625 (acc_wait): Likewise. 3626 (acc_wait_async): Likewise. 3627 (acc_wait_all): Likewise. 3628 (acc_wait_all_async): Likewise. 3629 (goacc_async_free): New function. 3630 (goacc_init_asyncqueues): Likewise. 3631 (goacc_fini_asyncqueues): Likewise. 3632 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async 3633 design. 3634 (acc_set_cuda_stream): Likewise. 3635 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'. 3636 (host_openacc_register_async_cleanup): Remove. 3637 (host_openacc_async_exec): New function. 3638 (host_openacc_async_test): Adjust parameters. 3639 (host_openacc_async_test_all): Remove. 3640 (host_openacc_async_wait): Remove. 3641 (host_openacc_async_wait_async): Remove. 3642 (host_openacc_async_wait_all): Remove. 3643 (host_openacc_async_wait_all_async): Remove. 3644 (host_openacc_async_set_async): Remove. 3645 (host_openacc_async_synchronize): New function. 3646 (host_openacc_async_serialize): New function. 3647 (host_openacc_async_host2dev): New function. 3648 (host_openacc_async_dev2host): New function. 3649 (host_openacc_async_queue_callback): New function. 3650 (host_openacc_async_construct): New function. 3651 (host_openacc_async_destruct): New function. 3652 (struct gomp_device_descr host_dispatch): Remove initialization of old 3653 interface, add initialization of new async sub-struct. 3654 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device. 3655 (goacc_attach_host_thread_to_device): Remove old async code usage. 3656 * oacc-int.h (goacc_init_asyncqueues): New declaration. 3657 (goacc_fini_asyncqueues): Likewise. 3658 (goacc_async_copyout_unmap_vars): Likewise. 3659 (goacc_async_free): Likewise. 3660 (get_goacc_asyncqueue): Likewise. 3661 (lookup_goacc_asyncqueue): Likewise. 3662 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async 3663 design. 3664 (present_create_copy): Adjust code to use new async design. 3665 (delete_copyout): Likewise. 3666 (update_dev_host): Likewise. 3667 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new 3668 async design. 3669 (gomp_acc_remove_pointer): Adjust code to use new async design. 3670 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async 3671 design. 3672 (GOACC_enter_exit_data): Likewise. 3673 (goacc_wait): Likewise. 3674 (GOACC_update): Likewise. 3675 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail 3676 when called, warn as obsolete in comment. 3677 * target.c (goacc_device_copy_async): New function. 3678 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter, 3679 add goacc_device_copy_async case. 3680 (gomp_copy_dev2host): Likewise. 3681 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code. 3682 (gomp_map_pointer): Likewise. 3683 (gomp_map_fields_existing): Likewise. 3684 (gomp_map_vars_internal): New always_inline function, renamed from 3685 gomp_map_vars. 3686 (gomp_map_vars): Implement by calling gomp_map_vars_internal. 3687 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal, 3688 passing goacc_asyncqueue argument. 3689 (gomp_unmap_tgt): Remove static, add attribute_hidden. 3690 (gomp_unref_tgt): New function. 3691 (gomp_unmap_vars_internal): New always_inline function, renamed from 3692 gomp_unmap_vars. 3693 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal. 3694 (gomp_unmap_vars_async): Implement by calling 3695 gomp_unmap_vars_internal, passing goacc_asyncqueue argument. 3696 (gomp_fini_device): New function. 3697 (gomp_exit_data): Adjust gomp_copy_dev2host call. 3698 (gomp_load_plugin_for_device): Remove old interface, adjust to load 3699 new async interface. 3700 (gomp_target_fini): Adjust code to call gomp_fini_device. 3701 3702 * plugin/plugin-nvptx.c (struct cuda_map): Remove. 3703 (struct ptx_stream): Remove. 3704 (struct nvptx_thread): Remove current_stream field. 3705 (cuda_map_create): Remove. 3706 (cuda_map_destroy): Remove. 3707 (map_init): Remove. 3708 (map_fini): Remove. 3709 (map_pop): Remove. 3710 (map_push): Remove. 3711 (struct goacc_asyncqueue): Define. 3712 (struct nvptx_callback): Define. 3713 (struct ptx_free_block): Define. 3714 (struct ptx_device): Remove null_stream, active_streams, async_streams, 3715 stream_lock, and next fields. 3716 (enum ptx_event_type): Remove. 3717 (struct ptx_event): Remove. 3718 (ptx_event_lock): Remove. 3719 (ptx_events): Remove. 3720 (init_streams_for_device): Remove. 3721 (fini_streams_for_device): Remove. 3722 (select_stream_for_async): Remove. 3723 (nvptx_init): Remove ptx_events and ptx_event_lock references. 3724 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED 3725 case. 3726 (nvptx_open_device): Add free_blocks initialization, remove 3727 init_streams_for_device call. 3728 (nvptx_close_device): Remove fini_streams_for_device call, add 3729 free_blocks destruct code. 3730 (event_gc): Remove. 3731 (event_add): Remove. 3732 (nvptx_exec): Adjust parameters and code. 3733 (nvptx_free): Likewise. 3734 (nvptx_host2dev): Remove. 3735 (nvptx_dev2host): Remove. 3736 (nvptx_set_async): Remove. 3737 (nvptx_async_test): Remove. 3738 (nvptx_async_test_all): Remove. 3739 (nvptx_wait): Remove. 3740 (nvptx_wait_async): Remove. 3741 (nvptx_wait_all): Remove. 3742 (nvptx_wait_all_async): Remove. 3743 (nvptx_get_cuda_stream): Remove. 3744 (nvptx_set_cuda_stream): Remove. 3745 (GOMP_OFFLOAD_alloc): Adjust code. 3746 (GOMP_OFFLOAD_free): Likewise. 3747 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove. 3748 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code. 3749 (GOMP_OFFLOAD_openacc_async_test_all): Remove. 3750 (GOMP_OFFLOAD_openacc_async_wait): Remove. 3751 (GOMP_OFFLOAD_openacc_async_wait_async): Remove. 3752 (GOMP_OFFLOAD_openacc_async_wait_all): Remove. 3753 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove. 3754 (GOMP_OFFLOAD_openacc_async_set_async): Remove. 3755 (cuda_free_argmem): New function. 3756 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function. 3757 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code. 3758 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code. 3759 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code. 3760 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function. 3761 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function. 3762 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement. 3763 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function. 3764 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function. 3765 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function. 3766 (cuda_callback_wrapper): New function. 3767 (cuda_memcpy_sanity_check): New function. 3768 (GOMP_OFFLOAD_host2dev): Remove and re-implement. 3769 (GOMP_OFFLOAD_dev2host): Remove and re-implement. 3770 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function. 3771 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function. 3772 37732019-05-07 Thomas Schwinge <thomas@codesourcery.com> 3774 3775 PR target/87835 3776 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update. 3777 37782019-05-06 Thomas Schwinge <thomas@codesourcery.com> 3779 3780 * oacc-parallel.c: Add comments to legacy entry points (GCC 5). 3781 37822019-03-27 Kevin Buettner <kevinb@redhat.com> 3783 3784 * team.c (gomp_team_start): Initialize pool->threads[0]. 3785 37862019-02-22 Thomas Schwinge <thomas@codesourcery.com> 3787 3788 * testsuite/libgomp.oacc-c++/c++.exp: Specify 3789 "-foffload=$offload_target". 3790 * testsuite/libgomp.oacc-c/c.exp: Likewise. 3791 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 3792 * testsuite/lib/libgomp.exp 3793 (check_effective_target_openacc_nvidia_accel_configured): Remove, 3794 as (conceptually) merged into 3795 check_effective_target_openacc_nvidia_accel_selected. Adjust all 3796 users. 3797 3798 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets. 3799 * testsuite/libgomp-test-support.exp.in: Adjust. 3800 * testsuite/lib/libgomp.exp: Likewise. Don't populate 3801 openacc_device_types_s. 3802 (offload_target_to_openacc_device_type): New proc. 3803 * testsuite/libgomp.oacc-c++/c++.exp: Adjust. 3804 * testsuite/libgomp.oacc-c/c.exp: Likewise. 3805 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 3806 * Makefile.in: Regenerate. 3807 * configure: Likewise. 3808 * testsuite/Makefile.in: Likewise. 3809 3810 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins 3811 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS 3812 instead of OFFLOAD_TARGETS. 3813 * target.c (gomp_target_init): Adjust. 3814 * testsuite/libgomp-test-support.exp.in: Likewise. 3815 * testsuite/lib/libgomp.exp: Likewise. Populate 3816 openacc_device_types_s instead of offload_targets_s_openacc. 3817 (check_effective_target_openacc_nvidia_accel_selected) 3818 (check_effective_target_openacc_host_selected): Adjust. 3819 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. 3820 * testsuite/libgomp.oacc-c/c.exp: Likewise. 3821 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 3822 * Makefile.in: Regenerate. 3823 * config.h.in: Likewise. 3824 * configure: Likewise. 3825 * testsuite/Makefile.in: Likewise. 3826 3827 * testsuite/lib/libgomp.exp: Error out for unknown offload target. 3828 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if 3829 "offloading: supported, but hardware not accessible". 3830 * testsuite/libgomp.oacc-c/c.exp: Likewise. 3831 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 3832 38332019-02-19 Chung-Lin Tang <cltang@codesourcery.com> 3834 3835 PR c/87924 3836 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to 3837 goacc_wait(). 3838 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call 3839 and related adjustment. 3840 38412019-01-30 Jakub Jelinek <jakub@redhat.com> 3842 3843 PR c++/88988 3844 * testsuite/libgomp.c++/pr88988.C: New test. 3845 38462019-01-28 Jakub Jelinek <jakub@redhat.com> 3847 3848 PR middle-end/89002 3849 * testsuite/libgomp.c/pr89002.c: New test. 3850 38512019-01-28 Richard Biener <rguenther@suse.de> 3852 3853 PR testsuite/89064 3854 PR tree-optimization/86865 3855 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL. 3856 38572019-01-24 Tom de Vries <tdevries@suse.de> 3858 3859 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices 3860 once instantiated_devices drops to 0. 3861 38622019-01-23 Tom de Vries <tdevries@suse.de> 3863 3864 PR target/PR88946 3865 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for 3866 cuMemFree. 3867 (nvptx_exec): Don't call map_push if mapnum == 0. 3868 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test. 3869 38702019-01-23 Tom de Vries <tdevries@suse.de> 3871 3872 PR target/88941 3873 PR target/88939 3874 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case. 3875 (map_fini): Remove "assert (!s->map->active)". 3876 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test. 3877 38782019-01-23 Tom de Vries <tdevries@suse.de> 3879 3880 PR target/87835 3881 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element. 3882 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test. 3883 38842019-01-15 Tom de Vries <tdevries@suse.de> 3885 3886 PR target/80547 3887 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c: 3888 New test. 3889 38902019-01-12 Tom de Vries <tdevries@suse.de> 3891 3892 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test. 3893 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test. 3894 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test. 3895 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test. 3896 38972019-01-12 Tom de Vries <tdevries@suse.de> 3898 3899 * plugin/plugin-nvptx.c (nvptx_exec): Update error message. 3900 39012019-01-12 Tom de Vries <tdevries@suse.de> 3902 3903 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test. 3904 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test. 3905 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test. 3906 39072019-01-12 Tom de Vries <tdevries@suse.de> 3908 3909 PR target/85486 3910 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test. 3911 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test. 3912 39132019-01-12 Tom de Vries <tdevries@suse.de> 3914 3915 PR target/85381 3916 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test. 3917 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test. 3918 39192019-01-12 Tom de Vries <tdevries@suse.de> 3920 3921 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test. 3922 * testsuite/libgomp.oacc-fortran/gemm.f90: New test. 3923 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test. 3924 39252019-01-12 Tom de Vries <tdevries@suse.de> 3926 3927 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test. 3928 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test. 3929 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test. 3930 39312019-01-12 Tom de Vries <tdevries@suse.de> 3932 3933 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware 3934 resources diagnostic. 3935 39362019-01-12 Tom de Vries <tdevries@suse.de> 3937 3938 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect 3939 vector length to be 128. 3940 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector 3941 length 2097152 to be reduced to 1024 instead of 32. 3942 39432019-01-11 Thomas Schwinge <thomas@codesourcery.com> 3944 James Norris <jnorris@codesourcery.com> 3945 3946 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime 3947 Library Routines", and "Environment Variables". 3948 39492019-01-11 Tom de Vries <tdevries@suse.de> 3950 3951 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and 3952 num_workers 16. 3953 39542019-01-11 Tom de Vries <tdevries@suse.de> 3955 3956 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove 3957 -foffload=-w. 3958 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same. 3959 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same. 3960 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same. 3961 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same. 3962 39632019-01-11 Tom de Vries <tdevries@suse.de> 3964 3965 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New 3966 test. 3967 39682019-01-10 Nathan Sidwell <nathan@acm.org> 3969 Julian Brown <julian@codesourcery.com> 3970 3971 PR lto/71959 3972 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New. 3973 * testsuite/libgomp.oacc-c++/pr71959.C: New. 3974 39752019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de> 3976 3977 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy 3978 and paste code. 3979 39802019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de> 3981 3982 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c, 3983 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to 3984 write. 3985 39862019-01-09 Tom de Vries <tdevries@suse.de> 3987 3988 PR target/88756 3989 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use 3990 #define instead of "const int". 3991 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same. 3992 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same. 3993 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same. 3994 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same. 3995 39962019-01-09 Tom de Vries <tdevries@suse.de> 3997 3998 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least 3999 one worker. 4000 40012019-01-07 Tom de Vries <tdevries@suse.de> 4002 4003 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix 4004 GOMP_OPENACC_DIM argument. 4005 40062019-01-03 Tom de Vries <tdevries@suse.de> 4007 4008 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test. 4009 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test. 4010 40112019-01-01 Jakub Jelinek <jakub@redhat.com> 4012 4013 Update copyright years. 4014 40152019-01-01 Jakub Jelinek <jakub@redhat.com> 4016 4017 * libgomp.texi: Bump @copying's copyright year. 4018 40192018-12-28 Thomas Schwinge <thomas@codesourcery.com> 4020 4021 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel) 4022 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update) 4023 (GOACC_declare): Redefine the "device" argument to "flags". 4024 40252018-12-28 Thomas Schwinge <thomas@codesourcery.com> 4026 Cesar Philippidis <cesar@codesourcery.com> 4027 4028 * target.c (struct gomp_coalesce_chunk): New structure. 4029 (struct gomp_coalesce_buf): Update the chunks member to use that 4030 type. Adjust all users. 4031 40322018-12-19 Tom de Vries <tdevries@suse.de> 4033 4034 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test. 4035 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test. 4036 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test. 4037 40382018-12-19 Tom de Vries <tdevries@suse.de> 4039 4040 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp. 4041 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from 4042 gcc/testsuite/gcc.dg/goacc. 4043 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same. 4044 40452018-12-14 Thomas Schwinge <thomas@codesourcery.com> 4046 Chung-Lin Tang <cltang@codesourcery.com> 4047 4048 * oacc-mem.c (acc_present_or_create): Remove definition and change 4049 to alias of acc_create. 4050 (acc_present_or_copyin): Remove definition and change to alias of 4051 acc_copyin. 4052 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead 4053 of acc_present_or_create. 4054 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove. 4055 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise. 4056 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise. 4057 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise. 4058 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise. 4059 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise. 4060 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise. 4061 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise. 4062 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise. 4063 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise. 4064 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise. 4065 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise. 4066 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise. 4067 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise. 4068 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise. 4069 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise. 4070 40712018-12-14 Thomas Schwinge <thomas@codesourcery.com> 4072 4073 PR libgomp/88495 4074 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse 4075 "identical parameters". 4076 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update. 4077 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove. 4078 4079 PR libgomp/88484 4080 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0". 4081 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file. 4082 4083 PR libgomp/88407 4084 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait) 4085 (nvptx_wait_async): Unseen async-argument is a no-op. 4086 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update. 4087 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise. 4088 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise. 4089 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise. 4090 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise. 4091 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into... 4092 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update. 4093 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into... 4094 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update 4095 4096 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise. 4097 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise. 4098 40992018-12-14 Chung-Lin Tang <cltang@codesourcery.com> 4100 4101 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust. 4102 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise. 4103 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise. 4104 41052018-12-14 Thomas Schwinge <thomas@codesourcery.com> 4106 4107 PR libgomp/88370 4108 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream) 4109 (acc_set_cuda_stream): Clarify. 4110 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use 4111 "async_valid_p". 4112 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async == 4113 acc_async_sync". 4114 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file. 4115 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise. 4116 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update. 4117 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise. 4118 41192018-12-14 Tom de Vries <tdevries@suse.de> 4120 4121 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test. 4122 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test. 4123 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test. 4124 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test. 4125 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test. 4126 41272018-12-13 Tom de Vries <tdevries@suse.de> 4128 4129 * affinity-fmt.c (gomp_print_string): New function, factored out of ... 4130 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ... 4131 * fortran.c (omp_display_affinity_): ... here. 4132 * libgomp.h (gomp_print_string): Declare. 4133 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c, 4134 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to 4135 write. 4136 41372018-12-13 Jakub Jelinek <jakub@redhat.com> 4138 4139 PR libgomp/88460 4140 * testsuite/libgomp.c++/for-24.C (results): Include it in 4141 omp declare target region. 4142 (main): Use map (always, tofrom: results) instead of 4143 map (tofrom: results). 4144 41452018-12-12 Jakub Jelinek <jakub@redhat.com> 4146 4147 PR fortran/88463 4148 * testsuite/libgomp.fortran/pr88463-1.f90: New test. 4149 * testsuite/libgomp.fortran/pr88463-2.f90: New test. 4150 4151 * testsuite/libgomp.c-c++-common/for-16.c: New test. 4152 41532018-12-12 Andreas Schwab <schwab@suse.de> 4154 4155 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as 4156 clobbered. 4157 41582018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org> 4159 4160 PR fortran/88411 4161 * testsuite/libgomp.fortran/async_io_8.f90: New test. 4162 41632018-12-09 Thomas Schwinge <thomas@codesourcery.com> 4164 Jakub Jelinek <jakub@redhat.com> 4165 4166 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of 4167 devicep->host2dev_func. 4168 41692018-12-08 Jakub Jelinek <jakub@redhat.com> 4170 4171 PR libgomp/87995 4172 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require 4173 tls_runtime effective target. 4174 (t): New threadprivate variable. 4175 (main): Set t in threads which execute iterations of the worksharing 4176 loop. Propagate that to the task after the loop and don't abort 4177 if the current taskgroup hasn't been cancelled. 4178 41792018-12-02 Jakub Jelinek <jakub@redhat.com> 4180 4181 * testsuite/libgomp.c/task-reduction-3.c: New test. 4182 4183 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test. 4184 41852018-11-30 Cesar Philippidis <cesar@codesourcery.com> 4186 4187 PR libgomp/88288 4188 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs. 4189 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test. 4190 41912018-11-30 Thomas Schwinge <thomas@codesourcery.com> 4192 4193 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file. 4194 41952018-10-19 Richard Biener <rguenther@suse.de> 4196 4197 PR tree-optimization/88182 4198 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp. 4199 42002018-11-26 Jakub Jelinek <jakub@redhat.com> 4201 4202 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu. 4203 (RUNTEST): Don't define. 4204 (RUNTESTDEFAULTFLAGS): Add. 4205 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals. 4206 (distclean-am): Depend on distclean-DEJAGNU. 4207 (check-am): If -j% option is present in MFLAGS and if 4208 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8. 4209 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU. 4210 * testsuite/Makefile.in: Regenerated. 4211 42122018-11-26 Richard Biener <rguenther@suse.de> 4213 4214 PR tree-optimization/88182 4215 * testsuite/libgomp.c++/pr88182.C: New testcase. 4216 42172018-11-20 Jakub Jelinek <jakub@redhat.com> 4218 4219 PR bootstrap/88106 4220 * config/mingw32/affinity-fmt.c: New file. 4221 42222018-11-09 Jakub Jelinek <jakub@redhat.com> 4223 4224 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H. 4225 (gomp_display_affinity): Use __builtin_choose_expr to handle 4226 properly handle argument having integral, or pointer or some other 4227 type. If inttypes.h is available and PRIx64 is defined, use PRIx64 4228 with uint64_t type instead of %llx and unsigned long long. 4229 4230 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test. 4231 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test. 4232 42332018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 4234 4235 * affinity.c: Include <string.h>, <stdio.h>. 4236 (gomp_display_affinity_place): Remove cpusetp. 4237 * teams.c: Include <limits.h>. 4238 42392018-11-08 Jakub Jelinek <jakub@redhat.com> 4240 4241 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add 4242 in_reduction clause for s[0]. 4243 4244 * affinity.c (gomp_display_affinity_place): New function. 4245 * affinity-fmt.c: New file. 4246 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions. 4247 * config/linux/affinity.c (gomp_display_affinity_place): New function. 4248 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num): 4249 Move these functions to ... 4250 * config/nvptx/teams.c: ... here. New file. 4251 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all): 4252 New functions. 4253 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New 4254 functions. 4255 * configure.ac: Check for aligned_alloc, posix_memalign, memalign 4256 and _aligned_malloc. 4257 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests. 4258 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux. 4259 * env.c (gomp_display_affinity_var, gomp_affinity_format_var, 4260 gomp_affinity_format_len): New variables. 4261 (parse_schedule): Parse monotonic and nonmonotonic modifiers in 4262 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules. 4263 (handle_omp_display_env): Display monotonic/nonmonotonic schedule 4264 modifiers. Display (non-default) chunk sizes. Print 4265 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT. 4266 (initialize_env): Don't call pthread_attr_setdetachstate. Handle 4267 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars. 4268 * fortran.c: Include stdio.h and string.h. 4269 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect. 4270 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit. 4271 (omp_set_affinity_format_, omp_get_affinity_format_, 4272 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_, 4273 omp_pause_resource_all_): New functions. 4274 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in 4275 switch. 4276 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these 4277 functions to ... 4278 * teams.c: ... here. New file. 4279 * libgomp_g.h: Include gstdint.h. 4280 (GOMP_loop_nonmonotonic_runtime_start, 4281 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start, 4282 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next, 4283 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start, 4284 GOMP_parallel_loop_nonmonotonic_runtime, 4285 GOMP_parallel_loop_maybe_nonmonotonic_runtime, 4286 GOMP_loop_ull_nonmonotonic_runtime_start, 4287 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start, 4288 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next, 4289 GOMP_loop_ull_maybe_nonmonotonic_runtime_next, 4290 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions, 4291 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register, 4292 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap, 4293 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start, 4294 GOMP_teams_reg): Declare. 4295 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless 4296 gomp_aligned_alloc uses fallback implementation. 4297 (gomp_aligned_alloc, gomp_aligned_free): Declare. 4298 (enum gomp_schedule_type): Add GFS_MONOTONIC. 4299 (struct gomp_doacross_work_share): Add extra field. 4300 (struct gomp_work_share): Add task_reductions field. 4301 (struct gomp_taskgroup): Add workshare and reductions fields. 4302 (GOMP_NEEDS_THREAD_HANDLE): Define if needed. 4303 (gomp_thread_handle): New typedef. 4304 (gomp_display_affinity_place, gomp_set_affinity_format, 4305 gomp_display_string, gomp_display_affinity, 4306 gomp_display_affinity_thread): Declare. 4307 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument. 4308 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start, 4309 gomp_workshare_task_reduction_register): Declare. 4310 (gomp_team_start): Add taskgroup argument. 4311 (gomp_pause_host): Declare. 4312 (gomp_init_work_share, gomp_work_share_start): Change bool argument 4313 to size_t. 4314 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions. 4315 * libgomp.map (GOMP_5.0): Export GOMP_loop_start, 4316 GOMP_loop_ordered_start, GOMP_loop_doacross_start, 4317 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start, 4318 GOMP_loop_ull_doacross_start, 4319 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start, 4320 GOMP_loop_maybe_nonmonotonic_runtime_next, 4321 GOMP_loop_maybe_nonmonotonic_runtime_start, 4322 GOMP_loop_nonmonotonic_runtime_next, 4323 GOMP_loop_nonmonotonic_runtime_start, 4324 GOMP_loop_ull_maybe_nonmonotonic_runtime_next, 4325 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, 4326 GOMP_loop_ull_nonmonotonic_runtime_next, 4327 GOMP_loop_ull_nonmonotonic_runtime_start, 4328 GOMP_parallel_loop_maybe_nonmonotonic_runtime, 4329 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions, 4330 GOMP_taskgroup_reduction_register, 4331 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap, 4332 GOMP_teams_reg and GOMP_taskwait_depend. 4333 (OMP_5.0): Export omp_pause_resource{,_all}{,_}, 4334 omp_{capture,display}_affinity{,_}, and 4335 omp_[gs]et_affinity_format{,_}. 4336 * loop.c: Include string.h. 4337 (GOMP_loop_runtime_next): Add ialias. 4338 (GOMP_taskgroup_reduction_register): Add ialias_redirect. 4339 (gomp_loop_static_start, gomp_loop_dynamic_start, 4340 gomp_loop_guided_start, gomp_loop_ordered_static_start, 4341 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start, 4342 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start, 4343 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start 4344 or gomp_doacross_init callers. 4345 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start, 4346 GOMP_loop_doacross_start): New functions. 4347 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start, 4348 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start): 4349 Mask off GFS_MONOTONIC bit. 4350 (GOMP_loop_maybe_nonmonotonic_runtime_next, 4351 GOMP_loop_maybe_nonmonotonic_runtime_start, 4352 GOMP_loop_nonmonotonic_runtime_next, 4353 GOMP_loop_nonmonotonic_runtime_start, 4354 GOMP_parallel_loop_maybe_nonmonotonic_runtime, 4355 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper 4356 functions. 4357 (gomp_parallel_loop_start): Pass NULL as taskgroup to 4358 gomp_team_start. 4359 * loop_ull.c: Include string.h. 4360 (GOMP_loop_ull_runtime_next): Add ialias. 4361 (GOMP_taskgroup_reduction_register): Add ialias_redirect. 4362 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start, 4363 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start, 4364 gomp_loop_ull_ordered_dynamic_start, 4365 gomp_loop_ull_ordered_guided_start, 4366 gomp_loop_ull_doacross_static_start, 4367 gomp_loop_ull_doacross_dynamic_start, 4368 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start 4369 and gomp_doacross_ull_init callers. 4370 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start, 4371 GOMP_loop_ull_doacross_start): New functions. 4372 (GOMP_loop_ull_runtime_start, 4373 GOMP_loop_ull_ordered_runtime_start, 4374 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit. 4375 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next, 4376 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, 4377 GOMP_loop_ull_nonmonotonic_runtime_next, 4378 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise. 4379 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c. 4380 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic. 4381 (omp_pause_resource_t, omp_depend_t): New typedefs. 4382 (enum omp_lock_hint_t): Renamed to ... 4383 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_* 4384 enumerators using numbers and omp_lock_hint_* as their aliases. 4385 (omp_lock_hint_t): New typedef. Rename to ... 4386 (omp_sync_hint_t): ... this. 4387 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use 4388 omp_sync_hint_t instead of omp_lock_hint_t. 4389 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format, 4390 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity): 4391 Declare. 4392 (omp_target_is_present, omp_target_disassociate_ptr): 4393 Change first argument from void * to const void *. 4394 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument 4395 from void * to const void *. 4396 (omp_target_associate_ptr): Change first and second arguments from 4397 void * to const void *. 4398 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft, 4399 omp_pause_hard): New parameters. 4400 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format, 4401 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity): 4402 New interfaces. 4403 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft, 4404 omp_pause_hard): New parameters. 4405 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format, 4406 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity): 4407 New externals. 4408 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add 4409 EXTRA argument. If not needed to prepare array, if extra is 0, 4410 clear ws->doacross, otherwise allocate just doacross structure and 4411 extra payload. If array is needed, allocate also extra payload. 4412 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post, 4413 GOMP_doacross_ull_wait): Handle doacross->array == NULL like 4414 doacross == NULL. 4415 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to 4416 gomp_team_start. 4417 (GOMP_parallel): Likewise. Formatting fix. 4418 (GOMP_parallel_reductions): New function. 4419 (GOMP_cancellation_point): If taskgroup has workshare 4420 flag set, check cancelled of prev taskgroup if any. 4421 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled 4422 on prev taskgroup if any. 4423 * sections.c: Include string.h. 4424 (GOMP_taskgroup_reduction_register): Add ialias_redirect. 4425 (GOMP_sections_start): Adjust gomp_work_share_start caller. 4426 (GOMP_sections2_start): New function. 4427 (GOMP_parallel_sections_start, GOMP_parallel_sections): 4428 Pass NULL as taskgroup to gomp_team_start. 4429 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust 4430 gomp_work_share_start callers. 4431 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data): 4432 If taskgroup has workshare flag set, check cancelled on prev 4433 taskgroup if any. Guard all cancellation tests with 4434 gomp_cancel_var test. 4435 (omp_target_is_present, omp_target_disassociate_ptr): 4436 Change ptr argument from void * to const void *. 4437 (omp_target_memcpy): Change src argument from void * to const void *. 4438 (omp_target_memcpy_rect): Likewise. 4439 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts 4440 instead of char * where needed. 4441 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments 4442 from void * to const void *. 4443 (omp_pause_resource, omp_pause_resource_all): New functions. 4444 * task.c (gomp_task_handle_depend): Handle new depend array format 4445 in addition to the old. Handle mutexinoutset kinds the same as 4446 inout for now, handle unspecified kinds. 4447 (gomp_create_target_task): If taskgroup has workshare flag set, check 4448 cancelled on prev taskgroup if any. Guard all cancellation tests with 4449 gomp_cancel_var test. Handle new depend array format count in 4450 addition to the old. 4451 (GOMP_task): Likewise. Adjust function comment. 4452 (gomp_task_run_pre): If taskgroup has workshare flag set, check 4453 cancelled on prev taskgroup if any. Guard all cancellation tests with 4454 gomp_cancel_var test. 4455 (GOMP_taskwait_depend): New function. 4456 (gomp_task_maybe_wait_for_dependencies): Handle new depend array 4457 format in addition to the old. Handle mutexinoutset kinds the same as 4458 inout for now, handle unspecified kinds. Fix a function comment typo. 4459 (gomp_taskgroup_init): New function. 4460 (GOMP_taskgroup_start): Use it. 4461 (gomp_reduction_register, gomp_create_artificial_team, 4462 GOMP_taskgroup_reduction_register, 4463 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap, 4464 gomp_parallel_reduction_register, 4465 gomp_workshare_task_reduction_register, 4466 gomp_workshare_taskgroup_start, 4467 GOMP_workshare_task_reduction_unregister): New functions. 4468 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set, 4469 check cancelled on prev taskgroup if any. Guard all cancellation 4470 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag 4471 by calling GOMP_taskgroup_reduction_register. 4472 * team.c (gomp_thread_attr): Remove comment. 4473 (struct gomp_thread_start_data): Add handle field. 4474 (gomp_thread_start): Call pthread_detach. 4475 (gomp_new_team): Adjust gomp_init_work_share caller. 4476 (gomp_free_pool_helper): Call pthread_detach. 4477 (gomp_team_start): Add taskgroup argument, initialize implicit 4478 tasks' taskgroup field to that. Don't call 4479 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var. 4480 (gomp_team_end): Determine nesting by thr->ts.level != 0 4481 rather than thr->ts.team != NULL. 4482 (gomp_pause_pool_helper, gomp_pause_host): New functions. 4483 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of 4484 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined. 4485 (gomp_init_work_share): Change ORDERED argument from bool to size_t, 4486 if more than 1 allocate also extra payload at the end of array. Never 4487 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead. 4488 (gomp_work_share_start): Change ORDERED argument from bool to size_t, 4489 return true instead of ws. 4490 * Makefile.in: Regenerated. 4491 * configure: Regenerated. 4492 * config.h.in: Regenerated. 4493 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier 4494 in some cases. 4495 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test. 4496 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test. 4497 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test. 4498 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test. 4499 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test. 4500 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test. 4501 * testsuite/libgomp.c-c++-common/depobj-1.c: New test. 4502 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test. 4503 * testsuite/libgomp.c-c++-common/for-10.c: New test. 4504 * testsuite/libgomp.c-c++-common/for-11.c: New test. 4505 * testsuite/libgomp.c-c++-common/for-12.c: New test. 4506 * testsuite/libgomp.c-c++-common/for-13.c: New test. 4507 * testsuite/libgomp.c-c++-common/for-14.c: New test. 4508 * testsuite/libgomp.c-c++-common/for-15.c: New test. 4509 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined, 4510 define a different N(test), don't define N(f0) to N(f14), but instead 4511 define N(f20) to N(f34) using != comparisons. 4512 * testsuite/libgomp.c-c++-common/for-7.c: New test. 4513 * testsuite/libgomp.c-c++-common/for-8.c: New test. 4514 * testsuite/libgomp.c-c++-common/for-9.c: New test. 4515 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test. 4516 * testsuite/libgomp.c-c++-common/pause-1.c: New test. 4517 * testsuite/libgomp.c-c++-common/pause-2.c: New test. 4518 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test. 4519 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test. 4520 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test. 4521 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test. 4522 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test. 4523 * testsuite/libgomp.c-c++-common/simd-1.c: New test. 4524 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test. 4525 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test. 4526 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test. 4527 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test. 4528 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test. 4529 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test. 4530 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test. 4531 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test. 4532 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test. 4533 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test. 4534 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test. 4535 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test. 4536 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test. 4537 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test. 4538 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test. 4539 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test. 4540 * testsuite/libgomp.c++/depend-1.C: New test. 4541 * testsuite/libgomp.c++/depend-iterator-1.C: New test. 4542 * testsuite/libgomp.c++/depobj-1.C: New test. 4543 * testsuite/libgomp.c++/for-16.C: New test. 4544 * testsuite/libgomp.c++/for-21.C: New test. 4545 * testsuite/libgomp.c++/for-22.C: New test. 4546 * testsuite/libgomp.c++/for-23.C: New test. 4547 * testsuite/libgomp.c++/for-24.C: New test. 4548 * testsuite/libgomp.c++/for-25.C: New test. 4549 * testsuite/libgomp.c++/for-26.C: New test. 4550 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test. 4551 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test. 4552 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test. 4553 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test. 4554 * testsuite/libgomp.c++/task-reduction-10.C: New test. 4555 * testsuite/libgomp.c++/task-reduction-11.C: New test. 4556 * testsuite/libgomp.c++/task-reduction-12.C: New test. 4557 * testsuite/libgomp.c++/task-reduction-13.C: New test. 4558 * testsuite/libgomp.c++/task-reduction-14.C: New test. 4559 * testsuite/libgomp.c++/task-reduction-15.C: New test. 4560 * testsuite/libgomp.c++/task-reduction-16.C: New test. 4561 * testsuite/libgomp.c++/task-reduction-17.C: New test. 4562 * testsuite/libgomp.c++/task-reduction-18.C: New test. 4563 * testsuite/libgomp.c++/task-reduction-19.C: New test. 4564 * testsuite/libgomp.c/task-reduction-1.c: New test. 4565 * testsuite/libgomp.c++/task-reduction-1.C: New test. 4566 * testsuite/libgomp.c/task-reduction-2.c: New test. 4567 * testsuite/libgomp.c++/task-reduction-2.C: New test. 4568 * testsuite/libgomp.c++/task-reduction-3.C: New test. 4569 * testsuite/libgomp.c++/task-reduction-4.C: New test. 4570 * testsuite/libgomp.c++/task-reduction-5.C: New test. 4571 * testsuite/libgomp.c++/task-reduction-6.C: New test. 4572 * testsuite/libgomp.c++/task-reduction-7.C: New test. 4573 * testsuite/libgomp.c++/task-reduction-8.C: New test. 4574 * testsuite/libgomp.c++/task-reduction-9.C: New test. 4575 * testsuite/libgomp.c/teams-1.c: New test. 4576 * testsuite/libgomp.c/teams-2.c: New test. 4577 * testsuite/libgomp.c/thread-limit-4.c: New test. 4578 * testsuite/libgomp.c/thread-limit-5.c: New test. 4579 * testsuite/libgomp.fortran/display-affinity-1.f90: New test. 4580 45812018-11-06 Chung-Lin Tang <cltang@codesourcery.com> 4582 4583 * oacc-mem.c (memcpy_tofrom_device): New function, combined from 4584 acc_memcpy_to/from_device functions, now with async parameter. 4585 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device. 4586 (acc_memcpy_from_device): Likewise. 4587 (acc_memcpy_to_device_async): New API function. 4588 (acc_memcpy_from_device_async): Likewise. 4589 (present_create_copy): Add async parameter and async setting/unsetting. 4590 (acc_create): Adjust present_create_copy call. 4591 (acc_copyin): Likewise. 4592 (acc_present_or_create): Likewise. 4593 (acc_present_or_copyin): Likewise. 4594 (acc_create_async): New API function. 4595 (acc_copyin_async): New API function. 4596 (delete_copyout): Add async parameter and async setting/unsetting. 4597 (acc_delete): Adjust delete_copyout call. 4598 (acc_copyout): Likewise. 4599 (acc_delete_async): New API function. 4600 (acc_copyout_async): Likewise. 4601 (update_dev_host): Add async parameter and async setting/unsetting. 4602 (acc_update_device): Adjust update_dev_host call. 4603 (acc_update_self): Likewise. 4604 (acc_update_device_async): New API function. 4605 (acc_update_self_async): Likewise. 4606 * openacc.h (acc_copyin_async): Declare new API function. 4607 (acc_create_async): Likewise. 4608 (acc_copyout_async): Likewise. 4609 (acc_delete_async): Likewise. 4610 (acc_update_device_async): Likewise. 4611 (acc_update_self_async): Likewise. 4612 (acc_memcpy_to_device_async): Likewise. 4613 (acc_memcpy_from_device_async): Likewise. 4614 * openacc_lib.h (acc_copyin_async_32_h): New subroutine. 4615 (acc_copyin_async_64_h): New subroutine. 4616 (acc_copyin_async_array_h): New subroutine. 4617 (acc_create_async_32_h): New subroutine. 4618 (acc_create_async_64_h): New subroutine. 4619 (acc_create_async_array_h): New subroutine. 4620 (acc_copyout_async_32_h): New subroutine. 4621 (acc_copyout_async_64_h): New subroutine. 4622 (acc_copyout_async_array_h): New subroutine. 4623 (acc_delete_async_32_h): New subroutine. 4624 (acc_delete_async_64_h): New subroutine. 4625 (acc_delete_async_array_h): New subroutine. 4626 (acc_update_device_async_32_h): New subroutine. 4627 (acc_update_device_async_64_h): New subroutine. 4628 (acc_update_device_async_array_h): New subroutine. 4629 (acc_update_self_async_32_h): New subroutine. 4630 (acc_update_self_async_64_h): New subroutine. 4631 (acc_update_self_async_array_h): New subroutine. 4632 * openacc.f90 (acc_copyin_async_32_h): New subroutine. 4633 (acc_copyin_async_64_h): New subroutine. 4634 (acc_copyin_async_array_h): New subroutine. 4635 (acc_create_async_32_h): New subroutine. 4636 (acc_create_async_64_h): New subroutine. 4637 (acc_create_async_array_h): New subroutine. 4638 (acc_copyout_async_32_h): New subroutine. 4639 (acc_copyout_async_64_h): New subroutine. 4640 (acc_copyout_async_array_h): New subroutine. 4641 (acc_delete_async_32_h): New subroutine. 4642 (acc_delete_async_64_h): New subroutine. 4643 (acc_delete_async_array_h): New subroutine. 4644 (acc_update_device_async_32_h): New subroutine. 4645 (acc_update_device_async_64_h): New subroutine. 4646 (acc_update_device_async_array_h): New subroutine. 4647 (acc_update_self_async_32_h): New subroutine. 4648 (acc_update_self_async_64_h): New subroutine. 4649 (acc_update_self_async_array_h): New subroutine. 4650 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*, 4651 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*, 4652 acc_delete_finalize_async*, acc_memcpy_from_device_async*, 4653 acc_memcpy_to_device_async*, acc_update_device_async*, and 4654 acc_update_self_async* entries. 4655 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test. 4656 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test. 4657 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test. 4658 46592018-10-31 Joseph Myers <joseph@codesourcery.com> 4660 4661 PR bootstrap/82856 4662 * Makefile.am: Include multilib.am 4663 (AUTOMAKE_OPTIONS): Add info-in-builddir. 4664 (CLEANFILES): Remove libgomp.info. 4665 * configure.ac: Remove AC_PREREQ. 4666 * testsuite/Makefile.am (RUNTEST): Remove quotes. 4667 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: 4668 Regenerate. 4669 46702018-10-29 Joseph Myers <joseph@codesourcery.com> 4671 Julian Brown <julian@codesourcery.com> 4672 4673 * testsuite/libgomp.oacc-c++/this.C: New. 4674 46752018-09-18 Cesar Philippidis <cesar@codesourcery.com> 4676 4677 * plugin/plugin-nvptx.c (struct cuda_map): New. 4678 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev, 4679 h_tail with (cuda_map *) map. 4680 (cuda_map_create): New function. 4681 (cuda_map_destroy): New function. 4682 (map_init): Update to use a linked list of cuda_map objects. 4683 (map_fini): Likewise. 4684 (map_pop): Likewise. 4685 (map_push): Likewise. Return CUdeviceptr instead of void. 4686 (init_streams_for_device): Remove stales references to ptx_stream 4687 members. 4688 (select_stream_for_async): Likewise. 4689 (nvptx_exec): Update call to map_init. 4690 46912018-09-09 Cesar Philippidis <cesar@codesourcery.com> 4692 Julian Brown <julian@codesourcery.com> 4693 4694 PR middle-end/86336 4695 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL. 4696 46972018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org> 4698 Thomas Koenig <tkoenig@gcc.gnu.org> 4699 4700 PR fortran/25829 4701 * testsuite/libgomp.fortran/async_io_1.f90: New test. 4702 * testsuite/libgomp.fortran/async_io_2.f90: New test. 4703 * testsuite/libgomp.fortran/async_io_3.f90: New test. 4704 * testsuite/libgomp.fortran/async_io_4.f90: New test. 4705 * testsuite/libgomp.fortran/async_io_5.f90: New test. 4706 * testsuite/libgomp.fortran/async_io_6.f90: New test. 4707 * testsuite/libgomp.fortran/async_io_7.f90: New test. 4708 47092018-08-13 Cesar Philippidis <cesar@codesourcery.com> 4710 Tom de Vries <tdevries@suse.de> 4711 4712 PR target/85590 4713 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef. 4714 (cuOccupancyMaxPotentialBlockSize): Declare. 4715 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New 4716 CUDA_ONE_CALL_MAYBE_NULL. 4717 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define 4718 CUoccupancyB2DSize and declare 4719 cuOccupancyMaxPotentialBlockSize. 4720 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the 4721 default num_gangs and num_workers when the driver supports it. 4722 47232018-08-08 Tom de Vries <tdevries@suse.de> 4724 4725 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using 4726 CUDA_ONE_CALL_MAYBE_NULL. 4727 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare. 4728 (cuLinkAddData_v2, cuLinkCreate_v2): Declare. 4729 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions 4730 are not found. 4731 47322018-08-08 Tom de Vries <tdevries@suse.de> 4733 4734 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL. 4735 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not 4736 present. 4737 47382018-08-08 Tom de Vries <tdevries@suse.de> 4739 4740 * plugin/plugin-nvptx.c 4741 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define. 4742 (nvptx_open_device): Use 4743 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR. 4744 47452018-08-08 Tom de Vries <tdevries@suse.de> 4746 4747 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ... 4748 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000. 4749 47502018-08-07 Tom de Vries <tdevries@suse.de> 4751 4752 * plugin/plugin-nvptx.c (DO_PRAGMA): Define. 4753 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL. 4754 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to 4755 corresponding call in CUDA_ONE_CALL. Add def/undef of 4756 CUDA_ONE_CALL_MAYBE_NULL. 4757 (CUDA_CALL_EXISTS): Define. 4758 47592018-08-07 Tom de Vries <tdevries@suse.de> 4760 4761 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put 4762 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the 4763 corresponding undefs right after. 4764 47652018-08-04 Tom de Vries <tdevries@suse.de> 4766 4767 * plugin/configfrag.ac: For --without-cuda-driver, set 4768 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle 4769 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no. 4770 * configure: Regenerate. 4771 47722018-08-02 Tom de Vries <tdevries@suse.de> 4773 4774 PR target/86660 4775 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions. 4776 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same. 4777 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C: 4778 Same. 4779 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same. 4780 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same. 4781 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same. 4782 47832018-08-01 Cesar Philippidis <cesar@codesourcery.com> 4784 Thomas Schwinge <thomas@codesourcery.com> 4785 4786 * config/nvptx/oacc-parallel.c: Truncate. 4787 47882018-08-01 Cesar Philippidis <cesar@codesourcery.com> 4789 James Norris <jnorris@codesourcery.com> 4790 4791 * plugin/plugin-nvptx.c (struct map): Removed. 4792 (map_init, map_pop): Remove use of struct map. 4793 (map_push): Likewise and change argument list. 4794 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New 4795 47962018-08-01 Tom de Vries <tdevries@suse.de> 4797 4798 * plugin/cuda-lib.def: New file. Factor out of ... 4799 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here. 4800 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of 4801 using CUDA_CALLS. 4802 48032018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com> 4804 4805 Revert 'AsyncI/O patch committed'. 4806 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org> 4807 Thomas Koenig <tkoenig@gcc.gnu.org> 4808 4809 PR fortran/25829 4810 * testsuite/libgomp.fortran/async_io_1.f90: New test. 4811 * testsuite/libgomp.fortran/async_io_2.f90: New test. 4812 * testsuite/libgomp.fortran/async_io_3.f90: New test. 4813 * testsuite/libgomp.fortran/async_io_4.f90: New test. 4814 * testsuite/libgomp.fortran/async_io_5.f90: New test. 4815 * testsuite/libgomp.fortran/async_io_6.f90: New test. 4816 * testsuite/libgomp.fortran/async_io_7.f90: New test. 4817 48182018-07-30 Tom de Vries <tdevries@suse.de> 4819 4820 * plugin/plugin-nvptx.c (MIN, MAX): Redefine. 4821 (nvptx_exec): Ensure worker and vector default dims don't exceed 4822 targ_fn->max_threads_per_block. 4823 48242018-07-30 Tom de Vries <tdevries@suse.de> 4825 4826 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field. 4827 (nvptx_open_device): Init default_dims for device. 4828 (nvptx_exec): Use default_dims from device. 4829 48302018-07-26 Jakub Jelinek <jakub@redhat.com> 4831 4832 PR testsuite/86660 4833 * testsuite/libgomp.c++/for-15.C (results): Include it in 4834 omp declare target region. 4835 (main): Use map (always, tofrom: results) instead of 4836 map (tofrom: results). 4837 4838 PR middle-end/86660 4839 * testsuite/libgomp.c/pr86660.c: New test. 4840 48412018-07-26 Cesar Philippidis <cesar@codesourcery.com> 4842 Tom de Vries <tdevries@suse.de> 4843 4844 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have 4845 sufficient resources to launch a kernel, and give a hint on how to fix 4846 it. 4847 48482018-07-26 Cesar Philippidis <cesar@codesourcery.com> 4849 Tom de Vries <tdevries@suse.de> 4850 4851 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size, 4852 max_threads_per_block and max_threads_per_multiprocessor fields. 4853 (nvptx_open_device): Initialize new fields. 4854 (nvptx_exec): Use num_sms, and new fields. 4855 48562018-07-26 Tom de Vries <tdevries@suse.de> 4857 4858 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls 4859 to correct locations. Remove xfail. 4860 48612018-07-26 Tom de Vries <tdevries@suse.de> 4862 4863 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with 4864 acc_wait. Move acc_async_test calls to correct locations. Remove 4865 xfail. 4866 48672018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org> 4868 Thomas Koenig <tkoenig@gcc.gnu.org> 4869 4870 PR fortran/25829 4871 * testsuite/libgomp.fortran/async_io_1.f90: New test. 4872 * testsuite/libgomp.fortran/async_io_2.f90: New test. 4873 * testsuite/libgomp.fortran/async_io_3.f90: New test. 4874 * testsuite/libgomp.fortran/async_io_4.f90: New test. 4875 * testsuite/libgomp.fortran/async_io_5.f90: New test. 4876 * testsuite/libgomp.fortran/async_io_6.f90: New test. 4877 * testsuite/libgomp.fortran/async_io_7.f90: New test. 4878 48792018-07-17 Jakub Jelinek <jakub@redhat.com> 4880 4881 PR middle-end/86542 4882 * testsuite/libgomp.c++/pr86542.C: New test. 4883 4884 PR middle-end/86539 4885 * testsuite/libgomp.c++/pr86539.C: New test. 4886 48872018-07-11 Jakub Jelinek <jakub@redhat.com> 4888 4889 PR c++/86443 4890 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable. 4891 (results): Make sure the variable is not inside declare target region. 4892 (qux): Remove unused function. 4893 48942018-07-10 Jakub Jelinek <jakub@redhat.com> 4895 4896 PR c++/86443 4897 * testsuite/libgomp.c++/for-15.C: New test. 4898 48992018-06-26 Jakub Jelinek <jakub@redhat.com> 4900 4901 PR c++/86291 4902 * testsuite/libgomp.c++/pr86291.C: New test. 4903 49042018-06-24 Gerald Pfeifer <gerald@pfeifer.com> 4905 4906 * libgomp.texi (Top): Move www.openmp.org to https. 4907 (Enabling OpenMP): Ditto. 4908 (omp_get_active_level): Ditto. 4909 (omp_get_ancestor_thread_num): Ditto. 4910 (omp_get_cancellation): Ditto. 4911 (omp_get_default_device): Ditto. 4912 (omp_get_dynamic): Ditto. 4913 (omp_get_level): Ditto. 4914 (omp_get_max_active_levels): Ditto. 4915 (omp_get_max_task_priority): Ditto. 4916 (omp_get_max_threads): Ditto. 4917 (omp_get_nested): Ditto. 4918 (omp_get_num_devices): Ditto. 4919 (omp_get_num_procs): Ditto. 4920 (omp_get_num_teams): Ditto. 4921 (omp_get_num_threads): Ditto. 4922 (omp_get_proc_bind): Ditto. 4923 (omp_get_schedule): Ditto. 4924 (omp_get_team_num): Ditto. 4925 (omp_get_team_size): Ditto. 4926 (omp_get_thread_limit): Ditto. 4927 (omp_get_thread_num): Ditto. 4928 (omp_in_parallel): Ditto. 4929 (omp_in_final): Ditto. 4930 (omp_is_initial_device): Ditto. 4931 (omp_set_default_device): Ditto. 4932 (omp_set_dynamic): Ditto. 4933 (omp_set_max_active_levels): Ditto. 4934 (omp_set_nested): Ditto. 4935 (omp_set_num_threads): Ditto. 4936 (omp_set_schedule): Ditto. 4937 (omp_init_lock): Ditto. 4938 (omp_set_lock): Ditto. 4939 (omp_test_lock): Ditto. 4940 (omp_unset_lock): Ditto. 4941 (omp_destroy_lock): Ditto. 4942 (omp_init_nest_lock): Ditto. 4943 (omp_set_nest_lock): Ditto. 4944 (omp_test_nest_lock): Ditto. 4945 (omp_unset_nest_lock): Ditto. 4946 (omp_destroy_nest_lock): Ditto. 4947 (omp_get_wtick): Ditto. 4948 (omp_get_wtime): Ditto. 4949 (OMP_CANCELLATION): Ditto. 4950 (OMP_DISPLAY_ENV): Ditto. 4951 (OMP_DEFAULT_DEVICE): Ditto. 4952 (OMP_DYNAMIC): Ditto. 4953 (OMP_MAX_ACTIVE_LEVELS): Ditto. 4954 (OMP_MAX_TASK_PRIORITY): Ditto. 4955 (OMP_NESTED): Ditto. 4956 (OMP_NUM_THREADS): Ditto. 4957 (OMP_PROC_BIND): Ditto. 4958 (OMP_PLACES): Ditto. 4959 (OMP_STACKSIZE): Ditto. 4960 (OMP_SCHEDULE): Ditto. 4961 (OMP_THREAD_LIMIT): Ditto. 4962 (OMP_WAIT_POLICY): Ditto. 4963 49642018-06-22 Cesar Philippidis <cesar@codesourcery.com> 4965 James Norris <jnorris@codesourcery.com> 4966 Julian Brown <julian@codesourcery.com> 4967 Thomas Schwinge <thomas@codesourcery.com> 4968 Tom de Vries <tom@codesourcery.com> 4969 4970 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2". 4971 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update. 4972 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise. 4973 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise. 4974 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise. 4975 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise. 4976 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file. 4977 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise. 4978 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise. 4979 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: 4980 Likewise. 4981 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c: 4982 Likewise. 4983 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c: 4984 Likewise. 4985 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: 4986 Likewise. 4987 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: 4988 Likewise. 4989 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c: 4990 Likewise. 4991 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c: 4992 Likewise. 4993 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c: 4994 Likewise. 4995 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c: 4996 Likewise. 4997 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c: 4998 Likewise. 4999 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c: 5000 Likewise. 5001 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c: 5002 Likewise. 5003 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c: 5004 Likewise. 5005 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c: 5006 Likewise. 5007 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c: 5008 Likewise. 5009 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c: 5010 Likewise. 5011 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c: 5012 Likewise. 5013 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c: 5014 Likewise. 5015 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c: 5016 Likewise. 5017 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c: 5018 Likewise. 5019 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c: 5020 Likewise. 5021 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c: 5022 Likewise. 5023 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c: 5024 Likewise. 5025 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c: 5026 Likewise. 5027 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c: 5028 Likewise. 5029 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c: 5030 Likewise. 5031 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c: 5032 Likewise. 5033 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise. 5034 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise. 5035 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise. 5036 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise. 5037 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise. 5038 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise. 5039 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise. 5040 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise. 5041 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90: 5042 Likewise. 5043 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90: 5044 Likewise. 5045 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise. 5046 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise. 5047 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: 5048 Likewise. 5049 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise. 5050 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise. 5051 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95: 5052 Likewise. 5053 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90: 5054 Likewise. 5055 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90: 5056 Likewise. 5057 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90: 5058 Likewise. 5059 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90: 5060 Likewise. 5061 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90: 5062 Likewise. 5063 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90: 5064 Likewise. 5065 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90: 5066 Likewise. 5067 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90: 5068 Likewise. 5069 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90: 5070 Likewise. 5071 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90: 5072 Likewise. 5073 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90: 5074 Likewise. 5075 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90: 5076 Likewise. 5077 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90: 5078 Likewise. 5079 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: 5080 Likewise. 5081 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise. 5082 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise. 5083 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise. 5084 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise. 5085 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise. 5086 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise. 5087 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise. 5088 50892018-06-20 Chung-Lin Tang <cltang@codesourcery.com> 5090 Thomas Schwinge <thomas@codesourcery.com> 5091 Cesar Philippidis <cesar@codesourcery.com> 5092 5093 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member. 5094 (gomp_acc_remove_pointer): Update declaration. 5095 (gomp_acc_declare_allocate): Declare. 5096 (gomp_remove_var): Declare. 5097 * libgomp.map (OACC_2.5): Define. 5098 * oacc-mem.c (acc_map_data): Update refcount. 5099 (acc_unmap_data): Likewise. 5100 (present_create_copy): Likewise. 5101 (acc_create): Add FLAG_PRESENT when calling present_create_copy. 5102 (acc_copyin): Likewise. 5103 (FLAG_FINALIZE): Define. 5104 (delete_copyout): Update dynamic refcounts, add support for FINALIZE. 5105 (acc_delete_finalize): New function. 5106 (acc_delete_finalize_async): New function. 5107 (acc_copyout_finalize): New function. 5108 (acc_copyout_finalize_async): New function. 5109 (gomp_acc_insert_pointer): Update refcounts. 5110 (gomp_acc_remove_pointer): Return if data is not present on the 5111 accelerator. 5112 * oacc-parallel.c (find_pset): Rename to find_pointer. 5113 (find_pointer): Add support for GOMP_MAP_POINTER. 5114 (handle_ftn_pointers): New function. 5115 (GOACC_parallel_keyed): Update refcounts of variables. 5116 (GOACC_enter_exit_data): Add support for finalized data mappings. 5117 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling 5118 of fortran arrays. 5119 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}. 5120 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support 5121 for GOMP_MAP_FORCE_FROM. 5122 * openacc.f90 (module openacc_internal): Add 5123 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and 5124 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for 5125 acc_copyout_finalize and acc_delete_finalize. 5126 (acc_copyout_finalize_32_h): New subroutine. 5127 (acc_copyout_finalize_64_h): New subroutine. 5128 (acc_copyout_finalize_array_h): New subroutine. 5129 (acc_delete_finalize_32_h): New subroutine. 5130 (acc_delete_finalize_64_h): New subroutine. 5131 (acc_delete_finalize_array_h): New subroutine. 5132 * openacc.h (acc_copyout_finalize): Declare. 5133 (acc_copyout_finalize_async): Declare. 5134 (acc_delete_finalize): Declare. 5135 (acc_delete_finalize_async): Declare. 5136 * openacc_lib.h (acc_copyout_finalize): New interface. 5137 (acc_delete_finalize): New interface. 5138 * target.c (gomp_map_vars): Update dynamic_refcount. 5139 (gomp_remove_var): New function. 5140 (gomp_unmap_vars): Use it. 5141 (gomp_unload_image_from_device): Likewise. 5142 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test 5143 case to utilize OpenACC 2.5 data clause semantics. 5144 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise. 5145 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise. 5146 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise. 5147 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise. 5148 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise. 5149 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise. 5150 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise. 5151 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise. 5152 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise. 5153 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise. 5154 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise. 5155 * testsuite/libgomp.oacc-fortran/data-5.f90: New test. 5156 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to 5157 utilize OpenACC 2.5 data clause semantics. 5158 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise. 5159 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise. 5160 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise. 5161 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise. 5162 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise. 5163 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise. 5164 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise. 5165 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise. 5166 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise. 5167 51682018-05-21 Janus Weil <janus@gcc.gnu.org> 5169 5170 PR fortran/85841 5171 PR testsuite/85865 5172 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy". 5173 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto. 5174 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto. 5175 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto. 5176 * testsuite/libgomp.fortran/task2.f90: Ditto. 5177 * testsuite/libgomp.fortran/vla1.f90: Ditto. 5178 * testsuite/libgomp.fortran/vla2.f90: Ditto. 5179 * testsuite/libgomp.fortran/vla3.f90: Ditto. 5180 * testsuite/libgomp.fortran/vla4.f90: Ditto. 5181 * testsuite/libgomp.fortran/vla5.f90: Ditto. 5182 * testsuite/libgomp.fortran/vla6.f90: Ditto. 5183 * testsuite/libgomp.fortran/vla8.f90: Ditto. 5184 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto. 5185 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto. 5186 51872018-05-18 Cesar Philippidis <cesar@codesourcery.com> 5188 5189 PR c++/85782 5190 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test. 5191 51922018-05-09 Tom de Vries <tom@codesourcery.com> 5193 5194 PR libgomp/82901 5195 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument 5196 to GOACC_enter_exit_data. 5197 51982018-05-09 Tom de Vries <tom@codesourcery.com> 5199 5200 PR libgomp/83792 5201 * oacc-int.h (async_valid_stream_id_p, async_valid_p) 5202 (async_synchronous_p): New function. 5203 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use 5204 async_valid_p. 5205 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use 5206 async_valid_stream_id_p. 5207 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p. 5208 * oacc-parallel.c (GOACC_parallel_keyed): Same. 5209 52102018-05-07 Tom de Vries <tom@codesourcery.com> 5211 5212 PR testsuite/85677 5213 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level 5214 include directory in ALWAYS_CFLAGS out of $blddir != "" condition. 5215 52162018-05-03 Tom de Vries <tom@codesourcery.com> 5217 5218 PR testsuite/85106 5219 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to 5220 extra_tool_flags if it contains an -foffload=-fdump-* flag. 5221 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp. 5222 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump. 5223 52242018-05-02 Tom de Vries <tom@codesourcery.com> 5225 5226 PR libgomp/85411 5227 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of 5228 GOMP_OPENACC_DIM ... 5229 * env.c (parse_gomp_openacc_dim): ... here. New function. 5230 (initialize_env): Call parse_gomp_openacc_dim. 5231 (goacc_default_dims): Define. 5232 * libgomp.h (goacc_default_dims): Declare. 5233 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function. 5234 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare. 5235 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add 5236 GOMP_PLUGIN_acc_default_dim. 5237 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test. 5238 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test. 5239 52402018-05-02 Tom de Vries <tom@codesourcery.com> 5241 5242 PR testsuite/83791 5243 * testsuite/libgomp.c++/udr-9.C: Update. 5244 * testsuite/libgomp.c++/atomic-16.C: Remove. 5245 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove. 5246 * testsuite/libgomp.c++/loop-13.C: Remove. 5247 * testsuite/libgomp.c++/loop-14.C: Remove. 5248 * testsuite/libgomp.c++/loop-15.C: Remove. 5249 * testsuite/libgomp.c++/monotonic-1.C: Remove. 5250 * testsuite/libgomp.c++/monotonic-2.C: Remove. 5251 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove. 5252 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove. 5253 * testsuite/libgomp.c++/ordered-1.C: Remove. 5254 * testsuite/libgomp.c++/pr45784.C: Remove. 5255 * testsuite/libgomp.c++/pr64824.C: Remove. 5256 * testsuite/libgomp.c++/pr64868.C: Remove. 5257 * testsuite/libgomp.c++/pr66199-1.C: Remove. 5258 * testsuite/libgomp.c++/pr66199-2.C: Remove. 5259 * testsuite/libgomp.c++/pr66199-3.C: Remove. 5260 * testsuite/libgomp.c++/pr66199-4.C: Remove. 5261 * testsuite/libgomp.c++/pr66199-5.C: Remove. 5262 * testsuite/libgomp.c++/pr66199-6.C: Remove. 5263 * testsuite/libgomp.c++/pr66199-7.C: Remove. 5264 * testsuite/libgomp.c++/pr66199-8.C: Remove. 5265 * testsuite/libgomp.c++/pr66199-9.C: Remove. 5266 * testsuite/libgomp.c++/pr69389.C: Remove. 5267 * testsuite/libgomp.c++/simd10.C: Remove. 5268 * testsuite/libgomp.c++/simd11.C: Remove. 5269 * testsuite/libgomp.c++/simd12.C: Remove. 5270 * testsuite/libgomp.c++/simd13.C: Remove. 5271 * testsuite/libgomp.c++/target-1.C: Remove. 5272 * testsuite/libgomp.c++/target-3.C: Remove. 5273 * testsuite/libgomp.c++/target-4.C: Remove. 5274 * testsuite/libgomp.c++/target-5.C: Remove. 5275 * testsuite/libgomp.c++/taskgroup-1.C: Remove. 5276 * testsuite/libgomp.c++/taskloop-1.C: Remove. 5277 * testsuite/libgomp.c++/taskloop-2.C: Remove. 5278 * testsuite/libgomp.c++/taskloop-3.C: Remove. 5279 * testsuite/libgomp.c++/taskloop-4.C: Remove. 5280 * testsuite/libgomp.c++/udr-9.C: Remove. 5281 * testsuite/libgomp.c++/for-10.C: Remove. 5282 * testsuite/libgomp.c++/for-11.C: Remove. 5283 * testsuite/libgomp.c++/for-12.C: Remove. 5284 * testsuite/libgomp.c++/for-13.C: Remove. 5285 * testsuite/libgomp.c++/for-14.C: Remove. 5286 * testsuite/libgomp.c++/for-9.C: Remove. 5287 * testsuite/libgomp.c/atomic-18.c: Move ... 5288 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here. 5289 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ... 5290 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here. 5291 * testsuite/libgomp.c/loop-13.c: Move ... 5292 * testsuite/libgomp.c-c++-common/loop-13.c: ... here. 5293 * testsuite/libgomp.c/loop-14.c: Move ... 5294 * testsuite/libgomp.c-c++-common/loop-14.c: ... here. 5295 * testsuite/libgomp.c/loop-15.c: Remove. 5296 * testsuite/libgomp.c-c++-common/loop-15.c: New test. 5297 * testsuite/libgomp.c/monotonic-1.c: Move ... 5298 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here. 5299 * testsuite/libgomp.c/monotonic-2.c: Move ... 5300 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here. 5301 * testsuite/libgomp.c/nonmonotonic-1.c: Move ... 5302 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here. 5303 * testsuite/libgomp.c/nonmonotonic-2.c: Move ... 5304 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here. 5305 * testsuite/libgomp.c/ordered-4.c: Move ... 5306 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here. 5307 * testsuite/libgomp.c/pr45784.c: Move ... 5308 * testsuite/libgomp.c-c++-common/pr45784.c: ... here. 5309 * testsuite/libgomp.c/pr64824.c: Move ... 5310 * testsuite/libgomp.c-c++-common/pr64824.c: ... here. 5311 * testsuite/libgomp.c/pr64868.c: Move ... 5312 * testsuite/libgomp.c-c++-common/pr64868.c: ... here. 5313 * testsuite/libgomp.c/pr66199-1.c: Move ... 5314 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here. 5315 * testsuite/libgomp.c/pr66199-2.c: Move ... 5316 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here. 5317 * testsuite/libgomp.c/pr66199-3.c: Move ... 5318 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here. 5319 * testsuite/libgomp.c/pr66199-4.c: Move ... 5320 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here. 5321 * testsuite/libgomp.c/pr66199-5.c: Move ... 5322 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here. 5323 * testsuite/libgomp.c/pr66199-6.c: Move ... 5324 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here. 5325 * testsuite/libgomp.c/pr66199-7.c: Move ... 5326 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here. 5327 * testsuite/libgomp.c/pr66199-8.c: Move ... 5328 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here. 5329 * testsuite/libgomp.c/pr66199-9.c: Move ... 5330 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here. 5331 * testsuite/libgomp.c/pr69389.c: Move ... 5332 * testsuite/libgomp.c-c++-common/pr69389.c: ... here. 5333 * testsuite/libgomp.c/simd-14.c: Move ... 5334 * testsuite/libgomp.c-c++-common/simd-14.c: ... here. 5335 * testsuite/libgomp.c/simd-15.c: Move ... 5336 * testsuite/libgomp.c-c++-common/simd-15.c: ... here. 5337 * testsuite/libgomp.c/simd-16.c: Move ... 5338 * testsuite/libgomp.c-c++-common/simd-16.c: ... here. 5339 * testsuite/libgomp.c/simd-17.c: Move ... 5340 * testsuite/libgomp.c-c++-common/simd-17.c: ... here. 5341 * testsuite/libgomp.c/target-1.c: Move ... 5342 * testsuite/libgomp.c-c++-common/target-1.c: ... here. 5343 * testsuite/libgomp.c/target-10.c: Move ... 5344 * testsuite/libgomp.c-c++-common/target-10.c: ... here. 5345 * testsuite/libgomp.c/target-13.c: Move ... 5346 * testsuite/libgomp.c-c++-common/target-13.c: ... here. 5347 * testsuite/libgomp.c/target-2.c: Move ... 5348 * testsuite/libgomp.c-c++-common/target-2.c: ... here. 5349 * testsuite/libgomp.c/taskgroup-1.c: Move ... 5350 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here. 5351 * testsuite/libgomp.c/taskloop-1.c: Move ... 5352 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here. 5353 * testsuite/libgomp.c/taskloop-2.c: Move ... 5354 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here. 5355 * testsuite/libgomp.c/taskloop-3.c: Move ... 5356 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here. 5357 * testsuite/libgomp.c/taskloop-4.c: Move ... 5358 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here. 5359 * testsuite/libgomp.c/udr-1.c: Move ... 5360 * testsuite/libgomp.c-c++-common/udr-1.c: ... here. 5361 * testsuite/libgomp.c/for-1.c: Move ... 5362 * testsuite/libgomp.c-c++-common/for-1.c: ... here. 5363 * testsuite/libgomp.c/for-1.h: Move ... 5364 * testsuite/libgomp.c-c++-common/for-1.h: ... here. 5365 * testsuite/libgomp.c/for-2.c: Move ... 5366 * testsuite/libgomp.c-c++-common/for-2.c: ... here. 5367 * testsuite/libgomp.c/for-2.h: Move ... 5368 * testsuite/libgomp.c-c++-common/for-2.h: ... here. 5369 * testsuite/libgomp.c/for-3.c: Move ... 5370 * testsuite/libgomp.c-c++-common/for-3.c: ... here. 5371 * testsuite/libgomp.c/for-4.c: Move ... 5372 * testsuite/libgomp.c-c++-common/for-4.c: ... here. 5373 * testsuite/libgomp.c/for-5.c: Move ... 5374 * testsuite/libgomp.c-c++-common/for-5.c: ... here. 5375 * testsuite/libgomp.c/for-6.c: Move ... 5376 * testsuite/libgomp.c-c++-common/for-6.c: ... here. 5377 53782018-05-02 Tom de Vries <tom@codesourcery.com> 5379 5380 PR libgomp/82428 5381 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use 5382 __builtin_goacc_parlevel_{id,size}. 5383 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same. 5384 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same. 5385 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same. 5386 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same. 5387 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same. 5388 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same. 5389 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same. 5390 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same. 5391 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same. 5392 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same. 5393 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same. 5394 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same. 5395 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same. 5396 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same. 5397 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same. 5398 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same. 5399 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same. 5400 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same. 5401 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same. 5402 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same. 5403 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same. 5404 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same. 5405 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same. 5406 54072018-05-02 Tom de Vries <tom@codesourcery.com> 5408 5409 PR testsuite/85106 5410 * testsuite/lib/libgomp.exp: Include scanltranstree.exp. 5411 54122018-05-02 Tom de Vries <tom@codesourcery.com> 5413 5414 PR testsuite/85106 5415 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp. 5416 54172018-04-29 Julian Brown <julian@codesourcery.com> 5418 Tom de Vries <tom@codesourcery.com> 5419 5420 PR testsuite/85527 5421 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow 5422 arbitrary order for iterations of atomic subtract check. 5423 54242018-04-28 Tom de Vries <tom@codesourcery.com> 5425 5426 PR testsuite/85527 5427 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store 5428 atomic capture results obtained in parallel loop to an array, instead of 5429 to a scalar. 5430 54312018-04-26 Tom de Vries <tom@codesourcery.com> 5432 5433 PR libgomp/84020 5434 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL. 5435 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define. 5436 (process_GOMP_NVPTX_JIT): New function. 5437 (link_ptx): Use process_GOMP_NVPTX_JIT. 5438 54392018-04-26 Richard Biener <rguenther@suse.de> 5440 Tom de Vries <tom@codesourcery.com> 5441 5442 PR lto/85422 5443 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test. 5444 54452018-04-26 Tom de Vries <tom@codesourcery.com> 5446 5447 PR target/85519 5448 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce 5449 recursion depth from 25 to 23. 5450 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same. 5451 54522018-04-24 H.J. Lu <hongjiu.lu@intel.com> 5453 5454 * configure: Regenerated. 5455 54562018-04-20 Nathan Sidwell <nathan@codesourcery.com> 5457 Tom de Vries <tom@codesourcery.com> 5458 5459 PR target/85445 5460 * testsuite/libgomp.oacc-c++/ref-1.C: New. 5461 54622018-04-19 Thomas Schwinge <thomas@codesourcery.com> 5463 5464 PR libgomp/85463 5465 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file. 5466 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise. 5467 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise. 5468 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise. 5469 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise. 5470 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise. 5471 5472 PR libfortran/85166 5473 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call 5474 abort". 5475 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise. 5476 54772018-04-19 Jakub Jelinek <jakub@redhat.com> 5478 5479 * configure: Regenerated. 5480 54812018-04-18 David Malcolm <dmalcolm@redhat.com> 5482 5483 PR jit/85384 5484 * configure: Regenerate. 5485 54862018-04-16 Cesar Philippidis <cesar@codesourcery.com> 5487 Tom de Vries <tom@codesourcery.com> 5488 5489 PR middle-end/84955 5490 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test. 5491 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test. 5492 54932018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org> 5494 5495 PR fortran/83064 5496 PR testsuite/85346 5497 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified 5498 test from gfortran.dg to here. 5499 55002018-04-12 Cesar Philippidis <cesar@codesourcery.com> 5501 5502 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346. 5503 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise. 5504 55052018-04-12 Cesar Philippidis <cesar@codesourcery.com> 5506 5507 PR middle-end/84955 5508 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test. 5509 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test. 5510 55112018-04-05 Tom de Vries <tom@codesourcery.com> 5512 5513 PR target/85204 5514 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test. 5515 55162018-03-26 Tom de Vries <tom@codesourcery.com> 5517 5518 PR tree-optimization/85063 5519 * testsuite/libgomp.c/switch-conversion-2.c: New test. 5520 * testsuite/libgomp.c/switch-conversion.c: New test. 5521 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test. 5522 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test. 5523 55242018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org> 5525 5526 PR fortran/84381 5527 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard 5528 call abort by STOP n. 5529 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise. 5530 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise. 5531 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise. 5532 * testsuite/libgomp.fortran/allocatable1.f90: Likewise. 5533 * testsuite/libgomp.fortran/allocatable10.f90: Likewise. 5534 * testsuite/libgomp.fortran/allocatable11.f90: Likewise. 5535 * testsuite/libgomp.fortran/allocatable12.f90: Likewise. 5536 * testsuite/libgomp.fortran/allocatable2.f90: Likewise. 5537 * testsuite/libgomp.fortran/allocatable3.f90: Likewise. 5538 * testsuite/libgomp.fortran/allocatable4.f90: Likewise. 5539 * testsuite/libgomp.fortran/allocatable5.f90: Likewise. 5540 * testsuite/libgomp.fortran/allocatable6.f90: Likewise. 5541 * testsuite/libgomp.fortran/allocatable7.f90: Likewise. 5542 * testsuite/libgomp.fortran/allocatable8.f90: Likewise. 5543 * testsuite/libgomp.fortran/allocatable9.f90: Likewise. 5544 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. 5545 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise. 5546 * testsuite/libgomp.fortran/associate1.f90: Likewise. 5547 * testsuite/libgomp.fortran/associate2.f90: Likewise. 5548 * testsuite/libgomp.fortran/associate3.f90: Likewise. 5549 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise. 5550 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise. 5551 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise. 5552 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise. 5553 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise. 5554 * testsuite/libgomp.fortran/character1.f90: Likewise. 5555 * testsuite/libgomp.fortran/character2.f90: Likewise. 5556 * testsuite/libgomp.fortran/collapse1.f90: Likewise. 5557 * testsuite/libgomp.fortran/collapse2.f90: Likewise. 5558 * testsuite/libgomp.fortran/collapse3.f90: Likewise. 5559 * testsuite/libgomp.fortran/collapse4.f90: Likewise. 5560 * testsuite/libgomp.fortran/crayptr1.f90: Likewise. 5561 * testsuite/libgomp.fortran/crayptr2.f90: Likewise. 5562 * testsuite/libgomp.fortran/crayptr3.f90: Likewise. 5563 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise. 5564 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise. 5565 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise. 5566 * testsuite/libgomp.fortran/depend-1.f90: Likewise. 5567 * testsuite/libgomp.fortran/depend-2.f90: Likewise. 5568 * testsuite/libgomp.fortran/depend-3.f90: Likewise. 5569 * testsuite/libgomp.fortran/do1.f90: Likewise. 5570 * testsuite/libgomp.fortran/do2.f90: Likewise. 5571 * testsuite/libgomp.fortran/doacross1.f90: Likewise. 5572 * testsuite/libgomp.fortran/doacross2.f90: Likewise. 5573 * testsuite/libgomp.fortran/doacross3.f90: Likewise. 5574 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise. 5575 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise. 5576 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise. 5577 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise. 5578 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise. 5579 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise. 5580 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise. 5581 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise. 5582 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise. 5583 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise. 5584 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise. 5585 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise. 5586 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise. 5587 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise. 5588 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise. 5589 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise. 5590 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise. 5591 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise. 5592 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise. 5593 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise. 5594 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise. 5595 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise. 5596 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise. 5597 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise. 5598 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise. 5599 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise. 5600 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise. 5601 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise. 5602 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise. 5603 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise. 5604 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise. 5605 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise. 5606 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise. 5607 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise. 5608 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise. 5609 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise. 5610 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise. 5611 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise. 5612 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise. 5613 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise. 5614 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise. 5615 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise. 5616 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise. 5617 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise. 5618 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise. 5619 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise. 5620 * testsuite/libgomp.fortran/lib1.f90: Likewise. 5621 * testsuite/libgomp.fortran/lib2.f: Likewise. 5622 * testsuite/libgomp.fortran/lib3.f: Likewise. 5623 * testsuite/libgomp.fortran/lib4.f90: Likewise. 5624 * testsuite/libgomp.fortran/lock-1.f90: Likewise. 5625 * testsuite/libgomp.fortran/lock-2.f90: Likewise. 5626 * testsuite/libgomp.fortran/nested1.f90: Likewise. 5627 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise. 5628 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise. 5629 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise. 5630 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise. 5631 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise. 5632 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise. 5633 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise. 5634 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise. 5635 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise. 5636 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise. 5637 * testsuite/libgomp.fortran/omp_cond1.f: Likewise. 5638 * testsuite/libgomp.fortran/omp_cond2.f: Likewise. 5639 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise. 5640 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise. 5641 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise. 5642 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise. 5643 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise. 5644 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise. 5645 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise. 5646 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise. 5647 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise. 5648 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise. 5649 * testsuite/libgomp.fortran/pointer1.f90: Likewise. 5650 * testsuite/libgomp.fortran/pointer2.f90: Likewise. 5651 * testsuite/libgomp.fortran/pr25162.f: Likewise. 5652 * testsuite/libgomp.fortran/pr25219.f90: Likewise. 5653 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise. 5654 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise. 5655 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise. 5656 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise. 5657 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise. 5658 * testsuite/libgomp.fortran/pr28390.f: Likewise. 5659 * testsuite/libgomp.fortran/pr29629.f90: Likewise. 5660 * testsuite/libgomp.fortran/pr32550.f90: Likewise. 5661 * testsuite/libgomp.fortran/pr33880.f90: Likewise. 5662 * testsuite/libgomp.fortran/pr34020.f90: Likewise. 5663 * testsuite/libgomp.fortran/pr35130.f90: Likewise. 5664 * testsuite/libgomp.fortran/pr42162.f90: Likewise. 5665 * testsuite/libgomp.fortran/pr46753.f90: Likewise. 5666 * testsuite/libgomp.fortran/pr48894.f90: Likewise. 5667 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise. 5668 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise. 5669 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise. 5670 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise. 5671 * testsuite/libgomp.fortran/pr65597.f90: Likewise. 5672 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise. 5673 * testsuite/libgomp.fortran/pr71014.f90: Likewise. 5674 * testsuite/libgomp.fortran/pr81304.f90: Likewise. 5675 * testsuite/libgomp.fortran/pr81841.f90: Likewise. 5676 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise. 5677 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise. 5678 * testsuite/libgomp.fortran/procptr1.f90: Likewise. 5679 * testsuite/libgomp.fortran/recursion1.f90: Likewise. 5680 * testsuite/libgomp.fortran/reduction1.f90: Likewise. 5681 * testsuite/libgomp.fortran/reduction2.f90: Likewise. 5682 * testsuite/libgomp.fortran/reduction3.f90: Likewise. 5683 * testsuite/libgomp.fortran/reduction4.f90: Likewise. 5684 * testsuite/libgomp.fortran/reduction5.f90: Likewise. 5685 * testsuite/libgomp.fortran/reduction6.f90: Likewise. 5686 * testsuite/libgomp.fortran/reference1.f90: Likewise. 5687 * testsuite/libgomp.fortran/reference2.f90: Likewise. 5688 * testsuite/libgomp.fortran/retval1.f90: Likewise. 5689 * testsuite/libgomp.fortran/retval2.f90: Likewise. 5690 * testsuite/libgomp.fortran/sharing1.f90: Likewise. 5691 * testsuite/libgomp.fortran/sharing2.f90: Likewise. 5692 * testsuite/libgomp.fortran/simd1.f90: Likewise. 5693 * testsuite/libgomp.fortran/simd2.f90: Likewise. 5694 * testsuite/libgomp.fortran/simd3.f90: Likewise. 5695 * testsuite/libgomp.fortran/simd4.f90: Likewise. 5696 * testsuite/libgomp.fortran/simd5.f90: Likewise. 5697 * testsuite/libgomp.fortran/simd6.f90: Likewise. 5698 * testsuite/libgomp.fortran/simd7.f90: Likewise. 5699 * testsuite/libgomp.fortran/stack.f90: Likewise. 5700 * testsuite/libgomp.fortran/strassen.f90: Likewise. 5701 * testsuite/libgomp.fortran/tabs1.f90: Likewise. 5702 * testsuite/libgomp.fortran/tabs2.f: Likewise. 5703 * testsuite/libgomp.fortran/target1.f90: Likewise. 5704 * testsuite/libgomp.fortran/target2.f90: Likewise. 5705 * testsuite/libgomp.fortran/target3.f90: Likewise. 5706 * testsuite/libgomp.fortran/target4.f90: Likewise. 5707 * testsuite/libgomp.fortran/target5.f90: Likewise. 5708 * testsuite/libgomp.fortran/target6.f90: Likewise. 5709 * testsuite/libgomp.fortran/target7.f90: Likewise. 5710 * testsuite/libgomp.fortran/target8.f90: Likewise. 5711 * testsuite/libgomp.fortran/task1.f90: Likewise. 5712 * testsuite/libgomp.fortran/task2.f90: Likewise. 5713 * testsuite/libgomp.fortran/task3.f90: Likewise. 5714 * testsuite/libgomp.fortran/task4.f90: Likewise. 5715 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise. 5716 * testsuite/libgomp.fortran/taskloop1.f90: Likewise. 5717 * testsuite/libgomp.fortran/taskloop2.f90: Likewise. 5718 * testsuite/libgomp.fortran/taskloop3.f90: Likewise. 5719 * testsuite/libgomp.fortran/taskloop4.f90: Likewise. 5720 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. 5721 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise. 5722 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise. 5723 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise. 5724 * testsuite/libgomp.fortran/udr1.f90: Likewise. 5725 * testsuite/libgomp.fortran/udr10.f90: Likewise. 5726 * testsuite/libgomp.fortran/udr11.f90: Likewise. 5727 * testsuite/libgomp.fortran/udr12.f90: Likewise. 5728 * testsuite/libgomp.fortran/udr13.f90: Likewise. 5729 * testsuite/libgomp.fortran/udr14.f90: Likewise. 5730 * testsuite/libgomp.fortran/udr15.f90: Likewise. 5731 * testsuite/libgomp.fortran/udr2.f90: Likewise. 5732 * testsuite/libgomp.fortran/udr3.f90: Likewise. 5733 * testsuite/libgomp.fortran/udr4.f90: Likewise. 5734 * testsuite/libgomp.fortran/udr5.f90: Likewise. 5735 * testsuite/libgomp.fortran/udr6.f90: Likewise. 5736 * testsuite/libgomp.fortran/udr7.f90: Likewise. 5737 * testsuite/libgomp.fortran/udr8.f90: Likewise. 5738 * testsuite/libgomp.fortran/udr9.f90: Likewise. 5739 * testsuite/libgomp.fortran/vla1.f90: Likewise. 5740 * testsuite/libgomp.fortran/vla2.f90: Likewise. 5741 * testsuite/libgomp.fortran/vla3.f90: Likewise. 5742 * testsuite/libgomp.fortran/vla4.f90: Likewise. 5743 * testsuite/libgomp.fortran/vla5.f90: Likewise. 5744 * testsuite/libgomp.fortran/vla6.f90: Likewise. 5745 * testsuite/libgomp.fortran/vla7.f90: Likewise. 5746 * testsuite/libgomp.fortran/vla8.f90: Likewise. 5747 * testsuite/libgomp.fortran/workshare1.f90: Likewise. 5748 * testsuite/libgomp.fortran/workshare2.f90: Likewise. 5749 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise. 5750 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise. 5751 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise. 5752 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise. 5753 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise. 5754 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise. 5755 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise. 5756 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise. 5757 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise. 5758 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise. 5759 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise. 5760 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise. 5761 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise. 5762 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise. 5763 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise. 5764 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise. 5765 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise. 5766 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise. 5767 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise. 5768 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise. 5769 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise. 5770 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise. 5771 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise. 5772 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise. 5773 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise. 5774 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise. 5775 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise. 5776 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise. 5777 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise. 5778 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise. 5779 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise. 5780 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise. 5781 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise. 5782 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise. 5783 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise. 5784 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise. 5785 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise. 5786 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise. 5787 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise. 5788 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise. 5789 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise. 5790 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise. 5791 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise. 5792 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise. 5793 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise. 5794 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise. 5795 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise. 5796 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise. 5797 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise. 5798 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise. 5799 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise. 5800 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise. 5801 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise. 5802 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise. 5803 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise. 5804 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise. 5805 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise. 5806 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise. 5807 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise. 5808 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise. 5809 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise. 5810 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise. 5811 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise. 5812 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise. 5813 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise. 5814 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise. 5815 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise. 5816 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise. 5817 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise. 5818 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise. 5819 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise. 5820 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise. 5821 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise. 5822 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise. 5823 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise. 5824 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise. 5825 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise. 5826 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise. 5827 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise. 5828 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. 5829 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise. 5830 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise. 5831 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise. 5832 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise. 5833 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise. 5834 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise. 5835 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise. 5836 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise. 5837 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise. 5838 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise. 5839 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise. 5840 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise. 5841 58422018-03-20 Richard Biener <rguenther@suse.de> 5843 5844 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one 5845 parallelizable loop. 5846 58472018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com> 5848 5849 PR target/84148 5850 * configure: Regenerate. 5851 58522018-02-16 Jakub Jelinek <jakub@redhat.com> 5853 5854 PR fortran/84418 5855 * libgomp.fortran/pr84418-1.f90: New test. 5856 * libgomp.fortran/pr84418-2.f90: New test. 5857 58582018-02-14 Jakub Jelinek <jakub@redhat.com> 5859 5860 PR fortran/84313 5861 * testsuite/libgomp.fortran/threadprivate4.f90: Add 5862 -std=f2003 -fall-intrinsics into dg-additional-options. 5863 58642018-02-08 Martin Jambor <mjambor@suse.cz> 5865 5866 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target 5867 clonable. 5868 58692018-02-08 Martin Jambor <mjambor@suse.cz> 5870 5871 * testsuite/libgomp.hsa.c/staticvar.c: New test. 5872 58732018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 5874 5875 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort) 5876 [__cplusplus]: Declare extern "C". 5877 58782018-02-07 Tom de Vries <tom@codesourcery.com> 5879 5880 PR libgomp/84217 5881 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test. 5882 58832018-01-29 Christoph Spiel <cspiel@freenet.de> 5884 Jakub Jelinek <jakub@redhat.com> 5885 5886 PR libgomp/84096 5887 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t 5888 instead of omp_lock_t. 5889 58902018-01-25 Tom de Vries <tom@codesourcery.com> 5891 5892 PR target/84028 5893 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test. 5894 58952018-01-24 Tom de Vries <tom@codesourcery.com> 5896 5897 PR target/83589 5898 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test. 5899 59002018-01-24 Tom de Vries <tom@codesourcery.com> 5901 5902 PR target/81352 5903 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test. 5904 59052018-01-19 Tom de Vries <tom@codesourcery.com> 5906 Cesar Philippidis <cesar@codesourcery.com> 5907 5908 PR target/83920 5909 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test. 5910 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test. 5911 59122018-01-03 Jakub Jelinek <jakub@redhat.com> 5913 5914 Update copyright years. 5915 5916 * libgomp.texi: Bump @copying's copyright year. 5917 59182017-12-30 Tom de Vries <tom@codesourcery.com> 5919 5920 PR libgomp/83046 5921 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test. 5922 * testsuite/libgomp.c-c++-common/pr83046.c: New test. 5923 59242017-12-27 Tom de Vries <tom@codesourcery.com> 5925 5926 PR c++/83046 5927 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static) 5928 (test_nonstatic): Fix return type to workaround PR83046. 5929 59302017-12-05 Jakub Jelinek <jakub@redhat.com> 5931 5932 PR testsuite/83281 5933 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use 5934 j suffix instead of i. 5935 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main): 5936 Likewise. 5937 59382017-12-01 Cesar Philippidis <cesar@codesourcery.com> 5939 5940 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing 5941 call to acc_wait (1). 5942 59432017-11-24 Jakub Jelinek <jakub@redhat.com> 5944 5945 PR fortran/81304 5946 * testsuite/libgomp.fortran/pr81304.f90: New test. 5947 59482017-11-23 Jakub Jelinek <jakub@redhat.com> 5949 5950 PR fortran/81841 5951 * libgomp.fortran/pr81841.f90: New test. 5952 59532017-11-22 Jakub Jelinek <jakub@redhat.com> 5954 5955 PR libgomp/83106 5956 * target.c (gomp_target_init): Compute lengths just once and 5957 use them in both malloc size and subsequent copying. 5958 59592017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com> 5960 5961 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS. 5962 * acinclude.m4: Add cet.m4. 5963 * configure: Regenerate. 5964 * Makefile.in: Likewise. 5965 * testsuite/Makefile.in: Likewise. 5966 59672017-11-15 Tom de Vries <tom@codesourcery.com> 5968 5969 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied 5970 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int. 5971 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied 5972 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int. 5973 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied 5974 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int. 5975 59762017-11-14 Tom de Vries <tom@codesourcery.com> 5977 5978 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for 5979 non-nvidia devices. 5980 59812017-11-07 Jakub Jelinek <jakub@redhat.com> 5982 5983 PR c++/82835 5984 * testsuite/libgomp.c++/pr82835.C: New test. 5985 59862017-11-06 Martin Liska <mliska@suse.cz> 5987 5988 * testsuite/libgomp.c++/loop-2.C: Return a value 5989 for functions with non-void return type, or change type to void, 5990 or add -Wno-return-type for test. 5991 * testsuite/libgomp.c++/loop-4.C: Likewise. 5992 * testsuite/libgomp.c++/parallel-1.C: Likewise. 5993 * testsuite/libgomp.c++/shared-1.C: Likewise. 5994 * testsuite/libgomp.c++/single-1.C: Likewise. 5995 * testsuite/libgomp.c++/single-2.C: Likewise. 5996 59972017-10-31 Tom de Vries <tom@codesourcery.com> 5998 5999 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after 6000 "do {} while (false)". 6001 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon 6002 after HSA_DEBUG call. 6003 60042017-10-28 Jakub Jelinek <jakub@redhat.com> 6005 6006 * target.c (struct gomp_coalesce_buf): New type. 6007 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define. 6008 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions. 6009 (gomp_copy_host2dev): Add CBUF argument, if copying into 6010 the cached ranges, memcpy into buffer instead of copying 6011 into device. 6012 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing): 6013 Add CBUF argument, pass it through to other calls. 6014 (gomp_map_vars): Aggregate copies from host to device if small enough 6015 and with small enough gaps in between into memcpy into a buffer and 6016 fewer host to device copies from the buffer. 6017 (gomp_update): Adjust gomp_copy_host2dev caller. 6018 60192017-10-17 Thomas Schwinge <thomas@codesourcery.com> 6020 6021 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do 6022 run" directive. 6023 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise. 6024 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise. 6025 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise. 6026 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise. 6027 60282017-10-16 Tom de Vries <tom@codesourcery.com> 6029 6030 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require 6031 openacc_nvidia_accel_selected. 6032 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same. 6033 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same. 6034 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same. 6035 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same 6036 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same. 6037 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require 6038 openacc_nvidia_accel_selected. Skip for shared memory device. 6039 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same. 6040 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same. 6041 60422017-10-09 Martin Jambor <mjambor@suse.cz> 6043 6044 PR hsa/82416 6045 * testsuite/libgomp.hsa.c/pr82416.c: New test. 6046 60472017-10-07 Tom de Vries <tom@codesourcery.com> 6048 6049 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate): 6050 Remove acc_device_nvidia references. 6051 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction): 6052 Same. 6053 60542017-10-05 Tom de Vries <tom@codesourcery.com> 6055 6056 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove 6057 vector_length(32) clause from acc parallel directive. 6058 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same. 6059 60602017-10-04 Tom de Vries <tom@codesourcery.com> 6061 6062 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c 6063 (main): Reduce sum of arr elements. Assert that hres is exactly 6064 representable in 32-bit floating point. 6065 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c 6066 (main): Reduce sum of arr elements. Assert that hres and hmres are 6067 exactly representable in 32-bit floating point. 6068 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same. 6069 60702017-09-28 Tom de Vries <tom@codesourcery.com> 6071 6072 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option 6073 setting. 6074 * testsuite/libgomp.c++/pr69393.C: Same. 6075 * testsuite/libgomp.c++/taskloop-1.C: Same. 6076 * testsuite/libgomp.c++/taskloop-3.C: Same. 6077 * testsuite/libgomp.c++/taskloop-4.C: Same. 6078 * testsuite/libgomp.c/for-4.c: Same. 6079 * testsuite/libgomp.c/pr66199-3.c: Same. 6080 * testsuite/libgomp.c/pr66199-4.c: Same. 6081 * testsuite/libgomp.c/pr66199-6.c: Same. 6082 * testsuite/libgomp.c/taskloop-1.c: Same. 6083 * testsuite/libgomp.c/taskloop-3.c: Same. 6084 * testsuite/libgomp.c/taskloop-4.c: Same. 6085 * testsuite/libgomp.fortran/aligned1.f03: Same. 6086 * testsuite/libgomp.fortran/condinc1.f: Same. 6087 * testsuite/libgomp.fortran/condinc3.f90: Same. 6088 * testsuite/libgomp.fortran/crayptr1.f90: Same. 6089 * testsuite/libgomp.fortran/crayptr2.f90: Same. 6090 * testsuite/libgomp.fortran/crayptr3.f90: Same. 6091 * testsuite/libgomp.fortran/omp_cond1.f: Same. 6092 * testsuite/libgomp.fortran/omp_cond3.F90: Same. 6093 * testsuite/libgomp.fortran/pr66199-1.f90: Same. 6094 * testsuite/libgomp.fortran/pr66199-2.f90: Same. 6095 * testsuite/libgomp.fortran/recursion1.f90: Same. 6096 * testsuite/libgomp.fortran/target2.f90: Same. 6097 * testsuite/libgomp.fortran/target5.f90: Same. 6098 * testsuite/libgomp.fortran/task3.f90: Same. 6099 61002017-09-28 Tom de Vries <tom@codesourcery.com> 6101 6102 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove 6103 vector_length(32) clause from acc parallel directive. 6104 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same. 6105 61062017-09-27 Tom de Vries <tom@codesourcery.com> 6107 6108 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main): 6109 Remove acc_device_nvidia references. 6110 61112017-09-16 Tom de Vries <tom@codesourcery.com> 6112 6113 PR c/81875 6114 * testsuite/libgomp.c-c++-common/pr81875.c: New test. 6115 61162017-09-14 Tom de Vries <tom@codesourcery.com> 6117 6118 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove. 6119 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ... 6120 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here. 6121 * testsuite/libgomp.c/c.exp: Include test-cases from 6122 libgomp.c-c++-common. 6123 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c 6124 files. 6125 61262017-09-14 Jakub Jelinek <jakub@redhat.com> 6127 6128 PR c++/81314 6129 * testsuite/libgomp.c++/pr81314.C: New test. 6130 61312017-09-03 Gerald Pfeifer <gerald@pfeifer.com> 6132 6133 * libgomp.texi (Top): www.openacc.org now uses https. 6134 (Enabling OpenACC): Ditto. 6135 (acc_get_num_devices): Ditto. 6136 (acc_set_device_type): Ditto. 6137 (acc_get_device_type): Ditto. 6138 (acc_set_device_num): Ditto. 6139 (acc_get_device_num): Ditto. 6140 (acc_async_test): Ditto. 6141 (acc_async_test_all): Ditto. 6142 (acc_wait): Ditto. 6143 (acc_wait_all): Ditto. 6144 (acc_wait_all_async): Ditto. 6145 (acc_wait_async): Ditto. 6146 (acc_init): Ditto. 6147 (acc_shutdown): Ditto. 6148 (acc_on_device): Ditto. 6149 (acc_malloc): Ditto. 6150 (acc_free): Ditto. 6151 (acc_copyin): Ditto. 6152 (acc_present_or_copyin): Ditto. 6153 (acc_create): Ditto. 6154 (acc_present_or_create): Ditto. 6155 (acc_copyout): Ditto. 6156 (acc_delete): Ditto. 6157 (acc_update_device): Ditto. 6158 (acc_update_self): Ditto. 6159 (acc_map_data): Ditto. 6160 (acc_unmap_data): Ditto. 6161 (acc_deviceptr): Ditto. 6162 (acc_hostptr): Ditto. 6163 (acc_is_present): Ditto. 6164 (acc_memcpy_to_device): Ditto. 6165 (acc_memcpy_from_device): Ditto. 6166 (acc_get_current_cuda_device): Ditto. 6167 (acc_get_current_cuda_context): Ditto. 6168 (acc_get_cuda_stream): Ditto. 6169 (acc_set_cuda_stream): Ditto. 6170 (ACC_DEVICE_TYPE): Ditto. 6171 (ACC_DEVICE_NUM): Ditto. 6172 (OpenACC Library Interoperability): Ditto. 6173 61742017-08-09 Jakub Jelinek <jakub@redhat.com> 6175 6176 PR c/81687 6177 * testsuite/libgomp.c/pr81687-1.c: New test. 6178 * testsuite/libgomp.c/pr81687-2.c: New test. 6179 61802017-08-07 Jakub Jelinek <jakub@redhat.com> 6181 6182 PR c/69389 6183 * testsuite/libgomp.c/pr69389.c: New test. 6184 * testsuite/libgomp.c++/pr69389.C: New test. 6185 61862017-08-07 Tom de Vries <tom@codesourcery.com> 6187 6188 PR middle-end/78266 6189 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test. 6190 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail. 6191 61922017-07-27 Jakub Jelinek <jakub@redhat.com> 6193 6194 PR c/45784 6195 * testsuite/libgomp.c/pr45784.c: New test. 6196 * testsuite/libgomp.c++/pr45784.C: New test. 6197 61982017-07-19 Tom de Vries <tom@codesourcery.com> 6199 6200 * testsuite/libgomp.oacc-c/vec.c: New test. 6201 62022017-07-03 Tom de Vries <tom@codesourcery.com> 6203 6204 * plugin/plugin-hsa.c: Fix secure_getenv.h include. 6205 62062017-06-27 Tom de Vries <tom@codesourcery.com> 6207 6208 * plugin/plugin-nvptx.c (notify_var): New function. 6209 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM. 6210 62112017-06-27 Tom de Vries <tom@codesourcery.com> 6212 6213 * env.c (parse_unsigned_long_1): Factor out of ... 6214 (parse_unsigned_long): ... here. 6215 (parse_int_1): Factor out of ... 6216 (parse_int): ... here. 6217 (parse_int_secure): New function. 6218 (initialize_env): Use parse_int_secure for GOMP_DEBUG. 6219 * secure_getenv.h: Factor out of ... 6220 * plugin/plugin-hsa.c: ... here. 6221 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test. 6222 62232017-06-21 Jakub Jelinek <jakub@redhat.com> 6224 6225 PR c++/81130 6226 * testsuite/libgomp.c++/pr81130.C: New test. 6227 62282017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 6229 6230 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if 6231 default args. 6232 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove 6233 dg-xfail-run-if default args. 6234 62352017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de> 6236 6237 * testsuite/libgomp.c/pr39591-2.c: Fix test case. 6238 * testsuite/libgomp.c/pr39591-3.c: Likewise. 6239 62402017-05-30 Jakub Jelinek <jakub@redhat.com> 6241 6242 PR libgomp/80822 6243 * config/linux/affinity.c (gomp_affinity_init_level_1): New function. 6244 (gomp_affinity_init_level): Use it. Always analyze the core and thread 6245 sibling lists, depending on level just pick up what CPUs to put 6246 together into a place vs. whether add multiple ordered places. 6247 62482017-05-24 Thomas Schwinge <thomas@codesourcery.com> 6249 6250 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes. 6251 * libgomp.map (OACC_2.0.1): Add these. 6252 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases 6253 for "acc_wait", and "acc_wait_all", respectively. 6254 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces 6255 for "acc_wait", and "acc_wait_all", respectively. 6256 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise. 6257 * libgomp.texi (acc_wait, acc_wait_all): Update. 6258 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update. 6259 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file. 6260 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise. 6261 6262 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to 6263 acc_present_or_copyin and acc_present_or_create procedures, 6264 respectively. 6265 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and 6266 generally different variants of OpenACC Runtime Library functions. 6267 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise. 6268 6269 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file. 6270 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise. 6271 6272 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead 6273 of preprocessor definitions. 6274 * libgomp.h (strong_alias): Guard by "#ifdef 6275 HAVE_ATTRIBUTE_ALIAS". 6276 * oacc-mem.c: Provide "acc_pcreate" as alias for 6277 "acc_present_or_create", and "acc_pcopyin" as alias for 6278 "acc_present_or_copyin". 6279 * libgomp.map: New version "OACC_2.0.1". 6280 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate". 6281 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging 6282 its content into... 6283 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file. 6284 Extend testing. 6285 6286 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output 6287 when disabling nvptx offloading. 6288 62892017-05-23 Thomas Schwinge <thomas@codesourcery.com> 6290 6291 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update. 6292 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise. 6293 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise. 6294 6295 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite. 6296 * testsuite/lib/libgomp.exp 6297 (check_effective_target_openacc_nvidia_accel_configured): New 6298 proc. 6299 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c) 6300 (check_effective_target_c++): New procs. 6301 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c) 6302 (check_effective_target_c++): Likewise. 6303 63042017-05-22 Jakub Jelinek <jakub@redhat.com> 6305 6306 PR middle-end/80809 6307 * testsuite/libgomp.c/pr80809-2.c: New test. 6308 * testsuite/libgomp.c/pr80809-3.c: New test. 6309 6310 PR middle-end/80809 6311 * testsuite/libgomp.c/pr80809-1.c: New test. 6312 6313 PR middle-end/80853 6314 * testsuite/libgomp.c/pr80853.c: New test. 6315 63162017-05-19 Thomas Schwinge <thomas@codesourcery.com> 6317 6318 * testsuite/libgomp.oacc-c++/template-reduction.C: Update. 6319 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update. 6320 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise. 6321 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise. 6322 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise. 6323 6324 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions): 6325 Debug output for failure. 6326 63272017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 6328 6329 * testsuite/lib/libgomp.exp: Load scanlang.exp. 6330 63312017-04-27 Jakub Jelinek <jakub@redhat.com> 6332 6333 PR bootstrap/80531 6334 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid 6335 bootstrap compare failures. 6336 63372017-04-20 Alexander Monakov <amonakov@ispras.ru> 6338 6339 * testsuite/libgomp.c/target-36.c: New testcase. 6340 63412017-04-13 Jakub Jelinek <jakub@redhat.com> 6342 6343 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type 6344 instead of char. 6345 63462017-04-11 Jakub Jelinek <jakub@redhat.com> 6347 6348 PR libgomp/80394 6349 * testsuite/libgomp.c/pr80394.c: New test. 6350 63512017-04-04 Jakub Jelinek <jakub@redhat.com> 6352 6353 PR libgomp/79876 6354 * config/posix/thread-stacksize.h: New file. 6355 * config/darwin/thread-stacksize.h: New file. 6356 * config/nvptx/thread-stacksize.h: New file. 6357 * env.c: Include thread-stacksize.h. 6358 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE 6359 instead of 0. Call pthread_attr_setstacksize even if 6360 GOMP_DEFAULT_STACKSIZE is non-zero. 6361 63622017-03-30 Jakub Jelinek <jakub@redhat.com> 6363 6364 * env.c (initialize_env): Initialize stacksize to 0. 6365 63662017-03-22 Cesar Philippidis <cesar@codesourcery.com> 6367 6368 PR c++/80029 6369 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test. 6370 63712017-03-08 Jakub Jelinek <jakub@redhat.com> 6372 6373 PR c/79940 6374 * testsuite/libgomp.c/pr79940.c: New test. 6375 63762017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 6377 6378 * testsuite/libgomp.c/pr48591.c: Enable on all __float128 6379 targets. 6380 Add __float128 options. 6381 63822017-02-11 John David Anglin <danglin@gcc.gnu.org> 6383 6384 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove 6385 hppa*-*-* dg-skip-if directive. 6386 63872017-02-09 Jakub Jelinek <jakub@redhat.com> 6388 6389 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move 6390 dg-skip-if directive into a comment. 6391 63922017-02-09 Nathan Sidwell <nathan@codesourcery.com> 6393 Chung-Lin Tang <cltang@codesourcery.com> 6394 6395 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New. 6396 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and 6397 add additional case. 6398 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under 6399 "openacc_nvidia_accel_selected". 6400 * libgomp.oacc-fortran/nested-function-1.f90 (test2): 6401 Add num_workers(8) clause. 6402 64032017-02-08 John David Anglin <danglin@gcc.gnu.org> 6404 6405 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on 6406 hppa*-*-*. 6407 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't 6408 include complex.h on hppa*-*-hpux*. 6409 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise. 6410 64112017-02-02 Thomas Schwinge <thomas@codesourcery.com> 6412 6413 * plugin/plugin-nvptx.c (nvptx_exec): Make it static. 6414 6415 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to 6416 GOMP_OFFLOAD_openacc_exec. Adjust all users. 6417 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to 6418 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users. 6419 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to 6420 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users. 6421 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to 6422 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users. 6423 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to 6424 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users. 6425 64262017-01-31 Thomas Schwinge <thomas@codesourcery.com> 6427 6428 * libgomp-plugin.h: #include <stdbool.h>. 6429 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps) 6430 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices) 6431 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device) 6432 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image) 6433 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free) 6434 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev) 6435 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run) 6436 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel) 6437 (GOMP_OFFLOAD_openacc_register_async_cleanup) 6438 (GOMP_OFFLOAD_openacc_async_test) 6439 (GOMP_OFFLOAD_openacc_async_test_all) 6440 (GOMP_OFFLOAD_openacc_async_wait) 6441 (GOMP_OFFLOAD_openacc_async_wait_async) 6442 (GOMP_OFFLOAD_openacc_async_wait_all) 6443 (GOMP_OFFLOAD_openacc_async_wait_all_async) 6444 (GOMP_OFFLOAD_openacc_async_set_async) 6445 (GOMP_OFFLOAD_openacc_create_thread_data) 6446 (GOMP_OFFLOAD_openacc_destroy_thread_data) 6447 (GOMP_OFFLOAD_openacc_get_current_cuda_device) 6448 (GOMP_OFFLOAD_openacc_get_current_cuda_context) 6449 (GOMP_OFFLOAD_openacc_get_cuda_stream) 6450 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes. 6451 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use 6452 these. 6453 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image) 6454 (GOMP_OFFLOAD_unload_image): Fix argument types. 6455 64562017-01-26 Jakub Jelinek <jakub@redhat.com> 6457 6458 * testsuite/lib/libgomp.exp 6459 (check_effective_target_hsa_offloading_selected_nocache): Fix up 6460 check_compile invocation. Fix up removal of executable. Drop 6461 bogus "2>&1" argument. 6462 6463 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules 6464 directive. 6465 64662017-01-24 Pekka Jääskeläinen <pekka@parmance.com> 6467 Martin Jambor <mjambor@suse.cz> 6468 6469 * plugin/hsa.h: Moved to top level include. 6470 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly. 6471 64722017-01-21 Jakub Jelinek <jakub@redhat.com> 6473 6474 PR other/79046 6475 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead 6476 of cat to get version from BASE-VER file. 6477 * testsuite/Makefile.in: Regenerated. 6478 64792017-01-19 Jakub Jelinek <jakub@redhat.com> 6480 6481 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even 6482 for _WIN64. 6483 64842017-01-17 Jakub Jelinek <jakub@redhat.com> 6485 6486 * plugin/hsa.h: Add GCC runtime library exception. 6487 * plugin/hsa_ext_finalize.h: Likewise. 6488 6489 * plugin/configfrag.ac: For --without-cuda-driver don't initialize 6490 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both 6491 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small 6492 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use 6493 plugin/include/cuda as include dir and -ldl instead of -lcuda as 6494 library to link ptx plugin against. 6495 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC. 6496 (CUDA_CALLS): Define. 6497 (cuda_lib, cuda_lib_inited): New variables. 6498 (init_cuda_lib): New function. 6499 (CUDA_CALL_PREFIX): Define. 6500 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX. 6501 (CUDA_CALL): Use FN instead of (FN). 6502 (CUDA_CALL_NOCHECK): Define. 6503 (cuda_error, fini_streams_for_device, select_stream_for_async, 6504 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx, 6505 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all, 6506 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image, 6507 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use 6508 CUDA_CALL_NOCHECK. 6509 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use 6510 CUDA_CALL_NOCHECK. 6511 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0. 6512 Use CUDA_CALL_NOCHECK. 6513 * plugin/cuda/cuda.h: New file. 6514 * config.h.in: Regenerated. 6515 * configure: Regenerated. 6516 6517 PR other/79046 6518 * configure.ac: Add GCC_BASE_VER. 6519 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to 6520 get version from BASE-VER file. 6521 * testsuite/Makefile.in: Regenerated. 6522 * configure: Regenerated. 6523 * Makefile.in: Regenerated. 6524 65252017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 6526 6527 PR libgomp/60670 6528 * Makefile.am: Make fincludedir multilib-aware. 6529 * Makefile.in: Regenerate. 6530 65312017-01-01 Jakub Jelinek <jakub@redhat.com> 6532 6533 Update copyright years. 6534 6535 * libgomp.texi: Bump @copying's copyright year. 6536 65372016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de> 6538 6539 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use 6540 pthread_spinlock_t instead of gomp_mutex_t lock. 6541 (gomp_get_thread_pool): Likewise. 6542 (gomp_release_thread_pool): Likewise. 6543 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir): 6544 Likewise. 6545 65462016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de> 6547 6548 * config/rtems/pool.h (gomp_get_thread_pool): Return proper 6549 thread pool in case nthreads == 1. 6550 65512016-11-30 Alexander Monakov <amonakov@ispras.ru> 6552 6553 * config/nvptx/env.c: Delete. 6554 * icv.c: Move definitions of ICV variables back ... 6555 * env.c: ...here. Do not compile environment-related functionality if 6556 LIBGOMP_OFFLOADED_ONLY is set. 6557 65582016-11-30 Alexander Monakov <amonakov@ispras.ru> 6559 6560 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it... 6561 (LIBGOMP_OFFLOADED_ONLY): ...here; new define. 6562 * configure: Regenerate. 6563 * config.h.in: Likewise. 6564 65652016-11-30 Alexander Monakov <amonakov@ispras.ru> 6566 6567 * Makefile.in: Regenerate with automake-1.11.6. 6568 * aclocal.m4: Likewise. 6569 * configure: Likewise. 6570 * testsuite/Makefile.in: Likewise. 6571 65722016-11-28 Alexander Monakov <amonakov@ispras.ru> 6573 6574 * config/nvptx/critical.c: Delete to use generic implementation. 6575 65762016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de> 6577 6578 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include 6579 ../../affinity.c as fallback. 6580 * config/nvptx/affinity.c: Delete to use fallback implementation. 6581 65822016-11-23 Alexander Monakov <amonakov@ispras.ru> 6583 Jakub Jelinek <jakub@redhat.com> 6584 Dmitry Melnik <dm@ispras.ru> 6585 6586 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c. 6587 * Makefile.in. Regenerate. 6588 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it... 6589 (LIBGOMP_USE_PTHREADS): ...here; new define. 6590 * configure: Regenerate. 6591 * config.h.in: Likewise. 6592 * config/posix/affinity.c: Move to... 6593 * affinity.c: ...here (new file). Guard use of Pthreads-specific 6594 interface by LIBGOMP_USE_PTHREADS. 6595 * critical.c: Split out GOMP_atomic_{start,end} into... 6596 * atomic.c: ...here (new file). 6597 * env.c: Split out ICV definitions into... 6598 * icv.c: ...here (new file) and... 6599 * icv-device.c: ...here. New file. 6600 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c. 6601 (gomp_destroy_lock_30): Ditto. 6602 (gomp_set_lock_30): Ditto. 6603 (gomp_unset_lock_30): Ditto. 6604 (gomp_test_lock_30): Ditto. 6605 (gomp_init_nest_lock_30): Ditto. 6606 (gomp_destroy_nest_lock_30): Ditto. 6607 (gomp_set_nest_lock_30): Ditto. 6608 (gomp_unset_nest_lock_30): Ditto. 6609 (gomp_test_nest_lock_30): Ditto. 6610 * lock.c: New. 6611 * config/nvptx/lock.c: New. 6612 * config/nvptx/bar.c: New. 6613 * config/nvptx/bar.h: New. 6614 * config/nvptx/doacross.h: New. 6615 * config/nvptx/error.c: New. 6616 * config/nvptx/icv-device.c: New. 6617 * config/nvptx/mutex.h: New. 6618 * config/nvptx/pool.h: New. 6619 * config/nvptx/proc.c: New. 6620 * config/nvptx/ptrlock.h: New. 6621 * config/nvptx/sem.h: New. 6622 * config/nvptx/simple-bar.h: New. 6623 * config/nvptx/target.c: New. 6624 * config/nvptx/task.c: New. 6625 * config/nvptx/team.c: New. 6626 * config/nvptx/time.c: New. 6627 * config/posix/simple-bar.h: New. 6628 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h. 6629 (gomp_num_teams_var): Declare. 6630 (struct gomp_thread_pool): Change threads_dock member to 6631 gomp_simple_barrier_t. 6632 [__nvptx__] (gomp_thread): New implementation. 6633 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS. 6634 (gomp_thread_destructor): Ditto. 6635 (gomp_init_thread_affinity): Ditto. 6636 * team.c: Guard uses of Pthreads-specific interfaces by 6637 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock. 6638 (gomp_free_thread) [__nvptx__]: Do not call 'free'. 6639 * config/nvptx/alloc.c: Delete. 6640 * config/nvptx/barrier.c: Ditto. 6641 * config/nvptx/fortran.c: Ditto. 6642 * config/nvptx/iter.c: Ditto. 6643 * config/nvptx/iter_ull.c: Ditto. 6644 * config/nvptx/loop.c: Ditto. 6645 * config/nvptx/loop_ull.c: Ditto. 6646 * config/nvptx/ordered.c: Ditto. 6647 * config/nvptx/parallel.c: Ditto. 6648 * config/nvptx/priority_queue.c: Ditto. 6649 * config/nvptx/sections.c: Ditto. 6650 * config/nvptx/single.c: Ditto. 6651 * config/nvptx/splay-tree.c: Ditto. 6652 * config/nvptx/work.c: Ditto. 6653 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass 6654 -foffload=-lgfortran in addition to -lgfortran. 6655 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto. 6656 * plugin/plugin-nvptx.c: Include <limits.h>. 6657 (struct targ_fn_descriptor): Add new fields. 6658 (struct ptx_device): Ditto. Set them... 6659 (nvptx_open_device): ...here. 6660 (nvptx_adjust_launch_bounds): New. 6661 (nvptx_host2dev): Allow NULL 'nvthd'. 6662 (nvptx_dev2host): Ditto. 6663 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400. 6664 (link_ptx): Adjust log sizes. 6665 (nvptx_host2dev): Allow NULL 'nvthd'. 6666 (nvptx_dev2host): Ditto. 6667 (nvptx_set_clocktick): New. Use it... 6668 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor 6669 fields. 6670 (GOMP_OFFLOAD_dev2dev): New. 6671 (nvptx_adjust_launch_bounds): New. 6672 (nvptx_stacks_size): New. 6673 (nvptx_stacks_alloc): New. 6674 (nvptx_stacks_free): New. 6675 (GOMP_OFFLOAD_run): New. 6676 (GOMP_OFFLOAD_async_run): New (stub). 6677 66782016-11-23 Martin Jambor <mjambor@suse.cz> 6679 6680 * testsuite/libgomp.hsa.c/bits-insns.c: New test. 6681 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise. 6682 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise. 6683 66842016-11-23 Martin Liska <mliska@suse.cz> 6685 Martin Jambor <mjambor@suse.cz> 6686 6687 * plugin/hsa.h: New file. 6688 * plugin/hsa_ext_finalize.h: New file. 6689 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for 6690 header file unistd.h, and functions secure_getenv, __secure_getenv, 6691 getuid, geteuid, getgid and getegid. 6692 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added 6693 -D_GNU_SOURCE. 6694 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h. 6695 Handle various cases of secure_getenv presence, add an implementation 6696 when we can test effective UID and GID. 6697 (struct hsa_runtime_fn_info): New structure. 6698 (hsa_runtime_fn_info hsa_fns): New variable. 6699 (hsa_runtime_lib): Likewise. 6700 (support_cpu_devices): Likewise. 6701 (init_enviroment_variables): Load newly introduced ENV 6702 variables. 6703 (hsa_warn): Call hsa run-time functions via hsa_fns structure. 6704 (hsa_fatal): Likewise. 6705 (DLSYM_FN): New macro. 6706 (init_hsa_runtime_functions): New function. 6707 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns 6708 structure. Depending on environment, also allow CPU devices. 6709 (init_hsa_context): Call hsa run-time functions via hsa_fns structure. 6710 (get_kernarg_memory_region): Likewise. 6711 (GOMP_OFFLOAD_init_device): Likewise. 6712 (destroy_hsa_program): Likewise. 6713 (init_basic_kernel_info): New function. 6714 (GOMP_OFFLOAD_load_image): Use it. 6715 (create_and_finalize_hsa_program): Call hsa run-time functions via 6716 hsa_fns structure. 6717 (create_single_kernel_dispatch): Likewise. 6718 (release_kernel_dispatch): Likewise. 6719 (init_single_kernel): Likewise. 6720 (parse_target_attributes): Allow up multiple HSA grid dimensions. 6721 (get_group_size): New function. 6722 (run_kernel): Likewise. 6723 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel. 6724 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns 6725 structure. 6726 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support. 6727 * testsuite/libgomp-test-support.exp.in: Likewise. 6728 * Makefile.in: Regenerated. 6729 * aclocal.m4: Likewise. 6730 * config.h.in: Likewise. 6731 * configure: Likewise. 6732 * testsuite/Makefile.in: Likewise. 6733 67342016-11-15 Martin Jambor <mjambor@suse.cz> 6735 Alexander Monakov <amonakov@ispras.ru> 6736 6737 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add 6738 mapping clauses to target constructs. 6739 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto. 6740 67412016-11-15 Matthias Klose <doko@ubuntu.com> 6742 6743 * configure: Regenerate. 6744 67452016-11-10 Jakub Jelinek <jakub@redhat.com> 6746 6747 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307. 6748 * omp_lib.h.in (openmp_version): Likewise. 6749 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead 6750 of 201307. 6751 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise. 6752 6753 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90 6754 (fib_wrapper): Add map(from: x) clause. 6755 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90 6756 (e_53_2): Likewise. 6757 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90 6758 (accum): Add map(tmp) clause. 6759 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90 6760 (accum): Add map(tofrom: tmp) clause. 6761 * testsuite/libgomp.fortran/examples-4/target_data-3.f90 6762 (gramSchmidt): Likewise. 6763 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add 6764 map(tofrom: sum) clause. 6765 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice 6766 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause. 6767 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause 6768 only allowed on the loop iterator. 6769 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause. 6770 * testsuite/libgomp.fortran/taskloop2.f90: New test. 6771 * testsuite/libgomp.fortran/taskloop4.f90: New test. 6772 * testsuite/libgomp.fortran/doacross1.f90: New test. 6773 * testsuite/libgomp.fortran/doacross3.f90: New test. 6774 * testsuite/libgomp.fortran/taskloop1.f90: New test. 6775 * testsuite/libgomp.fortran/taskloop3.f90: New test. 6776 * testsuite/libgomp.fortran/doacross2.f90: New test. 6777 * testsuite/libgomp.c/doacross-1.c (main): Add missing 6778 #pragma omp atomic read. 6779 * testsuite/libgomp.c/doacross-2.c (main): Likewise. 6780 * testsuite/libgomp.c/doacross-3.c (main): Likewise. 6781 67822016-11-02 Cesar Philippidis <cesar@codesourcery.com> 6783 Nathan Sidwell <nathan@acm.org> 6784 6785 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes 6786 to determine default geometry. 6787 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang 6788 dimension. 6789 67902016-11-01 Jakub Jelinek <jakub@redhat.com> 6791 6792 * hashtab.h: Use standard GPLv3 with runtime exception 6793 boilerplate. 6794 67952016-10-27 Aldy Hernandez <aldyh@redhat.com> 6796 6797 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate 6798 size when allocating new thread. 6799 68002016-09-14 Marek Polacek <polacek@redhat.com> 6801 6802 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated. 6803 68042016-08-19 Jakub Jelinek <jakub@redhat.com> 6805 6806 PR fortran/71014 6807 * testsuite/libgomp.fortran/pr71014.f90: New test. 6808 68092016-08-18 Chung-Lin Tang <cltang@codesourcery.com> 6810 6811 PR middle-end/70895 6812 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit 6813 firstprivate clauses. 6814 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit 6815 copy clauses. 6816 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise. 6817 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise. 6818 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise. 6819 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise. 6820 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise. 6821 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise. 6822 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise. 6823 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise. 6824 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise. 6825 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise. 6826 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise. 6827 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise. 6828 68292016-08-14 Chung-Lin Tang <cltang@codesourcery.com> 6830 6831 PR fortran/70598 6832 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test. 6833 68342016-08-08 Jakub Jelinek <jakub@redhat.com> 6835 6836 PR c++/58706 6837 * testsuite/libgomp.c++/pr58706.C: New test. 6838 68392016-08-04 Thomas Schwinge <thomas@codesourcery.com> 6840 6841 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file. 6842 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise. 6843 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C: 6844 Likewise. 6845 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise. 6846 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: 6847 Likewise. 6848 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust. 6849 6850 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link" 6851 test, and don't hardcode -O0. 6852 68532016-08-03 Nathan Sidwell <nathan@codesourcery.com> 6854 6855 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New. 6856 68572016-07-15 Cesar Philippidis <cesar@codesourcery.com> 6858 6859 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New 6860 test. 6861 68622016-07-03 H.J. Lu <hongjiu.lu@intel.com> 6863 6864 PR middle-end/71734 6865 * testsuite/libgomp.fortran/pr71734-1.f90: New test. 6866 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise. 6867 68682016-07-01 Jakub Jelinek <jakub@redhat.com> 6869 6870 PR fortran/71717 6871 * testsuite/libgomp.fortran/associate3.f90: New test. 6872 68732016-06-17 Jakub Jelinek <jakub@redhat.com> 6874 6875 * testsuite/libgomp.c++/target-21.C: New test. 6876 68772016-06-16 Jakub Jelinek <jakub@redhat.com> 6878 6879 * testsuite/libgomp.c++/target-20.C: New test. 6880 68812016-06-10 Thomas Schwinge <thomas@codesourcery.com> 6882 Cesar Philippidis <cesar@codesourcery.com> 6883 6884 PR middle-end/71373 6885 * libgomp.oacc-c/nested-function-1.c: New file. 6886 * libgomp.oacc-c/nested-function-2.c: Likewise. 6887 * libgomp.oacc-fortran/nested-function-1.f90: Likewise. 6888 * libgomp.oacc-fortran/nested-function-2.f90: Likewise. 6889 * libgomp.oacc-fortran/nested-function-3.f90: Likewise. 6890 68912016-06-10 Thomas Schwinge <thomas@codesourcery.com> 6892 6893 PR c/71381 6894 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include 6895 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c". 6896 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file. 6897 68982016-06-03 Chung-Lin Tang <cltang@codesourcery.com> 6899 6900 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase. 6901 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase. 6902 69032016-06-01 Cesar Philippidis <cesar@codesourcery.com> 6904 6905 PR c/70688 6906 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file. 6907 69082016-05-26 Jakub Jelinek <jakub@redhat.com> 6909 6910 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static) 6911 instead of invalid schedule(static, 0). 6912 * testsuite/libgomp.c/doacross-2.c (main): Likewise. 6913 69142016-05-26 Chung-Lin Tang <cltang@codesourcery.com> 6915 6916 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter. 6917 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async' 6918 parameter, use to set async stream around call to gomp_unmap_vars, 6919 call gomp_unmap_vars() with 'do_copyfrom' set to true. 6920 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field. 6921 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP 6922 events and call GOMP_PLUGIN_async_unmap_vars() for each of them. 6923 (event_add): Add int parameter, initialize 'val' field when 6924 adding new ptx_event struct. 6925 (nvptx_evec): Adjust event_add() call arguments. 6926 (nvptx_host2dev): Likewise. 6927 (nvptx_dev2host): Likewise. 6928 (nvptx_wait_async): Likewise. 6929 (nvptx_wait_all_async): Likewise. 6930 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter, 6931 pass to event_add() call. 6932 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async' 6933 parameter. 6934 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to 6935 call openacc.register_async_cleanup_func() hook. 6936 * oacc-parallel.c (GOACC_parallel_keyed): Likewise. 6937 * target.c (gomp_copy_from_async): Delete function. 6938 (gomp_map_vars): Remove async_refcount. 6939 (gomp_unmap_vars): Likewise. 6940 (gomp_load_image_to_device): Likewise. 6941 (omp_target_associate_ptr): Likewise. 6942 * libgomp.h (struct splay_tree_key_s): Remove async_refcount. 6943 (acc_dispatch_t.register_async_cleanup_func): Add int parameter. 6944 (gomp_copy_from_async): Remove. 6945 69462016-05-26 Chung-Lin Tang <cltang@codesourcery.com> 6947 6948 * target.c (gomp_device_copy): New function. 6949 (gomp_copy_host2dev): Likewise. 6950 (gomp_copy_dev2host): Likewise. 6951 (gomp_free_device_memory): Likewise. 6952 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev. 6953 (gomp_map_pointer): Likewise. 6954 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle 6955 NULL value from alloc_func plugin hook. 6956 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory. 6957 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host. 6958 (gomp_unmap_vars): Likewise. 6959 (gomp_update): Adjust to call gomp_copy_dev2host and 6960 gomp_copy_host2dev functions. 6961 (gomp_unload_image_from_device): Handle false value from 6962 unload_image_func plugin hook. 6963 (gomp_init_device): Handle false value from init_device_func 6964 plugin hook. 6965 (gomp_exit_data): Adjust to call gomp_copy_dev2host. 6966 (omp_target_free): Adjust to call gomp_free_device_memory. 6967 (omp_target_memcpy): Handle return values from host2dev_func, 6968 dev2host_func, and dev2dev_func plugin hooks. 6969 (omp_target_memcpy_rect_worker): Likewise. 6970 (gomp_target_fini): Handle false value from fini_device_func 6971 plugin hook. 6972 * libgomp.h (struct gomp_device_descr): Adjust return type of 6973 init_device_func, fini_device_func, unload_image_func, free_func, 6974 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'. 6975 * oacc-init.c (acc_shutdown_1): Handle false value from 6976 fini_device_func plugin hook. 6977 * oacc-host.c (host_init_device): Change return type to bool. 6978 (host_fini_device): Likewise. 6979 (host_unload_image): Likewise. 6980 (host_free): Likewise. 6981 (host_dev2host): Likewise. 6982 (host_host2dev): Likewise. 6983 * oacc-mem.c (acc_free): Handle plugin hook fatal error case. 6984 (acc_memcpy_to_device): Likewise. 6985 (acc_memcpy_from_device): Likewise. 6986 (delete_copyout): Add libfnname parameter, handle free_func 6987 hook fatal error case. 6988 (acc_delete): Adjust delete_copyout call. 6989 (acc_copyout): Likewise. 6990 (update_dev_host): Move gomp_mutex_unlock to after 6991 host2dev/dev2host hook calls. 6992 6993 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable 6994 to 'hsa_error_msg', for clarity. 6995 (hsa_fatal): Likewise. 6996 (hsa_error): New function. 6997 (init_hsa_context): Change return type to bool, adjust to return 6998 false on error. 6999 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context 7000 return value. 7001 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to 7002 return false on error. 7003 (get_agent_info): Adjust to return NULL on error. 7004 (destroy_hsa_program): Change return type to bool, adjust to 7005 return false on error. 7006 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error. 7007 (destroy_module): Change return type to bool, adjust to 7008 return false on error. 7009 (GOMP_OFFLOAD_unload_image): Likewise. 7010 (GOMP_OFFLOAD_fini_device): Likewise. 7011 (GOMP_OFFLOAD_alloc): Change to return NULL when called. 7012 (GOMP_OFFLOAD_free): Change to return false when called. 7013 (GOMP_OFFLOAD_dev2host): Likewise. 7014 (GOMP_OFFLOAD_host2dev): Likewise. 7015 (GOMP_OFFLOAD_dev2dev): Likewise. 7016 7017 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro. 7018 (CUDA_CALL): Likewise. 7019 (CUDA_CALL_ASSERT): Likewise. 7020 (map_init): Change return type to bool, use CUDA_CALL* macros. 7021 (map_fini): Likewise. 7022 (init_streams_for_device): Change return type to bool, adjust 7023 call to map_init. 7024 (fini_streams_for_device): Change return type to bool, adjust 7025 call to map_fini. 7026 (select_stream_for_async): Release stream_lock before calls to 7027 GOMP_PLUGIN_fatal, adjust call to map_init. 7028 (nvptx_init): Use CUDA_CALL* macros. 7029 (nvptx_attach_host_thread_to_device): Change return type to bool, 7030 use CUDA_CALL* macros. 7031 (nvptx_open_device): Use CUDA_CALL* macros. 7032 (nvptx_close_device): Change return type to bool, use CUDA_CALL* 7033 macros. 7034 (nvptx_get_num_devices): Use CUDA_CALL* macros. 7035 (link_ptx): Change return type to bool, use CUDA_CALL* macros. 7036 (nvptx_exec): Use CUDA_CALL* macros. 7037 (nvptx_alloc): Use CUDA_CALL* macros. 7038 (nvptx_free): Change return type to bool, use CUDA_CALL* macros. 7039 (nvptx_host2dev): Likewise. 7040 (nvptx_dev2host): Likewise. 7041 (nvptx_wait): Use CUDA_CALL* macros. 7042 (nvptx_wait_async): Likewise. 7043 (nvptx_wait_all): Likewise. 7044 (nvptx_wait_all_async): Likewise. 7045 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire, 7046 use CUDA_CALL* macros, adjust call to map_fini. 7047 (GOMP_OFFLOAD_init_device): Change return type to bool, 7048 adjust code accordingly. 7049 (GOMP_OFFLOAD_fini_device): Likewise. 7050 (GOMP_OFFLOAD_load_image): Adjust calls to 7051 nvptx_attach_host_thread_to_device/link_ptx to handle errors, 7052 use CUDA_CALL* macros. 7053 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust 7054 return code. 7055 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return. 7056 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to 7057 handle error return. 7058 (GOMP_OFFLOAD_dev2host): Likewise. 7059 (GOMP_OFFLOAD_host2dev): Likewise. 7060 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros. 7061 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise. 7062 70632016-05-24 Cesar Philippidis <cesar@codesourcery.com> 7064 7065 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets. 7066 (acc_free): Likewise. 7067 (acc_memcpy_to_device): Likewise. 7068 (acc_memcpy_from_device): Likewise. 7069 (acc_deviceptr): Likewise. 7070 (acc_hostptr): Likewise. 7071 (acc_is_present): Likewise. 7072 (acc_map_data): Likewise. 7073 (acc_unmap_data): Likewise. 7074 (present_create_copy): Likewise. 7075 (delete_copyout): Likewise. 7076 (update_dev_host): Likewise. 7077 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail. 7078 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test. 7079 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test. 7080 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise. 7081 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test. 7082 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that 7083 it only runs on nvptx targets. 7084 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise. 7085 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise. 7086 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise. 7087 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise. 7088 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise. 7089 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise. 7090 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise. 7091 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise. 7092 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. 7093 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise. 7094 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise. 7095 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise. 7096 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise. 7097 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise. 7098 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise. 7099 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. 7100 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise. 7101 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise. 7102 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise. 7103 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise. 7104 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise. 7105 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise. 7106 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise. 7107 71082016-05-23 Martin Jambor <mjambor@suse.cz> 7109 7110 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test. 7111 71122016-05-17 Chung-Lin Tang <cltang@codesourcery.com> 7113 7114 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call 7115 to gomp_init_targets_once. 7116 (acc_set_device_type): Remove !cached_base_dev condition on call to 7117 gomp_init_targets_once, move call to before acc_device_lock acquire, 7118 to avoid deadlock. 7119 (acc_get_device_num): Remove !cached_base_dev condition on call to 7120 gomp_init_targets_once. 7121 (acc_set_device_num): Likewise. 7122 71232016-05-16 Martin Jambor <mjambor@suse.cz> 7124 7125 * testsuite/libgomp.hsa.c/complex-align-2.c: New test. 7126 71272016-05-02 Nathan Sidwell <nathan@codesourcery.com> 7128 7129 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust 7130 expected partitioning. 7131 71322016-04-29 Cesar Philippidis <cesar@codesourcery.com> 7133 7134 PR middle-end/70626 7135 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test. 7136 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test. 7137 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test. 7138 71392016-04-21 Alexander Monakov <amonakov@ispras.ru> 7140 7141 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error 7142 non-fatal. 7143 71442016-04-19 Jakub Jelinek <jakub@redhat.com> 7145 7146 PR middle-end/70680 7147 * testsuite/libgomp.c/pr70680-1.c: New test. 7148 * testsuite/libgomp.c/pr70680-2.c: New test. 7149 71502016-04-14 Cesar Philippidis <cesar@codesourcery.com> 7151 7152 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't 7153 pass parameter variables to subroutines. 7154 71552016-04-14 Cesar Philippidis <cesar@codesourcery.com> 7156 7157 PR middle-end/70643 7158 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test. 7159 71602016-04-13 Cesar Philippidis <cesar@codesourcery.com> 7161 7162 PR testsuite/68242 7163 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test. 7164 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise. 7165 71662016-04-12 Thomas Schwinge <thomas@codesourcery.com> 7167 7168 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to 7169 GOACC_parallel_keyed, restore GOACC_parallel prototype, new 7170 GOACC_declare prototype. 7171 7172 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: 7173 Merge this file, and... 7174 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c: 7175 ... this file, and... 7176 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: 7177 ... this file, and... 7178 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: 7179 ... this file, and... 7180 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: 7181 ... this file, and... 7182 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: 7183 ... this file, and... 7184 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: 7185 ... this file, and... 7186 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: 7187 ... this file, and... 7188 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: 7189 ... this file, and... 7190 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: 7191 ... this file, and... 7192 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: 7193 ... this file, and... 7194 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: 7195 ... this file, and... 7196 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: 7197 ... this file into... 7198 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this 7199 file. 7200 7201 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: 7202 Make failure observable. 7203 72042016-04-12 Jakub Jelinek <jakub@redhat.com> 7205 7206 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies 7207 field. 7208 * target.c (gomp_target_fallback_firstprivate, 7209 gomp_target_unshare_firstprivate): Removed. 7210 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory 7211 before waiting for dependencies. 7212 (gomp_target_task_fn): Don't copy firstprivate vars here. 7213 * task.c (GOMP_PLUGIN_target_task_completion): Don't free 7214 firstprivate_copies here. 7215 (gomp_create_target_task): Don't initialize firstprivate_copies field. 7216 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of 7217 explicit/implicit firstprivate. 7218 72192016-04-08 Cesar Philippidis <cesar@codesourcery.com> 7220 7221 PR lto/70289 7222 PR ipa/70348 7223 PR tree-optimization/70373 7224 PR middle-end/70533 7225 PR middle-end/70534 7226 PR middle-end/70535 7227 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New 7228 test. 7229 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New 7230 test. 7231 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New 7232 test. 7233 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New 7234 test. 7235 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New 7236 test. 7237 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New 7238 test. 7239 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New 7240 test. 7241 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New 7242 test. 7243 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New 7244 test. 7245 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test. 7246 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test. 7247 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test. 7248 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New 7249 test. 7250 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New 7251 test. 7252 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New 7253 test. 7254 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New 7255 test. 7256 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test 7257 coverage. 7258 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise. 7259 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise. 7260 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test. 7261 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test. 7262 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test. 7263 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test 7264 coverage. 7265 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise. 7266 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise. 7267 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise. 7268 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise. 7269 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test. 7270 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test. 7271 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test. 7272 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test. 7273 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage. 7274 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise. 7275 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise. 7276 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise. 7277 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise. 7278 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. 7279 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test. 7280 72812016-03-30 Thomas Schwinge <thomas@codesourcery.com> 7282 James Norris <jnorris@codesourcery.com> 7283 Nathan Sidwell <nathan@codesourcery.com> 7284 Julian Brown <julian@codesourcery.com> 7285 Cesar Philippidis <cesar@codesourcery.com> 7286 Chung-Lin Tang <cltang@codesourcery.com> 7287 Tom de Vries <tom@codesourcery.com> 7288 7289 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update. 7290 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise. 7291 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise. 7292 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise. 7293 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise. 7294 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise. 7295 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise. 7296 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise. 7297 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise. 7298 XFAIL. 7299 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update. 7300 Incorporate... 7301 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this 7302 file. 7303 * testsuite/libgomp.oacc-c++/template-reduction.C: New file. 7304 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise. 7305 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise. 7306 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c: 7307 Likewise. 7308 * testsuite/libgomp.oacc-c-c++-common/private-variables.c: 7309 Likewise. 7310 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise. 7311 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise. 7312 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise. 7313 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise. 7314 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise. 7315 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise. 7316 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise. 7317 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise. 7318 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise. 7319 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: 7320 Likewise. 7321 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise. 7322 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise. 7323 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this 7324 file... 7325 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this 7326 file into... 7327 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new 7328 file. Update. 7329 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New 7330 file. 7331 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c: 7332 Likewise. 7333 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to... 7334 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c: 7335 ... this new file. Update. 7336 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to... 7337 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c: 7338 ... this new file. Update. 7339 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New 7340 file. Incorporate... 7341 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this 7342 file, and... 7343 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this 7344 file, and... 7345 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this 7346 file. 7347 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file. 7348 73492016-03-29 Thomas Schwinge <thomas@codesourcery.com> 7350 7351 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call 7352 set-torture-options. 7353 73542016-03-24 Thomas Schwinge <thomas@codesourcery.com> 7355 7356 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use 7357 gcc-dg-runtest. 7358 * testsuite/libgomp.oacc-c/c.exp: Likewise. 7359 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify 7360 -fno-builtin-acc_on_device instead of -O0. 7361 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for 7362 -O0. 7363 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise. 7364 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: 7365 Likewise. 7366 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise. 7367 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise. 7368 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise. 7369 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise. 7370 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise. 7371 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise. 7372 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise. 7373 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise. 7374 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise. 7375 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise. 7376 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise. 7377 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise. 7378 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise. 7379 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise. 7380 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise. 7381 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise. 7382 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise. 7383 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c: 7384 Don't specify -O2. 7385 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c: 7386 Likewise. 7387 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c: 7388 Likewise. 7389 73902016-03-24 Martin Liska <mliska@suse.cz> 7391 7392 * plugin/plugin-hsa.c (packet_store_release): New function 7393 that is taken from the HSA runtime manual. 7394 (GOMP_OFFLOAD_run): Use the function. 7395 73962016-03-23 Jakub Jelinek <jakub@redhat.com> 7397 7398 PR c++/70376 7399 * testsuite/libgomp.c++/pr70376.C: New test. 7400 74012016-03-23 Tom de Vries <tom@codesourcery.com> 7402 7403 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing 7404 initialization of lresult and lvresult. 7405 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same. 7406 74072016-03-23 James Norris <jnorris@codesourcery.com> 7408 Daichi Fukuoka <dc-fukuoka@sgi.com> 7409 7410 PR libgomp/69414 7411 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address. 7412 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests. 7413 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise. 7414 * testsuite/libgomp.oacc-fortran/update-1.f90: New file. 7415 74162016-03-23 Martin Liska <mliska@suse.cz> 7417 7418 PR hsa/70337 7419 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow 7420 argument just in case a dispatched kernel uses that argument. 7421 74222016-03-16 Thomas Schwinge <thomas@codesourcery.com> 7423 7424 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to 7425 -ftree-parallelize-loops/-fopenacc changes. 7426 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: 7427 Likewise. 7428 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: 7429 Likewise. 7430 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: 7431 Likewise. 7432 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: 7433 Likewise. 7434 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise. 7435 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise. 7436 74372016-03-13 Thomas Schwinge <thomas@codesourcery.com> 7438 7439 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to 7440 always_ld_library_path the path to libgcc_s. 7441 74422016-03-10 Cesar Philippidis <cesar@codesourcery.com> 7443 7444 PR testsuite/70009 7445 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed. 7446 74472016-03-09 Tom de Vries <tom@codesourcery.com> 7448 7449 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test. 7450 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same. 7451 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: 7452 Same. 7453 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same. 7454 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same. 7455 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same. 7456 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same. 7457 74582016-03-07 Martin Jambor <mjambor@suse.cz> 7459 7460 * testsuite/lib/libgomp.exp 7461 (check_effective_target_hsa_offloading_selected_nocache): New. 7462 (check_effective_target_hsa_offloading_selected): Likewise. 7463 * testsuite/libgomp.hsa.c/c.exp: Likewise. 7464 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise. 7465 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise. 7466 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise. 7467 * testsuite/libgomp.hsa.c/complex-1.c: Likewise. 7468 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise. 7469 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise. 7470 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise. 7471 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise. 7472 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise. 7473 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise. 7474 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise. 7475 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise. 7476 * testsuite/libgomp.hsa.c/pr69568.c: Likewise. 7477 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise. 7478 * testsuite/libgomp.hsa.c/switch-1.c: Likewise. 7479 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise. 7480 74812016-03-07 Martin Jambor <mjambor@suse.cz> 7482 7483 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on 7484 non-shared memory accelerators. 7485 * testsuite/libgomp.c/examples-4/device-1.c: Likewise. 7486 * testsuite/libgomp.c/examples-4/target-5.c: Likewise. 7487 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise. 7488 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise. 7489 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise. 7490 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise. 7491 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise. 7492 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise. 7493 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise. 7494 74952016-03-07 Martin Jambor <mjambor@suse.cz> 7496 7497 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to 7498 ALWAYS_CFLAGS. 7499 75002016-03-02 Jakub Jelinek <jakub@redhat.com> 7501 7502 PR libgomp/69555 7503 * testsuite/libgomp.c++/pr69555-1.C: New test. 7504 * testsuite/libgomp.c++/pr69555-2.C: New test. 7505 75062016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com> 7507 Martin Jambor <mjambor@suse.cz> 7508 7509 * testsuite/lib/libgomp.exp 7510 (check_effective_target_offload_device_shared_as): New proc. 7511 * testsuite/libgomp.c++/declare_target-1.C: New test. 7512 75132016-02-25 Ilya Verbin <ilya.verbin@intel.com> 7514 7515 PR driver/68463 7516 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove. 7517 75182016-02-23 Thomas Schwinge <thomas@codesourcery.com> 7519 7520 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims. 7521 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for 7522 dims. 7523 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to 7524 -ftree-parallelize-loops/-fopenacc changes. 7525 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise. 7526 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: 7527 Likewise. 7528 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: 7529 Likewise. 7530 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: 7531 Likewise. 7532 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: 7533 Likewise. 7534 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: 7535 Likewise. 7536 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: 7537 Likewise. 7538 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: 7539 Likewise. 7540 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise. 7541 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: 7542 Likewise. 7543 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise. 7544 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: 7545 Likewise. 7546 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise. 7547 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: 7548 Likewise. 7549 75502016-02-22 Cesar Philippidis <cesar@codesourcery.com> 7551 7552 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test. 7553 75542016-02-19 Jakub Jelinek <jakub@redhat.com> 7555 7556 PR driver/69805 7557 * testsuite/libgomp.c/pr69805.c: New test. 7558 75592016-02-16 Tom de Vries <tom@codesourcery.com> 7560 7561 PR lto/67709 7562 * testsuite/libgomp.fortran/declare-simd-4.f90: New test. 7563 75642016-02-09 Tom de Vries <tom@codesourcery.com> 7565 7566 PR tree-optimization/69599 7567 * testsuite/libgomp.c/omp-nested-3.c: New test. 7568 * testsuite/libgomp.c/pr46032-2.c: New test. 7569 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test. 7570 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test. 7571 75722016-02-09 Tom de Vries <tom@codesourcery.com> 7573 7574 PR lto/69707 7575 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test. 7576 75772016-02-02 Alexander Monakov <amonakov@ispras.ru> 7578 7579 * testsuite/libgomp.c/target-31.c: Fix testcase. 7580 75812016-02-02 Alexander Monakov <amonakov@ispras.ru> 7582 7583 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction 7584 clause. 7585 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise. 7586 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing 7587 reduction and map clauses. 7588 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise. 7589 75902016-02-02 James Norris <jnorris@codesourcery.com> 7591 7592 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause. 7593 75942016-02-02 Thomas Schwinge <thomas@codesourcery.com> 7595 7596 * libgomp.map (GOACC_2.0): Remove GOACC_host_data. 7597 * oacc-parallel.c (GOACC_host_data): Remove function definition. 7598 7599 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test 7600 cases. 7601 7602 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New 7603 variables. 7604 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib) 7605 (hsa_kmt_lib): Set variables. 7606 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend 7607 always_ld_library_path. 7608 * Makefile.in: Regenerate. 7609 * configure: Likewise. 7610 * testsuite/Makefile.in: Likewise. 7611 7612 * plugin/configfrag.ac (offload_additional_options) 7613 (offload_additional_lib_paths): Don't amend for hsa offloading. 7614 * configure: Regenerate. 7615 7616 * plugin/configfrag.ac: Don't configure for offloading target if 7617 we don't build the corresponding plugin. 7618 * configure: Regenerate. 7619 76202016-02-01 Nathan Sidwell <nathan@codesourcery.com> 7621 7622 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New. 7623 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop. 7624 76252016-01-26 Tom de Vries <tom@codesourcery.com> 7626 7627 PR tree-optimization/69110 7628 * testsuite/libgomp.c/pr69110.c: New test. 7629 76302016-01-25 Richard Biener <rguenther@suse.de> 7631 7632 PR lto/69393 7633 * testsuite/libgomp.c++/pr69393.C: New testcase. 7634 76352016-01-22 Ilya Verbin <ilya.verbin@intel.com> 7636 7637 * target.c (gomp_get_target_fn_addr): Allow host fallback if target 7638 function wasn't mapped to the device with non-shared memory. 7639 76402016-01-20 Ilya Verbin <ilya.verbin@intel.com> 7641 7642 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL. 7643 76442016-01-19 Martin Jambor <mjambor@suse.cz> 7645 Martin Liska <mliska@suse.cz> 7646 7647 * plugin/Makefrag.am: Add HSA plugin requirements. 7648 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable. 7649 (HSA_RUNTIME_LIB): Likewise. 7650 (HSA_RUNTIME_CPPFLAGS): Likewise. 7651 (HSA_RUNTIME_INCLUDE): New substitution. 7652 (HSA_RUNTIME_LIB): Likewise. 7653 (HSA_RUNTIME_LDFLAGS): Likewise. 7654 (hsa-runtime): New configure option. 7655 (hsa-runtime-include): Likewise. 7656 (hsa-runtime-lib): Likewise. 7657 (PLUGIN_HSA): New substitution variable. 7658 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new 7659 configure options. 7660 (PLUGIN_HSA_CPPFLAGS): Likewise. 7661 (PLUGIN_HSA_LDFLAGS): Likewise. 7662 (PLUGIN_HSA_LIBS): Likewise. 7663 Check that we have access to HSA run-time. 7664 * libgomp-plugin.h (offload_target_type): New element 7665 OFFLOAD_TARGET_TYPE_HSA. 7666 * libgomp.h (gomp_target_task): New fields firstprivate_copies and 7667 args. 7668 (bool gomp_create_target_task): Updated. 7669 (gomp_device_descr): Extra parameter of run_func and async_run_func, 7670 new field can_run_func. 7671 * libgomp_g.h (GOMP_target_ext): Update prototype. 7672 * oacc-host.c (host_run): Added a new parameter args. 7673 * target.c (calculate_firstprivate_requirements): New function. 7674 (copy_firstprivate_data): Likewise. 7675 (gomp_target_fallback_firstprivate): Use them. 7676 (gomp_target_unshare_firstprivate): New function. 7677 (gomp_get_target_fn_addr): Allow returning NULL for shared memory 7678 devices. 7679 (GOMP_target): Do host fallback for all shared memory devices. Do not 7680 pass any args to plugins. 7681 (GOMP_target_ext): Introduce device-specific argument parameter args. 7682 Allow host fallback if device shares memory. Do not remap data if 7683 device has shared memory. 7684 (gomp_target_task_fn): Likewise. Also treat shared memory devices 7685 like host fallback for mappings. 7686 (GOMP_target_data): Treat shared memory devices like host fallback. 7687 (GOMP_target_data_ext): Likewise. 7688 (GOMP_target_update): Likewise. 7689 (GOMP_target_update_ext): Likewise. Also pass NULL as args to 7690 gomp_create_target_task. 7691 (GOMP_target_enter_exit_data): Likewise. 7692 (omp_target_alloc): Treat shared memory devices like host fallback. 7693 (omp_target_free): Likewise. 7694 (omp_target_is_present): Likewise. 7695 (omp_target_memcpy): Likewise. 7696 (omp_target_memcpy_rect): Likewise. 7697 (omp_target_associate_ptr): Likewise. 7698 (gomp_load_plugin_for_device): Also load can_run. 7699 * task.c (GOMP_PLUGIN_target_task_completion): Free 7700 firstprivate_copies. 7701 (gomp_create_target_task): Accept new argument args and store it to 7702 ttask. 7703 * plugin/plugin-hsa.c: New file. 7704 77052016-01-18 Tom de Vries <tom@codesourcery.com> 7706 7707 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test. 7708 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same. 7709 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same. 7710 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same. 7711 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same. 7712 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same. 7713 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same. 7714 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same. 7715 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same. 7716 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same. 7717 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c: 7718 Same. 7719 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c: 7720 Same. 7721 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same. 7722 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same. 7723 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same. 7724 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same. 7725 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same. 7726 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same. 7727 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same. 7728 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c: 7729 Same. 7730 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same. 7731 77322016-01-15 Jakub Jelinek <jakub@redhat.com> 7733 7734 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return. 7735 77362016-01-15 Cesar Philippidis <cesar@codesourcery.com> 7737 7738 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test. 7739 77402016-01-12 James Norris <jnorris@codesourcery.com> 7741 7742 * libgomp.texi: Updates for OpenACC. 7743 77442016-01-11 Alexander Monakov <amonakov@ispras.ru> 7745 7746 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET. 7747 77482016-01-07 H.J. Lu <hongjiu.lu@intel.com> 7749 7750 PR fortran/66680 7751 * testsuite/libgomp.fortran/pr66680.f90: New test. 7752 77532016-01-07 Jakub Jelinek <jakub@redhat.com> 7754 7755 PR middle-end/68960 7756 * testsuite/libgomp.c/pr68960.c: New test. 7757 77582016-01-06 Nathan Sidwell <nathan@acm.org> 7759 7760 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper. 7761 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New. 7762 77632016-01-04 Jakub Jelinek <jakub@redhat.com> 7764 7765 Update copyright years. 7766 7767 * libgomp.texi: Bump @copying's copyright year. 7768 77692015-12-31 Nathan Sidwell <nathan@acm.org> 7770 7771 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct 7772 dg-additional-options syntax. 7773 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise. 7774 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise. 7775 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise. 7776 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise. 7777 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise. 7778 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise. 7779 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise. 7780 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise. 7781 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise. 7782 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise. 7783 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise. 7784 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise. 7785 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise. 7786 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise. 7787 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise. 7788 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise. 7789 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise. 7790 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise. 7791 77922015-12-15 Ilya Verbin <ilya.verbin@intel.com> 7793 7794 * libgomp.h (REFCOUNT_LINK): Define. 7795 (struct splay_tree_key_s): Add link_key. 7796 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped. 7797 Replace target address of the pointer with target address of newly 7798 mapped object in the splay tree. Set link pointer on target to the 7799 device address of the mapped object. 7800 (gomp_unmap_vars): Restore target address of the pointer in the splay 7801 tree for REFCOUNT_LINK objects after unmapping. 7802 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp 7803 declare target link" objects. 7804 (gomp_unload_image_from_device): Replace j with i. Force unmap of all 7805 "omp declare target link" objects, which were mapped for the image. 7806 (gomp_exit_data): Restore target address of the pointer in the splay 7807 tree for REFCOUNT_LINK objects after unmapping. 7808 * testsuite/libgomp.c/target-link-1.c: New file. 7809 78102015-12-14 Ilya Verbin <ilya.verbin@intel.com> 7811 7812 * libgomp.h (gomp_device_state): New enum. 7813 (struct gomp_device_descr): Replace is_initialized with state. 7814 (gomp_fini_device): Remove declaration. 7815 * oacc-host.c (host_dispatch): Use state instead of is_initialized. 7816 * oacc-init.c (acc_init_1): Use state instead of is_initialized. 7817 (acc_shutdown_1): Likewise. Inline gomp_fini_device. 7818 (acc_set_device_type): Use state instead of is_initialized. 7819 (acc_set_device_num): Likewise. 7820 * target.c (resolve_device): Use state instead of is_initialized. 7821 Do not initialize finalized device. 7822 (gomp_map_vars): Do nothing if device is finalized. 7823 (gomp_unmap_vars): Likewise. 7824 (gomp_update): Likewise. 7825 (GOMP_offload_register_ver): Use state instead of is_initialized. 7826 (GOMP_offload_unregister_ver): Likewise. 7827 (gomp_init_device): Likewise. 7828 (gomp_unload_device): Likewise. 7829 (gomp_fini_device): Remove. 7830 (gomp_get_target_fn_addr): Do nothing if device is finalized. 7831 (GOMP_target): Go to host fallback if device is finalized. 7832 (GOMP_target_ext): Likewise. 7833 (gomp_exit_data): Do nothing if device is finalized. 7834 (gomp_target_task_fn): Go to host fallback if device is finalized. 7835 (gomp_target_fini): New static function. 7836 (gomp_target_init): Use state instead of is_initialized. 7837 Call gomp_target_fini at exit. 7838 78392015-12-09 Tom de Vries <tom@codesourcery.com> 7840 7841 PR tree-optimization/68716 7842 * testsuite/libgomp.c/omp-nested-2.c: New test. 7843 78442015-12-02 Thomas Schwinge <thomas@codesourcery.com> 7845 7846 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to 7847 target openacc_nvidia_accel_selected. 7848 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise. 7849 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise. 7850 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file. 7851 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file. 7852 78532015-12-01 Julian Brown <julian@codesourcery.com> 7854 James Norris <James_Norris@mentor.com> 7855 7856 * oacc-parallel.c (GOACC_host_data): New function. 7857 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1. 7858 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test. 7859 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test. 7860 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test. 7861 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test. 7862 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test. 7863 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test. 7864 78652015-11-30 James Norris <jnorris@codesourcery.com> 7866 Cesar Philippidis <cesar@codesourcery.com> 7867 7868 libgomp/ 7869 * libgomp.oacc-fortran/routine-5.f90: New test. 7870 * libgomp.oacc-fortran/routine-7.f90: New test. 7871 * libgomp.oacc-fortran/routine-9.f90: New test. 7872 78732015-11-30 Tom de Vries <tom@codesourcery.com> 7874 7875 PR tree-optimization/46032 7876 * testsuite/libgomp.c/pr46032.c: New test. 7877 78782015-11-27 Jakub Jelinek <jakub@redhat.com> 7879 7880 PR libgomp/68579 7881 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl. 7882 (gomp_create_target_task): Call it before freeing 7883 GOMP_TARGET_TASK_DATA tasks. 7884 7885 PR c/63326 7886 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon 7887 in between case label and OpenMP standalone directives. 7888 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise. 7889 78902015-11-26 David Edelsohn <dje.gcc@gmail.com> 7891 7892 * configure: Regenerate. 7893 78942015-11-26 Jakub Jelinek <jakub@redhat.com> 7895 7896 * testsuite/libgomp.c/target-35.c: New test. 7897 78982015-11-22 James Norris <jnorris@codesourcery.com> 7899 Cesar Philippidis <cesar@codesourcery.com> 7900 7901 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test. 7902 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise. 7903 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise. 7904 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise. 7905 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise. 7906 79072015-11-20 Jakub Jelinek <jakub@redhat.com> 7908 7909 PR middle-end/68221 7910 * testsuite/libgomp.c/reduction-11.c: Remove xfail. 7911 * testsuite/libgomp.c/reduction-12.c: Likewise. 7912 * testsuite/libgomp.c++/reduction-11.C: Likewise. 7913 * testsuite/libgomp.c++/reduction-12.C: Likewise. 7914 79152015-11-19 Nathan Sidwell <nathan@codesourcery.com> 7916 7917 * libgomp.oacc-c-c++-common/reduction-dbl.c: New. 7918 * libgomp.oacc-c-c++-common/reduction-flt.c: New. 7919 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef. 7920 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef. 7921 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests 7922 and fix. 7923 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise. 7924 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise. 7925 79262015-11-18 Nathan Sidwell <nathan@codesourcery.com> 7927 7928 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add 7929 worker & gang cases. 7930 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise. 7931 79322015-11-17 Cesar Philippidis <cesar@codesourcery.com> 7933 7934 * config/nvptx/priority_queue.c: New file. 7935 79362015-11-14 Jakub Jelinek <jakub@redhat.com> 7937 7938 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5 7939 sections. 7940 79412015-11-14 Jakub Jelinek <jakub@redhat.com> 7942 Aldy Hernandez <aldyh@redhat.com> 7943 Ilya Verbin <ilya.verbin@intel.com> 7944 7945 * ordered.c (gomp_doacross_init, GOMP_doacross_post, 7946 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post, 7947 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of 7948 iterators or IV by chunk size. 7949 * parallel.c (gomp_resolve_num_threads): Don't assume that 7950 if thr->ts.team is non-NULL, then pool must be non-NULL. 7951 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare. 7952 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export 7953 GOMP_PLUGIN_target_task_completion. 7954 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c. 7955 * Makefile.in: Regenerate. 7956 * libgomp.h: Shuffle prototypes and forward definitions around so 7957 priority queues can be defined. 7958 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING. 7959 (enum gomp_target_task_state): New enum. 7960 (struct gomp_target_task): Add state, tgt, task and team fields. 7961 (gomp_create_target_task): Change return type to bool, add 7962 state argument. 7963 (gomp_target_task_fn): Change return type to bool. 7964 (struct gomp_device_descr): Add async_run_func. 7965 (struct gomp_task): Remove children, next_child, prev_child, 7966 next_queue, prev_queue, next_taskgroup, prev_taskgroup. 7967 Add pnode field. 7968 (struct gomp_taskgroup): Remove children. 7969 Add taskgroup_queue. 7970 (struct gomp_team): Change task_queue type to a priority queue. 7971 (splay_compare): Define inline. 7972 (priority_queue_offset): New. 7973 (priority_node_to_task): New. 7974 (task_to_priority_node): New. 7975 * oacc-mem.c: Do not include splay-tree.h. 7976 * priority_queue.c: New file. 7977 * priority_queue.h: New file. 7978 * splay-tree.c: Do not include splay-tree.h. 7979 (splay_tree_foreach_internal): New. 7980 (splay_tree_foreach): New. 7981 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined. 7982 (splay_tree_callback): Define typedef. 7983 * target.c (splay_compare): Move to libgomp.h. 7984 (GOMP_target): Don't adjust *thr in any way around running offloaded 7985 task. 7986 (GOMP_target_ext): Likewise. Handle target nowait. 7987 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check 7988 return value from gomp_create_target_task, if false, fallthrough 7989 as if no dependencies exist. 7990 (gomp_target_task_fn): Change return type to bool, return true 7991 if the task should have another part scheduled later. Handle 7992 target nowait. 7993 (gomp_load_plugin_for_device): Initialize async_run. 7994 * task.c (gomp_init_task): Initialize children_queue. 7995 (gomp_clear_parent_in_list): New. 7996 (gomp_clear_parent_in_tree): New. 7997 (gomp_clear_parent): Handle priorities. 7998 (GOMP_task): Likewise. 7999 (priority_queue_move_task_first, 8000 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion): 8001 New functions. 8002 (gomp_create_target_task): Use priority queues. Change return type 8003 to bool, add state argument, return false if for async 8004 {{enter,exit} data,update} constructs no dependencies need to be 8005 waited for, handle target nowait. Set task->fn to NULL instead of 8006 gomp_target_task_fn. 8007 (verify_children_queue): Remove. 8008 (priority_list_upgrade_task): New. 8009 (priority_queue_upgrade_task): New. 8010 (verify_task_queue): Remove. 8011 (priority_list_downgrade_task): New. 8012 (priority_queue_downgrade_task): New. 8013 (gomp_task_run_pre): Use priority queues. 8014 Abstract code out to priority_queue_downgrade_task. 8015 (gomp_task_run_post_handle_dependers): Use priority queues. 8016 (gomp_task_run_post_remove_parent): Likewise. 8017 (gomp_task_run_post_remove_taskgroup): Likewise. 8018 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target 8019 tasks specially. 8020 (GOMP_taskwait): Likewise. 8021 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to 8022 priority-queue_upgrade_task. 8023 (GOMP_taskgroup_start): Use priority queues. 8024 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks 8025 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a 8026 barrier. 8027 * taskloop.c (GOMP_taskloop): Handle priorities. 8028 * team.c (gomp_new_team): Call priority_queue_init. 8029 (free_team): Call priority_queue_free. 8030 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial 8031 team created for target nowait in implicit parallel region. 8032 (gomp_team_start): For nested check, test thr->ts.level instead of 8033 thr->ts.team != NULL. 8034 * testsuite/libgomp.c/doacross-3.c: New test. 8035 * testsuite/libgomp.c/ordered-5.c: New test. 8036 * testsuite/libgomp.c/priority.c: New test. 8037 * testsuite/libgomp.c/target-31.c: New test. 8038 * testsuite/libgomp.c/target-32.c: New test. 8039 * testsuite/libgomp.c/target-33.c: New test. 8040 * testsuite/libgomp.c/target-34.c: New test. 8041 80422015-11-13 Nathan Sidwell <nathan@codesourcery.com> 8043 8044 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New. 8045 8046 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential 8047 loop is sequential. 8048 80492015-11-13 Nathan Sidwell <nathan@codesourcery.com> 8050 8051 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New. 8052 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New. 8053 80542015-11-12 James Norris <jnorris@codesourcery.com> 8055 Joseph Myers <joseph@codesourcery.com> 8056 8057 * libgomp.map (GOACC_2.0.1): Export GOACC_declare. 8058 * oacc-parallel.c (GOACC_declare): New function. 8059 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test. 8060 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise. 8061 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise. 8062 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise. 8063 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise. 8064 80652015-11-12 Nathan Sidwell <nathan@codesourcery.com> 8066 8067 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New. 8068 80692015-11-1 Nathan Sidwell <nathan@codesourcery.com> 8070 8071 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New. 8072 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New. 8073 80742015-11-09 Nathan Sidwell <nathan@codesourcery.com> 8075 8076 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove 8077 inadvertent commit. 8078 80792015-11-09 Nathan Sidwell <nathan@codesourcery.com> 8080 8081 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New. 8082 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New. 8083 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New. 8084 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New. 8085 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New. 8086 80872015-11-06 Thomas Schwinge <thomas@codesourcery.com> 8088 8089 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL. 8090 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise. 8091 80922015-11-05 Jakub Jelinek <jakub@redhat.com> 8093 Ilya Verbin <ilya.verbin@intel.com> 8094 8095 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next, 8096 GOMP_loop_nonmonotonic_dynamic_start, 8097 GOMP_loop_nonmonotonic_guided_next, 8098 GOMP_loop_nonmonotonic_guided_start, 8099 GOMP_loop_ull_nonmonotonic_dynamic_next, 8100 GOMP_loop_ull_nonmonotonic_dynamic_start, 8101 GOMP_loop_ull_nonmonotonic_guided_next, 8102 GOMP_loop_ull_nonmonotonic_guided_start, 8103 GOMP_parallel_loop_nonmonotonic_dynamic, 8104 GOMP_parallel_loop_nonmonotonic_guided): New prototypes. 8105 (GOMP_target_41): Renamed to ... 8106 (GOMP_target_ext): ... this. Add num_teams and thread_limit 8107 arguments. 8108 (GOMP_target_data_41): Renamed to ... 8109 (GOMP_target_data_ext): ... this. 8110 (GOMP_target_update_41): Renamed to ... 8111 (GOMP_target_update_ext): ... this. 8112 * libgomp.map (GOMP_4.5): Export GOMP_target_ext, 8113 GOMP_target_data_ext and GOMP_target_update_ext instead of 8114 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41. 8115 Export GOMP_loop_nonmonotonic_dynamic_next, 8116 GOMP_loop_nonmonotonic_dynamic_start, 8117 GOMP_loop_nonmonotonic_guided_next, 8118 GOMP_loop_nonmonotonic_guided_start, 8119 GOMP_loop_ull_nonmonotonic_dynamic_next, 8120 GOMP_loop_ull_nonmonotonic_dynamic_start, 8121 GOMP_loop_ull_nonmonotonic_guided_next, 8122 GOMP_loop_ull_nonmonotonic_guided_start, 8123 GOMP_parallel_loop_nonmonotonic_dynamic and 8124 GOMP_parallel_loop_nonmonotonic_guided. 8125 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic, 8126 GOMP_parallel_loop_nonmonotonic_guided, 8127 GOMP_loop_nonmonotonic_dynamic_start, 8128 GOMP_loop_nonmonotonic_guided_start, 8129 GOMP_loop_nonmonotonic_dynamic_next, 8130 GOMP_loop_nonmonotonic_guided_next): New aliases or functions. 8131 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start, 8132 GOMP_loop_ull_nonmonotonic_guided_start, 8133 GOMP_loop_ull_nonmonotonic_dynamic_next, 8134 GOMP_loop_ull_nonmonotonic_guided_next): Likewise. 8135 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline 8136 functions. 8137 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For 8138 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup. 8139 Use gomp_map_val function. 8140 (gomp_target_fallback_firstprivate): New static function. 8141 (GOMP_target_41): Renamed to ... 8142 (GOMP_target_ext): ... this. Add num_teams and thread_limit 8143 arguments. Move firstprivate fallback handling into a new 8144 function. 8145 (GOMP_target_data_41): Renamed to ... 8146 (GOMP_target_data_ext): ... this. 8147 (GOMP_target_update_41): Renamed to ... 8148 (GOMP_target_update_ext): ... this. 8149 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use 8150 gomp_map_0len_lookup instead of gomp_map_lookup. 8151 (omp_target_is_present): Use gomp_map_0len_lookup instead of 8152 gomp_map_lookup. 8153 * testsuite/libgomp.c/target-28.c: Likewise. 8154 * testsuite/libgomp.c/monotonic-1.c: New test. 8155 * testsuite/libgomp.c/monotonic-2.c: New test. 8156 * testsuite/libgomp.c/nonmonotonic-1.c: New test. 8157 * testsuite/libgomp.c/nonmonotonic-2.c: New test. 8158 * testsuite/libgomp.c/pr66199-5.c: New test. 8159 * testsuite/libgomp.c/pr66199-6.c: New test. 8160 * testsuite/libgomp.c/pr66199-7.c: New test. 8161 * testsuite/libgomp.c/pr66199-8.c: New test. 8162 * testsuite/libgomp.c/pr66199-9.c: New test. 8163 * testsuite/libgomp.c/reduction-11.c: New test. 8164 * testsuite/libgomp.c/reduction-12.c: New test. 8165 * testsuite/libgomp.c/reduction-13.c: New test. 8166 * testsuite/libgomp.c/reduction-14.c: New test. 8167 * testsuite/libgomp.c/reduction-15.c: New test. 8168 * testsuite/libgomp.c/target-12.c (main): Adjust for 8169 omp_target_is_present change for one-past-last element. 8170 * testsuite/libgomp.c/target-17.c (foo): Drop tests where 8171 the same var is both mapped and privatized. 8172 * testsuite/libgomp.c/target-19.c (foo): Adjust for different 8173 handling of zero-length array sections. 8174 * testsuite/libgomp.c/target-28.c: New test. 8175 * testsuite/libgomp.c/target-29.c: New test. 8176 * testsuite/libgomp.c/target-30.c: New test. 8177 * testsuite/libgomp.c/target-teams-1.c: New test. 8178 * testsuite/libgomp.c++/member-6.C: New test. 8179 * testsuite/libgomp.c++/member-7.C: New test. 8180 * testsuite/libgomp.c++/monotonic-1.C: New test. 8181 * testsuite/libgomp.c++/monotonic-2.C: New test. 8182 * testsuite/libgomp.c++/nonmonotonic-1.C: New test. 8183 * testsuite/libgomp.c++/nonmonotonic-2.C: New test. 8184 * testsuite/libgomp.c++/pr66199-3.C: New test. 8185 * testsuite/libgomp.c++/pr66199-4.C: New test. 8186 * testsuite/libgomp.c++/pr66199-5.C: New test. 8187 * testsuite/libgomp.c++/pr66199-6.C: New test. 8188 * testsuite/libgomp.c++/pr66199-7.C: New test. 8189 * testsuite/libgomp.c++/pr66199-8.C: New test. 8190 * testsuite/libgomp.c++/pr66199-9.C: New test. 8191 * testsuite/libgomp.c++/reduction-11.C: New test. 8192 * testsuite/libgomp.c++/reduction-12.C: New test. 8193 * testsuite/libgomp.c++/target-13.C: New test. 8194 * testsuite/libgomp.c++/target-14.C: New test. 8195 * testsuite/libgomp.c++/target-15.C: New test. 8196 * testsuite/libgomp.c++/target-16.C: New test. 8197 * testsuite/libgomp.c++/target-17.C: New test. 8198 * testsuite/libgomp.c++/target-18.C: New test. 8199 * testsuite/libgomp.c++/target-19.C: New test. 8200 82012015-11-04 Nathan Sidwell <nathan@codesourcery.com> 8202 8203 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions 8204 and reduction copy. 8205 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise. 8206 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise. 8207 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise. 8208 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. 8209 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise. 8210 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise. 8211 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise. 8212 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise. 8213 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise. 8214 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise. 8215 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise. 8216 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise. 8217 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise. 8218 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New. 8219 82202015-11-04 Nathan Sidwell <nathan@codesourcery.com> 8221 8222 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New. 8223 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New. 8224 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New. 8225 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New. 8226 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New. 8227 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New. 8228 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New. 8229 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var. 8230 82312015-11-03 Nathan Sidwell <nathan@codesourcery.com> 8232 8233 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func. 8234 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg. 8235 (GOMP_OFFLOAD_openacc_parallel): Likewise. 8236 * oacc-host.c (host_openacc_exec): Likewise. 8237 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call. 8238 82392015-11-03 Julian Brown <julian@codesourcery.com> 8240 Thomas Schwinge <thomas@codesourcery.com> 8241 8242 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file. 8243 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise. 8244 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: 8245 Likewise. 8246 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise. 8247 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise. 8248 82492015-11-03 James Norris <jnorris@codesourcery.com> 8250 8251 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New 8252 file. 8253 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: 8254 Likewise. 8255 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise. 8256 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise. 8257 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise. 8258 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file. 8259 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise. 8260 82612015-10-29 Nathan Sidwell <nathan@codesourcery.com> 8262 8263 * openacc.h (enum acc_device_t): Reformat. Ensure layout 8264 compatibility. 8265 (enum acc_async_t): Reformat. 8266 (acc_on_device): Declare compatible with builtin and provide C++ 8267 wrapper. 8268 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New. 8269 82702015-10-29 Thomas Schwinge <thomas@codesourcery.com> 8271 Cesar Philippidis <cesar@codesourcery.com> 8272 8273 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to... 8274 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c: 8275 ... this. Add a description of the test at the top of the file. 8276 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to... 8277 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: 8278 ... this. Add a description of the test at the top of the file. 8279 82802015-10-28 Nathan Sidwell <nathan@codesourcery.com> 8281 8282 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New. 8283 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New. 8284 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New. 8285 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New. 8286 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New. 8287 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New. 8288 82892015-10-27 Nathan Sidwell <nathan@codesourcery.com> 8290 8291 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute 8292 dimensions. 8293 82942015-10-27 Thomas Schwinge <thomas@codesourcery.com> 8295 8296 PR testsuite/68063 8297 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause. 8298 82992015-10-27 James Norris <jnorris@codesourcery.com> 8300 8301 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file. 8302 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise. 8303 83042015-10-26 Thomas Schwinge <thomas@codesourcery.com> 8305 8306 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr. 8307 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise. 8308 8309 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit 8310 acc_device_nvidia usage. 8311 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise. 8312 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise. 8313 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise. 8314 8315 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once. 8316 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file. 8317 8318 PR libgomp/66518 8319 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL. 8320 8321 PR libgomp/65437 8322 PR libgomp/66518 8323 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize. 8324 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL. 8325 83262015-10-23 Tom de Vries <tom@codesourcery.com> 8327 8328 PR testsuite/68063 8329 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause. 8330 83312015-10-20 Nathan Sidwell <nathan@codesourcery.com> 8332 8333 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane 8334 vector_length. 8335 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. 8336 83372015-10-14 Ilya Verbin <ilya.verbin@intel.com> 8338 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com> 8339 8340 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end 8341 to 0 when mapnum is 0. 8342 83432015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de> 8344 8345 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_): 8346 Cast to int from int32_t. 8347 83482015-10-13 Jakub Jelinek <jakub@redhat.com> 8349 Aldy Hernandez <aldyh@redhat.com> 8350 Ilya Verbin <ilya.verbin@intel.com> 8351 8352 * config/linux/affinity.c (omp_get_place_num_procs, 8353 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions. 8354 * config/linux/doacross.h: New file. 8355 * config/posix/affinity.c (omp_get_place_num_procs, 8356 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions. 8357 * config/posix/doacross.h: New file. 8358 * env.c: Include gomp-constants.h. 8359 (struct gomp_task_icv): Rename run_sched_modifier to 8360 run_sched_chunk_size. 8361 (gomp_max_task_priority_var): New variable. 8362 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size. 8363 (handle_omp_display_env): Change _OPENMP value from 201307 to 8364 201511. Print OMP_MAX_TASK_PRIORITY. 8365 (initialize_env): Parse OMP_MAX_TASK_PRIORITY. 8366 (omp_set_schedule, omp_get_schedule): Rename modifier argument to 8367 chunk_size and run_sched_modifier to run_sched_chunk_size. 8368 (omp_get_max_task_priority, omp_get_initial_device, 8369 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places, 8370 omp_get_partition_place_nums): New functions. 8371 * fortran.c (omp_set_schedule_, omp_set_schedule_8_, 8372 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument 8373 to chunk_size. 8374 (omp_get_num_places_, omp_get_place_num_procs_, 8375 omp_get_place_num_procs_8_, omp_get_place_proc_ids_, 8376 omp_get_place_proc_ids_8_, omp_get_place_num_, 8377 omp_get_partition_num_places_, omp_get_partition_place_nums_, 8378 omp_get_partition_place_nums_8_, omp_get_initial_device_, 8379 omp_get_max_task_priority_): New functions. 8380 * libgomp_g.h (GOMP_loop_doacross_static_start, 8381 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start, 8382 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start, 8383 GOMP_loop_ull_doacross_dynamic_start, 8384 GOMP_loop_ull_doacross_guided_start, 8385 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post, 8386 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait, 8387 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41, 8388 GOMP_target_data_41, GOMP_target_update_41, 8389 GOMP_target_enter_exit_data): New prototypes. 8390 (GOMP_task): Add prototype argument. 8391 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined. 8392 (struct gomp_doacross_work_share): New type. 8393 (struct gomp_work_share): Add doacross field. 8394 (struct gomp_task_icv): Rename run_sched_modifier to 8395 run_sched_chunk_size. 8396 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to 8397 GOMP_TASK_UNDEFERRED. Add comments. 8398 (struct gomp_task_depend_entry): Add comments. 8399 (struct gomp_task): Likewise. 8400 (struct gomp_taskgroup): Likewise. 8401 (struct gomp_target_task): New type. 8402 (struct gomp_team): Add comment. 8403 (gomp_get_place_proc_ids_8, gomp_doacross_init, 8404 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies, 8405 gomp_create_target_task, gomp_target_task_fn): New prototypes. 8406 (struct target_var_desc): New type. 8407 (struct target_mem_desc): Adjust comment. Use struct 8408 target_var_desc instead of splay_tree_key for list. 8409 (REFCOUNT_INFINITY): Define. 8410 (struct splay_tree_key_s): Remove copy_from field. 8411 (struct gomp_device_descr): Add dev2dev_func field. 8412 (enum gomp_map_vars_kind): New enum. 8413 (gomp_map_vars): Add one argument. 8414 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority, 8415 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_, 8416 omp_get_place_num_procs, omp_get_place_num_procs_, 8417 omp_get_place_num_procs_8_, omp_get_place_proc_ids, 8418 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num, 8419 omp_get_place_num_, omp_get_partition_num_places, 8420 omp_get_partition_num_places_, omp_get_partition_place_nums, 8421 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_, 8422 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc, 8423 omp_target_free, omp_target_is_present, omp_target_memcpy, 8424 omp_target_memcpy_rect, omp_target_associate_ptr and 8425 omp_target_disassociate_ptr. 8426 (GOMP_4.0.2): Renamed to ... 8427 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41, 8428 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop, 8429 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start, 8430 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start, 8431 GOMP_loop_doacross_static_start, GOMP_doacross_post, 8432 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start, 8433 GOMP_loop_ull_doacross_guided_start, 8434 GOMP_loop_ull_doacross_runtime_start, 8435 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and 8436 GOMP_doacross_ull_wait. 8437 * libgomp.texi: Document omp_get_max_task_priority. 8438 Rename modifier argument to chunk_size for omp_set_schedule and 8439 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var. 8440 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier 8441 to run_sched_chunk_size renaming. 8442 (GOMP_loop_ordered_runtime_start): Likewise. 8443 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start, 8444 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start, 8445 GOMP_parallel_loop_runtime_start): New functions. 8446 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier 8447 to run_sched_chunk_size renaming. 8448 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start, 8449 GOMP_loop_doacross_guided_start): New functions or aliases. 8450 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for 8451 run_sched_modifier to run_sched_chunk_size renaming. 8452 (GOMP_loop_ull_ordered_runtime_start): Likewise. 8453 (gomp_loop_ull_doacross_static_start, 8454 gomp_loop_ull_doacross_dynamic_start, 8455 gomp_loop_ull_doacross_guided_start, 8456 GOMP_loop_ull_doacross_runtime_start): New functions. 8457 (GOMP_loop_ull_doacross_static_start, 8458 GOMP_loop_ull_doacross_dynamic_start, 8459 GOMP_loop_ull_doacross_guided_start): New functions or aliases. 8460 * oacc-mem.c (acc_map_data, present_create_copy, 8461 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false 8462 to gomp_map_vars. 8463 (gomp_acc_remove_pointer): Use copy_from from target_var_desc. 8464 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC 8465 instead of false to gomp_map_vars. 8466 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc. 8467 * omp.h.in (omp_lock_hint_t): New type. 8468 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint, 8469 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids, 8470 omp_get_place_num, omp_get_partition_num_places, 8471 omp_get_partition_place_nums, omp_get_initial_device, 8472 omp_get_max_task_priority, omp_target_alloc, omp_target_free, 8473 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect, 8474 omp_target_associate_ptr, omp_target_disassociate_ptr): New 8475 prototypes. 8476 * omp_lib.f90.in (omp_lock_hint_kind): New parameter. 8477 (omp_lock_hint_none, omp_lock_hint_uncontended, 8478 omp_lock_hint_contended, omp_lock_hint_nonspeculative, 8479 omp_lock_hint_speculative): New parameters. 8480 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint, 8481 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids, 8482 omp_get_place_num, omp_get_partition_num_places, 8483 omp_get_partition_place_nums, omp_get_initial_device, 8484 omp_get_max_task_priority): New interfaces. 8485 (omp_set_schedule, omp_get_schedule): Rename modifier argument 8486 to chunk_size. 8487 * omp_lib.h.in (omp_lock_hint_kind): New parameter. 8488 (omp_lock_hint_none, omp_lock_hint_uncontended, 8489 omp_lock_hint_contended, omp_lock_hint_nonspeculative, 8490 omp_lock_hint_speculative): New parameters. 8491 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint, 8492 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids, 8493 omp_get_place_num, omp_get_partition_num_places, 8494 omp_get_partition_place_nums, omp_get_initial_device, 8495 omp_get_max_task_priority): New functions and subroutines. 8496 * ordered.c: Include stdarg.h and string.h. 8497 (MAX_COLLAPSED_BITS): Define. 8498 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait, 8499 gomp_doacross_ull_init, GOMP_doacross_ull_post, 8500 GOMP_doacross_ull_wait): New functions. 8501 * target.c: Include errno.h. 8502 (resolve_device): If device is not initialized, call 8503 gomp_init_device on it. 8504 (gomp_map_lookup): New function. 8505 (gomp_map_vars_existing): Add tgt_var argument, fill it in. 8506 Don't bump refcount if REFCOUNT_INFINITY. Handle 8507 GOMP_MAP_ALWAYS_TO_P. 8508 (get_kind): Rename is_openacc argument to short_mapkind. 8509 (gomp_map_pointer): Use gomp_map_lookup. 8510 (gomp_map_fields_existing): New function. 8511 (gomp_map_vars): Rename is_openacc argument to short_mapkind 8512 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA, 8513 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT, 8514 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION. 8515 Adjust for tgt->list changed type and copy_from living in there. 8516 (gomp_copy_from_async): Adjust for tgt->list changed type and 8517 copy_from living in there. 8518 (gomp_unmap_vars): Likewise. 8519 (gomp_update): Likewise. Rename is_openacc argument to 8520 short_mapkind. Don't fail if object is not mapped. 8521 (gomp_load_image_to_device): Initialize refcount to 8522 REFCOUNT_INFINITY. 8523 (gomp_target_fallback): New function. 8524 (gomp_get_target_fn_addr): Likewise. 8525 (GOMP_target): Adjust gomp_map_vars caller, use 8526 gomp_get_target_fn_addr and gomp_target_fallback. 8527 (GOMP_target_41): New function. 8528 (gomp_target_data_fallback): New function. 8529 (GOMP_target_data): Use it, adjust gomp_map_vars caller. 8530 (GOMP_target_data_41): New function. 8531 (GOMP_target_update): Adjust gomp_update caller. 8532 (GOMP_target_update_41): New function. 8533 (gomp_exit_data, GOMP_target_enter_exit_data, 8534 gomp_target_task_fn, omp_target_alloc, omp_target_free, 8535 omp_target_is_present, omp_target_memcpy, 8536 omp_target_memcpy_rect_worker, omp_target_memcpy_rect, 8537 omp_target_associate_ptr, omp_target_disassociate_ptr, 8538 gomp_load_plugin_for_device): New functions. 8539 * task.c: Include gomp-constants.h. Include taskloop.c 8540 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions. 8541 (gomp_task_handle_depend): New function. 8542 (GOMP_task): Use it. Add priority argument. Use 8543 gomp-constant.h constants instead of hardcoded numbers. 8544 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED. 8545 (gomp_create_target_task): New function. 8546 (verify_children_queue, verify_taskgroup_queue, 8547 verify_task_queue): New functions. 8548 (gomp_task_run_pre): Call verify_*_queue functions. 8549 If an upcoming tied task is about to leave the sibling or 8550 taskgroup queues in an invalid state, adjust appropriately. 8551 Remove taskgroup argument. Add comments. 8552 (gomp_task_run_post_handle_dependers): Add comments. 8553 (gomp_task_run_post_remove_parent): Likewise. 8554 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller. 8555 (GOMP_taskwait): Likewise. Add comments. 8556 (gomp_task_maybe_wait_for_dependencies): Fix scheduling 8557 problem such that the first non parent_depends_on task does not 8558 end up at the end of the children queue. 8559 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to 8560 GOMP_TASK_UNDEFERRED. 8561 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller. 8562 * taskloop.c: New file. 8563 * testsuite/lib/libgomp.exp 8564 (check_effective_target_offload_device_nonshared_as): New proc. 8565 * testsuite/libgomp.c/affinity-2.c: New test. 8566 * testsuite/libgomp.c/doacross-1.c: New test. 8567 * testsuite/libgomp.c/doacross-2.c: New test. 8568 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper): 8569 Add map clause to target. 8570 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise. 8571 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise. 8572 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise. 8573 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise. 8574 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt): 8575 Likewise. 8576 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise. 8577 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise. 8578 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise. 8579 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if 8580 not defined. Use those where needed. 8581 * testsuite/libgomp.c/for-4.c: New test. 8582 * testsuite/libgomp.c/for-5.c: New test. 8583 * testsuite/libgomp.c/for-6.c: New test. 8584 * testsuite/libgomp.c/linear-1.c: New test. 8585 * testsuite/libgomp.c/ordered-4.c: New test. 8586 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause 8587 only allowed on the loop iterator. 8588 * testsuite/libgomp.c/pr66199-3.c: New test. 8589 * testsuite/libgomp.c/pr66199-4.c: New test. 8590 * testsuite/libgomp.c/reduction-7.c: New test. 8591 * testsuite/libgomp.c/reduction-8.c: New test. 8592 * testsuite/libgomp.c/reduction-9.c: New test. 8593 * testsuite/libgomp.c/reduction-10.c: New test. 8594 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add 8595 map(tofrom:s). 8596 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise. 8597 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed. 8598 * testsuite/libgomp.c/target-11.c: New test. 8599 * testsuite/libgomp.c/target-12.c: New test. 8600 * testsuite/libgomp.c/target-13.c: New test. 8601 * testsuite/libgomp.c/target-14.c: New test. 8602 * testsuite/libgomp.c/target-15.c: New test. 8603 * testsuite/libgomp.c/target-16.c: New test. 8604 * testsuite/libgomp.c/target-17.c: New test. 8605 * testsuite/libgomp.c/target-18.c: New test. 8606 * testsuite/libgomp.c/target-19.c: New test. 8607 * testsuite/libgomp.c/target-20.c: New test. 8608 * testsuite/libgomp.c/target-21.c: New test. 8609 * testsuite/libgomp.c/target-22.c: New test. 8610 * testsuite/libgomp.c/target-23.c: New test. 8611 * testsuite/libgomp.c/target-24.c: New test. 8612 * testsuite/libgomp.c/target-25.c: New test. 8613 * testsuite/libgomp.c/target-26.c: New test. 8614 * testsuite/libgomp.c/target-27.c: New test. 8615 * testsuite/libgomp.c/taskloop-1.c: New test. 8616 * testsuite/libgomp.c/taskloop-2.c: New test. 8617 * testsuite/libgomp.c/taskloop-3.c: New test. 8618 * testsuite/libgomp.c/taskloop-4.c: New test. 8619 * testsuite/libgomp.c++/ctor-13.C: New test. 8620 * testsuite/libgomp.c++/doacross-1.C: New test. 8621 * testsuite/libgomp.c++/examples-4/declare_target-2.C: 8622 Replace offload_device with offload_device_nonshared_as. 8623 * testsuite/libgomp.c++/for-12.C: New test. 8624 * testsuite/libgomp.c++/for-13.C: New test. 8625 * testsuite/libgomp.c++/for-14.C: New test. 8626 * testsuite/libgomp.c++/linear-1.C: New test. 8627 * testsuite/libgomp.c++/member-1.C: New test. 8628 * testsuite/libgomp.c++/member-2.C: New test. 8629 * testsuite/libgomp.c++/member-3.C: New test. 8630 * testsuite/libgomp.c++/member-4.C: New test. 8631 * testsuite/libgomp.c++/member-5.C: New test. 8632 * testsuite/libgomp.c++/ordered-1.C: New test. 8633 * testsuite/libgomp.c++/reduction-5.C: New test. 8634 * testsuite/libgomp.c++/reduction-6.C: New test. 8635 * testsuite/libgomp.c++/reduction-7.C: New test. 8636 * testsuite/libgomp.c++/reduction-8.C: New test. 8637 * testsuite/libgomp.c++/reduction-9.C: New test. 8638 * testsuite/libgomp.c++/reduction-10.C: New test. 8639 * testsuite/libgomp.c++/reference-1.C: New test. 8640 * testsuite/libgomp.c++/simd14.C: New test. 8641 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause. 8642 * testsuite/libgomp.c++/target-5.C: New test. 8643 * testsuite/libgomp.c++/target-6.C: New test. 8644 * testsuite/libgomp.c++/target-7.C: New test. 8645 * testsuite/libgomp.c++/target-8.C: New test. 8646 * testsuite/libgomp.c++/target-9.C: New test. 8647 * testsuite/libgomp.c++/target-10.C: New test. 8648 * testsuite/libgomp.c++/target-11.C: New test. 8649 * testsuite/libgomp.c++/target-12.C: New test. 8650 * testsuite/libgomp.c++/taskloop-1.C: New test. 8651 * testsuite/libgomp.c++/taskloop-2.C: New test. 8652 * testsuite/libgomp.c++/taskloop-3.C: New test. 8653 * testsuite/libgomp.c++/taskloop-4.C: New test. 8654 * testsuite/libgomp.c++/taskloop-5.C: New test. 8655 * testsuite/libgomp.c++/taskloop-6.C: New test. 8656 * testsuite/libgomp.c++/taskloop-7.C: New test. 8657 * testsuite/libgomp.c++/taskloop-8.C: New test. 8658 * testsuite/libgomp.c++/taskloop-9.C: New test. 8659 * testsuite/libgomp.fortran/affinity1.f90: New test. 8660 * testsuite/libgomp.fortran/affinity2.f90: New test. 8661 86622015-10-13 Tom de Vries <tom@codesourcery.com> 8663 8664 PR tree-optimization/67476 8665 * testsuite/libgomp.c/autopar-3.c: New test. 8666 * testsuite/libgomp.c/autopar-4.c: New test. 8667 * testsuite/libgomp.c/autopar-5.c: New test. 8668 * testsuite/libgomp.c/autopar-6.c: New test. 8669 * testsuite/libgomp.c/autopar-7.c: New test. 8670 * testsuite/libgomp.c/autopar-8.c: New test. 8671 86722015-10-12 James Norris <jnorris@codesourcery.com> 8673 8674 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop 8675 initializer. 8676 86772015-10-09 David Malcolm <dmalcolm@redhat.com> 8678 8679 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp, 8680 using load_gcc_lib. 8681 86822015-10-02 Thomas Schwinge <thomas@codesourcery.com> 8683 8684 * oacc-ptx.h: Remove file, moving its content into... 8685 * config/nvptx/fortran.c: ... here... 8686 * config/nvptx/oacc-init.c: ..., here... 8687 * config/nvptx/oacc-parallel.c: ..., and here. 8688 * config/nvptx/openacc.f90: New file. 8689 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h". 8690 (link_ptx): Don't link in predefined bits of PTX code. 8691 86922015-09-30 Nathan Sidwell <nathan@codesourcery.com> 8693 Bernd Schmidt <bernds@codesourcery.com> 8694 8695 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX. 8696 (struct targ_ptx_obj): New. 8697 (nvptx_tdata): Move earlier, change data format. 8698 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple 8699 objects. 8700 (GOMP_OFFLOAD_load_image): Adjust. 8701 87022015-09-30 Thomas Schwinge <thomas@codesourcery.com> 8703 8704 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint. 8705 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise. 8706 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise. 8707 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise. 8708 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise. 8709 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise. 8710 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise. 8711 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise. 8712 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise. 8713 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise. 8714 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise. 8715 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise. 8716 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise. 8717 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise. 8718 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise. 8719 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise. 8720 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise. 8721 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise. 8722 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise. 8723 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise. 8724 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. 8725 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise. 8726 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise. 8727 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise. 8728 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise. 8729 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise. 8730 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise. 8731 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise. 8732 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise. 8733 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise. 8734 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise. 8735 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise. 8736 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise. 8737 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise. 8738 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. 8739 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise. 8740 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise. 8741 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise. 8742 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise. 8743 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise. 8744 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise. 8745 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise. 8746 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise. 8747 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise. 8748 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise. 8749 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise. 8750 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise. 8751 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise. 8752 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise. 8753 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise. 8754 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise. 8755 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise. 8756 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise. 8757 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise. 8758 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise. 8759 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise. 8760 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise. 8761 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise. 8762 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise. 8763 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise. 8764 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise. 8765 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise. 8766 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise. 8767 87682015-09-29 Nathan Sidwell <nathan@codesourcery.com> 8769 8770 * oacc-init.c (acc_on_device): Force optimization level. 8771 87722015-09-29 Nathan Sidwell <nathan@codesourcery.com> 8773 8774 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete. 8775 (cuda_errlist): Delete. 8776 (cuda_error): Reimplement. 8777 87782015-09-28 Nathan Sidwell <nathan@codesourcery.com> 8779 8780 * libgomp.h (acc_dispatch_t): Replace separate geometry args with 8781 array. 8782 * libgomp.map (GOACC_parallel_keyed): New. 8783 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust 8784 all callers. 8785 (GOACC_parallel_keyed): New interface. Lose geometry arguments 8786 and take keyed varargs list. Adjust call to exec_func. 8787 (GOACC_parallel): Force host fallback. 8788 * libgomp_g.h (GOACC_parallel): Remove. 8789 (GOACC_parallel_keyed): Declare. 8790 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct. 8791 (struct targ_gn_descriptor): Replace name field with launch field. 8792 (nvptx_exec): Lose separate geometry args, take array. Process 8793 dynamic dimensions and adjust. 8794 (struct nvptx_tdata): Replace fn_names field with fn_descs. 8795 (GOMP_OFFLOAD_load_image): Adjust for change in function table 8796 data. 8797 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension 8798 passing. 8799 * oacc-host.c (host_openacc_exec): Adjust for change in dimension 8800 passing. 8801 88022015-09-22 Chung-Lin Tang <cltang@codesourcery.com> 8803 8804 PR libgomp/67141 8805 * oacc-int.h (goacc_host_init): Add declaration. 8806 * oacc-host.c (goacc_host_init): Remove static and constructor attribute. 8807 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end. 8808 88092015-09-08 Aditya Kumar <hiraditya@msn.com> 8810 Sebastian Pop <s.pop@samsung.com> 8811 8812 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to 8813 match o/p. 8814 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same. 8815 * testsuite/libgomp.graphite/force-parallel-4.c: Same. 8816 * testsuite/libgomp.graphite/force-parallel-5.c: Same. 8817 * testsuite/libgomp.graphite/force-parallel-7.c: Same. 8818 * testsuite/libgomp.graphite/force-parallel-8.c: Same. 8819 88202015-09-03 Jakub Jelinek <jakub@redhat.com> 8821 8822 * configure.tgt: Add missing ;; in between nvptx and rtems 8823 snippets. 8824 88252015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de> 8826 8827 * config/posix/pool.h (gomp_adjust_thread_attr): New. 8828 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise. 8829 (gomp_thread_pool_reservoir): Add priority member. 8830 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add 8831 priority. 8832 (parse_thread_pools): Likewise. 8833 * team.c (gomp_team_start): Call configuration provided 8834 gomp_adjust_thread_attr(). Destroy thread attributes if 8835 necessary. 8836 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS. 8837 88382015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de> 8839 8840 * config/posix/pool.h: New. 8841 * config/rtems/pool.h: Likewise. 8842 * config/rtems/proc.c: Likewise. 8843 * libgomp.h (gomp_thread_destructor): Declare. 8844 * team.c: Include configuration provided "pool.h". 8845 (gomp_get_thread_pool): Define in configuration. 8846 (gomp_team_end): Call configuration defined 8847 gomp_release_thread_pool(). 8848 88492015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de> 8850 8851 * config/rtems/bar.c: New. 8852 * config/rtems/bar.h: Likewise. 8853 * config/rtems/mutex.c: Likewise. 8854 * config/rtems/mutex.h: Likewise. 8855 * config/rtems/sem.c: Likewise. 8856 * config/rtems/sem.h: Likewise. 8857 * configure.ac (*-*-rtems*): Check that Newlib provides a proper 8858 <sys/lock.h> header file. 8859 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if 8860 supported by Newlib. 8861 * configure: Regenerate. 8862 88632015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de> 8864 8865 * team.c (gomp_new_thread_pool): Delete and move content to ... 8866 (gomp_get_thread_pool): ... new function. Allocate and 8867 initialize thread pool on demand. 8868 (get_last_team): Use gomp_get_thread_pool(). 8869 (gomp_team_start): Delete thread pool initialization. 8870 88712015-09-03 Tom de Vries <tom@codesourcery.com> 8872 8873 PR tree-optimization/65637 8874 * testsuite/libgomp.c/autopar-2.c: New test. 8875 88762015-08-29 Tom de Vries <tom@codesourcery.com> 8877 8878 PR tree-optimization/46193 8879 * testsuite/libgomp.c/pr46193.c: New test. 8880 88812015-08-24 Nathan Sidwell <nathan@codesourcery.com> 8882 8883 libgomp/ 8884 * libgomp.map: Add 4.0.2 version. 8885 * target.c (offload_image_descr): Add version field. 8886 (gomp_load_image_to_device): Add version argument. Adjust plugin 8887 call. Improve load mismatch diagnostic. 8888 (gomp_unload_image_from_device): Add version argument. Adjust plugin 8889 call. 8890 (GOMP_offload_regster): Make stub function, move bulk to ... 8891 (GOMP_offload_register_ver): ... here. Process version argument. 8892 (GOMP_offload_unregister): Make stub function, move bulk to ... 8893 (GOMP_offload_unregister_ver): ... here. Process version argument. 8894 (gomp_init_device): Process version field. 8895 (gomp_unload_device): Process version field. 8896 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT 8897 macros. Check plugin version. 8898 * libgomp.h (gomp_device_descr): Add version function field. Adjust 8899 loader and unloader types. 8900 * oacc-host.c: Include gomp-constants.h. 8901 (host_version): New. 8902 (host_load_image, host_unload_image): Adjust. 8903 (host_dispatch): Add host_version. 8904 * plugin/plugin-nvptx.c: Include gomp-constants.h. 8905 (GOMP_OFFLOAD_version): New. 8906 (GOMP_OFFLOAD_load_image): Add version arg and check it. 8907 (GOMP_OFFLOAD_unload_image): Likewise. 8908 * plugin/plugin-host.c: Include gomp-constants.h. 8909 (GOMP_OFFLOAD_version): New. 8910 (GOMP_OFFLOAD_load_image): Add version arg. 8911 (GOMP_OFFLOAD_unload_image): Likewise. 8912 89132015-08-24 Tom de Vries <tom@codesourcery.com> 8914 8915 PR tree-optimization/65468 8916 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test. 8917 89182015-08-24 Tom de Vries <tom@codesourcery.com> 8919 8920 PR tree-optimization/65468 8921 * testsuite/libgomp.c/static-chunk-size-one.c: New test. 8922 89232015-08-24 Joost VandeVondele <vondele@gnu.gcc.org> 8924 8925 PR libgomp/66761 8926 PR libgomp/67303 8927 * iter.c (gomp_iter_dynamic_next): Employ an atomic load. 8928 (gomp_iter_guided_next): Idem. 8929 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem. 8930 (gomp_iter_ull_guided_next): Idem. 8931 * config/linux/wait.h (do_spin): Idem. 8932 89332015-08-10 Thomas Schwinge <thomas@codesourcery.com> 8934 8935 * libgomp-plugin.h (enum offload_target_type): Remove 8936 OFFLOAD_TARGET_TYPE_HOST_NONSHM. 8937 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm. 8938 * openacc.h (enum acc_device_t): Likewise. 8939 * openacc_lib.h: Likewise. 8940 * oacc-init.c (name_of_acc_device_t): Don't handle it. 8941 (acc_on_device): Just use __builtin_acc_on_device. 8942 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage 8943 of acc_on_device builtin. 8944 * plugin/plugin-host.h: Remove file. 8945 * plugin/plugin-host.c: Likewise, but salvage some content into... 8946 * oacc-host.c: ... this file. 8947 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la. 8948 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm. 8949 * Makefile.in: Regenerate. 8950 * configure: Likewise. 8951 * testsuite/lib/libgomp.exp 8952 (check_effective_target_openacc_host_nonshm_selected): Remove. 8953 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle 8954 ACC_DEVICE_TYPE=host_nonshm. 8955 * testsuite/libgomp.oacc-c/c.exp: Likewise. 8956 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 8957 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise. 8958 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise. 8959 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise. 8960 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise. 8961 89622015-08-10 Thomas Schwinge <thomas@codesourcery.com> 8963 Jakub Jelinek <jakub@redhat.com> 8964 8965 * config/nvptx/affinity.c: New file. 8966 * config/nvptx/alloc.c: Likewise. 8967 * config/nvptx/bar.c: Likewise. 8968 * config/nvptx/barrier.c: Likewise. 8969 * config/nvptx/critical.c: Likewise. 8970 * config/nvptx/env.c: Likewise. 8971 * config/nvptx/error.c: Likewise. 8972 * config/nvptx/fortran.c: Likewise. 8973 * config/nvptx/iter.c: Likewise. 8974 * config/nvptx/iter_ull.c: Likewise. 8975 * config/nvptx/libgomp-plugin.c: Likewise. 8976 * config/nvptx/lock.c: Likewise. 8977 * config/nvptx/loop.c: Likewise. 8978 * config/nvptx/loop_ull.c: Likewise. 8979 * config/nvptx/mutex.c: Likewise. 8980 * config/nvptx/oacc-async.c: Likewise. 8981 * config/nvptx/oacc-cuda.c: Likewise. 8982 * config/nvptx/oacc-host.c: Likewise. 8983 * config/nvptx/oacc-init.c: Likewise. 8984 * config/nvptx/oacc-mem.c: Likewise. 8985 * config/nvptx/oacc-parallel.c: Likewise. 8986 * config/nvptx/oacc-plugin.c: Likewise. 8987 * config/nvptx/omp-lock.h: Likewise. 8988 * config/nvptx/ordered.c: Likewise. 8989 * config/nvptx/parallel.c: Likewise. 8990 * config/nvptx/proc.c: Likewise. 8991 * config/nvptx/ptrlock.c: Likewise. 8992 * config/nvptx/sections.c: Likewise. 8993 * config/nvptx/sem.c: Likewise. 8994 * config/nvptx/single.c: Likewise. 8995 * config/nvptx/splay-tree.c: Likewise. 8996 * config/nvptx/target.c: Likewise. 8997 * config/nvptx/task.c: Likewise. 8998 * config/nvptx/team.c: Likewise. 8999 * config/nvptx/time.c: Likewise. 9000 * config/nvptx/work.c: Likewise. 9001 * configure.ac: Don't probe pthreads support for host nvptx*-*-*. 9002 * configure: Regenerate. 9003 * configure.tgt (config_path): Set to "nvptx" for target 9004 nvptx*-*-*. 9005 90062015-08-10 Thomas Schwinge <thomas@codesourcery.com> 9007 9008 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file. 9009 90102015-08-03 Nathan Sidwell <nathan@codesourcery.com> 9011 9012 * plugin/plugin-nvptx.c: Don't include dlfcn.h. 9013 (cuda_errlist): Constify. 9014 (errmsg): Move into ... 9015 (cuda_error): ... here. Make smaller. 9016 (_XSTR, _STR): Delete. 9017 (cuda_synames): Delete. 9018 (verify_device_library): Delete. 9019 (nvptx_init): Don't call it. 9020 90212015-07-28 Tom de Vries <tom@codesourcery.com> 9022 9023 * testsuite/libgomp.c/uns-outer-4.c: New test. 9024 90252015-07-24 Cesar Philippidis <cesar@codesourcery.com> 9026 9027 * testsuite/libgomp.c/pr66714.c: New test. 9028 90292015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com> 9030 9031 PR libgomp/66950 9032 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45. 9033 (fib_ref): New function. 9034 (fib): Correct corner cases in the recursion. 9035 (main): Replace the non-simd loop with fib_ref call. 9036 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New 9037 subroutine. 9038 (fibonacci): Lower the parameter N to 30. Correct accordingly check 9039 for the last array element value. Replace the non-simd loop with 9040 fib_ref call. Remove redundant b_ref array. Remove the comparison 9041 of the last array element with according Fibonacci sequence element. 9042 (fib): Correct corner cases in the recursion. 9043 90442015-07-21 Nathan Sidwell <nathan@codesourcery.com> 9045 9046 * target.c (gomp_offload_image_to_device): Rename to ... 9047 (gomp_load_image_to_device): ... here. 9048 (GOMP_offload_register): Adjust call. 9049 (gomp_init_device): Likewise. 9050 (gomp_unload_image_from_device): New. Broken out of ... 9051 (GOMP_offload_unregister): ... here. Call it. 9052 (gomp_unload_device): New. 9053 * libgomp.h (gomp_unload_device): Declare. 9054 * oacc-init.c (acc_shutdown_1): Unload from device before deleting 9055 mem maps. 9056 90572015-07-20 Nathan Sidwell <nathan@codesourcery.com> 9058 9059 * oacc-parallel.c (GOACC_parallel): Move variadic handling into 9060 wait=-specific if. 9061 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits 9062 !=0 condition. 9063 (goacc_waits): Move !num_waits handling to ... 9064 (GOACC_wait): ... here, the only caller that might have zero waits. 9065 9066 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later. 9067 (struct ptx_image_data): Move earlier, add fns field. 9068 (struct ptx_device): Add images and image_lock fields. 9069 (ptx_images, ptx_image_lock): Delete. 9070 (nvptx_open_device): Initialize images and image_lock fields. 9071 (nvptx_close_device): Destroy image_lock. 9072 (GOMP_OFFLOAD_load_image): Register image to device-specific fields. 9073 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific 9074 fields. 9075 90762015-07-17 Nathan Sidwell <nathan@codesourcery.com> 9077 9078 * target.c (GOMP_offload_register): Use int for device type arg. 9079 (GOMP_offload_unregister): Likewise. 9080 9081 * target.c (struct_offload_image_descr): Constify host_table. 9082 (gomp_offload_image_to_device): Likewise. 9083 (GOMP_offload_register, GOMP_offload_unregister): Likewise. 9084 9085 * libgomp.h (gomp_device_descr): Constify target data arguments. 9086 * target.c (struct offload_image_descr): Constify target_data. 9087 (gomp_offload_image_to_device): Likewise. 9088 (GOMP_offload_register): Likewise. 9089 (GOMP_offload_unregister): Likewise. 9090 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image, 9091 GOMP_OFFLOAD_unload_image): Constify target data. 9092 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data. 9093 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise. 9094 90952015-07-16 Nathan Sidwell <nathan@codesourcery.com> 9096 9097 * plugin/plugin-nvptx.c (link_ptx): Constify string argument. 9098 Workaround driver library const error. 9099 (struct nvptx_tdata, nvptx_tdata_t): New. 9100 (GOMP_OFFLOAD_load_image): Use struct for target_data's real 9101 type. 9102 91032015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com> 9104 9105 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type 9106 of EPS parameter from integer to real. 9107 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change 9108 type of EPS parameter from integer to real. 9109 91102015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de> 9111 9112 * team.c (get_last_team): New. 9113 (gomp_new_team): Recycle last non-nested team if possible. 9114 (gomp_team_end): Move team work share list free lock destruction 9115 to ... 9116 (free_team): ... here. 9117 91182015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com> 9119 9120 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res 9121 and ref from int to double. Replaced their comparison with 9122 an inequality of their difference and EPS. 9123 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the 9124 comparison of pri and a reference number with an inequality of their 9125 difference and EPS. 9126 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced 9127 the comparison of sum and sum_ref with an inequality of their 9128 difference and EPS. 9129 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace 9130 the comparison of pri and a reference number with an inequality of 9131 their difference and EPS. 9132 91332015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com> 9134 9135 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to... 9136 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this. 9137 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to... 9138 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this. 9139 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to... 9140 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this. 9141 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to... 9142 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this. 9143 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to... 9144 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this. 9145 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to... 9146 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this. 9147 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local 9148 variables. 9149 (vec_mult): Likewise. Add #pragma omp taskwait. 9150 (main): Adjust caller. 9151 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to... 9152 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this. 9153 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to... 9154 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this. 9155 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to... 9156 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this. 9157 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to... 9158 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this. 9159 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to... 9160 * testsuite/libgomp.c/examples-4/device-1.c: ...this. 9161 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to... 9162 * testsuite/libgomp.c/examples-4/device-2.c: ...this. 9163 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to... 9164 * testsuite/libgomp.c/examples-4/device-3.c: ...this. 9165 * testsuite/libgomp.c/examples-4/simd-1.c: New file. 9166 * testsuite/libgomp.c/examples-4/simd-2.c: New file. 9167 * testsuite/libgomp.c/examples-4/simd-3.c: New file. 9168 * testsuite/libgomp.c/examples-4/simd-4.c: New file. 9169 * testsuite/libgomp.c/examples-4/simd-5.c: New file. 9170 * testsuite/libgomp.c/examples-4/simd-6.c: New file. 9171 * testsuite/libgomp.c/examples-4/simd-7.c: New file. 9172 * testsuite/libgomp.c/examples-4/simd-8.c: New file. 9173 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to... 9174 * testsuite/libgomp.c/examples-4/target-1.c: ...this. 9175 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to... 9176 * testsuite/libgomp.c/examples-4/target-2.c: ...this. 9177 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to... 9178 * testsuite/libgomp.c/examples-4/target-3.c: ...this. 9179 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to... 9180 * testsuite/libgomp.c/examples-4/target-4.c: ...this. 9181 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to... 9182 * testsuite/libgomp.c/examples-4/target-5.c: ...this. 9183 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to... 9184 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this. 9185 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to... 9186 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this. 9187 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to... 9188 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this. 9189 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to... 9190 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this. 9191 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to... 9192 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this. 9193 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to... 9194 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this. 9195 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to... 9196 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this. 9197 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to... 9198 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this. 9199 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file. 9200 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file. 9201 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file. 9202 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file. 9203 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file. 9204 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to... 9205 * testsuite/libgomp.c/examples-4/teams-2.c: ...this. 9206 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to... 9207 * testsuite/libgomp.c/examples-4/teams-3.c: ...this. 9208 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to... 9209 * testsuite/libgomp.c/examples-4/teams-4.c: ...this. 9210 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to... 9211 * testsuite/libgomp.c/examples-4/teams-5.c: ...this. 9212 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to... 9213 * testsuite/libgomp.c/examples-4/teams-6.c: ...this. 9214 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to... 9215 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this. 9216 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to... 9217 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this. 9218 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to... 9219 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this. 9220 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to... 9221 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this. 9222 (vec_mult): Add !$omp taskwait. 9223 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to... 9224 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this. 9225 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to... 9226 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this. 9227 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to... 9228 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this. 9229 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to... 9230 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this. 9231 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to... 9232 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this. 9233 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to... 9234 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this. 9235 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to... 9236 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this. 9237 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to... 9238 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this. 9239 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file. 9240 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file. 9241 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file. 9242 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file. 9243 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file. 9244 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file. 9245 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file. 9246 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file. 9247 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to... 9248 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this. 9249 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to... 9250 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this. 9251 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to... 9252 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this. 9253 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to... 9254 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this. 9255 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to... 9256 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this. 9257 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to... 9258 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this. 9259 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to... 9260 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this. 9261 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to... 9262 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this. 9263 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to... 9264 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this. 9265 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to... 9266 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this. 9267 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to... 9268 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this. 9269 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to... 9270 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this. 9271 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to... 9272 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this. 9273 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to... 9274 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this. 9275 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file. 9276 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file. 9277 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file. 9278 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file. 9279 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file. 9280 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to... 9281 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this. 9282 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to... 9283 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this. 9284 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to... 9285 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this. 9286 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to... 9287 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this. 9288 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to... 9289 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this. 9290 92912015-07-10 Tom de Vries <tom@codesourcery.com> 9292 9293 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test. 9294 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test. 9295 92962015-07-08 Thomas Schwinge <thomas@codesourcery.com> 9297 9298 PR libgomp/65099 9299 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not 9300 in a 64-bit configuration. 9301 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia 9302 offloading testing if no such device is available. 9303 * testsuite/libgomp.oacc-c/c.exp: Likewise. 9304 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 9305 93062015-07-08 Tom de Vries <tom@codesourcery.com> 9307 9308 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix 9309 second call to f. 9310 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same. 9311 93122015-07-07 Tom de Vries <tom@codesourcery.com> 9313 9314 PR tree-optimization/66642 9315 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low 9316 iteration count case. 9317 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New 9318 function, factor out of ... 9319 (main): ... here. Test low iteration count case. 9320 93212015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de> 9322 9323 * libgomp.h (gomp_thread_pool): Comment last_team field. 9324 93252015-07-02 Uros Bizjak <ubizjak@gmail.com> 9326 9327 * testsuite/libgomp.c++/pr66702-1.C: Require 9328 vect_simd_clones effective target. 9329 * testsuite/libgomp.c++/pr66702-2.C: Ditto. 9330 93312015-06-30 Tom de Vries <tom@codesourcery.com> 9332 9333 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not 9334 already set. Use DEFAULT_CFLAGS in dg-runtest. 9335 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options 9336 "-O2". 9337 93382015-06-30 Tom de Vries <tom@codesourcery.com> 9339 9340 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not 9341 already set. Use DEFAULT_CFLAGS in dg-runtest. 9342 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp". 9343 * testsuite/libgomp.c++/pr64824.C: Same. 9344 * testsuite/libgomp.c++/pr64868.C: Same. 9345 * testsuite/libgomp.c++/pr66199-1.C: Same. 9346 * testsuite/libgomp.c++/pr66199-2.C: Same. 9347 * testsuite/libgomp.c++/target-2.C: Same. 9348 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for 9349 -std=<standard> option. 9350 * testsuite/libgomp.c++/udr-11.C: Same. 9351 * testsuite/libgomp.c++/udr-12.C: Same. 9352 * testsuite/libgomp.c++/udr-13.C: Same. 9353 * testsuite/libgomp.c++/udr-14.C: Same. 9354 * testsuite/libgomp.c++/udr-15.C: Same. 9355 * testsuite/libgomp.c++/udr-16.C: Same. 9356 * testsuite/libgomp.c++/udr-17.C: Same. 9357 * testsuite/libgomp.c++/udr-18.C: Same. 9358 * testsuite/libgomp.c++/udr-19.C: Same. 9359 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2". 9360 * testsuite/libgomp.c++/simd-1.C: Same. 9361 * testsuite/libgomp.c++/simd-2.C: Same. 9362 * testsuite/libgomp.c++/simd-3.C: Same. 9363 * testsuite/libgomp.c++/simd-4.C: Same. 9364 * testsuite/libgomp.c++/simd-5.C: Same. 9365 * testsuite/libgomp.c++/simd-6.C: Same. 9366 * testsuite/libgomp.c++/simd-7.C: Same. 9367 * testsuite/libgomp.c++/simd-8.C: Same. 9368 * testsuite/libgomp.c++/simd-9.C: Same. 9369 * testsuite/libgomp.c++/simd10.C: Same. 9370 * testsuite/libgomp.c++/simd11.C: Same. 9371 * testsuite/libgomp.c++/simd12.C: Same. 9372 * testsuite/libgomp.c++/simd13.C: Same. 9373 93742015-06-30 Jakub Jelinek <jakub@redhat.com> 9375 9376 PR middle-end/66702 9377 * testsuite/libgomp.c++/pr66702-1.C: New test. 9378 * testsuite/libgomp.c++/pr66702-2.C: New test. 9379 93802015-06-30 Tom de Vries <tom@codesourcery.com> 9381 9382 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test. 9383 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test. 9384 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test. 9385 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment. 9386 93872015-06-30 Tom de Vries <tom@codesourcery.com> 9388 9389 PR tree-optimization/66652 9390 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite 9391 using restrict pointers. 9392 (main): Add arguments to calls to f. 9393 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same. 9394 93952015-06-23 Andreas Tobler <andreast@gcc.gnu.org> 9396 9397 * configure.ac: Fix check for header <sys/sysctl.h>. 9398 * configure: Regenerate. 9399 * config.h.in: Likewise. 9400 94012015-06-23 Tom de Vries <tom@codesourcery.com> 9402 9403 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use 9404 abort. 9405 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same. 9406 94072015-06-19 Thomas Schwinge <thomas@codesourcery.com> 9408 9409 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for 9410 acc_device_nvidia. 9411 9412 PR libgomp/66518 9413 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL. 9414 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. 9415 94162015-06-15 Tom de Vries <tom@codesourcery.com> 9417 9418 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use 9419 dg-additional-options for any remaining options. 9420 * testsuite/libgomp.c/atomic-2.c: Same. 9421 * testsuite/libgomp.c/atomic-4.c: Same. 9422 * testsuite/libgomp.c/atomic-5.c: Same. 9423 * testsuite/libgomp.c/atomic-6.c: Same. 9424 * testsuite/libgomp.c/autopar-1.c: Same. 9425 * testsuite/libgomp.c/copyin-1.c: Same. 9426 * testsuite/libgomp.c/copyin-2.c: Same. 9427 * testsuite/libgomp.c/copyin-3.c: Same. 9428 * testsuite/libgomp.c/examples-4/e.53.5.c: Same. 9429 * testsuite/libgomp.c/nestedfn-5.c: Same. 9430 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same. 9431 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same. 9432 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same. 9433 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same. 9434 * testsuite/libgomp.c/pr32362-1.c: Same. 9435 * testsuite/libgomp.c/pr32362-2.c: Same. 9436 * testsuite/libgomp.c/pr32362-3.c: Same. 9437 * testsuite/libgomp.c/pr39591-1.c: Same. 9438 * testsuite/libgomp.c/pr39591-2.c: Same. 9439 * testsuite/libgomp.c/pr39591-3.c: Same. 9440 * testsuite/libgomp.c/pr58392.c: Same. 9441 * testsuite/libgomp.c/pr58756.c: Same. 9442 * testsuite/libgomp.c/simd-1.c: Same. 9443 * testsuite/libgomp.c/simd-10.c: Same. 9444 * testsuite/libgomp.c/simd-11.c: Same. 9445 * testsuite/libgomp.c/simd-12.c: Same. 9446 * testsuite/libgomp.c/simd-13.c: Same. 9447 * testsuite/libgomp.c/simd-14.c: Same. 9448 * testsuite/libgomp.c/simd-15.c: Same. 9449 * testsuite/libgomp.c/simd-2.c: Same. 9450 * testsuite/libgomp.c/simd-3.c: Same. 9451 * testsuite/libgomp.c/simd-4.c: Same. 9452 * testsuite/libgomp.c/simd-5.c: Same. 9453 * testsuite/libgomp.c/simd-6.c: Same. 9454 * testsuite/libgomp.c/simd-7.c: Same. 9455 * testsuite/libgomp.c/simd-8.c: Same. 9456 * testsuite/libgomp.c/simd-9.c: Same. 9457 94582015-06-15 Tom de Vries <tom@codesourcery.com> 9459 9460 * testsuite/libgomp.c/pr35625.c: Fix typo. 9461 94622015-06-15 Tom de Vries <tom@codesourcery.com> 9463 9464 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting 9465 in dg-options. 9466 * testsuite/libgomp.c/atomic-3.c: Same. 9467 * testsuite/libgomp.c/debug-1.c: Same. 9468 * testsuite/libgomp.c/nqueens-1.c: Same. 9469 * testsuite/libgomp.c/pr26171.c: Same. 9470 * testsuite/libgomp.c/pr48591.c: Same. 9471 * testsuite/libgomp.c/pr64824.c: Same. 9472 * testsuite/libgomp.c/pr64868.c: Same. 9473 * testsuite/libgomp.c/pr66133.c: Same. 9474 * testsuite/libgomp.c/pr66199-1.c: Same. 9475 * testsuite/libgomp.c/pr66199-2.c: Same. 9476 * testsuite/libgomp.c/target-8.c: Same. 9477 94782015-06-15 Tom de Vries <tom@codesourcery.com> 9479 9480 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for 9481 -std={gnu99,c99}. 9482 * testsuite/libgomp.c/for-1.c: Same. 9483 * testsuite/libgomp.c/for-2.c: Same. 9484 * testsuite/libgomp.c/for-3.c: Same. 9485 * testsuite/libgomp.c/pr35625.c: Same. 9486 * testsuite/libgomp.c/pr39154.c: Same. 9487 * testsuite/libgomp.c/simd-16.c: Same. 9488 * testsuite/libgomp.c/simd-17.c: Same. 9489 94902015-06-13 Tom de Vries <tom@codesourcery.com> 9491 9492 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test. 9493 94942015-06-13 Tom de Vries <tom@codesourcery.com> 9495 9496 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment. 9497 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same. 9498 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment. 9499 (N): Define. 9500 (main): Use N instead of hardcoded constants. 9501 95022015-06-05 Tom de Vries <tom@codesourcery.com> 9503 9504 merge from gomp4 branch: 9505 2015-05-28 Tom de Vries <tom@codesourcery.com> 9506 9507 PR tree-optimization/65443 9508 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test. 9509 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test. 9510 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test. 9511 95122015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> 9513 9514 * testsuite/libgomp.graphite/bounds.c: Adjust for 9515 cleanup-tree-dump removal. 9516 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise. 9517 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise. 9518 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise. 9519 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise. 9520 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise. 9521 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise. 9522 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise. 9523 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise. 9524 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise. 9525 * testsuite/libgomp.graphite/pr41118.c: Likewise. 9526 95272015-05-28 Uros Bizjak <ubizjak@gmail.com> 9528 9529 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function. 9530 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0. 9531 (futex_wake) [!__x86_64__]: Ditto. 9532 95332015-05-28 Julian Brown <julian@codesourcery.com> 9534 9535 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update 9536 function comment. Only call gomp_fatal if new argument is true. 9537 (acc_dev_num_out_of_range): New function. 9538 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call 9539 acc_dev_num_out_of_range as appropriate. 9540 (acc_get_num_devices, acc_set_device_type, acc_get_device_type) 9541 (acc_get_device_num, acc_set_device_num): Update calls to 9542 resolve_device. 9543 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test 9544 output. 9545 95462015-05-28 Julian Brown <julian@codesourcery.com> 9547 9548 PR libgomp/65742 9549 * oacc-init.c (plugin/plugin-host.h): Include. 9550 (acc_on_device): Check whether we're in an offloaded region for 9551 host_nonshm 9552 plugin. Don't use __builtin_acc_on_device. 9553 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set 9554 nonshm_exec flag in thread-local data. 9555 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local 9556 data for host_nonshm plugin. 9557 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data 9558 for host_nonshm plugin. 9559 * plugin/plugin-host.h: New. 9560 95612015-05-27 Uros Bizjak <ubizjak@gmail.com> 9562 9563 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int. 9564 95652015-05-27 Uros Bizjak <ubizjak@gmail.com> 9566 9567 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake): 9568 Declare as int. 9569 (FUTEX_PRIVATE_FLAG): Remove L suffix. 9570 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake): 9571 Declare as int. 9572 95732015-05-27 Uros Bizjak <ubizjak@gmail.com> 9574 9575 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function. 9576 95772015-05-27 Chung-Lin Tang <cltang@codesourcery.com> 9578 9579 * target.c (gomp_map_pointer): New function abstracting out 9580 GOMP_MAP_POINTER handling. 9581 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use 9582 gomp_map_pointer(). 9583 95842015-05-19 Jakub Jelinek <jakub@redhat.com> 9585 9586 PR middle-end/66199 9587 * testsuite/libgomp.c/pr66199-1.c: New test. 9588 * testsuite/libgomp.c/pr66199-2.c: New test. 9589 * testsuite/libgomp.c++/pr66199-1.C: New test. 9590 * testsuite/libgomp.c++/pr66199-2.C: New test. 9591 * testsuite/libgomp.fortran/pr66199-1.f90: New test. 9592 * testsuite/libgomp.fortran/pr66199-2.f90: New test. 9593 95942015-05-19 Julian Brown <julian@codesourcery.com> 9595 9596 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero 9597 on cuInit failure. 9598 95992015-05-13 Jakub Jelinek <jakub@redhat.com> 9600 9601 PR middle-end/66133 9602 * testsuite/libgomp.c/pr66133.c: New test. 9603 96042015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com> 9605 9606 * Makefile.in: Regenerated with automake-1.11.6. 9607 * aclocal.m4: Likewise. 9608 * config.h.in: Likewise. 9609 * configure: Likewise. 9610 * testsuite/Makefile.in: Likewise. 9611 96122015-05-08 Jason Merrill <jason@redhat.com> 9613 9614 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use 9615 _Complex. 9616 9617 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax. 9618 96192015-05-06 Julian Brown <julian@codesourcery.com> 9620 9621 * oacc-init.c (acc_device_lock): Add explanatory comment. 9622 (resolve_device): Add comment about locking requirement. 9623 (acc_init_1, acc_shutdown_1): Likewise. Add locking around 9624 gomp_init_device and gomp_fini_device calls. 9625 (acc_get_num_devices, acc_set_device_type, acc_get_device_type) 9626 (acc_get_device_num, acc_set_device_num): Add locking around 9627 resolve_device and gomp_init_device calls. 9628 96292015-05-06 Julian Brown <julian@codesourcery.com> 9630 9631 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for 9632 goacc_thread_lock on error paths. 9633 * oacc-mem.c (lookup_host): Remove locking from function. Note 9634 locking requirement for caller in function comment. 9635 (lookup_dev): Likewise. 9636 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present) 9637 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout) 9638 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer): 9639 Add locking. 9640 96412015-05-05 Thomas Schwinge <thomas@codesourcery.com> 9642 9643 PR testsuite/65205 9644 PR libgomp/65993 9645 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output, 9646 don't expect "0x" prefix for "%p" format specifier, don't expect 9647 "(nil)" for NULL pointer. 9648 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise. 9649 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise. 9650 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise. 9651 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise. 9652 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise. 9653 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise. 9654 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. 9655 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise. 9656 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise. 9657 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise. 9658 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise. 9659 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise. 9660 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise. 9661 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise. 9662 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise. 9663 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise. 9664 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise. 9665 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise. 9666 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. 9667 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise. 9668 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise. 9669 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise. 9670 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise. 9671 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise. 9672 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise. 9673 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise. 9674 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise. 9675 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise. 9676 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More 9677 accurately specify what we're looking for. 9678 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise. 9679 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise. 9680 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise. 9681 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise. 9682 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise. 9683 96842015-04-30 James Norris <jnorris@codesourcery.com> 9685 9686 PR testsuite/65205 9687 * testsuite/lib/libgomp.exp 9688 (check_effective_target_openacc_host_selected) 9689 (check_effective_target_openacc_host_nonshm_selected): New 9690 procedures. 9691 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of 9692 dg-shouldfail. 9693 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise. 9694 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise. 9695 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise. 9696 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise. 9697 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise. 9698 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise. 9699 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise. 9700 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise. 9701 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise. 9702 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. 9703 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise. 9704 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise. 9705 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise. 9706 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise. 9707 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise. 9708 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise. 9709 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise. 9710 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise. 9711 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise. 9712 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise. 9713 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise. 9714 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise. 9715 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise. 9716 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. 9717 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise. 9718 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise. 9719 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise. 9720 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise. 9721 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise. 9722 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise. 9723 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise. 9724 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise. 9725 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise. 9726 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise. 9727 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise. 9728 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise. 9729 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise. 9730 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise. 9731 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise. 9732 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise. 9733 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise. 9734 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise. 9735 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise. 9736 97372015-04-08 Julian Brown <julian@codesourcery.com> 9738 9739 * libgomp.h (target_mem_desc: Remove mem_map field. 9740 (acc_dispatch_t): Remove open_device_func, close_device_func, 9741 get_device_num_func, set_device_num_func, target_data members. 9742 Change create_thread_data_func argument to device number instead of 9743 generic pointer. 9744 * oacc-async.c (assert.h): Include. 9745 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async) 9746 (acc_wait_all, acc_wait_all_async): Use current host thread's 9747 active device, not base_dev. 9748 * oacc-cuda.c (acc_get_current_cuda_device) 9749 (acc_get_current_cuda_context, acc_get_cuda_stream) 9750 (acc_set_cuda_stream): Likewise. 9751 * oacc-host.c (host_dispatch): Don't set open_device_func, 9752 close_device_func, get_device_num_func or set_device_num_func. 9753 * oacc-init.c (base_dev, init_key): Remove. 9754 (cached_base_dev): New. 9755 (name_of_acc_device_t): New. 9756 (acc_init_1): Initialise default-numbered device, not zeroth. 9757 (acc_shutdown_1): Close all devices of a given type. 9758 (goacc_destroy_thread): Don't use base_dev. 9759 (lazy_open, lazy_init, lazy_init_and_open): Remove. 9760 (goacc_attach_host_thread_to_device): New. 9761 (acc_init): Reimplement with goacc_attach_host_thread_to_device. 9762 (acc_get_num_devices): Don't use base_dev. 9763 (acc_set_device_type): Reimplement. 9764 (acc_get_device_type): Don't use base_dev. 9765 (acc_get_device_num): Tweak logic. 9766 (acc_set_device_num): Likewise. 9767 (acc_on_device): Use acc_get_device_type. 9768 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev. 9769 (goacc_lazy_initialize): Reimplement with acc_init and 9770 goacc_attach_host_thread_to_device. 9771 * oacc-int.h (goacc_thread): Add base_dev field. 9772 (base_dev): Remove extern declaration. 9773 (goacc_attach_host_thread_to_device): Add prototype. 9774 * oacc-mem.c (acc_malloc): Use current thread's device instead of 9775 base_dev. 9776 (acc_free): Likewise. 9777 (acc_memcpy_to_device): Likewise. 9778 (acc_memcpy_from_device): Likewise. 9779 * oacc-parallel.c (select_acc_device): Remove. Replace calls with 9780 goacc_lazy_initialize (throughout). 9781 (GOACC_parallel): Use tgt_offset to locate target functions. 9782 * target.c (gomp_map_vars): Don't set tgt->mem_map. 9783 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map. 9784 (gomp_load_plugin_for_device): Remove open_device, close_device, 9785 get_device_num, set_device_num openacc hook initialisation. Don't set 9786 openacc.target_data. 9787 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device) 9788 (GOMP_OFFLOAD_openacc_close_device) 9789 (GOMP_OFFLOAD_openacc_get_device_num) 9790 (GOMP_OFFLOAD_openacc_set_device_num): Remove. 9791 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument 9792 to int. 9793 * plugin/plugin-nvptx.c (ptx_inited): Remove. 9794 (instantiated_devices, ptx_dev_lock): New. 9795 (struct ptx_image_data): New. 9796 (ptx_devices, ptx_images, ptx_image_lock): New. 9797 (fini_streams_for_device): Reorder cuStreamDestroy call. 9798 (nvptx_get_num_devices): Remove forward declaration. 9799 (nvptx_init): Change return type to bool. 9800 (nvptx_fini): Remove. 9801 (nvptx_attach_host_thread_to_device): New. 9802 (nvptx_open_device): Return struct ptx_device* instead of void*. 9803 (nvptx_close_device): Change argument type to struct ptx_device*, 9804 return type to void. 9805 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited. 9806 (kernel_target_data, kernel_host_table): Remove static globals. 9807 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove. 9808 (GOMP_OFFLOAD_init_device): Reimplement. 9809 (GOMP_OFFLOAD_fini_device): Likewise. 9810 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New. 9811 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host) 9812 (GOMP_OFFLOAD_host2dev): Use ORD argument. 9813 (GOMP_OFFLOAD_openacc_open_device) 9814 (GOMP_OFFLOAD_openacc_close_device) 9815 (GOMP_OFFLOAD_openacc_set_device_num) 9816 (GOMP_OFFLOAD_openacc_get_device_num): Remove. 9817 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int 9818 (device number). 9819 9820 testsuite/ 9821 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test. 9822 98232015-04-06 Ilya Verbin <ilya.verbin@intel.com> 9824 9825 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair. 9826 * libgomp.h (struct gomp_memory_mapping): Remove. 9827 (struct target_mem_desc): Change type of mem_map from 9828 gomp_memory_mapping * to splay_tree_s *. 9829 (struct gomp_device_descr): Remove register_image_func, get_table_func. 9830 Add load_image_func, unload_image_func. 9831 Change type of mem_map from gomp_memory_mapping to splay_tree_s. 9832 Remove offload_regions_registered. 9833 (gomp_init_tables): Remove. 9834 (gomp_free_memmap): Change type of argument from gomp_memory_mapping * 9835 to splay_tree_s *. 9836 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister. 9837 * oacc-host.c (host_dispatch): Do not initialize register_image_func, 9838 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root, 9839 offload_regions_registered. 9840 Initialize load_image_func, unload_image_func, mem_map.root. 9841 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock. 9842 * oacc-init.c (lazy_open): Don't call gomp_init_tables. 9843 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's. 9844 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of 9845 gomp_memory_mapping *. Use dev's lock and splay_tree. 9846 (lookup_dev): Use dev's lock. 9847 (acc_deviceptr): Pass dev to lookup_host instead of mem_map. 9848 (acc_is_present): Likewise. 9849 (acc_map_data): Likewise. 9850 (acc_unmap_data): Likewise. Use dev's lock. 9851 (present_create_copy): Likewise. 9852 (delete_copyout): Pass dev to lookup_host instead of mem_map. 9853 (update_dev_host): Likewise. 9854 (gomp_acc_remove_pointer): Likewise. Use dev's lock. 9855 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree. 9856 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove. 9857 (GOMP_OFFLOAD_get_table): Remove 9858 (GOMP_OFFLOAD_load_image): New function. 9859 (GOMP_OFFLOAD_unload_image): New function. 9860 * target.c (register_lock): New mutex for offload image registration. 9861 (num_devices): Do not guard with PLUGIN_SUPPORT. 9862 (gomp_realloc_unlock): New static function. 9863 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex 9864 before gomp_fatal. 9865 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's. 9866 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal. 9867 (gomp_copy_from_async): Use dev's lock and splay_tree instead of 9868 mem_map's. 9869 (gomp_unmap_vars): Likewise. 9870 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and 9871 splay_tree instead of mm's. Unlock mutex before gomp_fatal. 9872 (gomp_offload_image_to_device): New static function. 9873 (GOMP_offload_register): Add mutex lock. 9874 Call gomp_offload_image_to_device for all initialized devices. 9875 Replace gomp_realloc with gomp_realloc_unlock. 9876 (GOMP_offload_unregister): New function. 9877 (gomp_init_tables): Replace with gomp_init_device. Replace a call to 9878 get_table_func from the plugin with calls to init_device_func and 9879 gomp_offload_image_to_device. 9880 (gomp_free_memmap): Change type of argument from gomp_memory_mapping * 9881 to splay_tree_s *. 9882 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and 9883 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal. 9884 (GOMP_target_data): Do not call gomp_init_tables. 9885 (GOMP_target_update): Likewise. Remove argument from gomp_update. 9886 (gomp_load_plugin_for_device): Replace register_image and get_table 9887 with load_image and unload_image in DLSYM (). 9888 (gomp_register_images_for_device): Remove function. 9889 (gomp_target_init): Do not initialize current_device.mem_map.*, 9890 current_device.offload_regions_registered. 9891 Remove call to gomp_register_images_for_device. 9892 Do not free offload_images and num_offload_images. 9893 98942015-03-30 Jakub Jelinek <jakub@redhat.com> 9895 9896 PR fortran/65597 9897 * testsuite/libgomp.fortran/pr65597.f90: New test. 9898 98992015-03-27 Tom de Vries <tom@codesourcery.com> 9900 9901 PR testsuite/65594 9902 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare. 9903 (init, check): New function. 9904 (foo): Change return type to void. 9905 (main): Call init and check. 9906 99072015-03-27 Tom de Vries <tom@codesourcery.com> 9908 9909 PR testsuite/65594 9910 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define. 9911 (foo): Use M for non-inner loops to scale down test-case. 9912 99132015-03-25 Kai Tietz <ktietz@redhat.com> 9914 9915 PR libgomp/64972 9916 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available. 9917 (GOACC_data_start): Likewise. 9918 * target.c (gomp_map_vars): Likewise. 9919 99202015-03-21 John David Anglin <danglin@gcc.gnu.org> 9921 9922 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on 9923 hppa*-*-hpux*. 9924 99252015-03-19 Jakub Jelinek <jakub@redhat.com> 9926 9927 * testsuite/libgomp.c/target-10.c: New test. 9928 * testsuite/libgomp.c++/target-4.C: New test. 9929 99302015-03-13 Ilya Verbin <ilya.verbin@intel.com> 9931 9932 * testsuite/libgomp.fortran/declare-target-1.f90: New test. 9933 * testsuite/libgomp.fortran/declare-target-2.f90: New file. 9934 99352015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de> 9936 9937 * configure.tgt (*-*-rtems*): Use local-exec TLS model. 9938 * configure.ac (*-*-rtems*): Assume Pthread is supported. 9939 (pthread.h): Check for this header file. 9940 * configure: Regenerate. 9941 99422015-02-25 Tom de Vries <tom@codesourcery.com> 9943 9944 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA) 9945 (check_reduction_op, check_reduction_macro, max, min): 9946 Declare. 9947 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New 9948 function. 9949 (main): Use new functions. 9950 99512015-02-18 Ilya Tocar <ilya.tocar@intel.com> 9952 9953 * target.c (gomp_load_plugin_for_device): Use const char * instead of 9954 char * for variables holding dlerror return values. 9955 (DLSYM_OPT): Ditto. 9956 99572015-02-17 Thomas Schwinge <thomas@codesourcery.com> 9958 9959 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo. 9960 99612015-02-17 Thomas Schwinge <thomas@codesourcery.com> 9962 Cesar Philippidis <cesar@codesourcery.com> 9963 9964 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid, 9965 GOACC_ctaid, and GOACC_nctaid routines. 9966 99672015-02-11 Jakub Jelinek <jakub@redhat.com> 9968 9969 PR c/64824 9970 * testsuite/libgomp.c/atomic-18.c: New test. 9971 * testsuite/libgomp.c++/atomic-16.C: New test. 9972 99732015-02-04 Jakub Jelinek <jakub@redhat.com> 9974 9975 PR c/64824 9976 PR c/64868 9977 * testsuite/libgomp.c/pr64824.c: New test. 9978 * testsuite/libgomp.c/pr64868.c: New test. 9979 * testsuite/libgomp.c++/pr64824.C: New test. 9980 * testsuite/libgomp.c++/pr64868.C: New test. 9981 99822015-02-01 David Edelsohn <dje.gcc@gmail.com> 9983 9984 PR libgomp/64635 9985 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h. 9986 Link with -lpthread. 9987 * config/aix/plugin-suffix.h: Delete. 9988 99892015-01-28 Jack Howarth <howarth.at.gcc@gmail.com> 9990 9991 PR libgomp/64635 9992 * configure.tgt (*-*-aix*): Use config_path "aix posix". 9993 (*-*-darwin*): Use config_path "bsd darwin posix". 9994 (*-*-hpux*): Use config_path "hpux posix". 9995 * target.c: Add include of plugin-suffix.h and use 9996 SONAME_SUFFIX macro. 9997 * config/aix/plugin-suffix.h: New file. 9998 * config/darwin/plugin-suffix.h: New file. 9999 * config/hpux/plugin-suffix.h: New file. 10000 * config/posix/plugin-suffix.h: New file. 10001 100022015-01-23 Jakub Jelinek <jakub@redhat.com> 10003 10004 PR middle-end/64734 10005 * libgomp.c/pr64734.c: New test. 10006 100072015-01-23 Tom de Vries <tom@codesourcery.com> 10008 10009 PR libgomp/64672 10010 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test. 10011 100122015-01-23 Tom de Vries <tom@codesourcery.com> 10013 10014 PR libgomp/64707 10015 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to 10016 dg-options. 10017 100182015-01-19 Thomas Schwinge <thomas@codesourcery.com> 10019 10020 PR libgomp/64625 10021 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data) 10022 (GOACC_parallel, GOACC_update): Remove const_void *offload_table 10023 formal parameter. Update all users. 10024 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update): 10025 Document unused formal parameter. 10026 100272015-01-16 Thomas Schwinge <thomas@codesourcery.com> 10028 10029 * oacc-parallel.c: Don't include <alloca.h>. 10030 (GOACC_parallel): Use gomp_alloca instead of alloca. 10031 100322015-01-16 Gerald Pfeifer <gerald@pfeifer.com> 10033 10034 * target.c (num_devices): Guard with PLUGIN_SUPPORT. 10035 100362015-01-15 Thomas Schwinge <thomas@codesourcery.com> 10037 James Norris <jnorris@codesourcery.com> 10038 Tom de Vries <tom@codesourcery.com> 10039 Julian Brown <julian@codesourcery.com> 10040 Cesar Philippidis <cesar@codesourcery.com> 10041 Nathan Sidwell <nathan@codesourcery.com> 10042 Tobias Burnus <burnus@net-b.de> 10043 10044 * Makefile.am (search_path): Add $(top_srcdir)/../include. 10045 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c, 10046 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c, 10047 oacc-async.c, oacc-plugin.c, oacc-cuda.c. 10048 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90. 10049 Include $(top_srcdir)/plugin/Makefrag.am. 10050 (nodist_libsubinclude_HEADERS): Add openacc.h. 10051 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h, 10052 openacc.f90, openacc.mod, openacc_kinds.mod. 10053 (omp_lib.mod): Generalize into... 10054 (%.mod): ... this new rule. 10055 (openacc_kinds.mod, openacc.mod): New rules. 10056 * plugin/configfrag.ac: New file. 10057 * configure.ac: Move plugin/offloading support into it. Include 10058 it. Instantiate testsuite/libgomp-test-support.pt.exp. 10059 * plugin/Makefrag.am: New file. 10060 * testsuite/Makefile.am (OFFLOAD_TARGETS) 10061 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't 10062 export. 10063 (libgomp-test-support.exp): New rule. 10064 (all-local): Depend on it. 10065 * Makefile.in: Regenerate. 10066 * testsuite/Makefile.in: Regenerate. 10067 * config.h.in: Likewise. 10068 * configure: Likewise. 10069 * configure.tgt: Harden shell syntax. 10070 * env.c: Include "oacc-int.h". 10071 (parse_acc_device_type): New function. 10072 (gomp_debug_var, goacc_device_type, goacc_device_num): New 10073 variables. 10074 (initialize_env): Initialize those. Call 10075 goacc_runtime_initialize. 10076 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions. 10077 (gomp_fatal): Call gomp_vfatal. 10078 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>. 10079 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug) 10080 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once) 10081 (splay_tree_node, splay_tree, splay_tree_key) 10082 (struct target_mem_desc, struct splay_tree_key_s) 10083 (struct gomp_memory_mapping, struct acc_dispatch_t) 10084 (struct gomp_device_descr, gomp_acc_insert_pointer) 10085 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async) 10086 (gomp_unmap_vars, gomp_init_device, gomp_init_tables) 10087 (gomp_free_memmap, gomp_fini_device): New declarations. 10088 (gomp_vdebug, gomp_debug): New macros. 10089 Include "splay-tree.h". 10090 * libgomp.map (OACC_2.0): New symbol version. Use for 10091 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type, 10092 acc_set_device_type_h_, acc_get_device_type, 10093 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_, 10094 acc_get_device_num, acc_get_device_num_h_, acc_async_test, 10095 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_, 10096 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_, 10097 acc_wait_all, acc_wait_all_h_, acc_wait_all_async, 10098 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown, 10099 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc, 10100 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_, 10101 acc_copyin_array_h_, acc_present_or_copyin, 10102 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_, 10103 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_, 10104 acc_create_64_h_, acc_create_array_h_, acc_present_or_create, 10105 acc_present_or_create_32_h_, acc_present_or_create_64_h_, 10106 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_, 10107 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete, 10108 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_, 10109 acc_update_device, acc_update_device_32_h_, 10110 acc_update_device_64_h_, acc_update_device_array_h_, 10111 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_, 10112 acc_update_self_array_h_, acc_map_data, acc_unmap_data, 10113 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_, 10114 acc_is_present_64_h_, acc_is_present_array_h_, 10115 acc_memcpy_to_device, acc_memcpy_from_device, 10116 acc_get_current_cuda_device, acc_get_current_cuda_context, 10117 acc_get_cuda_stream, acc_set_cuda_stream. 10118 (GOACC_2.0): New symbol version. Use for GOACC_data_end, 10119 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel, 10120 GOACC_update, GOACC_wait, GOACC_get_thread_num, 10121 GOACC_get_num_threads. 10122 (GOMP_PLUGIN_1.0): New symbol version. Use for 10123 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared, 10124 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error, 10125 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars, 10126 GOMP_PLUGIN_acc_thread. 10127 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG 10128 environment variable. 10129 * libgomp_g.h (GOACC_data_start, GOACC_data_end) 10130 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait) 10131 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations. 10132 * splay-tree.h (splay_tree_lookup, splay_tree_insert) 10133 (splay_tree_remove): New declarations. 10134 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert) 10135 (splay_tree_remove, splay_tree_lookup): Move into... 10136 * splay-tree.c: ... this new file. 10137 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>. 10138 (splay_tree_node, splay_tree, splay_tree_key) 10139 (struct target_mem_desc, struct splay_tree_key_s) 10140 (struct gomp_device_descr): Don't declare. 10141 (num_devices_openmp): New variable. 10142 (gomp_get_num_devices ): Use it. 10143 (gomp_init_targets_once): New function. 10144 (gomp_get_num_devices ): Use it. 10145 (get_kind, gomp_copy_from_async, gomp_free_memmap) 10146 (gomp_fini_device, gomp_register_image_for_device): New functions. 10147 (gomp_map_vars): Add devaddrs parameter. 10148 (gomp_update): Add mm parameter. 10149 (gomp_init_device): Move most of it into... 10150 (gomp_init_tables): ... this new function. 10151 (gomp_register_images_for_device): Remove function. 10152 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device): 10153 Make them hidden instead of static. 10154 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars) 10155 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data) 10156 (GOMP_target_end_data, GOMP_target_update) 10157 (gomp_load_plugin_for_device, gomp_target_init): Update for 10158 OpenACC changes. 10159 * oacc-async.c: New file. 10160 * oacc-cuda.c: Likewise. 10161 * oacc-host.c: Likewise. 10162 * oacc-init.c: Likewise. 10163 * oacc-int.h: Likewise. 10164 * oacc-mem.c: Likewise. 10165 * oacc-parallel.c: Likewise. 10166 * oacc-plugin.c: Likewise. 10167 * oacc-plugin.h: Likewise. 10168 * oacc-ptx.h: Likewise. 10169 * openacc.f90: Likewise. 10170 * openacc.h: Likewise. 10171 * openacc_lib.h: Likewise. 10172 * plugin/plugin-host.c: Likewise. 10173 * plugin/plugin-nvptx.c: Likewise. 10174 * libgomp-plugin.c: Likewise. 10175 * libgomp-plugin.h: Likewise. 10176 * libgomp_target.h: Remove file after merging content into the 10177 former file. Update all users. 10178 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp. 10179 (offload_targets_s, offload_targets_s_openacc): New variables. 10180 (check_effective_target_openacc_nvidia_accel_present) 10181 (check_effective_target_openacc_nvidia_accel_selected): New 10182 procedures. 10183 (libgomp_init): Update for OpenACC changes. 10184 * testsuite/libgomp-test-support.exp.in: New file. 10185 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. 10186 * testsuite/libgomp.oacc-c/c.exp: Likewise. 10187 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 10188 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise. 10189 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise. 10190 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise. 10191 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise. 10192 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise. 10193 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise. 10194 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise. 10195 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise. 10196 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise. 10197 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise. 10198 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise. 10199 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise. 10200 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise. 10201 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise. 10202 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise. 10203 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise. 10204 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise. 10205 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise. 10206 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise. 10207 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise. 10208 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise. 10209 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise. 10210 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise. 10211 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise. 10212 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise. 10213 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise. 10214 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise. 10215 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise. 10216 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise. 10217 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise. 10218 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise. 10219 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise. 10220 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise. 10221 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise. 10222 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise. 10223 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise. 10224 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise. 10225 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise. 10226 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise. 10227 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise. 10228 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise. 10229 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise. 10230 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise. 10231 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise. 10232 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise. 10233 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise. 10234 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise. 10235 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. 10236 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise. 10237 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise. 10238 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise. 10239 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise. 10240 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise. 10241 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise. 10242 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise. 10243 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise. 10244 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise. 10245 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise. 10246 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise. 10247 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise. 10248 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise. 10249 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise. 10250 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise. 10251 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise. 10252 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise. 10253 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise. 10254 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise. 10255 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise. 10256 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. 10257 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise. 10258 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise. 10259 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise. 10260 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise. 10261 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise. 10262 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise. 10263 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise. 10264 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise. 10265 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise. 10266 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise. 10267 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise. 10268 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise. 10269 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise. 10270 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise. 10271 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise. 10272 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise. 10273 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise. 10274 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise. 10275 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise. 10276 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise. 10277 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise. 10278 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise. 10279 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise. 10280 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise. 10281 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise. 10282 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise. 10283 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise. 10284 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise. 10285 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise. 10286 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise. 10287 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise. 10288 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise. 10289 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise. 10290 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise. 10291 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise. 10292 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise. 10293 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise. 10294 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise. 10295 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise. 10296 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise. 10297 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise. 10298 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise. 10299 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise. 10300 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise. 10301 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise. 10302 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise. 10303 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise. 10304 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise. 10305 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise. 10306 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise. 10307 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise. 10308 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise. 10309 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise. 10310 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise. 10311 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise. 10312 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise. 10313 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise. 10314 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise. 10315 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise. 10316 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise. 10317 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise. 10318 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise. 10319 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise. 10320 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise. 10321 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise. 10322 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise. 10323 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise. 10324 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: 10325 Likewise. 10326 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise. 10327 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise. 10328 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise. 10329 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise. 10330 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise. 10331 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise. 10332 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise. 10333 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise. 10334 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise. 10335 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise. 10336 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise. 10337 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise. 10338 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise. 10339 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise. 10340 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise. 10341 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise. 10342 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise. 10343 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise. 10344 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise. 10345 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise. 10346 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise. 10347 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise. 10348 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise. 10349 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise. 10350 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise. 10351 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise. 10352 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise. 10353 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise. 10354 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise. 10355 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise. 10356 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise. 10357 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise. 10358 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise. 10359 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise. 10360 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise. 10361 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise. 10362 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise. 10363 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise. 10364 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise. 10365 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise. 10366 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise. 10367 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise. 10368 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise. 10369 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise. 10370 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise. 10371 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise. 10372 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise. 10373 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise. 10374 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise. 10375 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise. 10376 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise. 10377 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise. 10378 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise. 10379 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. 10380 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise. 10381 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise. 10382 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise. 10383 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise. 10384 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise. 10385 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise. 10386 103872015-01-10 Thomas Schwinge <thomas@codesourcery.com> 10388 Julian Brown <julian@codesourcery.com> 10389 David Malcolm <dmalcolm@redhat.com> 10390 10391 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library" 10392 to "GNU Offloading and Multi Processing Runtime Library". Change 10393 all users. 10394 * configure: Regenerate. 10395 * libgomp.texi: Update. 10396 103972015-01-08 Thomas Schwinge <thomas@codesourcery.com> 10398 10399 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add 10400 "$tgt_dir/lib32". 10401 * configure: Regenerate. 10402 10403 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match 10404 "intelmic" in $offload_targets. 10405 104062015-01-05 Jakub Jelinek <jakub@redhat.com> 10407 10408 Update copyright years. 10409 10410 * libgomp.texi: Bump @copying's copyright year. 10411 104122014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 10413 10414 * testsuite/lib/libgomp.exp: Load target-utils.exp. 10415 Move load of target-supports.exp earlier. 10416 104172014-12-10 Ilya Verbin <ilya.verbin@intel.com> 10418 10419 * testsuite/libgomp.c/target-9.c: New test. 10420 104212014-12-09 Varvara Rainchik <varvara.rainchik@intel.com> 10422 10423 * config.h.in: Regenerate. 10424 * configure: Regenerate. 10425 * configure.ac: Add GCC_CHECK_EMUTLS. 10426 * libgomp.h: Add check for USE_EMUTLS: this case 10427 is equal to HAVE_TLS. 10428 * team.c: Likewise. 10429 104302014-12-03 Uros Bizjak <ubizjak@gmail.com> 10431 10432 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic. 10433 104342014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com> 10435 Ilya Verbin <ilya.verbin@intel.com> 10436 10437 * testsuite/libgomp.c/target-critical-1.c: New test. 10438 104392014-11-26 Jakub Jelinek <jakub@redhat.com> 10440 10441 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20 10442 to dg-options unless expensive testing is on. 10443 (TESTITERS): Define to N if not defined. 10444 (main): Use TESTITERS instead of N. 10445 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from 10446 dg-additional-options depending on whether expensive testing is on. 10447 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod): 10448 Decrease N to 100000 and CHUNKSZ to 10000. 10449 104502014-11-24 Jakub Jelinek <jakub@redhat.com> 10451 10452 PR fortran/63938 10453 * testsuite/libgomp.fortran/pr63938-1.f90: New test. 10454 * testsuite/libgomp.fortran/pr63938-2.f90: New test. 10455 104562014-11-21 Steve Ellcey <sellcey@imgtec.com> 10457 10458 * config/linux/mips/futex.h (SYS_futex): Define if not already done. 10459 104602014-11-21 H.J. Lu <hongjiu.lu@intel.com> 10461 10462 PR bootstrap/63784 10463 * configure: Regenerated. 10464 104652014-11-19 Uros Bizjak <ubizjak@gmail.com> 10466 10467 * testsuite/libgomp.c/examples-4/e.53.5.c: Require 10468 vect_simd_clones effective target. 10469 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto. 10470 104712014-11-14 Jakub Jelinek <jakub@redhat.com> 10472 10473 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead 10474 of 32 as block_size. 10475 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8 10476 instead of 32 as block_size. 10477 104782014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com> 10479 Ilya Verbin <ilya.verbin@intel.com> 10480 10481 * Makefile.in: Regenerate. 10482 * configure: Regenerate. 10483 * configure.ac: Set up offload_additional_options, 10484 offload_additional_lib_paths and offload_targets. 10485 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS, 10486 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS. 10487 * testsuite/Makefile.in: Regenerate. 10488 * testsuite/lib/libgomp.exp (libgomp_init): Append 10489 offload_additional_lib_paths to LD_LIBRARY_PATH. Append 10490 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic 10491 build directory to LD_LIBRARY_PATH for intelmic offload targets. 10492 104932014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com> 10494 Ilya Verbin <ilya.verbin@intel.com> 10495 Kirill Yukhin <kirill.yukhin@intel.com> 10496 Ilya Tocar <ilya.tocar@intel.com> 10497 10498 * testsuite/lib/libgomp.exp 10499 (check_effective_target_offload_device): New. 10500 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories. 10501 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test. 10502 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto. 10503 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto. 10504 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto. 10505 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto. 10506 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto. 10507 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto. 10508 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto. 10509 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto. 10510 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto. 10511 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto. 10512 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto. 10513 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto. 10514 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto. 10515 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto. 10516 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto. 10517 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto. 10518 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto. 10519 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto. 10520 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto. 10521 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto. 10522 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto. 10523 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto. 10524 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto. 10525 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto. 10526 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto. 10527 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto. 10528 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto. 10529 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto. 10530 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto. 10531 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto. 10532 * testsuite/libgomp.c/target-7.c: Fix test. 10533 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test. 10534 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto. 10535 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto. 10536 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto. 10537 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto. 10538 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto. 10539 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto. 10540 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto. 10541 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto. 10542 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto. 10543 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto. 10544 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto. 10545 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto. 10546 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto. 10547 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto. 10548 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto. 10549 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto. 10550 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto. 10551 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto. 10552 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto. 10553 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto. 10554 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto. 10555 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto. 10556 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto. 10557 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto. 10558 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto. 10559 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto. 10560 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto. 10561 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto. 10562 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto. 10563 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto. 10564 105652014-11-13 Jakub Jelinek <jakub@redhat.com> 10566 Ilya Verbin <ilya.verbin@intel.com> 10567 Thomas Schwinge <thomas@codesourcery.com> 10568 Andrey Turetskiy <andrey.turetskiy@intel.com> 10569 10570 * libgomp.map (GOMP_4.0.1): New symbol version. 10571 Add GOMP_offload_register. 10572 * libgomp_target.h: New file. 10573 * splay-tree.h: New file. 10574 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h. 10575 (gomp_target_init): New forward declaration. 10576 (gomp_is_initialized): New static variable. 10577 (splay_tree_node, splay_tree, splay_tree_key): New typedefs. 10578 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr): 10579 New structures. 10580 (offload_images, num_offload_images, devices, num_devices): New static 10581 variables. 10582 (splay_compare): New static function. 10583 (struct gomp_device_descr): New structure. 10584 (gomp_get_num_devices): Call gomp_target_init. 10585 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt) 10586 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions. 10587 (GOMP_offload_register): New function. 10588 (GOMP_target): Arrange for host callback to be performed in a separate 10589 initial thread and contention group, inheriting ICVs from 10590 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars. 10591 Add device initialization and lookup for target function in splay tree. 10592 (GOMP_target_data): Add device initialization and call gomp_map_vars. 10593 (GOMP_target_end_data): Call gomp_unmap_vars. 10594 (GOMP_target_update): Add device initialization and call gomp_update. 10595 (gomp_load_plugin_for_device, gomp_register_images_for_device) 10596 (gomp_target_init): New static functions. 10597 105982014-11-13 Bernd Schmidt <bernds@codesourcery.com> 10599 Thomas Schwinge <thomas@codesourcery.com> 10600 Ilya Verbin <ilya.verbin@intel.com> 10601 Andrey Turetskiy <andrey.turetskiy@intel.com> 10602 10603 * config.h.in: Regenerate. 10604 * configure: Regenerate. 10605 * configure.ac: Check for libdl, required for plugin support. 10606 (PLUGIN_SUPPORT): Define if plugins are supported. 10607 (enable_offload_targets): Support Intel MIC targets. 10608 (OFFLOAD_TARGETS): List of target names suitable for offloading. 10609 106102014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 10611 10612 PR target/63610 10613 * configure: Regenerate. 10614 106152014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 10616 10617 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600. 10618 106192014-10-06 Marek Polacek <polacek@redhat.com> 10620 10621 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>. 10622 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>. 10623 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h> 10624 * testsuite/libgomp.c/thread-limit-2.c: Likewise. 10625 106262014-10-06 Marek Polacek <polacek@redhat.com> 10627 10628 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations. 10629 * testsuite/libgomp.c/nqueens-1.c: Likewise. 10630 * testsuite/libgomp.c/pr26943-3.c: Likewise. 10631 * testsuite/libgomp.c/pr26943-4.c: Likewise. 10632 * testsuite/libgomp.c/pr36802-2.c: Likewise. 10633 * testsuite/libgomp.c/pr36802-3.c: Likewise. 10634 * testsuite/libgomp.c/thread-limit-1.c: Likewise. 10635 * testsuite/libgomp.c/thread-limit-2.c: Likewise. 10636 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>. 10637 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int. 10638 * testsuite/libgomp.c/omp-parallel-for.c: Likewise. 10639 * testsuite/libgomp.c/omp-parallel-if.c: Likewise. 10640 * testsuite/libgomp.c/omp-single-1.c: Likewise. 10641 * testsuite/libgomp.c/omp-single-2.c: Likewise. 10642 * testsuite/libgomp.c/omp_matvec.c: Likewise. 10643 * testsuite/libgomp.c/omp_workshare3.c: Likewise. 10644 * testsuite/libgomp.c/omp_workshare4.c: Likewise. 10645 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit 10646 declarations. 10647 106482014-10-03 Jakub Jelinek <jakub@redhat.com> 10649 10650 PR libgomp/61200 10651 * testsuite/libgomp.c/pr61200.c: New test. 10652 106532014-09-18 Jakub Jelinek <jakub@redhat.com> 10654 10655 PR c++/63248 10656 * testsuite/libgomp.c++/pr63248.C: New test. 10657 106582014-08-04 Jakub Jelinek <jakub@redhat.com> 10659 10660 * task.c (GOMP_taskgroup_end): If taskgroup->num_children 10661 is not zero, but taskgroup->children is NULL and there are 10662 any task->children, schedule those instead of waiting. 10663 * testsuite/libgomp.c/depend-6.c: New test. 10664 * testsuite/libgomp.c/depend-7.c: New test. 10665 * testsuite/libgomp.c/depend-8.c: New test. 10666 * testsuite/libgomp.c/depend-9.c: New test. 10667 * testsuite/libgomp.c/depend-10.c: New test. 10668 106692014-08-01 Jakub Jelinek <jakub@redhat.com> 10670 10671 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field. 10672 (struct gomp_taskwait): New type. 10673 (struct gomp_task): Add taskwait and parent_depends_on, remove 10674 in_taskwait and taskwait_sem fields. 10675 (gomp_finish_task): Don't destroy taskwait_sem. 10676 * task.c (gomp_init_task): Don't init in_taskwait, instead init 10677 taskwait and parent_depends_on. 10678 (GOMP_task): For if (0) tasks with depend clause that depend on 10679 earlier tasks don't defer them, instead call 10680 gomp_task_maybe_wait_for_dependencies to wait for the dependencies. 10681 Initialize redundant_out field, for redundant out entries just 10682 move them at the end of linked list instead of removing them 10683 completely, and set redundant_out flag instead of redundant. 10684 (gomp_task_run_pre): Update last_parent_depends_on if scheduling 10685 that task. 10686 (gomp_task_run_post_handle_dependers): If parent is in 10687 gomp_task_maybe_wait_for_dependencies and newly runnable task 10688 is not parent_depends_on, queue it in parent->children linked 10689 list after all runnable tasks with parent_depends_on set. 10690 Adjust for addition of taskwait indirection. 10691 (gomp_task_run_post_remove_parent): If parent is in 10692 gomp_task_maybe_wait_for_dependencies and task to be removed 10693 is parent_depends_on, decrement n_depend and if needed awake 10694 parent. Adjust for addition of taskwait indirection. 10695 (GOMP_taskwait): Adjust for addition of taskwait indirection. 10696 (gomp_task_maybe_wait_for_dependencies): New function. 10697 * testsuite/libgomp.c/depend-5.c: New test. 10698 106992014-07-13 Tobias Burnus <burnus@net-b.de> 10700 10701 * testsuite/libgomp.fortran/pr34020.f90: Make compile 10702 with TS 18508/Fortran 2015. 10703 107042014-07-06 Marek Polacek <polacek@redhat.com> 10705 10706 PR c/6940 10707 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings. 10708 107092014-07-03 Jakub Jelinek <jakub@redhat.com> 10710 10711 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source 10712 matches regex $lang_source_re, add $lang_include_flags to options. 10713 * testsuite/libgomp.c/c.exp: Unset lang_include_flags. 10714 * testsuite/libgomp.c++/c++.exp: Likewise. 10715 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re 10716 and lang_include_flags instead of adding -fintrinsic-modules-path= to 10717 ALWAYS_CFLAGS. 10718 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags. 10719 107202014-07-03 Thomas Schwinge <thomas@codesourcery.com> 10721 10722 * testsuite/libgomp.fortran/fortran.exp: Explain 10723 gfortran-dg-runtest usage. 10724 107252014-06-25 Jakub Jelinek <jakub@redhat.com> 10726 10727 * testsuite/libgomp.fortran/simd5.f90: New test. 10728 * testsuite/libgomp.fortran/simd6.f90: New test. 10729 * testsuite/libgomp.fortran/simd7.f90: New test. 10730 107312014-06-24 Jakub Jelinek <jakub@redhat.com> 10732 10733 * testsuite/libgomp.c/for-2.c: Define SC to static for 10734 #pragma omp for simd testing. 10735 * testsuite/libgomp.c/for-2.h (SC): Define if not defined. 10736 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use 10737 SC macro. 10738 * testsuite/libgomp.c/simd-14.c: New test. 10739 * testsuite/libgomp.c/simd-15.c: New test. 10740 * testsuite/libgomp.c/simd-16.c: New test. 10741 * testsuite/libgomp.c/simd-17.c: New test. 10742 * testsuite/libgomp.c++/for-10.C: Define SC to static for 10743 #pragma omp for simd testing. 10744 * testsuite/libgomp.c++/simd10.C: New test. 10745 * testsuite/libgomp.c++/simd11.C: New test. 10746 * testsuite/libgomp.c++/simd12.C: New test. 10747 * testsuite/libgomp.c++/simd13.C: New test. 10748 10749 * testsuite/libgomp.fortran/aligned1.f03: New test. 10750 * testsuite/libgomp.fortran/nestedfn5.f90: New test. 10751 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning 10752 tasks with !$omp parallel !$omp single. 10753 * testsuite/libgomp.fortran/target8.f90: New test. 10754 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust 10755 not to use trim in the combiner, instead call elemental function. 10756 (fn): New elemental function. 10757 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init): 10758 Make elemental. 10759 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out, 10760 omp_in): Likewise. 10761 * testsuite/libgomp.fortran/udr12.f90: New test. 10762 * testsuite/libgomp.fortran/udr13.f90: New test. 10763 * testsuite/libgomp.fortran/udr14.f90: New test. 10764 * testsuite/libgomp.fortran/udr15.f90: New test. 10765 107662014-06-18 Jakub Jelinek <jakub@redhat.com> 10767 10768 * omp_lib.f90.in (openmp_version): Set to 201307. 10769 * omp_lib.h.in (openmp_version): Likewise. 10770 * testsuite/libgomp.c/target-8.c: New test. 10771 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch 10772 and inbranch clauses. 10773 * testsuite/libgomp.fortran/depend-3.f90: New test. 10774 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new 10775 openmp_version. 10776 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise. 10777 * testsuite/libgomp.fortran/target1.f90: New test. 10778 * testsuite/libgomp.fortran/target2.f90: New test. 10779 * testsuite/libgomp.fortran/target3.f90: New test. 10780 * testsuite/libgomp.fortran/target4.f90: New test. 10781 * testsuite/libgomp.fortran/target5.f90: New test. 10782 * testsuite/libgomp.fortran/target6.f90: New test. 10783 * testsuite/libgomp.fortran/target7.f90: New test. 10784 107852014-06-10 Jakub Jelinek <jakub@redhat.com> 10786 10787 PR fortran/60928 10788 * testsuite/libgomp.fortran/allocatable9.f90: New test. 10789 * testsuite/libgomp.fortran/allocatable10.f90: New test. 10790 * testsuite/libgomp.fortran/allocatable11.f90: New test. 10791 * testsuite/libgomp.fortran/allocatable12.f90: New test. 10792 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test. 10793 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test. 10794 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test. 10795 * testsuite/libgomp.fortran/associate1.f90: New test. 10796 * testsuite/libgomp.fortran/associate2.f90: New test. 10797 * testsuite/libgomp.fortran/procptr1.f90: New test. 10798 107992014-06-06 Jakub Jelinek <jakub@redhat.com> 10800 10801 * testsuite/libgomp.fortran/simd1.f90: New test. 10802 * testsuite/libgomp.fortran/udr1.f90: New test. 10803 * testsuite/libgomp.fortran/udr2.f90: New test. 10804 * testsuite/libgomp.fortran/udr3.f90: New test. 10805 * testsuite/libgomp.fortran/udr4.f90: New test. 10806 * testsuite/libgomp.fortran/udr5.f90: New test. 10807 * testsuite/libgomp.fortran/udr6.f90: New test. 10808 * testsuite/libgomp.fortran/udr7.f90: New test. 10809 * testsuite/libgomp.fortran/udr8.f90: New test. 10810 * testsuite/libgomp.fortran/udr9.f90: New test. 10811 * testsuite/libgomp.fortran/udr10.f90: New test. 10812 * testsuite/libgomp.fortran/udr11.f90: New test. 10813 108142014-05-27 Uros Bizjak <ubizjak@gmail.com> 10815 10816 * testsuite/libgomp.fortran/declare-simd-1.f90: Require 10817 vect_simd_clones effective target. 10818 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto. 10819 108202014-05-21 Jakub Jelinek <jakub@redhat.com> 10821 10822 PR middle-end/61252 10823 * testsuite/libgomp.c++/simd-9.C: New test. 10824 108252014-05-18 Uros Bizjak <ubizjak@gmail.com> 10826 10827 * libgomp.texi (Runitme Library Routines): Remove multiple @menu. 10828 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node 10829 texts according to their @menu entry positions. 10830 108312014-05-11 Jakub Jelinek <jakub@redhat.com> 10832 10833 * testsuite/libgomp.fortran/cancel-do-1.f90: New test. 10834 * testsuite/libgomp.fortran/cancel-do-2.f90: New test. 10835 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test. 10836 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test. 10837 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test. 10838 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test. 10839 * testsuite/libgomp.fortran/declare-simd-1.f90: New test. 10840 * testsuite/libgomp.fortran/declare-simd-2.f90: New test. 10841 * testsuite/libgomp.fortran/declare-simd-3.f90: New test. 10842 * testsuite/libgomp.fortran/depend-1.f90: New test. 10843 * testsuite/libgomp.fortran/depend-2.f90: New test. 10844 * testsuite/libgomp.fortran/omp_atomic5.f90: New test. 10845 * testsuite/libgomp.fortran/simd1.f90: New test. 10846 * testsuite/libgomp.fortran/simd2.f90: New test. 10847 * testsuite/libgomp.fortran/simd3.f90: New test. 10848 * testsuite/libgomp.fortran/simd4.f90: New test. 10849 * testsuite/libgomp.fortran/taskgroup1.f90: New test. 10850 108512014-05-02 Jakub Jelinek <jakub@redhat.com> 10852 10853 * testsuite/libgomp.c/simd-10.c: New test. 10854 * testsuite/libgomp.c/simd-11.c: New test. 10855 * testsuite/libgomp.c/simd-12.c: New test. 10856 * testsuite/libgomp.c/simd-13.c: New test. 10857 108582014-04-24 Jakub Jelinek <jakub@redhat.com> 10859 10860 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and 10861 atomic type clauses in any order and optional comma in between. 10862 * testsuite/libgomp.c++/atomic-15.C: Likewise. 10863 * testsuite/libgomp.c/atomic-17.c: Likewise. 10864 10865 * testsuite/libgomp.c/simd-7.c: New test. 10866 * testsuite/libgomp.c/simd-8.c: New test. 10867 * testsuite/libgomp.c/simd-9.c: New test. 10868 * testsuite/libgomp.c/loop-16.c: New test. 10869 108702014-04-02 Richard Henderson <rth@redhat.com> 10871 10872 * config/linux/futex.h (futex_wait): Get error value from errno. 10873 (futex_wake): Likewise. 10874 108752014-03-25 Jakub Jelinek <jakub@redhat.com> 10876 10877 PR c++/60331 10878 * testsuite/libgomp.c++/udr-11.C: New test. 10879 * testsuite/libgomp.c++/udr-12.C: New test. 10880 * testsuite/libgomp.c++/udr-13.C: New test. 10881 * testsuite/libgomp.c++/udr-14.C: New test. 10882 * testsuite/libgomp.c++/udr-15.C: New test. 10883 * testsuite/libgomp.c++/udr-16.C: New test. 10884 * testsuite/libgomp.c++/udr-17.C: New test. 10885 * testsuite/libgomp.c++/udr-18.C: New test. 10886 * testsuite/libgomp.c++/udr-19.C: New test. 10887 108882014-01-02 Richard Sandiford <rdsandiford@googlemail.com> 10889 10890 Update copyright years 10891 108922014-01-02 Richard Sandiford <rdsandiford@googlemail.com> 10893 10894 * hashtab.h: Use the standard form for the copyright notice. 10895 108962014-01-02 Tobias Burnus <burnus@net-b.de> 10897 10898 * libgomp.texi: Bump @copying's copyright year. 10899 109002013-12-17 Andreas Tobler <andreast@gcc.gnu.org> 10901 10902 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace 10903 alloca () with __builtin_alloca (). 10904 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage. 10905 * testsuite/libgomp.c/lock-3.c: Likewise. 10906 * testsuite/libgomp.c/pr48591.c: Likewise. 10907 109082013-12-17 Jakub Jelinek <jakub@redhat.com> 10909 10910 PR testsuite/59534 10911 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited 10912 comparisons. 10913 109142013-12-16 Jakub Jelinek <jakub@redhat.com> 10915 10916 PR libgomp/58756 10917 * testsuite/libgomp.c/pr58756.c: New test. 10918 109192013-12-12 Jakub Jelinek <jakub@redhat.com> 10920 10921 PR libgomp/59467 10922 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to 10923 !$omp parallel. 10924 109252013-11-07 Thomas Schwinge <thomas@codesourcery.com> 10926 10927 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to 10928 ALWAYS_CFLAGS. 10929 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp. 10930 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise. 10931 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise. 10932 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS): 10933 Likewise. 10934 10935 * libgomp_g.h: Include <stddef.h> for size_t. 10936 10937 * libgomp.spec.in: Update comment about libgomp's dependencies. 10938 * configure.ac: Likewise. 10939 * configure: Regenerate. 10940 109412013-10-16 Tobias Burnus <burnus@net-b.de> 10942 10943 * libgomp.texi: (Runtime Library Routines): Update references for 10944 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device, 10945 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind, 10946 omp_get_team_num, omp_is_initial_device, omp_set_default_device. 10947 (Environment Variables): Update references for OpenMP 4.0. Add 10948 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES. 10949 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical 10950 order. 10951 109522013-10-14 Jakub Jelinek <jakub@redhat.com> 10953 10954 * env.c (parse_bind_var): Initialize value to avoid 10955 (false positive) warning. 10956 109572013-10-12 Jakub Jelinek <jakub@redhat.com> 10958 10959 PR libgomp/58691 10960 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute 10961 to check variable. 10962 (gomp_init_num_threads): Move i variable declaration into 10963 #ifdef CPU_ALLOC_SIZE block. 10964 * config/linux/affinity.c (gomp_affinity_init_level): Test 10965 gomp_places_list_len == 0 rather than gomp_places_list == 0 10966 when checking for topology reading error. 10967 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false. 10968 * env.c (parse_affinity): Add ignore argument, if true, don't populate 10969 gomp_places_list, only parse env var and always return false. 10970 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var. 10971 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env 10972 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified 10973 and either of these variables were parsed correctly into a places 10974 list. 10975 109762013-10-11 Thomas Schwinge <thomas@codesourcery.com> 10977 Jakub Jelinek <jakub@redhat.com> 10978 10979 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead 10980 of 5 loopfn matches. 10981 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise. 10982 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise. 10983 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise. 10984 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise. 10985 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise. 10986 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise. 10987 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise. 10988 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise. 10989 109902013-10-11 Thomas Schwinge <thomas@codesourcery.com> 10991 10992 * Makefile.am (omp_lib.mod): Streamline rule. 10993 * Makefile.in: Regenerate. 10994 10995 * libgomp.texi (Runtime Library Routines): C linkage, don't throw 10996 exceptions. 10997 10998 * testsuite/libgomp.c/lib-1.c (main): Add missing error check. 10999 * testsuite/libgomp.fortran/lib1.f90: Likewise. 11000 * testsuite/libgomp.fortran/lib2.f: Likewise. 11001 * testsuite/libgomp.fortran/lib3.f: Likewise. 11002 11003 * configure.ac: Typo fix. 11004 * configure: Regenerate. 11005 11006 * testsuite/libgomp.fortran/openmp_version-1.f: New file. 11007 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise. 11008 11009 * omp.h.in: Don't touch the user's namespace. 11010 110112013-10-11 Jakub Jelinek <jakub@redhat.com> 11012 Tobias Burnus <burnus@net-b.de> 11013 Richard Henderson <rth@redhat.com> 11014 11015 * target.c: New file. 11016 * Makefile.am (libgomp_la_SOURCES): Add target.c. 11017 * Makefile.in: Regenerated. 11018 * libgomp_g.h (GOMP_task): Add depend argument. 11019 (GOMP_barrier_cancel, GOMP_loop_end_cancel, 11020 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data, 11021 GOMP_target_end_data, GOMP_target_update, GOMP_teams, 11022 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic, 11023 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime, 11024 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point, 11025 GOMP_taskgroup_start, GOMP_taskgroup_end, 11026 GOMP_parallel_sections): New prototypes. 11027 * fortran.c (omp_is_initial_device): Add ialias_redirect. 11028 (omp_is_initial_device_): New function. 11029 (ULP, STR1, STR2, ialias_redirect): Removed. 11030 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_, 11031 omp_set_default_device_8_, omp_get_default_device_, 11032 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New 11033 functions. 11034 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel, 11035 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data, 11036 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export 11037 @@GOMP_4.0. 11038 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation, 11039 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_, 11040 omp_set_default_device, omp_set_default_device_, 11041 omp_set_default_device_8_, omp_get_default_device, 11042 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_, 11043 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num, 11044 omp_get_team_num_): Export @@OMP_4.0. 11045 * team.c (struct gomp_thread_start_data): Add place field. 11046 (gomp_thread_start): Clear thr->thread_pool and 11047 thr->task before returning. Use gomp_team_barrier_wait_final 11048 instead of gomp_team_barrier_wait. Initialize thr->place. 11049 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled, 11050 team_cancelled and task_queued_count fields. 11051 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task 11052 before calling pthread_exit. 11053 (gomp_free_thread): No longer static. Use 11054 gomp_managed_threads_lock instead of gomp_remaining_threads_lock. 11055 (gomp_team_start): Add flags argument. Set 11056 thr->thread_pool->threads_busy to nthreads immediately after creating 11057 new pool. Use gomp_managed_threads_lock instead of 11058 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity. 11059 (gomp_team_end): Use gomp_managed_threads_lock instead of 11060 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead 11061 of gomp_team_barrier_wait. If team->team_cancelled, call 11062 gomp_fini_workshare on ws chain starting at team->work_shares_to_free 11063 rather than thr->ts.work_share. 11064 (initialize_team): Don't call gomp_sem_init here. 11065 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start 11066 caller. 11067 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions. 11068 * env.c (gomp_global_icv): Add default_device_var, target_data and 11069 bind_var initializers. 11070 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove. 11071 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list, 11072 gomp_places_list_len): New variables. 11073 (parse_bind_var, parse_one_place, parse_places_var): New functions. 11074 (parse_affinity): Rewritten to construct OMP_PLACES list with unit 11075 sized places. 11076 (gomp_cancel_var): New global variable. 11077 (parse_int): New function. 11078 (handle_omp_display_env): New function. 11079 (initialize_env): Use it. Initialize default_device_var. 11080 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse 11081 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for 11082 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has 11083 been successfully parsed (and call gomp_init_affinity in that case). 11084 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device, 11085 omp_get_default_device, omp_get_num_devices, omp_get_num_teams, 11086 omp_get_team_num, omp_is_initial_device): New functions. 11087 * libgomp.h: Include stdlib.h. 11088 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call): 11089 Define. 11090 (struct target_mem_desc): Forward declare. 11091 (struct gomp_task_icv): Add default_device_var, target_data, bind_var 11092 and thread_limit_var fields. 11093 (gomp_get_num_devices): New prototype. 11094 (gomp_cancel_var): New extern decl. 11095 (struct gomp_team): Add work_shares_to_free, work_share_cancelled, 11096 team_cancelled and task_queued_count fields. Add comments about 11097 task_{,queued_,running_}count. 11098 (gomp_cancel_kind): New enum. 11099 (gomp_work_share_end_cancel): New prototype. 11100 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup, 11101 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees 11102 and depend fields. 11103 (struct gomp_taskgroup): New type. 11104 (struct gomp_task_depend_entry, 11105 struct gomp_dependers_vec): New types. 11106 (gomp_finish_task): Free depend_hash if non-NULL. 11107 (struct gomp_team_state): Add place_partition_off 11108 and place_partition_len fields. 11109 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list, 11110 gomp_places_list_len): New extern decls. 11111 (struct gomp_thread): Add place field. 11112 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove. 11113 (gomp_init_thread_affinity): Add place argument. 11114 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus, 11115 gomp_affinity_remove_cpu, gomp_affinity_copy_place, 11116 gomp_affinity_same_place, gomp_affinity_finalize_place_list, 11117 gomp_affinity_init_level, gomp_affinity_print_place): New 11118 prototypes. 11119 (gomp_team_start): Add flags argument. 11120 (gomp_thread_limit_var, gomp_remaining_threads_count, 11121 gomp_remaining_threads_lock): Remove. 11122 (gomp_managed_threads_lock): New variable. 11123 (struct gomp_thread_pool): Add threads_busy field. 11124 (gomp_free_thread): New prototype. 11125 * task.c: Include hashtab.h. 11126 (hash_entry_type): New typedef. 11127 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines. 11128 (gomp_init_task): Clear dependers, depend_hash, depend_count, 11129 copy_ctors_done and taskgroup fields. 11130 (GOMP_task): Add depend argument, handle depend clauses. If 11131 gomp_team_barrier_cancelled or if it's taskgroup has been 11132 cancelled, don't queue or start new tasks. Set copy_ctors_done 11133 field if needed. Initialize taskgroup field. If copy_ctors_done 11134 and already cancelled, don't discard the task. If taskgroup is 11135 non-NULL, enqueue the task into taskgroup queue. Increment 11136 num_children field in taskgroup. Increment task_queued_count. 11137 (gomp_task_run_pre, gomp_task_run_post_remove_parent, 11138 gomp_task_run_post_remove_taskgroup): New inline functions. 11139 (gomp_task_run_post_handle_depend_hash, 11140 gomp_task_run_post_handle_dependers, 11141 gomp_task_run_post_handle_depend): New functions. 11142 (GOMP_taskwait): Use them. If more than one new tasks 11143 have been queued, wake other threads if needed. 11144 (gomp_barrier_handle_tasks): Likewise. If 11145 gomp_team_barrier_cancelled, don't start any new tasks, just free 11146 all tasks. 11147 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions. 11148 * omp_lib.f90.in 11149 (omp_proc_bind_kind, omp_proc_bind_false, 11150 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close, 11151 omp_proc_bind_spread): New params. 11152 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device, 11153 omp_get_default_device, omp_get_num_devices, omp_get_num_teams, 11154 omp_get_team_num, omp_is_initial_device): New interfaces. 11155 (omp_get_dynamic, omp_get_nested, omp_in_parallel, 11156 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads, 11157 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels, 11158 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num, 11159 omp_get_team_size, omp_get_active_level, omp_in_final): Remove 11160 useless use omp_lib_kinds. 11161 * omp.h.in (omp_proc_bind_t): New typedef. 11162 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device, 11163 omp_get_default_device, omp_get_num_devices, omp_get_num_teams, 11164 omp_get_team_num, omp_is_initial_device): New prototypes. 11165 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it 11166 through to gomp_team_start. 11167 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start, 11168 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start): 11169 Adjust gomp_parallel_loop_start callers. 11170 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic, 11171 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime, 11172 GOMP_loop_end_cancel): New functions. 11173 (GOMP_parallel_end): Add ialias_redirect. 11174 * hashtab.h: New file. 11175 * libgomp.texi (Environment Variables): Minor cleanup, 11176 update section refs to OpenMP 4.0rc2. 11177 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these 11178 environment variables. 11179 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set 11180 team->work_shares_to_free to thr->ts.work_share before calling 11181 free_work_share. 11182 (gomp_work_share_end_cancel): New function. 11183 * config/linux/proc.c: Include errno.h. 11184 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables. 11185 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of 11186 sizeof (cpu_set_t) to determine number of iterations. Fix up check 11187 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if 11188 gomp_cpuset_size is sizeof (cpu_set_t). 11189 (gomp_init_num_threads): Initialize gomp_cpuset_size, 11190 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead 11191 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t) 11192 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't 11193 contain any logical CPUs. 11194 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp 11195 is NULL. Use gomp_cpusetp instead of &cpuset and pass 11196 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to 11197 pthread_getaffinity_np. Check gomp_places_list instead of 11198 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller. 11199 * config/linux/bar.c (gomp_barrier_wait_end, 11200 gomp_barrier_wait_last): Use BAR_* defines. 11201 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED 11202 from state where needed. Set work_share_cancelled to 0 on last 11203 thread. 11204 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end, 11205 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New 11206 functions. 11207 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden. 11208 Add cpusetsize argument. 11209 (gomp_cpuset_size, gomp_cpusetp): Declare. 11210 * config/linux/affinity.c: Include errno.h, stdio.h and string.h. 11211 (affinity_counter): Remove. 11212 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define 11213 if CPU_ALLOC_SIZE isn't defined. 11214 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try 11215 silently create OMP_PLACES=threads, if it is non-NULL afterwards, 11216 bind current thread to the first place. 11217 (gomp_init_thread_affinity): Rewritten. Add place argument, just 11218 pthread_setaffinity_np to gomp_places_list[place]. 11219 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus, 11220 gomp_affinity_remove_cpu, gomp_affinity_copy_place, 11221 gomp_affinity_same_place, gomp_affinity_finalize_place_list, 11222 gomp_affinity_init_level, gomp_affinity_print_place): New functions. 11223 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST, 11224 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define. 11225 (gomp_barrier_t): Add awaited_final field. 11226 (gomp_barrier_init): Initialize awaited_final field. 11227 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel, 11228 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New 11229 prototypes. 11230 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_* 11231 defines. 11232 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start, 11233 gomp_team_barrier_cancelled): New inline functions. 11234 (gomp_barrier_last_thread, 11235 gomp_team_barrier_set_task_pending, 11236 gomp_team_barrier_clear_task_pending, 11237 gomp_team_barrier_set_waiting_for_tasks, 11238 gomp_team_barrier_waiting_for_tasks, 11239 gomp_team_barrier_done): Use BAR_* defines. 11240 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field. 11241 (gomp_barrier_wait_end): Use BAR_* defines. 11242 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state. 11243 Set work_share_cancelled to 0 on last thread, use __atomic_load_n. 11244 Use BAR_* defines. 11245 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel, 11246 gomp_team_barrier_cancel): New functions. 11247 * config/posix/affinity.c (gomp_init_thread_affinity): Add place 11248 argument. 11249 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus, 11250 gomp_affinity_remove_cpu, gomp_affinity_copy_place, 11251 gomp_affinity_same_place, gomp_affinity_finalize_place_list, 11252 gomp_affinity_init_level, gomp_affinity_print_place): New stubs. 11253 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST, 11254 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define. 11255 (gomp_barrier_t): Add cancellable field. 11256 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end, 11257 gomp_team_barrier_cancel): New prototypes. 11258 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. 11259 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final, 11260 gomp_team_barrier_cancelled): New inline functions. 11261 (gomp_barrier_wait_start, gomp_barrier_last_thread, 11262 gomp_team_barrier_set_task_pending, 11263 gomp_team_barrier_clear_task_pending, 11264 gomp_team_barrier_set_waiting_for_tasks, 11265 gomp_team_barrier_waiting_for_tasks, 11266 gomp_team_barrier_done): Use BAR_* defines. 11267 * barrier.c (GOMP_barrier_cancel): New function. 11268 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false, 11269 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close, 11270 omp_proc_bind_spread): New params. 11271 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device, 11272 omp_get_default_device, omp_get_num_devices, omp_get_num_teams, 11273 omp_get_team_num, omp_is_initial_device): New externals. 11274 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point): 11275 New functions. 11276 (gomp_resolve_num_threads): Adjust for thread_limit now being in 11277 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as 11278 infinity. If not nested, just return minimum of max_num_threads 11279 and icv->thread_limit_var and if thr->thread_pool, set threads_busy 11280 to the returned value. Otherwise, don't update atomically 11281 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy. 11282 (GOMP_parallel_end): Adjust for thread_limit now being in 11283 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as 11284 infinity. Adjust threads_busy in the pool rather than 11285 gomp_remaining_threads_count. Remember team->nthreads and call 11286 gomp_team_end before adjusting threads_busy, if not nested 11287 afterwards, just set it to 1 non-atomically. Add ialias. 11288 (GOMP_parallel_start): Adjust gomp_team_start caller. 11289 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid. 11290 * testsuite/libgomp.c/affinity-1.c: New test. 11291 * testsuite/libgomp.c/atomic-15.c: New test. 11292 * testsuite/libgomp.c/atomic-16.c: New test. 11293 * testsuite/libgomp.c/atomic-17.c: New test. 11294 * testsuite/libgomp.c/cancel-for-1.c: New test. 11295 * testsuite/libgomp.c/cancel-for-2.c: New test. 11296 * testsuite/libgomp.c/cancel-parallel-1.c: New test. 11297 * testsuite/libgomp.c/cancel-parallel-2.c: New test. 11298 * testsuite/libgomp.c/cancel-parallel-3.c: New test. 11299 * testsuite/libgomp.c/cancel-sections-1.c: New test. 11300 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test. 11301 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test. 11302 * testsuite/libgomp.c/depend-1.c: New test. 11303 * testsuite/libgomp.c/depend-2.c: New test. 11304 * testsuite/libgomp.c/depend-3.c: New test. 11305 * testsuite/libgomp.c/depend-4.c: New test. 11306 * testsuite/libgomp.c/for-1.c: New test. 11307 * testsuite/libgomp.c/for-1.h: New file. 11308 * testsuite/libgomp.c/for-2.c: New test. 11309 * testsuite/libgomp.c/for-2.h: New file. 11310 * testsuite/libgomp.c/for-3.c: New test. 11311 * testsuite/libgomp.c/pr58392.c: New test. 11312 * testsuite/libgomp.c/simd-1.c: New test. 11313 * testsuite/libgomp.c/simd-2.c: New test. 11314 * testsuite/libgomp.c/simd-3.c: New test. 11315 * testsuite/libgomp.c/simd-4.c: New test. 11316 * testsuite/libgomp.c/simd-5.c: New test. 11317 * testsuite/libgomp.c/simd-6.c: New test. 11318 * testsuite/libgomp.c/target-1.c: New test. 11319 * testsuite/libgomp.c/target-2.c: New test. 11320 * testsuite/libgomp.c/target-3.c: New test. 11321 * testsuite/libgomp.c/target-4.c: New test. 11322 * testsuite/libgomp.c/target-5.c: New test. 11323 * testsuite/libgomp.c/target-6.c: New test. 11324 * testsuite/libgomp.c/target-7.c: New test. 11325 * testsuite/libgomp.c/taskgroup-1.c: New test. 11326 * testsuite/libgomp.c/thread-limit-1.c: New test. 11327 * testsuite/libgomp.c/thread-limit-2.c: New test. 11328 * testsuite/libgomp.c/thread-limit-3.c: New test. 11329 * testsuite/libgomp.c/udr-1.c: New test. 11330 * testsuite/libgomp.c/udr-2.c: New test. 11331 * testsuite/libgomp.c/udr-3.c: New test. 11332 * testsuite/libgomp.c++/affinity-1.C: New test. 11333 * testsuite/libgomp.c++/atomic-10.C: New test. 11334 * testsuite/libgomp.c++/atomic-11.C: New test. 11335 * testsuite/libgomp.c++/atomic-12.C: New test. 11336 * testsuite/libgomp.c++/atomic-13.C: New test. 11337 * testsuite/libgomp.c++/atomic-14.C: New test. 11338 * testsuite/libgomp.c++/atomic-15.C: New test. 11339 * testsuite/libgomp.c++/cancel-for-1.C: New test. 11340 * testsuite/libgomp.c++/cancel-for-2.C: New test. 11341 * testsuite/libgomp.c++/cancel-parallel-1.C: New test. 11342 * testsuite/libgomp.c++/cancel-parallel-2.C: New test. 11343 * testsuite/libgomp.c++/cancel-parallel-3.C: New test. 11344 * testsuite/libgomp.c++/cancel-sections-1.C: New test. 11345 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test. 11346 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test. 11347 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test. 11348 * testsuite/libgomp.c++/cancel-test.h: New file. 11349 * testsuite/libgomp.c++/for-9.C: New test. 11350 * testsuite/libgomp.c++/for-10.C: New test. 11351 * testsuite/libgomp.c++/for-11.C: New test. 11352 * testsuite/libgomp.c++/simd-1.C: New test. 11353 * testsuite/libgomp.c++/simd-2.C: New test. 11354 * testsuite/libgomp.c++/simd-3.C: New test. 11355 * testsuite/libgomp.c++/simd-4.C: New test. 11356 * testsuite/libgomp.c++/simd-5.C: New test. 11357 * testsuite/libgomp.c++/simd-6.C: New test. 11358 * testsuite/libgomp.c++/simd-7.C: New test. 11359 * testsuite/libgomp.c++/simd-8.C: New test. 11360 * testsuite/libgomp.c++/target-1.C: New test. 11361 * testsuite/libgomp.c++/target-2.C: New test. 11362 * testsuite/libgomp.c++/target-2-aux.cc: New file. 11363 * testsuite/libgomp.c++/target-3.C: New test. 11364 * testsuite/libgomp.c++/taskgroup-1.C: New test. 11365 * testsuite/libgomp.c++/udr-1.C: New test. 11366 * testsuite/libgomp.c++/udr-2.C: New test. 11367 * testsuite/libgomp.c++/udr-3.C: New test. 11368 * testsuite/libgomp.c++/udr-4.C: New test. 11369 * testsuite/libgomp.c++/udr-5.C: New test. 11370 * testsuite/libgomp.c++/udr-6.C: New test. 11371 * testsuite/libgomp.c++/udr-7.C: New test. 11372 * testsuite/libgomp.c++/udr-8.C: New test. 11373 * testsuite/libgomp.c++/udr-9.C: New test. 11374 113752013-09-20 Jakub Jelinek <jakub@redhat.com> 11376 11377 PR testsuite/57605 11378 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to 11379 ALWAYS_CFLAGS. 11380 113812013-09-20 Alan Modra <amodra@gmail.com> 11382 11383 * configure: Regenerate. 11384 113852013-09-19 Jakub Jelinek <jakub@redhat.com> 11386 11387 * testsuite/libgomp.c/sections-2.c: New test. 11388 113892013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com> 11390 11391 * testsuite/libgomp.fortran/strassen.f90: 11392 Add dg-skip-if aarch64_tiny. 11393 113942013-06-20 Iain Sandoe <iain@codesourcery.com> 11395 Cesar Philippidis <cesar@codesourcery.com> 11396 11397 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order. 11398 Do not load_gcc_lib gcc-dg.exp and add a comment as to why. 11399 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp. 11400 * testsuite/libgomp.fortran/fortran.exp: Likewise. 11401 * testsuite/libgomp.graphite/graphite.exp: Likewise. 11402 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp. 11403 Use dg-runtest rather than gfortran-dg-runtest. 11404 114052013-06-10 Thomas Schwinge <thomas@codesourcery.com> 11406 11407 * testsuite/libgomp.c/icv-2.c: Extend current handling of 11408 Linux-based x86 systems to cover all GNU systems. 11409 * testsuite/libgomp.c/lock-3.c: Likewise. 11410 * testsuite/libgomp.c/pr48591.c: Likewise. 11411 114122013-06-06 Thomas Schwinge <thomas@codesourcery.com> 11413 11414 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for 11415 GNU/Hurd, as done for Linux-based systems. 11416 11417 * config/posix/ptrlock.h: Fix comment. 11418 114192013-05-27 Tobias Burnus <burnus@net-b.de> 11420 11421 PR fortran/57423 11422 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested, 11423 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock, 11424 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock, 11425 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock, 11426 omp_destroy_nest_lock): Correct arguments to match the one in 11427 the OpenMP spec. 11428 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock 11429 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock, 11430 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested, 11431 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto. 11432 114332013-05-16 Jakub Jelinek <jakub@redhat.com> 11434 11435 * testsuite/libgomp.c/loop-13.c: New test. 11436 * testsuite/libgomp.c/loop-14.c: New test. 11437 * testsuite/libgomp.c/loop-15.c: New test. 11438 * testsuite/libgomp.c++/loop-13.C: New test. 11439 * testsuite/libgomp.c++/loop-14.C: New test. 11440 * testsuite/libgomp.c++/loop-15.C: New test. 11441 114422013-02-06 Jakub Jelinek <jakub@redhat.com> 11443 11444 PR middle-end/56217 11445 * testsuite/libgomp.c++/pr56217.C: New test. 11446 114472013-02-01 Alan Modra <amodra@gmail.com> 11448 11449 * task.c (GOMP_task, GOMP_taskwait): Comment. 11450 114512013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org> 11452 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch> 11453 11454 PR libgomp/55561 11455 * config/linux/wait.h (do_spin): Use atomic load for addr. 11456 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic 11457 for intptr and ptrlock. 11458 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load 11459 for ptrlock. 11460 114612013-01-22 Alan Modra <amodra@gmail.com> 11462 11463 PR libgomp/51376 11464 PR libgomp/56073 11465 * task.c (GOMP_task): Revert 2011-12-09 change. 11466 (GOMP_taskwait): Likewise. Instead use atomic load with acquire 11467 barrier to read task->children.. 11468 (gomp_barrier_handle_tasks): ..and matching atomic store with 11469 release barrier here when setting parent->children to NULL. 11470 114712013-01-16 Jakub Jelinek <jakub@redhat.com> 11472 Tobias Burnus <burnus@net-b.de> 11473 11474 PR driver/55884 11475 * testsuite/libgomp.fortran/fortran.exp: Use 11476 -fintrinsic-modules-path= instead of 11477 -fintrinsic-modules-path. 11478 114792013-01-14 Richard Sandiford <rdsandiford@googlemail.com> 11480 11481 Update copyright years. 11482 114832012-12-19 Tobias Burnus <burnus@net-b.de> 11484 11485 * testsuite/libgomp.fortran/fortran.exp: Set 11486 -fintrinsic-modules-path. 11487 114882012-12-19 Tobias Burnus <burnus@net-b.de> 11489 11490 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved 11491 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90. 11492 114932012-11-21 Jakub Jelinek <jakub@redhat.com> 11494 11495 PR libgomp/55411 11496 * team.c (gomp_free_thread): Decrease gomp_managed_threads 11497 if pool had any threads_used. 11498 114992012-11-07 Jack Howarth <howarth@bromo.med.uc.edu> 11500 11501 * testsuite/libgomp.c++/pr24455.C: Use 11502 -Wl,-undefined,dynamic_lookup on darwin. 11503 115042012-11-07 David Edelsohn <dje.gcc@gmail.com> 11505 11506 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX. 11507 115082012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr> 11509 11510 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops. 11511 115122012-10-23 Ian Bolton <ian.bolton@arm.com> 11513 Jim MacArthur <jim.macarthur@arm.com> 11514 Marcus Shawcroft <marcus.shawcroft@arm.com> 11515 Nigel Stephens <nigel.stephens@arm.com> 11516 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> 11517 Richard Earnshaw <rearnsha@arm.com> 11518 Sofiane Naci <sofiane.naci@arm.com> 11519 Stephen Thomas <stephen.thomas@arm.com> 11520 Tejas Belagod <tejas.belagod@arm.com> 11521 Yufeng Zhang <yufeng.zhang@arm.com> 11522 11523 * configure.tgt: Add AArch64. 11524 115252012-10-04 Jason Merrill <jason@redhat.com> 11526 11527 * testsuite/libgomp.c++/tls-init1.C: New. 11528 115292012-09-14 David Edelsohn <dje.gcc@gmail.com> 11530 11531 * configure: Regenerated. 11532 115332012-08-29 Chung-Lin Tang <cltang@codesourcery.com> 11534 11535 * config/linux/mips/futex.h (sys_futex0): Change to static 11536 function with noinline, nomips16 attributes under MIPS16. Adjust 11537 asm statement to place 'li v0,SYS_futex' immediately before 11538 syscall insn. 11539 115402012-07-04 Sandra Loosemore <sandra@codesourcery.com> 11541 11542 * libgomp.texi (Library Index): Renamed from "Index" to prevent 11543 conflict with index.html on case-insensitive file systems. 11544 115452012-07-03 Uros Bizjak <ubizjak@gmail.com> 11546 11547 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause. 11548 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto. 11549 115502012-07-02 Richard Guenther <rguenther@suse.de> 11551 Michael Matz <matz@suse.de> 11552 Tobias Grosser <tobias@grosser.es> 11553 Sebastian Pop <sebpop@gmail.com> 11554 11555 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust. 11556 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise. 11557 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise. 11558 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise. 11559 115602012-06-28 Andreas Schwab <schwab@linux-m68k.org> 11561 11562 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi. 11563 115642012-06-22 Richard Guenther <rguenther@suse.de> 11565 11566 Merge from graphite branch 11567 2012-01-13 Tobias Grosser <tobias@grosser.es> 11568 11569 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust. 11570 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise. 11571 115722012-06-07 Jakub Jelinek <jakub@redhat.com> 11573 11574 PR middle-end/53580 11575 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier, 11576 use GOMP_barrier () call instead. 11577 * testsuite/libgomp.c/pr26943-3.c: Likewise. 11578 * testsuite/libgomp.c/pr26943-4.c: Likewise. 11579 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier, 11580 call GOMP_barrier instead. 11581 * testsuite/libgomp.fortran/vla5.f90: Likewise. 11582 115832012-06-06 Jakub Jelinek <jakub@redhat.com> 11584 11585 PR libgomp/52993 11586 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last 11587 argument to memset call. 11588 115892012-05-16 H.J. Lu <hongjiu.lu@intel.com> 11590 11591 * configure: Regenerated. 11592 115932012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org> 11594 11595 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret. 11596 115972012-03-31 H.J. Lu <hongjiu.lu@intel.com> 11598 11599 PR bootstrap/52812 11600 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64. 11601 116022012-03-22 Jakub Jelinek <jakub@redhat.com> 11603 11604 PR middle-end/52547 11605 * testsuite/libgomp.c/pr52547.c: New test. 11606 116072012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> 11608 11609 * testsuite/lib/libgomp.exp: load fortran-modules.exp 11610 116112012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 11612 11613 * configure.tgt (mips-sgi-irix6*): Remove. 11614 116152012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 11616 11617 * configure.tgt (alpha*-dec-osf*): Remove. 11618 11619 * config/osf/sem.h: Remove. 11620 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally. 11621 116222012-02-29 Eric Botcazou <ebotcazou@adacore.com> 11623 11624 * config/linux/sparc/futex.h (cpu_relax): Read from CC register. 11625 116262012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 11627 11628 PR libstdc++/52188 11629 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming. 11630 Remove ENABLE_SYMVERS_SOL2. 11631 * configure: Regenerate. 11632 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable. 11633 (PREPROCESS): New variable. 11634 (libgomp.ver): New target. 11635 [LIBGOMP_BUILD_VERSIONED_SHLIB && 11636 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove 11637 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling. 11638 Use libgomp.ver. 11639 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun. 11640 * Makefile.in: Regenerate. 11641 116422012-02-14 Walter Lee <walt@tilera.com> 11643 11644 * configure.tgt: Handle tilegx and tilepro. 11645 * config/linux/tile/futex.h: New file. 11646 116472012-02-08 Richard Guenther <rguenther@suse.de> 11648 11649 PR tree-optimization/46886 11650 * testsuite/libgomp.c/pr46886.c: New testcase. 11651 116522012-01-25 Matthias Klose <doko@ubuntu.com> 11653 11654 * config/linux/arm: Remove empty directory. 11655 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*. 11656 116572011-12-09 Alan Modra <amodra@gmail.com> 11658 11659 PR libgomp/51376 11660 * task.c (GOMP_taskwait): Don't access task->children outside of 11661 task_lock mutex region. 11662 (GOMP_task): Likewise. 11663 116642011-12-06 Jakub Jelinek <jakub@redhat.com> 11665 11666 PR libgomp/51132 11667 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays 11668 to file scope. 11669 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise. 11670 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise. 11671 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise. 11672 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise. 11673 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise. 11674 116752011-12-02 Alan Modra <amodra@gmail.com> 11676 11677 * config/linux/affinity.c: Use atomic rather than sync builtin. 11678 * config/linux/lock.c: Likewise. 11679 * config/linux/ptrlock.h: Likewise. 11680 * config/linux/ptrlock.c: Likewise. 11681 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here.. 11682 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here. 11683 * config/linux/futex.h (atomic_write_barrier): Delete unused function. 11684 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise. 11685 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise. 11686 * config/linux/mips/futex.h (atomic_write_barrier): Likewise. 11687 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise. 11688 * config/linux/s390/futex.h (atomic_write_barrier): Likewise. 11689 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise. 11690 * config/linux/x86/futex.h (atomic_write_barrier): Likewise. 11691 116922011-11-30 Alan Modra <amodra@gmail.com> 11693 11694 PR libgomp/51298 11695 * config/linux/bar.h: Use atomic rather than sync builtins. 11696 * config/linux/bar.c: Likewise. Add missing acquire 11697 synchronisation on generation field. 11698 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not 11699 double unlock. 11700 117012011-11-30 Alan Modra <amodra@gmail.com> 11702 11703 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence. 11704 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence. 11705 * config/linux/mutex.h: Use atomic rather than sync builtins. 11706 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state. 11707 * config/linux/omp-lock.h: Comment fix. 11708 * config/linux/arm/mutex.h: Delete. 11709 * config/linux/powerpc/mutex.h: Delete. 11710 * config/linux/ia64/mutex.h: Delete. 11711 * config/linux/mips/mutex.h: Delete. 11712 117132011-11-30 Alan Modra <amodra@gmail.com> 11714 11715 PR libgomp/51249 11716 * config/linux/sem.h: Rewrite. 11717 * config/linux/sem.c: Rewrite. 11718 117192011-11-28 Richard Henderson <rth@redhat.com> 11720 11721 * libgomp.h (enum memmodel): New. 11722 117232011-11-21 Andreas Tobler <andreast@fgznet.ch> 11724 11725 * configure: Regenerate. 11726 117272011-10-10 Matthias Klose <doko@ubuntu.com> 11728 11729 * config/posix95: Remove empty directory. 11730 117312011-08-26 Jakub Jelinek <jakub@redhat.com> 11732 11733 * testsuite/libgomp.fortran/threadprivate4.f90: New test. 11734 117352011-08-19 Jakub Jelinek <jakub@redhat.com> 11736 11737 PR fortran/49792 11738 * testsuite/libgomp.fortran/pr49792-1.f90: New test. 11739 * testsuite/libgomp.fortran/pr49792-2.f90: New test. 11740 117412011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 11742 11743 * config/posix95/lock.c, posix95/omp-lock.h: Remove. 11744 117452011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 11746 11747 PR libgomp/49965 11748 * testsuite/libgomp.c++/task-8.C: Replaced err by errval. 11749 117502011-08-03 Uros Bizjak <ubizjak@gmail.com> 11751 11752 * config/linux/proc.h: New. 11753 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>. 11754 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static. 11755 (gomp_init_num_threads): Update call to cpuset_popcount. 11756 (get_num_procs): Ditto. 11757 * config/linux/affinity.c (gomp_init_affinity): Call 11758 gomp_cpuset_popcount. 11759 117602011-08-02 Jakub Jelinek <jakub@redhat.com> 11761 11762 PR fortran/42041 11763 PR fortran/46752 11764 * omp.h.in (omp_in_final): New prototype. 11765 * omp_lib.f90.in (omp_in_final): New interface. 11766 (omp_integer_kind, omp_logical_kind): Remove 11767 and replace all its uses in the module with 4. 11768 (openmp_version): Change to 201107. 11769 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic, 11770 omp_sched_guided, omp_sched_auto): Use omp_sched_kind 11771 kind for the parameters. 11772 (omp_in_final): New external. 11773 (openmp_version): Change to 201107. 11774 * task.c (omp_in_final): New function. 11775 (gomp_init_task): Initialize final_task. 11776 (GOMP_task): Remove unused attribute from flags. Handle final 11777 tasks. 11778 (GOMP_taskyield): New function. 11779 (omp_in_final): Return true if if (false) or final (true) task 11780 or descendant of final (true). 11781 * fortran.c (omp_in_final_): New function. 11782 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_. 11783 (GOMP_3.0): Export GOMP_taskyield. 11784 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New 11785 variables. 11786 (parse_unsigned_long_list): New function. 11787 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean 11788 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity 11789 even if parse_affinity returned false. 11790 * config/linux/affinity.c (gomp_init_affinity): Handle 11791 gomp_cpu_affinity_len == 0. 11792 * libgomp_g.h (GOMP_taskyield): New prototype. 11793 * libgomp.h (struct gomp_task): Add final_task field. 11794 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs. 11795 * team.c (gomp_team_start): Override new task's nthreads_var icv 11796 if list form OMP_NUM_THREADS has been used and it has value for 11797 the new nesting level. 11798 11799 * testsuite/libgomp.c/atomic-11.c: New test. 11800 * testsuite/libgomp.c/atomic-12.c: New test. 11801 * testsuite/libgomp.c/atomic-13.c: New test. 11802 * testsuite/libgomp.c/atomic-14.c: New test. 11803 * testsuite/libgomp.c/reduction-6.c: New test. 11804 * testsuite/libgomp.c/task-5.c: New test. 11805 * testsuite/libgomp.c++/atomic-2.C: New test. 11806 * testsuite/libgomp.c++/atomic-3.C: New test. 11807 * testsuite/libgomp.c++/atomic-4.C: New test. 11808 * testsuite/libgomp.c++/atomic-5.C: New test. 11809 * testsuite/libgomp.c++/atomic-6.C: New test. 11810 * testsuite/libgomp.c++/atomic-7.C: New test. 11811 * testsuite/libgomp.c++/atomic-8.C: New test. 11812 * testsuite/libgomp.c++/atomic-9.C: New test. 11813 * testsuite/libgomp.c++/task-8.C: New test. 11814 * testsuite/libgomp.c++/reduction-4.C: New test. 11815 * testsuite/libgomp.fortran/allocatable7.f90: New test. 11816 * testsuite/libgomp.fortran/allocatable8.f90: New test. 11817 * testsuite/libgomp.fortran/crayptr3.f90: New test. 11818 * testsuite/libgomp.fortran/omp_atomic3.f90: New test. 11819 * testsuite/libgomp.fortran/omp_atomic4.f90: New test. 11820 * testsuite/libgomp.fortran/pointer1.f90: New test. 11821 * testsuite/libgomp.fortran/pointer2.f90: New test. 11822 * testsuite/libgomp.fortran/task4.f90: New test. 11823 118242011-08-02 Tobias Burnus <burnus@net-b.de> 11825 11826 * libgomp.texi: Update OpenMP spec references to 3.1. 11827 (omp_in_final,OMP_PROC_BIND): New sections. 11828 (OMP_NUM_THREADS): Document that the value can be now a list. 11829 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref. 11830 118312011-08-02 H.J. Lu <hongjiu.lu@intel.com> 11832 11833 * config/linux/x86/futex.h: Check __x86_64__ instead of 11834 __LP64__. 11835 118362011-07-29 Jakub Jelinek <jakub@redhat.com> 11837 11838 PR middle-end/49897 11839 PR middle-end/49898 11840 * testsuite/libgomp.c/pr49897-1.c: New test. 11841 * testsuite/libgomp.c/pr49897-2.c: New test. 11842 * testsuite/libgomp.c/pr49898-1.c: New test. 11843 * testsuite/libgomp.c/pr49898-2.c: New test. 11844 118452011-07-28 H.J. Lu <hongjiu.lu@intel.com> 11846 11847 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486 11848 for ia32 instead of ilp32. 11849 11850 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32. 11851 * testsuite/libgomp.c/atomic-6.c: Likewise. 11852 118532011-07-23 Sebastian Pop <sebastian.pop@amd.com> 11854 11855 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail. 11856 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern. 11857 118582011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 11859 11860 PR libgomp/45351 11861 * config/osf/sem.h: New file. 11862 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path. 11863 118642011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 11865 11866 PR target/49541 11867 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to 11868 ldflags. 11869 118702011-07-15 Jakub Jelinek <jakub@redhat.com> 11871 11872 * config/linux/wait.h (do_spin): New inline, largely copied 11873 from do_wait, just don't do futex_wait here, instead return true if 11874 it should be done. 11875 (do_wait): Implement using do_spin. 11876 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument 11877 to prototype. 11878 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of 11879 __sync_bool_compare_and_swap, pass the oldval to 11880 gomp_mutex_lock_slow. 11881 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument. 11882 If all mutex contenders are just spinning and not sleeping, don't 11883 change state to 2 unnecessarily. Optimize the loop when state has 11884 already become 2 to use just one atomic operation per loop instead 11885 of two. 11886 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument 11887 to prototype. 11888 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of 11889 __sync_bool_compare_and_swap, pass the oldval to 11890 gomp_mutex_lock_slow. 11891 118922011-06-22 Jakub Jelinek <jakub@redhat.com> 11893 11894 PR libgomp/49490 11895 * iter.c (gomp_iter_static_next): For chunk size 0 11896 only use n ceil/ nthreads size for the first 11897 n % nthreads threads in the team instead of 11898 all threads except for the last few ones which 11899 get less work or none at all. 11900 * iter_ull.c (gomp_iter_ull_static_next): Likewise. 11901 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have 11902 chunk argument, set run_sched_modifier to 0 for static 11903 resp. 1 for other kinds. If chunk argument is 0 11904 and not static, set value to 1. 11905 119062011-05-19 Jakub Jelinek <jakub@redhat.com> 11907 11908 PR c++/49043 11909 * testsuite/libgomp.c++/pr49043.C: New test. 11910 11911 PR c++/48869 11912 * testsuite/libgomp.c++/pr48869.C: New test. 11913 119142011-05-06 Jakub Jelinek <jakub@redhat.com> 11915 11916 PR fortran/48894 11917 * fortran.c: Include limits.h. 11918 (TO_INT): Define. 11919 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of 11920 *set. 11921 (omp_set_num_threads_8_, omp_set_schedule_8_, 11922 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_, 11923 omp_get_team_size_8_): Use TO_INT macro. 11924 * testsuite/libgomp.fortran/pr48894.f90: New test. 11925 119262011-04-13 Jakub Jelinek <jakub@redhat.com> 11927 11928 PR middle-end/48591 11929 * testsuite/libgomp.c/pr48591.c: New test. 11930 119312011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 11932 11933 PR bootstrap/48135 11934 * acinclude.m4 (enable_symvers): Handle --disable-symvers. 11935 * configure: Regenerate. 11936 119372011-02-27 Jakub Jelinek <jakub@redhat.com> 11938 11939 PR fortran/47886 11940 * testsuite/libgomp.fortran/task3.f90: New test. 11941 119422011-02-24 Tobias Burnus <burnus@net-b.de> 11943 11944 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE. 11945 119462011-02-23 Jakub Jelinek <jakub@redhat.com> 11947 11948 PR libgomp/47854 11949 * libgomp.texi (omp_get_wtime): Don't say time in the past 11950 must be Unix Epoch. 11951 119522011-02-18 Jakub Jelinek <jakub@redhat.com> 11953 11954 PR libgomp/47804 11955 * testsuite/libgomp.fortran/fortran.exp: Check for both 11956 libquadmath.a and libquadmath.${shlib_ext}. If neither exists, 11957 but $blddir != "", still append ${blddir}/${lang_library_path} 11958 to ld_library_path. 11959 119602011-02-16 Tobias Burnus <burnus@net-b.de> 11961 11962 PR libgomp/47758 11963 * testsuite/libgomp.fortran/fortran.exp: Check for the existence 11964 of libquadmath.a before adding its libpath to ldflags. 11965 119662011-02-14 Jakub Jelinek <jakub@redhat.com> 11967 11968 PR libgomp/47731 11969 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument 11970 to FUTEX_WAIT futex syscall. 11971 * config/linux/wait.h: Include <futex.h> instead of "futex.h". 11972 119732011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 11974 11975 * configure: Regenerate. 11976 119772011-01-20 Benjamin Kosnik <bkoz@redhat.com> 11978 11979 PR libstdc++/36104 11980 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants. 11981 119822011-01-16 Gerald Pfeifer 11983 11984 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS. 11985 119862010-12-14 Jakub Jelinek <jakub@redhat.com> 11987 11988 PR fortran/46874 11989 * libgomp.fortran/allocatable6.f90: New test. 11990 119912010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 11992 11993 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no. 11994 * configure: Regenerate. 11995 119962010-12-06 Dave Korn <dave.korn.cygwin@gmail.com> 11997 11998 PR target/40125 11999 PR lto/46695 12000 * configure.ac: Invoke ACX_LT_HOST_FLAGS. 12001 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags. 12002 * aclocal.m4: Regenerate. 12003 * configure: Regenerate. 12004 * Makefile.in: Regenerate. 12005 * testsuite/Makefile.in: Regenerate. 12006 120072010-12-02 Jakub Jelinek <jakub@redhat.com> 12008 12009 PR fortran/46753 12010 * libgomp.fortran/pr46753.f90: New test. 12011 12012 PR libgomp/43706 12013 * env.c (initialize_env): Default to spin count 300000 12014 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT 12015 is specified. 12016 12017 PR libgomp/45240 12018 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock 12019 at the end if sync builtins aren't supported. 12020 120212010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 12022 12023 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS. 12024 120252010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 12026 12027 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0. 12028 120292010-11-24 Iain Sandoe <iains@gcc.gnu.org> 12030 12031 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath. 12032 120332010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 12034 Tobias Burnus <burnus@net-b.de> 12035 12036 PR fortran/32049 12037 * configure.ac: 12038 * configure: Regenerate. 12039 120402010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com> 12041 12042 * config/linux/futex.h: New. 12043 * config/linux/arm/mutex.h: New. 12044 * configure.tgt (arm*-*-linux*): Add config path. 12045 120462010-09-30 Sebastian Pop <sebastian.pop@amd.com> 12047 12048 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust. 12049 120502010-09-23 Tobias Burnus <burnus@net-b.de> 12051 12052 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic): 12053 Change Fortran datatype to LOGICAL. 12054 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock, 12055 omp_unset_nested_lock): Use intent(inout) instead of intent(out). 12056 120572010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 12058 12059 * configure: Regenerate. 12060 120612010-07-26 Jakub Jelinek <jakub@redhat.com> 12062 12063 * libgomp.texi: Add function keyword to a couple of Fortran 12064 interfaces, use integer instead of int for Fortran. 12065 120662010-07-26 Aldy Hernandez <aldyh@redhat.com> 12067 12068 * libgomp.texi: Fix spelling and pasto problems throughout. 12069 Adjust prototypes to match code. 12070 120712010-07-24 Tobias Burnus <burnus@net-b.de> 12072 12073 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to 12074 silence -fwhole-file warning. 12075 120762010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 12077 12078 * configure.tgt (*-*-solaris2.[56]*): Removed. 12079 120802010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 12081 12082 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style. 12083 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU, 12084 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals. 12085 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless 12086 targetting solaris2*. 12087 * configure: Regenerate. 12088 * config.h.in: Regenerate. 12089 12090 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect 12091 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU. 12092 Add libgomp_version_dep. 12093 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol 12094 versioning. 12095 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep. 12096 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep). 12097 * Makefile.in: Regenerate. 12098 12099 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless 12100 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT. 12101 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0 12102 to common block, protected by 12103 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT. 12104 121052010-06-10 Gerald Pfeifer <gerald@pfeifer.com> 12106 12107 * libgomp.texi: Move to GFDL version 1.3. Update copyright years. 12108 121092010-06-09 Iain Sandoe <iains@gcc.gnu.org> 12110 12111 PR bootstrap/43170 12112 * configure: Regenerate. 12113 121142010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 12115 12116 PR other/43620 12117 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist. 12118 * configure: Regenerate. 12119 * Makefile.in: Regenerate. 12120 * testsuite/Makefile.in: Regenerate. 12121 121222010-04-26 Jakub Jelinek <jakub@redhat.com> 12123 12124 PR c/43893 12125 * testsuite/libgomp.c/pr43893.c: New test. 12126 * testsuite/libgomp.c++/pr43893.C: New test. 12127 121282010-04-21 Jakub Jelinek <jakub@redhat.com> 12129 12130 PR middle-end/43570 12131 * testsuite/libgomp.fortran/vla8.f90: New test. 12132 121332010-04-20 Jakub Jelinek <jakub@redhat.com> 12134 12135 PR libgomp/43706 12136 * config/linux/affinity.c (gomp_init_affinity): Decrease 12137 gomp_available_cpus if affinity mask confines the process to fewer 12138 CPUs. 12139 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is 12140 non-NULL, just return gomp_available_cpus. 12141 12142 PR libgomp/43569 12143 * sections.c (gomp_sections_init): Initialize ws->mode. 12144 121452010-04-14 Uros Bizjak <ubizjak@gmail.com> 12146 12147 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but 12148 not unused bar variable. 12149 * configure: Regenerate. 12150 121512010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 12152 12153 * Makefile.in: Regenerate. 12154 * aclocal.m4: Regenerate. 12155 * testsuite/Makefile.in: Regenerate. 12156 121572010-03-22 Jakub Jelinek <jakub@redhat.com> 12158 12159 PR libgomp/42942 12160 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument. 12161 (initialize_env): Adjust callers. 12162 (omp_set_max_active_levels): Set gomp_max_active_levels_var even 12163 when the argument is 0. 12164 12165 * testsuite/libgomp.c/pr42942.c: New test. 12166 121672010-03-08 Tobias Grosser <grosser@fim.uni-passau.de> 12168 12169 PR middle-end/42644 12170 PR middle-end/42130 12171 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust. 12172 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust. 12173 121742010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 12175 12176 * testsuite/libgomp.c++/task-1.C: Renamed err to e. 12177 * testsuite/libgomp.c++/task-6.C: Likewise. 12178 121792010-01-28 Steve Ellcey <sje@cup.hp.com> 12180 12181 * configure.tgt (*-*-hpux*): Add -frandom-seed flag. 12182 121832010-01-26 Paolo Bonzini <bonzini@gnu.org> 12184 12185 * configure.ac: Test for executability of _the first word_ of GFORTRAN. 12186 * configure: Regenerate. 12187 121882010-01-26 Jakub Jelinek <jakub@redhat.com> 12189 12190 PR fortran/42866 12191 * testsuite/libgomp.fortran/allocatable5.f90: New test. 12192 121932010-01-20 Paolo Bonzini <bonzini@gnu.org> 12194 12195 * configure.ac: Test for executability of GFORTRAN. 12196 * configure: Regenerate. 12197 121982010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 12199 12200 * configure: Regenerate. 12201 122022010-01-04 H.J. Lu <hongjiu.lu@intel.com> 12203 12204 PR libgomp/42602 12205 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic. 12206 122072010-01-03 Richard Guenther <rguenther@suse.de> 12208 12209 * testsuite/libgomp.fortran/recursion1.f90: New testcase. 12210 122112009-12-23 Sebastian Pop <sebpop@gmail.com> 12212 12213 * testsuite/libgomp.graphite/pr4118.c: New. 12214 122152009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk> 12216 12217 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage 12218 for darwin, protect the test with require-effective-target tls_runtime. 12219 * testsuite/libgomp.fortran/pr32550.f90: Ditto. 12220 122212009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk> 12222 12223 PR target/41605 12224 * testsuite/lib/libgomp.exp: Provide -B options to allow for 12225 link spec %s substitutions for static libraries. 12226 122272009-12-18 Jack Howarth <howarth@bromo.med.uc.edu> 12228 12229 PR testsuite/42135 12230 * libgomp.graphite/force-parallel-2.c: Reduce array size. 12231 122322009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 12233 12234 * Makefile.in: Regenerate. 12235 * configure: Regenerate. 12236 * testsuite/Makefile.in: Regenerate. 12237 122382009-11-30 Dave Korn <dave.korn.cygwin@gmail.com> 12239 12240 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent 12241 settings for LC_ALL and LANG. 12242 122432009-11-25 Jakub Jelinek <jakub@redhat.com> 12244 12245 PR fortran/42162 12246 * testsuite/libgomp.fortran/pr42162.f90: New test. 12247 122482009-11-13 Jakub Jelinek <jakub@redhat.com> 12249 12250 PR middle-end/42029 12251 * testsuite/libgomp.c/pr42029.c: New test. 12252 122532009-10-26 Jakub Jelinek <jakub@redhat.com> 12254 12255 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many 12256 *s. Accept ld version without text in ()s. 12257 * configure: Regenerated. 12258 122592009-10-22 Razya Ladelsky <razya@il.ibm.com> 12260 12261 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan. 12262 122632009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 12264 12265 PR libgomp/41418 12266 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no" 12267 or a hyphen (happens with fortran language disabled). 12268 * configure: Regenerate. 12269 122702009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 12271 12272 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head', 12273 use sed script portable to Solaris /bin/sed for extracting ld 12274 version. 12275 * configure: Regenerate. 12276 122772009-09-17 Alexander Monakov <amonakov@ispras.ru> 12278 12279 * testsuite/libgomp.graphite/bounds.c: New test. 12280 122812009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 12282 12283 * Makefile.am (libgomp_la_LINK): New. 12284 * Makefile.in: Regenerate. 12285 122862009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 12287 12288 * configure.ac (AC_PREREQ): Bump to 2.64. 12289 122902009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 12291 12292 * Makefile.am (install-html, install-pdf): Remove. 12293 * Makefile.in: Regenerate. 12294 12295 * Makefile.in: Regenerate. 12296 * aclocal.m4: Regenerate. 12297 * config.h.in: Regenerate. 12298 * configure: Regenerate. 12299 * testsuite/Makefile.in: Regenerate. 12300 123012009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 12302 12303 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS). 12304 * Makefile.in: Regenerate. 12305 123062009-08-20 Dave Korn <dave.korn.cygwin@gmail.com> 12307 12308 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag. 12309 * Makefile.in: Regenerate. 12310 123112009-08-19 Tobias Burnus <burnus@net-b.de> 12312 12313 PR fortran/41102 12314 omp_lib.h.in: Fix -std=f95 errors. 12315 123162009-08-14 David Edelsohn <edelsohn@gnu.org> 12317 12318 * testsuite/libgomp.graphite: Move from gcc.dg/graphite. 12319 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete. 12320 * testsuite/libgomp.graphite/graphite.exp: New. 12321 123222009-08-05 Andreas Tobler <a.tobler@schweiz.org> 12323 12324 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared 12325 only build. 12326 123272009-08-04 David Daney <ddaney@caviumnetworks.com> 12328 12329 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about 12330 needed memory barrier semantics. 12331 * config/linux/mips/mutex.h: New file. 12332 123332009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 12334 12335 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force. 12336 123372009-07-16 Joseph Myers <joseph@codesourcery.com> 12338 12339 * configure: Regenerate. 12340 123412009-07-11 Richard Sandiford <rdsandiford@googlemail.com> 12342 12343 PR testsuite/40699 12344 PR testsuite/40707 12345 PR testsuite/40709 12346 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits. 12347 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp, 12348 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits. 12349 123502009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com> 12351 12352 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS 12353 options when choosing a multilib. 12354 123552009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com> 12356 12357 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to 12358 ld_library_path. Use add_path. Add just find_libgcc_s to 12359 ld_library_path, not every libgcc multilib directory. 12360 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call 12361 gcc-set-multilib-library-path; rely on $always_ld_library_path instead. 12362 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise. 12363 Use add_path. 12364 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise. 12365 123662009-06-09 Nathan Froyd <froydnj@codesourcery.com> 12367 12368 * Makefile.am (LTLDFLAGS): Define. 12369 (LINK): Define. 12370 * Makefile.in: Regenerate. 12371 123722009-05-27 Janne Blomqvist <jb@gcc.gnu.org> 12373 12374 PR fortran/39718 12375 * testsuite/libgomp.fortran/fortran.exp: Don't link with 12376 libgfortranbegin, check existence of libgfortran.a instead of 12377 libgfortranbegin.a. 12378 123792009-05-20 Jakub Jelinek <jakub@redhat.com> 12380 12381 PR libgomp/40174 12382 * team.c (gomp_thread_start): Destroy thr->release semaphore. 12383 (gomp_free_pool_helper): Likewise. 12384 123852009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com> 12386 Jakub Jelinek <jakub@redhat.com> 12387 12388 PR fortran/35423 12389 * testsuite/libgomp.fortran/workshare2.f90: New test. 12390 123912009-04-09 Nick Clifton <nickc@redhat.com> 12392 12393 * iter.c: Change copyright header to refer to version 3 of the 12394 GNU General Public License with version 3.1 of the GCC Runtime 12395 Library Exception and to point readers at the COPYING3 and 12396 COPYING3.RUNTIME files and the FSF's license web page. 12397 * alloc.c: Likewise. 12398 * barrier.c: Likewise. 12399 * config/bsd/proc.c: Likewise. 12400 * config/linux/affinity.c: Likewise. 12401 * config/linux/alpha/futex.h: Likewise. 12402 * config/linux/bar.c: Likewise. 12403 * config/linux/bar.h: Likewise. 12404 * config/linux/ia64/futex.h: Likewise. 12405 * config/linux/ia64/mutex.h: Likewise. 12406 * config/linux/lock.c: Likewise. 12407 * config/linux/mips/futex.h: Likewise. 12408 * config/linux/mutex.c: Likewise. 12409 * config/linux/mutex.h: Likewise. 12410 * config/linux/powerpc/futex.h: Likewise. 12411 * config/linux/proc.c: Likewise. 12412 * config/linux/ptrlock.c: Likewise. 12413 * config/linux/ptrlock.h: Likewise. 12414 * config/linux/s390/futex.h: Likewise. 12415 * config/linux/sem.c: Likewise. 12416 * config/linux/sem.h: Likewise. 12417 * config/linux/sparc/futex.h: Likewise. 12418 * config/linux/wait.h: Likewise. 12419 * config/linux/x86/futex.h: Likewise. 12420 * config/mingw32/proc.c: Likewise. 12421 * config/mingw32/time.c: Likewise. 12422 * config/posix/affinity.c: Likewise. 12423 * config/posix/bar.c: Likewise. 12424 * config/posix/bar.h: Likewise. 12425 * config/posix/lock.c: Likewise. 12426 * config/posix/mutex.h: Likewise. 12427 * config/posix/proc.c: Likewise. 12428 * config/posix/ptrlock.h: Likewise. 12429 * config/posix/sem.c: Likewise. 12430 * config/posix/sem.h: Likewise. 12431 * config/posix/time.c: Likewise. 12432 * config/posix95/lock.c: Likewise. 12433 * critical.c: Likewise. 12434 * env.c: Likewise. 12435 * error.c: Likewise. 12436 * fortran.c: Likewise. 12437 * iter_ull.c: Likewise. 12438 * libgomp.h: Likewise. 12439 * libgomp_f.h.in: Likewise. 12440 * libgomp_g.h: Likewise. 12441 * loop.c: Likewise. 12442 * loop_ull.c: Likewise. 12443 * omp.h.in: Likewise. 12444 * omp_lib.f90.in: Likewise. 12445 * omp_lib.h.in: Likewise. 12446 * ordered.c: Likewise. 12447 * parallel.c: Likewise. 12448 * sections.c: Likewise. 12449 * single.c: Likewise. 12450 * task.c: Likewise. 12451 * team.c: Likewise. 12452 * work.c: Likewise. 12453 124542009-04-09 Jakub Jelinek <jakub@redhat.com> 12455 12456 * testsuite/config/default.exp: Change copyright header to refer to 12457 version 3 of the GNU General Public License and to point readers 12458 at the COPYING3 file and the FSF's license web page. 12459 124602009-04-08 Jakub Jelinek <jakub@redhat.com> 12461 12462 PR middle-end/39573 12463 * libgomp.c++/pr39573.C: New test. 12464 124652009-04-01 Jakub Jelinek <jakub@redhat.com> 12466 12467 PR other/39591 12468 * testsuite/libgomp.c/pr39591-1.c: New test. 12469 * testsuite/libgomp.c/pr39591-2.c: New test. 12470 * testsuite/libgomp.c/pr39591-3.c: New test. 12471 124722009-03-25 Uros Bizjak <ubizjak@gmail.com> 12473 12474 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage. 12475 * testsuite/libgomp.c/atomic-6.c: Ditto. 12476 124772009-03-23 Jakub Jelinek <jakub@redhat.com> 12478 12479 PR c/39495 12480 * testsuite/libgomp.c/loop-12.c: New test. 12481 * testsuite/libgomp.c/loop-11.c: New test. 12482 * testsuite/libgomp.c++/loop-11.C: New test. 12483 * testsuite/libgomp.c++/loop-12.C: New test. 12484 * testsuite/libgomp.c++/for-8.C: New test. 12485 124862009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 12487 12488 * configure: Regenerate. 12489 124902009-02-11 Jakub Jelinek <jakub@redhat.com> 12491 12492 PR middle-end/39154 12493 * testsuite/libgomp.c/pr39154.c: New test. 12494 124952009-01-30 Ian Lance Taylor <iant@google.com> 12496 12497 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set 12498 libgomp_ld_is_gold. Get gold version number. 12499 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning. 12500 * configure: Rebuild. 12501 125022009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk> 12503 12504 * testsuite/lib/libgomp.exp: Add -B option for targets that 12505 use libgfortran.a%s in their specs. 12506 125072009-01-07 Jakub Jelinek <jakub@redhat.com> 12508 12509 PR libgomp/38086 12510 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check. 12511 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if 12512 HAVE_AS_SYMVER_DIRECTIVE is not defined. 12513 * configure: Regenerated. 12514 * config.h.in: Likewise. 12515 125162008-12-28 Jakub Jelinek <jakub@redhat.com> 12517 12518 PR c++/38650 12519 * testsuite/libgomp.c/pr38650.c: New test. 12520 * testsuite/libgomp.c++/pr38650.C: New test. 12521 125222008-12-27 Jakub Jelinek <jakub@redhat.com> 12523 12524 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause. 12525 125262008-12-26 Uros Bizjak <ubizjak@gmail.com> 12527 12528 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets. 12529 125302008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 12531 12532 * configure: Regenerate. 12533 125342008-12-08 Jakub Jelinek <jakub@redhat.com> 12535 12536 PR middle-end/36802 12537 * testsuite/libgomp.c/pr36802-1.c: New test. 12538 * testsuite/libgomp.c/pr36802-2.c: New test. 12539 * testsuite/libgomp.c/pr36802-3.c: New test. 12540 125412008-12-01 Janis Johnson <janis187@us.ibm.com> 12542 12543 PR libgomp/38270 12544 * config/linux/powerpc/mutex.h: New. 12545 125462008-12-01 Jakub Jelinek <jakub@redhat.com> 12547 12548 PR c++/38257 12549 * testsuite/libgomp.c++/for-7.C: New test. 12550 12551 PR c++/38348 12552 * testsuite/libgomp.c++/for-6.C: New test. 12553 125542008-11-26 Janis Johnson <janis187@us.ibm.com> 12555 12556 PR testsuite/28870 12557 * testsuite/lib/libgomp.exp: Include new timeout library files. 12558 (libgomp_target_compile): Set timeout value from new proc. 12559 125602008-11-13 Steve Ellcey <sje@cup.hp.com> 12561 12562 PR libgomp/37938 12563 * config/linux/ia64/mutex.h: New. 12564 125652008-11-04 Tobias Burnus <burnus@net-b.de> 12566 12567 PR libgomp/37935 12568 * libgomp.texi (Runtime library routines, environment variables): 12569 Update for OpenMP version 3.0. 12570 125712008-09-26 Peter O'Gorman <pogma@thewrittenword.com> 12572 Steve Ellcey <sje@cup.hp.com> 12573 12574 * configure: Regenerate for new libtool. 12575 * Makefile.in: Ditto. 12576 * testsuite/Makefile.in: Ditto. 12577 125782008-09-19 Jakub Jelinek <jakub@redhat.com> 12579 Andreas Tobler <a.tobler@schweiz.org> 12580 12581 * config/bsd/proc.c: New file. 12582 * configure.tgt (*-*-darwin*): Use config_path "bsd posix". 12583 * configure.ac: Check for header <sys/sysctl.h> 12584 * configure: Regenerate. 12585 * config.h.in: Likewise. 12586 125872008-09-05 Janis Johnson <janis187@us.ibm.com> 12588 12589 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists. 12590 125912008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com> 12592 12593 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined. 12594 * Makefile.in: Regenerated. 12595 * testsuite/Makefile.in: Regenerated. 12596 125972008-08-21 Nathan Froyd <froydnj@codesourcery.com> 12598 12599 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that 12600 depend on blddir if blddir exists. 12601 (libgomp_target_compile): Likewise. 12602 * testsuite/libgomp.c++/c++.exp: Likewise. 12603 * testsuite/libgomp.fortran/fortran.exp: Likewise. 12604 126052008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 12606 12607 * libgomp.texi: Update to GFDL 1.2. Update copyright years. 12608 Do not list GPL as Invariant Section. 12609 126102008-07-28 Ilie Garbacea <ilie@mips.com> 12611 Chao-ying Fu <fu@mips.com> 12612 12613 * configure.tgt: Enable futex for MIPS. 12614 * config/linux/mips/futex.h: New file. 12615 126162008-07-16 Jakub Jelinek <jakub@redhat.com> 12617 12618 * team.c (gomp_team_end): Free team immediately if it has 12619 just one thread. 12620 126212008-07-08 David Edelsohn <edelsohn@gnu.org> 12622 12623 * testsuite/libgomp.c++/c++.exp: Append multilib library path. 12624 * testsuite/libgomp.fortran/fortran.exp: Same. 12625 * testsuite/libgomp.c/c.exp: Same. 12626 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib 12627 directory to library path first. 12628 126292008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com> 12630 12631 * env.c (parse_stacksize): Add cast to avoid warning. 12632 (parse_spincount): Likewise. 12633 126342008-06-27 Jakub Jelinek <jakub@redhat.com> 12635 12636 * testsuite/libgomp.c/loop-10.c: New test. 12637 * libgomp.c/loop-3.c (main): Add lastprivate clause. 12638 * libgomp.c++/loop-6.C (main): Likewise. 12639 12640 PR debug/36617 12641 * testsuite/libgomp.c/debug-1.c: New test. 12642 126432008-06-19 Jakub Jelinek <jakub@redhat.com> 12644 12645 * testsuite/libgomp.c/nqueens-1.c: New test. 12646 12647 PR c++/36523 12648 * testsuite/libgomp.c++/task-7.C: New function. 12649 126502008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 12651 12652 * configure: Regenerate. 12653 126542008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 12655 12656 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock 12657 mutex when HAVE_SYNC_BUILTINS isn't defined. 12658 126592008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 12660 12661 * libgomp.texi (omp_test_lock): Fix typo. 12662 126632008-06-12 Tobias Burnus <burnus@net-b.de> 12664 12665 * omp_lib.f90.in: Add "implicit none". 12666 126672008-06-12 Jakub Jelinek <jakub@redhat.com> 12668 12669 PR middle-end/36506 12670 * testsuite/libgomp.c/reduction-5.c: New test. 12671 126722008-06-11 Jakub Jelinek <jakub@redhat.com> 12673 12674 * libgomp.h (struct gomp_task): Add in_tied_task field. 12675 * task.c (gomp_init_task): Initialize it. 12676 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending 12677 unconditionally. Don't call gomp_team_barrier_wake if 12678 current task is implicit or if(0) from implicit and number of 12679 running tasks is equal to nthreads - 1. 12680 12681 PR libgomp/36471 12682 * omp_lib.f90.in (omp_get_ancestor_thread_num_8, 12683 omp_get_team_size_8): Fix pastos. 12684 12685 PR libgomp/36469 12686 * configure.ac: Add AC_CHECK_FUNCS (strtoull). 12687 * configure: Regenerated. 12688 * config.h.in: Regenerated. 12689 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not 12690 defined. 12691 126922008-06-06 Andreas Tobler <a.tobler@schweiz.org> 12693 12694 PR bootstrap/36452 12695 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API. 12696 (GOMP_loop_ull_dynamic_start): Likewise. 12697 (GOMP_loop_ull_guided_start): Likewise. 12698 (GOMP_loop_ull_ordered_static_start): Likewise. 12699 (GOMP_loop_ull_ordered_dynamic_start): Likewise. 12700 (GOMP_loop_ull_ordered_guided_start): Likewise. 12701 127022008-06-06 Jakub Jelinek <jakub@redhat.com> 12703 Richard Henderson <rth@redhat.com> 12704 Ulrich Drepper <drepper@redhat.com> 12705 Jakob Blomer <jakob.blomer@ira.uka.de> 12706 12707 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE. 12708 Substitute also OMP_*LOCK_25*. 12709 * configure: Regenerated. 12710 * config.h.in: Regenerated. 12711 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c, 12712 ptrlock.c and task.c. 12713 * Makefile.in: Regenerated. 12714 * testsuite/Makefile.in: Regenerated. 12715 * task.c: New file. 12716 * loop_ull.c: New file. 12717 * iter_ull.c: New file. 12718 * libgomp.h: Include ptrlock.h. 12719 (enum gomp_task_kind): New type. 12720 (struct gomp_team): Add task_lock, task_queue, task_count, 12721 task_running_count, single_count fields. Add 12722 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS. 12723 Remove work_share_lock, generation_mask, 12724 oldest_live_gen, num_live_gen and init_work_shares fields, add 12725 work work_share_list_alloc, work_share_list_free and work_share_chunk 12726 fields. Change work_shares from pointer to pointers into an array. 12727 Change ordered_release field into gomp_sem_t ** from flexible array 12728 member. Add implicit_task and initial_work_shares fields. 12729 Move close to the end of the struct. 12730 (struct gomp_team_state): Add single_count, last_work_share, 12731 active_level and level fields, remove work_share_generation. 12732 (gomp_barrier_handle_tasks): New prototype. 12733 (gomp_finish_task): New inline function. 12734 (struct gomp_work_share): Move chunk_size, end, incr into 12735 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and 12736 next_ll fields. Reshuffle fields. Add next_alloc, 12737 next_ws, next_free and inline_ordered_team_ids fields, change 12738 ordered_team_ids into pointer from flexible array member. 12739 Add mode field. Put lock and next into a different cache line 12740 from most of the write-once fields. 12741 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked, 12742 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next, 12743 gomp_iter_ull_guided_next): New prototypes. 12744 (gomp_new_icv): New prototype. 12745 (struct gomp_thread): Add thread_pool and task fields. 12746 (struct gomp_thread_pool): New type. 12747 (gomp_new_team): New prototype. 12748 (gomp_team_start): Change type of last argument. 12749 (gomp_new_work_share): Removed. 12750 (gomp_init_work_share, gomp_fini_work_share): New prototypes. 12751 (gomp_work_share_init_done): New static inline. 12752 (gomp_throttled_spin_count_var, gomp_available_cpus, 12753 gomp_managed_threads): New extern decls. 12754 (gomp_init_task): New prototype. 12755 (gomp_spin_count_var): New extern var decl. 12756 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility 12757 or no alias support, or if not PIC. 12758 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30, 12759 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30, 12760 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30, 12761 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25, 12762 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25, 12763 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25, 12764 gomp_set_nest_lock_25, gomp_unset_nest_lock_25, 12765 gomp_test_nest_lock_25): New prototypes. 12766 (omp_lock_symver, strong_alias): Define. 12767 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New 12768 decls. 12769 (gomp_end_task): New. 12770 (struct gomp_task_icv, gomp_global_icv): New. 12771 (gomp_thread_limit_var, gomp_max_active_levels_var): New. 12772 (struct gomp_task): New. 12773 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var, 12774 gomp_run_sched_var, gomp_run_sched_chunk): Remove. 12775 (gomp_icv): New. 12776 (gomp_schedule_type): Reorder enum to match 12777 omp_sched_t. 12778 * team.c (struct gomp_thread_start_data): Add thread_pool and task 12779 fields. 12780 (gomp_thread_start): Add gomp_team_barrier_wait call. 12781 For non-nested case remove clearing of docked thread thr fields. 12782 Use pool fields instead of global gomp_* variables. Use 12783 gomp_barrier_wait_last when needed. Initialize ts.active_level. 12784 Create tasks for each member thread. 12785 (free_team): Only destroy team barrier, task_lock here and free it. 12786 (gomp_free_thread): Free last_team if non-NULL. 12787 (gomp_team_end): Call gomp_team_barrier_wait instead of 12788 gomp_barrier_wait. For nested case call one extra 12789 gomp_barrier_wait. Move here some destruction from free_team. 12790 Call free_team on pool->last_team if any, rather than freeing 12791 current team. Destroy work_share_list_free_lock ifndef 12792 HAVE_SYNC_BUILTINS. 12793 (gomp_new_icv): New function. 12794 (gomp_threads, gomp_threads_size, gomp_threads_used, 12795 gomp_threads_dock): Removed. 12796 (gomp_thread_destructor): New variable. 12797 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New 12798 functions. 12799 (gomp_team_start): Create new pool if current thread doesn't have 12800 one. Use pool fields instead of global gomp_* variables. 12801 Initialize thread_pool field for new threads. Clear single_count. 12802 Change last argument from ws to team, don't create 12803 new team, set ts.work_share to &team->work_shares[0] and clear 12804 ts.last_work_share. Don't clear ts.work_share_generation. 12805 If number of threads changed, adjust atomically gomp_managed_threads. 12806 Use gomp_init_task instead of gomp_new_task, 12807 set thr->task to the corresponding implicit_task array entry. 12808 Create tasks for each member thread. Initialize ts.level. 12809 (initialize_team): Call pthread_key_create on 12810 gomp_thread_destructor. 12811 (team_destructor): New function. 12812 (new_team): Removed. 12813 (gomp_new_team): New function. 12814 (free_team): Free gomp_work_share blocks chained through next_alloc, 12815 instead of freeing work_shares and destroying work_share_lock. 12816 (gomp_team_end): Call gomp_fini_work_share. If number of threads 12817 changed, adjust atomically gomp_managed_threads. Use gomp_end_task. 12818 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead 12819 of gomp_barrier_wait. 12820 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait 12821 instead of gomp_barrier_wait. Call gomp_work_share_init_done 12822 if gomp_work_share_start returned true. Don't unlock ws->lock. 12823 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead 12824 of gomp_barrier_wait. 12825 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call 12826 gomp_work_share_init_done if gomp_work_share_start returned true. 12827 Don't unlock ws->lock. 12828 * work.c: Include stddef.h. 12829 (free_work_share): Use work_share_list_free_lock instead 12830 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument. 12831 Call gomp_fini_work_share and then either free ws if orphaned, or 12832 put it into work_share_list_free list of the current team. 12833 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New 12834 functions. 12835 (gomp_work_share_start, gomp_work_share_end, 12836 gomp_work_share_end_nowait): Rewritten. 12837 * omp_lib.f90.in Change some tabs to spaces to prevent warnings. 12838 (openmp_version): Set to 200805. 12839 (omp_sched_kind, omp_sched_static, omp_sched_dynamic, 12840 omp_sched_guided, omp_sched_auto): New parameters. 12841 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit, 12842 omp_set_max_active_levels, omp_get_max_active_levels, 12843 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size, 12844 omp_get_active_level): New interfaces. 12845 * omp_lib.h.in (openmp_version): Set to 200805. 12846 (omp_sched_kind, omp_sched_static, omp_sched_dynamic, 12847 omp_sched_guided, omp_sched_auto): New parameters. 12848 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit, 12849 omp_set_max_active_levels, omp_get_max_active_levels, 12850 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size, 12851 omp_get_active_level): New externals. 12852 * loop.c: Include limits.h. 12853 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle 12854 GFS_AUTO. 12855 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start): 12856 Likewise. Use gomp_icv. 12857 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear 12858 ts.static_trip here. 12859 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call 12860 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock. 12861 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call 12862 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS, 12863 don't unlock ws->lock, otherwise lock it. 12864 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call 12865 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock. 12866 (gomp_parallel_loop_start): Call gomp_new_team instead of 12867 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0]. 12868 Adjust gomp_team_start caller. Pass 0 as second argument to 12869 gomp_resolve_num_threads. 12870 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr. 12871 If adding ws->chunk_size nthreads + 1 times after end won't 12872 overflow, set ws->mode to 1. 12873 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start, 12874 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start, 12875 GOMP_loop_ull_ordered_static_start, 12876 GOMP_loop_ull_ordered_dynamic_start, 12877 GOMP_loop_ull_ordered_guided_start, 12878 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next, 12879 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next, 12880 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next, 12881 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next, 12882 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New 12883 prototypes. 12884 * libgomp.map: Export lock routines also @@OMP_2.0. 12885 (GOMP_loop_ordered_dynamic_first, 12886 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first, 12887 GOMP_loop_ordered_static_first): Remove. 12888 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start, 12889 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start, 12890 GOMP_loop_ull_ordered_dynamic_next, 12891 GOMP_loop_ull_ordered_dynamic_start, 12892 GOMP_loop_ull_ordered_guided_next, 12893 GOMP_loop_ull_ordered_guided_start, 12894 GOMP_loop_ull_ordered_runtime_next, 12895 GOMP_loop_ull_ordered_runtime_start, 12896 GOMP_loop_ull_ordered_static_next, 12897 GOMP_loop_ull_ordered_static_start, 12898 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start, 12899 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start, 12900 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0. 12901 (omp_set_schedule, omp_get_schedule, 12902 omp_get_thread_limit, omp_set_max_active_levels, 12903 omp_get_max_active_levels, omp_get_level, 12904 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level, 12905 omp_set_schedule_, omp_set_schedule_8_, 12906 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_, 12907 omp_set_max_active_levels_, omp_set_max_active_levels_8_, 12908 omp_get_max_active_levels_, omp_get_level_, 12909 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_, 12910 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_): 12911 New exports @@OMP_3.0. 12912 * omp.h.in (omp_sched_t): New type. 12913 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit, 12914 omp_set_max_active_levels, omp_get_max_active_levels, 12915 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size, 12916 omp_get_active_level): New prototypes. 12917 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var, 12918 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var, 12919 gomp_thread_limit_var, gomp_remaining_threads_count, 12920 gomp_remaining_threads_lock): New variables. 12921 (parse_spincount): New function. 12922 (initialize_env): Call gomp_init_num_threads unconditionally. 12923 Initialize gomp_available_cpus. Call parse_spincount, 12924 initialize gomp_{,throttled_}spin_count_var 12925 depending on presence and value of OMP_WAIT_POLICY and 12926 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var. 12927 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS, 12928 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification 12929 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and 12930 gomp_remaining_threads_lock if needed. Use gomp_global_icv. 12931 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var, 12932 gomp_run_sched_var, gomp_run_sched_chunk): Remove. 12933 (gomp_global_icv): New. 12934 (parse_schedule): Use it. Parse "auto". 12935 (omp_set_num_threads): Use gomp_icv. 12936 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested): 12937 Likewise. 12938 (omp_get_max_threads): Move from parallel.c. 12939 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit, 12940 omp_set_max_active_levels, omp_get_max_active_levels): New functions, 12941 add ialias. 12942 (parse_stacksize, parse_wait_policy): New functions. 12943 * fortran.c: Rewrite lock wrappers, if symbol versioning provide 12944 both wrappers for compatibility and new locks. 12945 (omp_set_schedule, omp_get_schedule, 12946 omp_get_thread_limit, omp_set_max_active_levels, 12947 omp_get_max_active_levels, omp_get_level, 12948 omp_get_ancestor_thread_num, omp_get_team_size, 12949 omp_get_active_level): New ialias_redirect. 12950 (omp_set_schedule_, omp_set_schedule_8_, 12951 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_, 12952 omp_set_max_active_levels_, omp_set_max_active_levels_8_, 12953 omp_get_max_active_levels_, omp_get_level_, 12954 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_, 12955 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_): 12956 New functions. 12957 * parallel.c: Include limits.h. 12958 (gomp_resolve_num_threads): Add count argument. Rewritten. 12959 (GOMP_parallel_start): Call gomp_new_team and pass that as last 12960 argument to gomp_team_start. Pass 0 as second argument to 12961 gomp_resolve_num_threads. 12962 (GOMP_parallel_end): Decrease gomp_remaining_threads_count 12963 if gomp_thread_limit_var != ULONG_MAX. 12964 (omp_in_parallel): Implement using ts.active_level. 12965 (omp_get_max_threads): Move to env.c. 12966 (omp_get_level, omp_get_ancestor_thread_num, 12967 omp_get_team_size, omp_get_active_level): New functions, 12968 add ialias. 12969 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done 12970 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call 12971 gomp_iter_dynamic_next instead of the _locked variant and don't take 12972 lock around it, otherwise acquire it before calling 12973 gomp_iter_dynamic_next_locked. 12974 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call 12975 gomp_iter_dynamic_next instead of the _locked variant and don't take 12976 lock around it. 12977 (GOMP_parallel_sections_start): Call gomp_new_team instead of 12978 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0]. 12979 Adjust gomp_team_start caller. Pass count as second argument to 12980 gomp_resolve_num_threads, don't adjust num_threads after the call. 12981 Use gomp_icv. 12982 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply 12983 ws->chunk_size by incr. 12984 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient 12985 code. 12986 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New 12987 types. 12988 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros. 12989 (omp_check_defines): Check even the compat defines. 12990 * config/linux/ptrlock.c: New file. 12991 * config/linux/ptrlock.h: New file. 12992 * config/linux/wait.h: New file. 12993 * config/posix/ptrlock.c: New file. 12994 * config/posix/ptrlock.h: New file. 12995 * config/linux/bar.h (gomp_team_barrier_wait, 12996 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes. 12997 (gomp_team_barrier_set_task_pending, 12998 gomp_team_barrier_clear_task_pending, 12999 gomp_team_barrier_set_waiting_for_tasks, 13000 gomp_team_barrier_waiting_for_tasks, 13001 gomp_team_barrier_done): New inlines. 13002 (gomp_barrier_t): Rewritten. 13003 (gomp_barrier_state_t): New typedef. 13004 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy, 13005 gomp_barrier_wait_start): Rewritten. 13006 (gomp_barrier_wait_end): Change second argument to 13007 gomp_barrier_state_t. 13008 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static 13009 inlines. 13010 * config/linux/bar.c: Include wait.h instead of libgomp.h and 13011 futex.h. 13012 (gomp_barrier_wait_end): Rewritten. 13013 (gomp_team_barrier_wait, gomp_team_barrier_wait_end, 13014 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions. 13015 * config/posix/bar.h (gomp_barrier_t): Add generation field. 13016 (gomp_barrier_state_t): New typedef. 13017 (gomp_team_barrier_wait, 13018 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes. 13019 (gomp_barrier_wait_start): Or all but low 2 bits from generation 13020 into the return value. Return gomp_barrier_state_t. 13021 (gomp_team_barrier_set_task_pending, 13022 gomp_team_barrier_clear_task_pending, 13023 gomp_team_barrier_set_waiting_for_tasks, 13024 gomp_team_barrier_waiting_for_tasks, 13025 gomp_team_barrier_done): New inlines. 13026 (gomp_barrier_wait_end): Change second argument to 13027 gomp_barrier_state_t. 13028 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static 13029 inlines. 13030 * config/posix/bar.c (gomp_barrier_init): Clear generation field. 13031 (gomp_barrier_wait_end): Change second argument to 13032 gomp_barrier_state_t. 13033 (gomp_team_barrier_wait, gomp_team_barrier_wait_end, 13034 gomp_team_barrier_wake): New functions. 13035 * config/linux/mutex.c: Include wait.h instead of libgomp.h and 13036 futex.h. 13037 (gomp_futex_wake, gomp_futex_wait): New variables. 13038 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait. 13039 * config/linux/lock.c: Rewrite to make locks task owned, 13040 for backwards compatibility provide the old entrypoints 13041 if symbol versioning. Include wait.h instead of libgomp.h and 13042 futex.h. 13043 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait. 13044 * config/posix95/lock.c: Rewrite to make locks task owned, 13045 for backwards compatibility provide the old entrypoints 13046 if symbol versioning. 13047 * config/posix/lock.c: Rewrite to make locks task owned, 13048 for backwards compatibility provide the old entrypoints 13049 if symbol versioning. 13050 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv. 13051 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv. 13052 * config/posix/proc.c, config/mingw32/proc.c: Similarly. 13053 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove. 13054 (sys_futex0): Return error code. 13055 (futex_wake, futex_wait): If ENOSYS was returned, clear 13056 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry. 13057 (cpu_relax, atomic_write_barrier): New static inlines. 13058 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove. 13059 (futex_wake, futex_wait): If ENOSYS was returned, clear 13060 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry. 13061 (cpu_relax, atomic_write_barrier): New static inlines. 13062 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove. 13063 (sys_futex0): Return error code. 13064 (futex_wake, futex_wait): If ENOSYS was returned, clear 13065 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry. 13066 (cpu_relax, atomic_write_barrier): New static inlines. 13067 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove. 13068 (sys_futex0): Return error code. 13069 (futex_wake, futex_wait): If ENOSYS was returned, clear 13070 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry. 13071 (cpu_relax, atomic_write_barrier): New static inlines. 13072 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove. 13073 (sys_futex0): Return error code. 13074 (futex_wake, futex_wait): If ENOSYS was returned, clear 13075 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry. 13076 (cpu_relax, atomic_write_barrier): New static inlines. 13077 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove. 13078 (sys_futex0): Return error code. 13079 (futex_wake, futex_wait): If ENOSYS was returned, clear 13080 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry. 13081 (cpu_relax, atomic_write_barrier): New static inlines. 13082 * config/linux/sem.c: Include wait.h instead of libgomp.h and 13083 futex.h. 13084 (gomp_sem_wait_slow): Call do_wait instead of futex_wait. 13085 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS. 13086 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New 13087 types. 13088 (omp_nest_lock_t): Change owner into void *, add lock field. 13089 * config/posix95/omp-lock.h: Include semaphore.h. 13090 (omp_lock_25_t, omp_nest_lock_25_t): New types. 13091 (omp_lock_t): Use sem_t instead of mutex if semaphores 13092 aren't broken. 13093 (omp_nest_lock_t): Likewise. Change owner to void *. 13094 * config/posix/omp-lock.h: Include semaphore.h. 13095 (omp_lock_25_t, omp_nest_lock_25_t): New types. 13096 (omp_lock_t): Use sem_t instead of mutex if semaphores 13097 aren't broken. 13098 (omp_nest_lock_t): Likewise. Add owner field. 13099 131002008-06-06 Jakub Jelinek <jakub@redhat.com> 13101 13102 * testsuite/libgomp.c/collapse-1.c: New test. 13103 * testsuite/libgomp.c/collapse-2.c: New test. 13104 * testsuite/libgomp.c/collapse-3.c: New test. 13105 * testsuite/libgomp.c/icv-1.c: New test. 13106 * testsuite/libgomp.c/icv-2.c: New test. 13107 * testsuite/libgomp.c/lib-2.c: New test. 13108 * testsuite/libgomp.c/lock-1.c: New test. 13109 * testsuite/libgomp.c/lock-2.c: New test. 13110 * testsuite/libgomp.c/lock-3.c: New test. 13111 * testsuite/libgomp.c/loop-4.c: New test. 13112 * testsuite/libgomp.c/loop-5.c: New test. 13113 * testsuite/libgomp.c/loop-6.c: New test. 13114 * testsuite/libgomp.c/loop-7.c: New test. 13115 * testsuite/libgomp.c/loop-8.c: New test. 13116 * testsuite/libgomp.c/loop-9.c: New test. 13117 * testsuite/libgomp.c/nested-3.c: New test. 13118 * testsuite/libgomp.c/nestedfn-6.c: New test. 13119 * testsuite/libgomp.c/sort-1.c: New test. 13120 * testsuite/libgomp.c/task-1.c: New test. 13121 * testsuite/libgomp.c/task-2.c: New test. 13122 * testsuite/libgomp.c/task-3.c: New test. 13123 * testsuite/libgomp.c/task-4.c: New test. 13124 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes 13125 to C++ testsuite default compiler options. 13126 * testsuite/libgomp.c++/collapse-1.C: New test. 13127 * testsuite/libgomp.c++/collapse-2.C: New test. 13128 * testsuite/libgomp.c++/ctor-10.C: New test. 13129 * testsuite/libgomp.c++/for-1.C: New test. 13130 * testsuite/libgomp.c++/for-2.C: New test. 13131 * testsuite/libgomp.c++/for-3.C: New test. 13132 * testsuite/libgomp.c++/for-4.C: New test. 13133 * testsuite/libgomp.c++/for-5.C: New test. 13134 * testsuite/libgomp.c++/loop-8.C: New test. 13135 * testsuite/libgomp.c++/loop-9.C: New test. 13136 * testsuite/libgomp.c++/loop-10.C: New test. 13137 * testsuite/libgomp.c++/task-1.C: New test. 13138 * testsuite/libgomp.c++/task-2.C: New test. 13139 * testsuite/libgomp.c++/task-3.C: New test. 13140 * testsuite/libgomp.c++/task-4.C: New test. 13141 * testsuite/libgomp.c++/task-5.C: New test. 13142 * testsuite/libgomp.c++/task-6.C: New test. 13143 * testsuite/libgomp.fortran/allocatable1.f90: New test. 13144 * testsuite/libgomp.fortran/allocatable2.f90: New test. 13145 * testsuite/libgomp.fortran/allocatable3.f90: New test. 13146 * testsuite/libgomp.fortran/allocatable4.f90: New test. 13147 * testsuite/libgomp.fortran/collapse1.f90: New test. 13148 * testsuite/libgomp.fortran/collapse2.f90: New test. 13149 * testsuite/libgomp.fortran/collapse3.f90: New test. 13150 * testsuite/libgomp.fortran/collapse4.f90: New test. 13151 * testsuite/libgomp.fortran/lastprivate1.f90: New test. 13152 * testsuite/libgomp.fortran/lastprivate2.f90: New test. 13153 * testsuite/libgomp.fortran/lib4.f90: New test. 13154 * testsuite/libgomp.fortran/lock-1.f90: New test. 13155 * testsuite/libgomp.fortran/lock-2.f90: New test. 13156 * testsuite/libgomp.fortran/nested1.f90: New test. 13157 * testsuite/libgomp.fortran/nestedfn4.f90: New test. 13158 * testsuite/libgomp.fortran/strassen.f90: New test. 13159 * testsuite/libgomp.fortran/tabs1.f90: New test. 13160 * testsuite/libgomp.fortran/tabs2.f: New test. 13161 * testsuite/libgomp.fortran/task1.f90: New test. 13162 * testsuite/libgomp.fortran/task2.f90: New test. 13163 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning. 13164 * testsuite/libgomp.fortran/vla5.f90: Likewise. 13165 * testsuite/libgomp.c/pr26943-2.c: Likewise. 13166 * testsuite/libgomp.c/pr26943-3.c: Likewise. 13167 * testsuite/libgomp.c/pr26943-4.c: Likewise. 13168 131692008-05-23 Jakub Jelinek <jakub@redhat.com> 13170 13171 PR c++/36308 13172 * testsuite/libgomp.c++/ctor-11.C: New test. 13173 * testsuite/libgomp.c++/ctor-12.C: New test. 13174 131752008-05-15 Janis Johnson <janis187@us.ibm.com> 13176 13177 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib. 13178 131792008-05-07 Jakub Jelinek <jakub@redhat.com> 13180 13181 PR middle-end/36106 13182 * testsuite/libgomp.c/atomic-5.c: New test. 13183 * testsuite/libgomp.c/atomic-6.c: New test. 13184 * testsuite/libgomp.c/autopar-1.c: New test. 13185 131862008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 13187 13188 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS) 13189 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY) 13190 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT) 13191 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names. 13192 * configure: Regenerate. 13193 * Makefile.in, testsuite/Makefile.in: Likewise. 13194 131952008-04-18 Paolo Bonzini <bonzini@gnu.org> 13196 13197 PR bootstrap/35457 13198 * aclocal.m4: Regenerate. 13199 * configure: Regenerate. 13200 132012008-03-18 Jakub Jelinek <jakub@redhat.com> 13202 13203 PR middle-end/35611 13204 * testsuite/libgomp.c/atomic-4.c: New test. 13205 13206 PR libgomp/35625 13207 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end. 13208 (gomp_iter_guided_next): Likewise. 13209 * testsuite/libgomp.c/pr35625.c: New test. 13210 132112008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 13212 13213 * aclocal.m4: Regenerate. 13214 * configure: Likewise. 13215 * Makefile.in: Likewise. 13216 * testsuite/Makefile.in: Likewise. 13217 132182008-03-13 Jakub Jelinek <jakub@redhat.com> 13219 13220 PR middle-end/35185 13221 * testsuite/libgomp.c++/pr35185.C: New test. 13222 132232008-03-12 Jakub Jelinek <jakub@redhat.com> 13224 13225 PR middle-end/35549 13226 * testsuite/libgomp.c/pr35549.c: New test. 13227 132282008-03-06 Jakub Jelinek <jakub@redhat.com> 13229 13230 * testsuite/libgomp.c/atomic-3.c: New test. 13231 132322008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 13233 13234 PR fortran/33197 13235 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and 13236 .F08 file suffixes. 13237 132382008-03-03 Peter O'Gorman <pogma@thewrittenword.com> 13239 13240 PR libgomp/33131 13241 * configure.ac: Add ACX_HEADER_STRING. 13242 * env.c: Include strings.h. 13243 * aclocal.m4: Regenerate. 13244 * config.h.in: Regenerate. 13245 * configure: Regenerate. 13246 * Makefile.in: Regenerate. 13247 * testsuite/Makefile.in: Regenerate. 13248 132492008-02-15 Jakub Jelinek <jakub@redhat.com> 13250 13251 PR middle-end/35196 13252 * testsuite/libgomp.c/pr35196.c: New test. 13253 13254 PR middle-end/35130 13255 * testsuite/libgomp.fortran/pr35130.f90: New test. 13256 * testsuite/libgomp.c/pr35130.c: New test. 13257 132582008-01-25 Jakub Jelinek <jakub@redhat.com> 13259 13260 PR middle-end/33880 13261 * testsuite/libgomp.c/pr33880.c: New test. 13262 * testsuite/libgomp.fortran/pr33880.f90: New test. 13263 132642008-01-24 David Edelsohn <edelsohn@gnu.org> 13265 13266 * configure: Regenerate. 13267 132682008-01-08 Jakub Jelinek <jakub@redhat.com> 13269 13270 * configure.ac: Move futex checking into ../config/futex.m4. 13271 * configure: Rebuilt. 13272 * aclocal.m4: Rebuilt. 13273 * Makefile.in: Rebuilt. 13274 13275 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match 13276 2007-10-15 ../config/tls.m4 change. 13277 132782007-12-19 Jakub Jelinek <jakub@redhat.com> 13279 13280 PR c++/34513 13281 * testsuite/libgomp.c/pr34513.c: New test. 13282 * testsuite/libgomp.c++/pr34513.C: New test. 13283 132842007-12-17 Jack Howarth <howarth@bromo.med.uc.edu> 13285 13286 PR target/32765 13287 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin. 13288 132892007-12-04 Jakub Jelinek <jakub@redhat.com> 13290 13291 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes. 13292 132932007-12-03 Jakub Jelinek <jakub@redhat.com> 13294 13295 * testsuite/libgomp.c/private-1.c: New test. 13296 132972007-11-29 Andris Pavenis <andris.pavenis@iki.fi> 13298 Paolo Bonzini <bonzini@gnu.org> 13299 13300 * Makefile.am: Use space as vpath separator. Use 'vpath %' 13301 instead of 'VPATH ='. 13302 * Makefile.in: Regenerate. 13303 133042007-11-23 Matthias Klose <doko@ubuntu.com> 13305 13306 * configure.ac: Adjust makeinfo version check. 13307 * configure: Regenerate. 13308 133092007-11-10 Jakub Jelinek <jakub@redhat.com> 13310 13311 PR fortran/34020 13312 * testsuite/libgomp.fortran/pr34020.f90: New test. 13313 133142007-11-06 Jakub Jelinek <jakub@redhat.com> 13315 13316 PR c++/33894 13317 * testsuite/libgomp.c++/atomic-1.C: New test. 13318 133192007-10-25 Jakub Jelinek <jakub@redhat.com> 13320 13321 PR libgomp/33275 13322 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate): 13323 Make x and y integers rather than (implicit) reals. Add private (j) 13324 clause to the last omp parallel. 13325 133262007-10-15 Maciej W. Rozycki <macro@linux-mips.org> 13327 13328 * configure: Regenerate following changes to ../config/tls.m4. 13329 133302007-09-28 Jakub Jelinek <jakub@redhat.com> 13331 13332 * testsuite/libgomp.fortran/stack.f90: New test. 13333 133342007-09-10 Danny Smith <dannysmith@users.sourceforge.net> 13335 13336 * config/mingw32/proc.c: New file. 13337 133382007-09-05 Uros Bizjak <ubizjak@gmail.com> 13339 13340 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets. 13341 (main): Use __get_cpuid to get i386 target fetaures. 13342 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets. 13343 (main): Use __get_cpuid to get x86_64 target fetaures. 13344 133452007-08-15 Jack Howarth <howarth@bromo.med.uc.edu> 13346 13347 PR target/32765 13348 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin. 13349 * testsuite/libgomp.fortran/crayptr2.f90: Likwise. 13350 133512007-07-12 Jakub Jelinek <jakub@redhat.com> 13352 13353 PR fortran/32550 13354 * testsuite/libgomp.fortran/pr32550.f90: New test. 13355 * testsuite/libgomp.fortran/crayptr2.f90: New test. 13356 133572007-07-05 H.J. Lu <hongjiu.lu@intel.com> 13358 13359 * aclocal.m4: Regenerated. 13360 133612007-07-05 Tobias Burnus <burnus@net-b.de> 13362 13363 PR fortran/32359 13364 * testsuite/libgomp.fortran/pr32359.f90: New. 13365 133662007-07-02 Jakub Jelinek <jakub@redhat.com> 13367 13368 PR libgomp/32468 13369 * sections.c (GOMP_parallel_sections_start): Only decrease 13370 number of threads to COUNT if dyn_var is true. 13371 * testsuite/libgomp.c/pr32468.c: New test. 13372 133732007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 13374 13375 PR libgomp/26308 13376 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX. 13377 133782007-06-21 Jakub Jelinek <jakub@redhat.com> 13379 13380 PR middle-end/32362 13381 * testsuite/libgomp.c/pr32362-1.c: New test. 13382 * testsuite/libgomp.c/pr32362-2.c: New test. 13383 * testsuite/libgomp.c/pr32362-3.c: New test. 13384 133852007-06-07 Jakub Jelinek <jakub@redhat.com> 13386 13387 * team.c (gomp_team_start): Fix setting up thread_attr 13388 stack size. 13389 133902007-06-02 Paolo Bonzini <bonzini@gnu.org> 13391 13392 * configure: Regenerate. 13393 133942007-05-23 Steve Ellcey <sje@cup.hp.com> 13395 13396 * Makefile.in: Regenerate. 13397 * configure: Regenerate. 13398 * aclocal.m4: Regenerate. 13399 * testsuite/Makefile.in: Regenerate. 13400 134012007-05-04 Jakub Jelinek <jakub@redhat.com> 13402 13403 * config/linux/proc.c: New file. 13404 13405 PR libgomp/28482 13406 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux. 13407 134082007-04-19 Daniel Franke <franke.daniel@gmail.com> 13409 13410 * libgomp.texi (GOMP_CPU_AFFINITY): Updated. 13411 134122007-04-16 Matthias Klose <doko@debian.org> 13413 13414 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific 13415 flags if not building with -m64. 13416 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march 13417 flag for i?86-*-* targets, if current target matches -m64. 13418 134192007-04-14 Steve Ellcey <sje@cup.hp.com> 13420 13421 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS. 13422 * Makefile.in: Regenerate. 13423 134242007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 13425 13426 PR testsuite/31369 13427 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting 13428 ld_library_path. 13429 * testsuite/libgomp.fortran/fortran.exp: Likewise. 13430 134312007-04-04 Jakub Jelinek <jakub@redhat.com> 13432 13433 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern 13434 decls. 13435 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes. 13436 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables. 13437 (parse_affinity): New function. 13438 (initialize_env): Call it and gomp_init_affinity. 13439 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL, 13440 create new pthread_attr_t and call gomp_init_thread_affinity 13441 on it for each thread before passing the attribute to pthread_create. 13442 * config/linux/affinity.c: New file. 13443 * config/posix/affinity.c: New file. 13444 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test. 13445 * configure: Rebuilt. 13446 * config.h.in: Rebuilt. 13447 * Makefile.am (libgomp_la_SOURCES): Add affinity.c. 13448 * Makefile.in: Rebuilt. 13449 134502007-03-23 Andreas Tobler <a.tobler@schweiz.org> 13451 13452 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for 13453 *-*-darwin*. 13454 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library 13455 and use it if found. 13456 134572007-03-18 Uros Bizjak <ubizjak@gmail.com> 13458 13459 * testsuite/config/default.exp: New file. 13460 * testsuite/lib/libgomp.exp: New file. 13461 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init, 13462 libgomp_target_compile, libgomp_option_help, libgomp_option_proc, 13463 load_lib *, load_gcc_lib *): Move to libgomp.exp. 13464 (libgomp_load): Remove. 13465 * testsuite/lib/libgomp.exp (libgomp_init): Compute 13466 always_ld_library_path, not ld_library_path. Set additional_flags 13467 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets. 13468 (target_compile): Do not call libgomp_init. Append lang_library_path 13469 and lang_link_flags to options. 13470 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set 13471 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH 13472 here. 13473 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from 13474 always_ld_library_path. Set LD_LIBRARY_PATH here. 13475 * testsuite/libgomp.fortran/fortran.exp: Ditto. 13476 * testsuite/libgomp.c/atomic-1.c: Set dg-options to 13477 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for 13478 CX8 flag. 13479 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for 13480 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3. 13481 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options. 13482 * testsuite/libgomp.c/pr29947-1.c: Ditto. 13483 * testsuite/libgomp.c/atomic-10.c: Ditto. 13484 134852007-03-21 Jakub Jelinek <jakub@redhat.com> 13486 13487 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add 13488 dg-final cleanup-modules line. 13489 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise. 13490 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise. 13491 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise. 13492 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise. 13493 * testsuite/libgomp.fortran/reduction5.f90: Likewise. 13494 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise. 13495 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. 13496 134972007-03-18 Andreas Schwab <schwab@suse.de> 13498 13499 * acinclude.m4: Adjust regular expression for ld version 13500 extraction. 13501 * configure: Regenerate. 13502 135032007-03-01 Brooks Moses <brooks.moses@codesourcery.com> 13504 13505 * Makefile.am: Add install-pdf target as copied from 13506 automake v1.10 rules. 13507 * Makefile.in: Regenerate 13508 135092007-02-07 Jakub Jelinek <jakub@redhat.com> 13510 13511 PR libgomp/28486 13512 * configure: Regenerate. 13513 13514 PR c++/30703 13515 * testsuite/libgomp.c++/pr30703.C: New test. 13516 135172007-02-02 Jakub Jelinek <jakub@redhat.com> 13518 13519 Revert: 13520 2006-07-05 Eric Christopher <echristo@apple.com> 13521 * configure.ac: Depend addition of -pthread on host OS. 13522 * configure: Regenerate. 13523 135242007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 13525 13526 * libgomp.texi: Fix spacing after abbreviations. 13527 135282007-01-31 Daniel Franke <franke.daniel@gmail.com> 13529 13530 PR libgomp/30546 13531 * configure.ac: Add check for makeinfo 13532 * Makefile.am: Redefined target libgomp.info, build libgomp.info only 13533 if an appropriate version of makeinfo is found. 13534 * aclocal.m4: Regenerated. 13535 * configure: Regenerated. 13536 * Makefile.in: Regenerated. 13537 * testsuite/Makefile.in: Regenerated. 13538 135392007-01-29 Daniel Franke <franke.daniel@gmail.com> 13540 13541 PR libgomp/30540 13542 * libgomp.texi: More about implementation-dependent settings. 13543 135442007-01-26 Tobias Burnus <burnus@net-b.de> 13545 13546 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension. 13547 135482007-01-24 Jakub Jelinek <jakub@redhat.com> 13549 13550 PR middle-end/30494 13551 * testsuite/libgomp.c/pr30494.c: New test. 13552 135532007-01-15 Tom Tromey <tromey@redhat.com> 13554 13555 * configure: Rebuilt. 13556 * configure.ac: Fixed comment. 13557 135582007-01-14 Daniel Franke <franke.daniel@gmail.com> 13559 13560 * libgomp.texi: Document implementation specific default values of 13561 environment variables. 13562 135632006-12-21 Daniel Franke <franke.daniel@gmail.com> 13564 13565 PR libgomp/28209 13566 * libgomp.texi: New file. 13567 * configure.ac: Add --enable-generated-files-in-srcdir option. 13568 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy 13569 files to srcdir. 13570 * Makefile.in: Regenerated. 13571 * config.h.in: Regenerated. 13572 * testsuite/Makefile.in: Regenerated. 13573 * NOTES: Removed. 13574 135752006-12-04 Daniel Franke <franke.daniel@gmail.com> 13576 13577 PR libgomp/29949 13578 * env.c (omp_set_num_threads): Set illegal thread count to 1. 13579 135802006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr> 13581 13582 * configure: Regenerate. 13583 135842006-12-04 Jakub Jelinek <jakub@redhat.com> 13585 13586 PR libgomp/29947 13587 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to 13588 start if there shouldn't be any loop iterations. 13589 (gomp_loop_ordered_static_start): Remove start == end test. 13590 * testsuite/libgomp.c/pr29947-1.c: New test. 13591 * testsuite/libgomp.c/pr29947-2.c: New test. 13592 135932006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr> 13594 13595 * configure.tgt: Force initial-exec TLS model on Linux only. 13596 135972006-11-13 Daniel Jacobowitz <dan@codesourcery.com> 13598 13599 * configure: Regenerated. 13600 136012006-11-09 Uros Bizjak <ubizjak@gmail.com> 13602 13603 * env.c (parse_schedule): Reject out of range values. 13604 (parse_unsigned_long): Reject out of range, negative or zero values. 13605 136062006-10-29 Jakub Jelinek <jakub@redhat.com> 13607 13608 PR fortran/29629 13609 * testsuite/libgomp.fortran/pr29629.f90: New test. 13610 136112006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr> 13612 13613 PR libgomp/29494 13614 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6. 13615 * config/posix95: New directory. 13616 * config/posix95/omp-lock.h: New file. 13617 * config/posix95/lock.c: Likewise. 13618 136192006-10-14 Geoffrey Keating <geoffk@apple.com> 13620 13621 * aclocal.m4: Regenerate. 13622 * configure: Regenerate. 13623 136242006-10-05 Danny Smith <dannysmith@users.sourceforge.net> 13625 13626 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from 13627 '<' to '<='. 13628 136292006-10-05 Danny Smith <dannysmith@users.sourceforge.net> 13630 13631 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from 13632 test. 13633 * configure: Regenerate. 13634 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias. 13635 136362006-09-26 Jakub Jelinek <jakub@redhat.com> 13637 13638 PR middle-end/25261 13639 PR middle-end/28790 13640 * testsuite/libgomp.c/nestedfn-4.c: New test. 13641 * testsuite/libgomp.c/nestedfn-5.c: New test. 13642 * testsuite/libgomp.fortran/nestedfn3.f90: New test. 13643 13644 PR fortran/29097 13645 * testsuite/libgomp.fortran/condinc1.f: New test. 13646 * testsuite/libgomp.fortran/condinc2.f: New test. 13647 * testsuite/libgomp.fortran/condinc3.f90: New test. 13648 * testsuite/libgomp.fortran/condinc4.f90: New test. 13649 * testsuite/libgomp.fortran/condinc1.inc: New file. 13650 136512006-09-18 Tom Tromey <tromey@redhat.com> 13652 13653 * configure: Rebuilt. 13654 136552006-09-13 Joseph S. Myers <joseph@codesourcery.com> 13656 13657 PR c/28768 13658 PR preprocessor/14634 13659 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument 13660 to AC_DEFINE. 13661 * configure: Regenerate. 13662 136632006-09-08 Steven G. Kargl <kargl@gcc.gnu.org> 13664 13665 * testsuite/libgomp.fortran/reduction3.f90: Change 13666 -2147483648 to -huge(i)-1 to avoid overflow. 13667 * testsuite/libgomp.fortran/reduction4.f90: Change 13668 Z'ffffffff' to not(0) to avoid overflow. 13669 136702006-08-26 Joseph S. Myers <joseph@codesourcery.com> 13671 13672 PR libgomp/25938 13673 * Makefile.am (libsubincludedir): New. 13674 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS. 13675 * Makefile.in: Regenerate. 13676 136772006-08-17 Jakub Jelinek <jakub@redhat.com> 13678 13679 PR libgomp/28725 13680 * env.c: Include ctype.h. 13681 (parse_schedule, parse_unsigned_long, parse_boolean): Allow 13682 leading and/or trailing whitespace and compare strings case 13683 insensitively. 13684 136852006-07-16 Jakub Jelinek <jakub@redhat.com> 13686 13687 PR fortran/28390 13688 * testsuite/libgomp.fortran/pr28390.f: New test. 13689 136902006-07-05 Eric Christopher <echristo@apple.com> 13691 13692 * configure.ac: Depend addition of -pthread on host OS. 13693 * configure: Regenerate. 13694 136952006-06-21 Jakub Jelinek <jakub@redhat.com> 13696 13697 * critical.c (GOMP_critical_name_start): Fix *pptr initialization 13698 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is 13699 defined. 13700 137012006-06-20 Jakub Jelinek <jakub@redhat.com> 13702 13703 PR libgomp/26175 13704 PR libgomp/26477 13705 * configure.ac: If neither --enable-linux-futex nor 13706 --disable-linux-futex is passed, determine the default by checking 13707 for compiling and/or running against NPTL. With --enable-linux-futex, 13708 check if SYS_gettid and SYS_futex are defined. 13709 * configure: Rebuilt. 13710 137112006-06-14 Richard Henderson <rth@redhat.com> 13712 13713 PR libgomp/28008 13714 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when 13715 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment. 13716 137172006-06-09 Richard Henderson <rth@redhat.com> 13718 13719 * env.c (gomp_nthreads_var): Change to unsigned long. 13720 (gomp_run_sched_chunk): Likewise. 13721 (parse_unsigned_long): Rename from parse_num_threads and generalize. 13722 (initialize_env): Initialize gomp_thread_attr. 13723 * libgomp.h (gomp_nthreads_var): Update decl. 13724 (gomp_run_sched_chunk): Likewise. 13725 (gomp_thread_attr): Declare. 13726 * team.c (gomp_thread_attr): Export. 13727 (initialize_team): Don't initialize it. 13728 137292006-06-09 Jakub Jelinek <jakub@redhat.com> 13730 13731 PR fortran/27916 13732 * testsuite/libgomp.fortran/pr27916-1.f90: New test. 13733 * testsuite/libgomp.fortran/pr27916-2.f90: New test. 13734 137352006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr> 13736 13737 * config/mingw32/time.c: New file. 13738 * configure.tgt: Use it. 13739 137402006-05-23 Carlos O'Donell <carlos@codesourcery.com> 13741 13742 * Makefile.am: Add install-html target. Add install-html to .PHONY 13743 * Makefile.in: Regenerate. 13744 137452006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 13746 13747 PR libgomp/27612 13748 * testsuite/libgomp.c/sections-1.c: Require sync_int_long. 13749 * testsuite/libgomp.c/critical-1.c: Likewise. 13750 * testsuite/libgomp.c/loop-1.c: Likewise. 13751 * testsuite/libgomp.c/loop-2.c: Likewise. 13752 * testsuite/libgomp.c/single-1.c: Likewise. 13753 * testsuite/libgomp.c/ordered-1.c: Likewise. 13754 * testsuite/libgomp.c/ordered-2.c: Likewise. 13755 137562006-05-15 Jakub Jelinek <jakub@redhat.com> 13757 13758 PR middle-end/27416 13759 * libgomp.fortran/pr27416-1.f90: New test. 13760 137612006-05-03 Jakub Jelinek <jakub@redhat.com> 13762 13763 PR fortran/27395 13764 * testsuite/libgomp.fortran/pr27395-1.f90: New test. 13765 * testsuite/libgomp.fortran/pr27395-2.f90: New test. 13766 137672006-05-02 Jakub Jelinek <jakub@redhat.com> 13768 13769 PR c++/26943 13770 * testsuite/libgomp.c/pr26943-1.c: New test. 13771 * testsuite/libgomp.c/pr26943-2.c: New test. 13772 * testsuite/libgomp.c/pr26943-3.c: New test. 13773 * testsuite/libgomp.c/pr26943-4.c: New test. 13774 * testsuite/libgomp.c++/pr27337.C: Remove barrier. 13775 * testsuite/libgomp.c++/pr26943.C: New test. 13776 137772006-05-02 Jakub Jelinek <jakub@redhat.com> 13778 13779 PR middle-end/27337 13780 * testsuite/libgomp.c++/pr27337.C: New test. 13781 137822006-04-26 Jakub Jelinek <jakub@redhat.com> 13783 13784 PR c/26171 13785 * testsuite/libgomp.c/pr26171.c: New test. 13786 137872006-04-25 Richard Henderson <rth@redhat.com> 13788 13789 PR libgomp/25865 13790 * configure.ac: Use GCC_CHECK_TLS. 13791 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove. 13792 * Makefile.in, aclocal.m4, configure: Regenerate. 13793 137942006-04-10 Matthias Klose <doko@debian.org> 13795 13796 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib 13797 directory names containing underscores. 13798 137992006-03-21 Jakub Jelinek <jakub@redhat.com> 13800 13801 PR c++/26691 13802 * testsuite/libgomp.c++/pr26691.C: New test. 13803 138042006-03-13 Jakub Jelinek <jakub@redhat.com> 13805 13806 * testsuite/libgomp.fortran/retval2.f90: New test. 13807 138082006-03-09 Diego Novillo <dnovillo@redhat.com> 13809 13810 * testsuite/libgomp.c++: New directory. 13811 138122006-02-25 Shantonu Sen <ssen@opendarwin.org> 13813 13814 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions. 13815 * config/posix/sem.c: Implement the above. 13816 138172006-02-25 Andreas Tobler <a.tobler@schweiz.ch> 13818 13819 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and 13820 define HAVE_BROKEN_POSIX_SEMAPHORES. 13821 * configure: Rebuilt. 13822 * config.h.in: Rebuilt. 13823 138242006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr> 13825 13826 PR bootstrap/26161 13827 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment 13828 for the other pthread check. 13829 * configure: Regenerate. 13830 * config.h.in: Regenerate. 13831 138322006-02-15 Jakub Jelinek <jakub@redhat.com> 13833 13834 PR libgomp/25938 13835 PR libgomp/25984 13836 * Makefile.am (fincludedir): New variable. 13837 (nodist_include_HEADERS): Remove Fortran files. 13838 (nodist_finclude_HEADERS): New variable. 13839 * Makefile.in: Regenerated. 13840 138412006-02-13 Jakub Jelinek <jakub@redhat.com> 13842 13843 * testsuite/libgomp.fortran/vla7.f90: Add -w to options. 13844 Remove tests for returning assumed character length arrays. 13845 138462006-02-12 Roger Sayle <roger@eyesopen.com> 13847 John David Anglin <dave@hiauly1.hia.nrc.ca> 13848 13849 PR libgomp/25936 13850 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems. 13851 138522006-02-08 Ulrich Weigand <uweigand@de.ibm.com> 13853 13854 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library. 13855 138562006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr> 13857 13858 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related 13859 part of LD_LIBRARY_PATH manually. 13860 138612006-02-03 H.J. Lu <hongjiu.lu@intel.com> 13862 13863 PR libgomp/25852 13864 * testsuite/lib/libgomp-dg.exp (blddir): Set it in 13865 libgomp_init. 13866 138672005-01-25 Paolo Bonzini <bonzini@gnu.org> 13868 13869 PR libgomp/25884 13870 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove. 13871 * configure.ac (PERL): Don't set. 13872 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here. 13873 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE, 13874 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions. 13875 * omp.h.in: Wrap the new configure substitutions with @ characters. 13876 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise. 13877 * aclocal.m4, configure, Makefile.in: Regenerate. 13878 * mkomp_h.pl: Delete. 13879 138802005-01-24 Paolo Bonzini <bonzini@gnu.org> 13881 13882 PR libgomp/25259 13883 * configure.ac: Use GCC_HEADER_STDINT. 13884 * libgomp.h: Include gstdint.h. 13885 * libgomp_f.h.in: Don't include stdint.h or inttypes.h. 13886 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild. 13887 138882006-01-24 Richard Henderson <rth@redhat.com> 13889 13890 PR libgomp/25942 13891 * configure.ac: Add AM_MAINTAINER_MODE. 13892 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild. 13893 138942006-01-24 Diego Novillo <dnovillo@redhat.com> 13895 13896 * Makefile.in: Regenerate. 13897 * testsuite/Makefile.in: Regenerate. 13898 * aclocal.m4: Regenerate. 13899 139002006-01-23 Andreas Tobler <a.tobler@schweiz.ch> 13901 13902 * config/posix/proc.c: Conditional include of sys/loadavg.h for 13903 Solaris. 13904 * configure.ac: Add check for loadavg.h. 13905 (link_gomp): Adjust comment. 13906 * configure: Regenerate. 13907 * config.h.in: Regenerate. 13908 139092006-01-21 Steve Ellcey <sje@cup.hp.com> 13910 13911 PR libgomp/25877 13912 * configure.ac: Remove check for alloca.h. 13913 * configure: Regenerate. 13914 * config.h.in: Regenerate. 13915 * libgomp.h: define gomp_alloca to be __builtin_alloca. 13916 * team.c: Remove use of alloca.h. 13917 Call gomp_alloca instead of alloca. 13918 139192006-01-20 Steve Ellcey <sje@cup.hp.com> 13920 13921 PR libgomp/25877 13922 * team.c: Add include of alloca.h. 13923 * configure.ac: Add check for alloca.h. 13924 * configure: Regenerate. 13925 * config.h.in: Regenerate. 13926 139272006-01-17 Jakub Jelinek <jakub@redhat.com> 13928 13929 PR fortran/25219 13930 * testsuite/libgomp.fortran/pr25219.f90: New test. 13931 139322005-12-05 Uros Bizjak <uros@kss-loka.si> 13933 13934 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c, 13935 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c, 13936 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C, 13937 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C, 13938 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C, 13939 testsuite/libgomp.fortran/threadprivate1.f90, 13940 testsuite/libgomp.fortran/threadprivate2.f90, 13941 testsuite/libgomp.fortran/threadprivate3.f90, 13942 testsuite/libgomp.fortran/appendix-a/a.22.7.f9, 13943 testsuite/libgomp.fortran/appendix-a/a.22.8.f9, 13944 testsuite/libgomp.fortran/omp_parse3.f90: Change required 13945 effective-target to TLS runtime. 13946 13947 * testsuite/libgomp.fortran/pr25162.f: Require 13948 effective-target TLS runtime. 13949 139502005-12-01 Jakub Jelinek <jakub@redhat.com> 13951 13952 * testsuite/libgomp.fortran/nestedfn2.f90: New test. 13953 * testsuite/libgomp.c/nestedfn-3.c: New test. 13954 139552005-11-30 Jakub Jelinek <jakub@redhat.com> 13956 13957 PR fortran/25162 13958 * testsuite/libgomp.fortran/pr25162.f: New test. 13959 139602005-11-28 Jakub Jelinek <jakub@redhat.com> 13961 13962 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to 13963 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed. 13964 139652005-11-25 Jakub Jelinek <jakub@redhat.com> 13966 13967 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c, 13968 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in, 13969 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c, 13970 single.c, team.c, work.c, config/linux/alpha/futex.h, 13971 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h, 13972 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h, 13973 config/linux/powerpc/futex.h, config/linux/s390/futex.h, 13974 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h, 13975 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h, 13976 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c, 13977 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update 13978 FSF address. 13979 139802005-11-18 Jakub Jelinek <jakub@redhat.com> 13981 13982 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS 13983 to nodist_noinst_HEADERS. 13984 * Makefile.in: Rebuilt. 13985 13986 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct, 13987 add integer count field. 13988 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for 13989 omp_nest_lock_t type change. 13990 (omp_init_nest_lock): Likewise. Initialize count to 0. 13991 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change. 13992 Increment count. 13993 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change. 13994 Decrement count. 13995 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change. 13996 Increment count if successful and return the new nesting level. 13997 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level. 13998 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type. 13999 * testsuite/libgomp.c/lib-1.c: New test. 14000 * testsuite/libgomp.fortran/lib1.f90: New test. 14001 * testsuite/libgomp.fortran/lib2.f: New test. 14002 * testsuite/libgomp.fortran/lib3.f: New test. 14003 140042005-11-17 Richard Henderson <rth@redhat.com> 14005 14006 PR 24845 14007 * Makefile.am (nodist_toolexeclib_HEADERS): New. 14008 * configure.ac (link_gomp): New. Substitute it. 14009 (AC_CONFIG_FILES): Add libgomp.spec. 14010 * libgomp.spec.in: New file. 14011 * Makefile.in, testsuite/Makefile.in, configure: Rebuild. 14012 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags. 14013 140142005-11-18 Jakub Jelinek <jakub@redhat.com> 14015 14016 * testsuite/libgomp.fortran/reduction1.f90: Adjust for 14017 reduction(-:var) behaving the same as reduction(+:var). 14018 * testsuite/libgomp.c/reduction-4.c: New test. 14019 140202005-11-15 Uros Bizjak <uros@kss-loka.si> 14021 14022 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c, 14023 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c, 14024 testsuite/libgomp.c/copyin-3.c, 14025 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C, 14026 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C, 14027 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C, 14028 testsuite/libgomp.c++/pr24455.C, 14029 testsuite/libgomp.fortran/threadprivate1.f90, 14030 testsuite/libgomp.fortran/threadprivate2.f90, 14031 testsuite/libgomp.fortran/threadprivate3.f90, 14032 testsuite/libgomp.fortran/appendix-a/a.22.7.f9, 14033 testsuite/libgomp.fortran/appendix-a/a.22.8.f9, 14034 testsuite/libgomp.fortran/omp_parse3.f90: Require 14035 effective-target TLS. 14036 140372005-11-14 Diego Novillo <dnovillo@redhat.com> 14038 14039 * HEADER: Remove. 14040 140412005-11-13 Jakub Jelinek <jakub@redhat.com> 14042 14043 PR libgomp/24797 14044 * team.c (initialize_team): Pass NULL rather than free as 14045 pthread_key_create destructor. Initialize thread specific data 14046 pointer in initial thread to a static local variable rather than 14047 malloced memory. 14048 140492005-11-11 Uros Bizjak <uros@kss-loka.si> 14050 14051 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append 14052 its location to ld_library_path. 14053 140542005-11-10 Diego Novillo <dnovillo@redhat.com> 14055 14056 * testsuite/libgomp.c/c.exp: Rename from dg.exp. 14057 140582005-11-10 Diego Novillo <dnovillo@redhat.com> 14059 14060 * testsuite/libgomp.c: Rename from libgomp.dg. 14061 140622005-11-09 Diego Novillo <dnovillo@redhat.com> 14063 14064 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for 14065 threadprivate variable 'i'. 14066 140672005-11-09 Jakub Jelinek <jakub@redhat.com> 14068 14069 * config/linux/s390/futex.h: New file. 14070 * configure.tgt: Use it. 14071 14072 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization 14073 before the parallel. 14074 140752005-11-08 Jakub Jelinek <jakub@redhat.com> 14076 14077 PR c++/24734 14078 * testsuite/libgomp.c++/master-1.C: New test. 14079 140802005-11-07 Jakub Jelinek <jakub@redhat.com> 14081 14082 * testsuite/libgomp.dg/copyin-3.c: New test. 14083 140842005-11-07 Jakub Jelinek <jakub@redhat.com> 14085 14086 * testsuite/libgomp.fortran/retval1.f90: New test. 14087 * testsuite/libgomp.fortran/vla7.f90: New test. 14088 140892005-11-06 Jakub Jelinek <jakub@redhat.com> 14090 14091 * testsuite/libgomp.fortran/vla2.f90: New test. 14092 * testsuite/libgomp.fortran/vla3.f90: New test. 14093 * testsuite/libgomp.fortran/vla4.f90: New test. 14094 * testsuite/libgomp.fortran/vla5.f90: New test. 14095 * testsuite/libgomp.fortran/vla6.f90: New test. 14096 140972005-11-01 Jakub Jelinek <jakub@redhat.com> 14098 14099 * config/linux/sparc/futex.h: New file. 14100 * configure.tgt: Use it. 14101 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing. 14102 14103 * critical.c: Include stdlib.h. 14104 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about 14105 ignoring return value. 14106 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after 14107 LIBGOMP_CHECK_SYNC_BUILTINS check. 14108 * configure: Rebuilt. 14109 141102005-10-31 Jakub Jelinek <jakub@redhat.com> 14111 14112 * testsuite/libgomp.fortran/vla1.f90: New test. 14113 141142005-10-31 Richard Henderson <rth@redhat.com> 14115 14116 * testsuite/libgomp.fortran/character2.f90: Fix race condition 14117 setting 's' in different threads. 14118 141192005-10-31 Jakub Jelinek <jakub@redhat.com> 14120 14121 * libgomp.h (attribute_hidden, ialias): Define. 14122 * config/posix/proc.c (omp_get_num_procs): Add ialias. 14123 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise. 14124 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock, 14125 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock, 14126 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock, 14127 omp_test_lock, omp_test_nest_lock): Likewise. 14128 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock, 14129 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock, 14130 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock, 14131 omp_test_lock, omp_test_nest_lock): Likewise. 14132 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads, 14133 omp_get_dynamic, omp_get_nested): Likewise. 14134 * parallel.c (omp_get_num_threads, omp_get_max_threads, 14135 omp_get_thread_num, omp_in_parallel): Likewise. 14136 * fortran.c (ialias_redirect): Define. 14137 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock, 14138 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, 14139 omp_unset_lock, omp_unset_nest_lock, omp_test_lock, 14140 omp_test_nest_lock, omp_set_dynamic, omp_set_nested, 14141 omp_set_num_threads, omp_get_dynamic, omp_get_nested, 14142 omp_in_parallel, omp_get_max_threads, omp_get_num_procs, 14143 omp_get_num_threads, omp_get_thread_num, omp_get_wtick, 14144 omp_get_wtime): Add ialias_redirect. 14145 141462005-10-30 Jakub Jelinek <jakub@redhat.com> 14147 14148 * fortran.c: Include stdlib.h. 14149 141502005-10-29 Jakub Jelinek <jakub@redhat.com> 14151 14152 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h. 14153 * Makefile.in: Regenerated. 14154 141552005-10-28 Jakub Jelinek <jakub@redhat.com> 14156 14157 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE. 14158 * libgomp_f.h.in (omp_check_defines): New function. 14159 * env.c: Include libgomp_f.h. 14160 (initialize_env): Call omp_check_defines. 14161 14162 * testsuite/libgomp.dg/copyin-2.c: New test. 14163 * testsuite/libgomp.c++/copyin-2.C: New test. 14164 * testsuite/libgomp.fortran/threadprivate3.f90: New test. 14165 14166 * testsuite/libgomp.fortran/threadprivate2.f90: New test. 14167 * testsuite/libgomp.fortran/sharing2.f90: New test. 14168 14169 * testsuite/libgomp.dg/copyin-1.c: New test. 14170 * testsuite/libgomp.c++/copyin-1.C: New test. 14171 141722005-10-26 Jakub Jelinek <jakub@redhat.com> 14173 14174 * testsuite/libgomp.fortran/crayptr1.f90: New test. 14175 14176 * testsuite/libgomp.fortran/workshare1.f90: New test. 14177 14178 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile 14179 only test. 14180 * libgomp.fortran/sharing1.f90: New test. 14181 141822005-10-24 Jakub Jelinek <jakub@redhat.com> 14183 14184 PR c++/24502 14185 * testsuite/libgomp.c++/loop-7.C: New test. 14186 14187 * testsuite/libgomp.dg/nestedfn-2.c: New test. 14188 14189 * testsuite/libgomp.dg/nestedfn-1.c: New test. 14190 * testsuite/libgomp.fortran/reduction6.f90: New test. 14191 * testsuite/libgomp.fortran/nestedfn1.f90: New test. 14192 141932005-10-23 Richard Henderson <rth@redhat.com> 14194 14195 * testsuite/libgomp.c++/ctor-1.C: New. 14196 * testsuite/libgomp.c++/ctor-2.C: New. 14197 * testsuite/libgomp.c++/ctor-3.C: New. 14198 * testsuite/libgomp.c++/ctor-4.C: New. 14199 * testsuite/libgomp.c++/ctor-5.C: New. 14200 * testsuite/libgomp.c++/ctor-6.C: New. 14201 * testsuite/libgomp.c++/ctor-7.C: New. 14202 * testsuite/libgomp.c++/ctor-8.C: New. 14203 * testsuite/libgomp.c++/ctor-9.C: New. 14204 142052005-10-21 Diego Novillo <dnovillo@redhat.com> 14206 14207 PR 24455 14208 * testsuite/libgomp.c++/pr24455-1.C: New test. 14209 * testsuite/libgomp.c++/pr24455.C: New test. 14210 * testsuite/libgomp.dg/pr24455-1.c: New test. 14211 * testsuite/libgomp.dg/pr24455.c: New test. 14212 142132005-10-20 Richard Henderson <rth@redhat.com> 14214 14215 * testsuite/libgomp.c++/loop-6.C: New. 14216 * testsuite/libgomp.dg/loop-3.c: New. 14217 142182005-10-20 Jakub Jelinek <jakub@redhat.com> 14219 14220 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j 14221 explicitly private. 14222 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i 14223 explicitly shared. 14224 142252005-10-19 Diego Novillo <dnovillo@redhat.com> 14226 14227 * testsuite/libgomp.fortran/jacobi.f: New test. 14228 142292005-10-19 Richard Henderson <rth@redhat.com> 14230 14231 * configure.tgt (i?86-linux): Default to with_arch instead of 14232 CFLAGS. Add -mtune to match target_cpu. 14233 (x86_64-linux): Tune to i686. 14234 14235 * fortran.c (omp_test_nest_lock_): Fix typo. 14236 142372005-10-19 Jakub Jelinek <jakub@redhat.com> 14238 14239 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next, 14240 gomp_ordered_sync): Do nothing if team->nthreads == 1. 14241 * testsuite/libgomp.dg/ordered-3.c: New test. 14242 14243 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort. 14244 Remove volatile keyword. 14245 14246 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables 14247 in COMMON block to avoid warnings on 64-bit targets. 14248 142492005-10-18 Diego Novillo <dnovillo@redhat.com> 14250 14251 * testsuite/libgomp.dg/shared-3.c: New test. 14252 142532005-10-18 Jakub Jelinek <jakub@redhat.com> 14254 14255 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed. 14256 * testsuite/libgomp.fortran/reduction5.f90: New test. 14257 142582005-10-18 Jakub Jelinek <jakub@redhat.com> 14259 14260 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to 14261 dg-options. 14262 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable 14263 flush loop now that __sync_synchronize has proper memory barrier. 14264 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo. 14265 Add -ffixed-form to dg-options. 14266 142672005-10-17 Diego Novillo <dnovillo@redhat.com> 14268 14269 * testsuite/libgomp.fortran/fortran.exp: Also gather tests 14270 from subdirectories. 14271 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test. 14272 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test. 14273 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test. 14274 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test. 14275 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test. 14276 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test. 14277 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test. 14278 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test. 14279 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test. 14280 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test. 14281 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test. 14282 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test. 14283 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test. 14284 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test. 14285 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test. 14286 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test. 14287 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test. 14288 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test. 14289 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test. 14290 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test. 14291 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test. 14292 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test. 14293 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test. 14294 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test. 14295 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test. 14296 142972005-10-17 Jakub Jelinek <jakub@redhat.com> 14298 14299 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if 14300 lang_library_path exists. Use find instead of glob to gather tests. 14301 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed. 14302 143032005-10-17 Diego Novillo <dnovillo@redhat.com> 14304 14305 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test. 14306 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test. 14307 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test. 14308 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test. 14309 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test. 14310 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test. 14311 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test. 14312 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test. 14313 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test. 14314 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test. 14315 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test. 14316 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test. 14317 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file. 14318 143192005-10-15 Jakub Jelinek <jakub@redhat.com> 14320 14321 * testsuite/libgomp.dg/vla-1.c: New test. 14322 14323 * testsuite/libgomp.fortran/reference2.f90: New test. 14324 14325 * testsuite/libgomp.fortran/character2.f90: Remove explicit 14326 declaration of omp_get_thread_num. 14327 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add 14328 use omp_lib. 14329 14330 * testsuite/libgomp.fortran/reduction1.f90: New test. 14331 * testsuite/libgomp.fortran/reduction2.f90: New test. 14332 * testsuite/libgomp.fortran/reduction3.f90: New test. 14333 * testsuite/libgomp.fortran/reduction4.f90: New test. 14334 143352005-10-13 Richard Henderson <rth@redhat.com> 14336 14337 * Makefile.am (libgomp_la_SOURCES): Add bar.c. 14338 * Makefile.in: Regenerate. 14339 * barrier.c (GOMP_barrier): Use gomp_barrier_wait. 14340 * libgomp.h: Include bar.h. 14341 (struct gomp_barrier): Remove. 14342 (struct gomp_team): Add barrier. Replace master_barrier with 14343 master_release. Replace threads with ordered_release. 14344 (struct gomp_thread): Replace barrier with release. 14345 * ordered.c (gomp_ordered_first): Update for ordered_release change. 14346 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init, 14347 gomp_ordered_static_next, gomp_ordered_sync): Likewise. 14348 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait. 14349 (GOMP_single_copy_end): Likewise. 14350 * team.c (gomp_threads_dock): New. 14351 (gomp_barrier_init, gomp_barrier_destroy): Remove. 14352 (gomp_thread_start): Use gomp_barrier_wait. 14353 (new_team, free_team): Update for gomp_team changes. 14354 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit. 14355 (gomp_team_end): Use gomp_barrier_wait. 14356 (initialize_team): Update for gomp_thread changes. 14357 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start. 14358 (gomp_work_share_end_nowait): Use atomic ops when available. 14359 * config/linux/bar.c, config/linux/bar.h: New files. 14360 * config/posix/bar.c, config/posix/bar.h: New files. 14361 143622005-10-13 Jakub Jelinek <jakub@redhat.com> 14363 14364 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL. 14365 * testsuite/libgomp.dg/single-2.c: New test. 14366 14367 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file, 14368 lang_link_flags): Unset, so that they aren't inherited from previously 14369 sourced *.exp. 14370 14371 * testsuite/libgomp.fortran/threadprivate1.f90: New test. 14372 143732005-10-12 Richard Henderson <rth@redhat.com> 14374 14375 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel. 14376 (libgomp_init): Use lang_test_file, lang_library_path, and 14377 lang_link_flags, set by the subdirectory files. Add -fopenmp here. 14378 14379 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New. 14380 (lang_test_file, lang_link_flags): New. 14381 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove. 14382 14383 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C, 14384 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C, 14385 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C, 14386 testsuite/libgomp.c++/parallel-1.C, 14387 testsuite/libgomp.c++/reduction-1.C, 14388 testsuite/libgomp.c++/reduction-2.C, 14389 testsuite/libgomp.c++/reduction-3.C, 14390 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C, 14391 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C, 14392 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C: 14393 New files, largely cribbed from the C testsuite. 14394 143952005-10-12 Jakub Jelinek <jakub@redhat.com> 14396 14397 * testsuite/libgomp.fortran/character1.f90: New test. 14398 * testsuite/libgomp.fortran/character2.f90: New test. 14399 14400 * testsuite/libgomp.dg/nested-1.c: New test. 14401 * testsuite/libgomp.dg/nested-2.c: New test. 14402 * testsuite/libgomp.fortran/do1.f90: New test. 14403 * testsuite/libgomp.fortran/do2.f90: New test. 14404 14405 * testsuite/libgomp.fortran/reference1.f90: New test. 14406 144072005-10-11 Jakub Jelinek <jakub@redhat.com> 14408 14409 * testsuite/libgomp.dg/reduction-1.c: New test. 14410 * testsuite/libgomp.dg/reduction-2.c: New test. 14411 * testsuite/libgomp.dg/reduction-3.c: New test. 14412 144132005-10-10 Jakub Jelinek <jakub@redhat.com> 14414 14415 * testsuite/libgomp.dg/atomic-1.c: New test. 14416 * testsuite/libgomp.dg/atomic-2.c: New test. 14417 144182005-10-09 Richard Henderson <rth@redhat.com> 14419 14420 * critical.c (atomic_lock): New. 14421 (initialize_critical): Initialize it. 14422 (GOMP_atomic_start, GOMP_atomic_end): New. 14423 * libgomp.map: Export them. 14424 * libgomp_g.h: Declare them. 14425 14426 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite. 14427 144282005-10-02 Richard Henderson <rth@redhat.com> 14429 14430 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror 14431 to XCFLAGS instead of CFLAGS. 14432 144332005-09-30 Richard Henderson <rth@redhat.com> 14434 14435 * configure.ac: Determine whether -pthread or -lpthread is needed. 14436 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread. 14437 * Makefile.in, configure: Rebuild. 14438 144392005-09-28 Richard Henderson <rth@redhat.com> 14440 14441 * testsuite/libgomp.dg/omp-loop03.c: Fix return code. 14442 * testsuite/libgomp.dg/omp-single-3.c: New test. 14443 144442005-09-28 Diego Novillo <dnovillo@redhat.com> 14445 14446 * testsuite/libgomp.dg/omp-single-2.c: New test. 14447 * testsuite/libgomp.dg/shared-2.c: Fix return code. 14448 144492005-09-27 Richard Henderson <rth@redhat.com> 14450 14451 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier. 14452 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule. 14453 144542005-09-27 Jakub Jelinek <jakub@redhat.com> 14455 14456 * testsuite/libgomp.dg/omp-loop03.c: New test. 14457 144582005-09-27 Diego Novillo <dnovillo@redhat.com> 14459 14460 * testsuite/libgomp.dg/omp-parallel-for.c: New test. 14461 144622005-09-27 Diego Novillo <dnovillo@redhat.com> 14463 14464 * testsuite/libgomp.dg/omp-single-1.c: New test. 14465 * testsuite/libgomp.dg/shared-1.c: Return 0. 14466 Add prototype for abort. 14467 * testsuite/libgomp.dg/shared-2.c: Likewise. 14468 144692005-09-26 Jakub Jelinek <jakub@redhat.com> 14470 14471 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming 14472 constructs. 14473 144742005-09-26 Diego Novillo <dnovillo@redhat.com> 14475 14476 * testsuite/libgomp.dg/shared-1.c: New test. 14477 * testsuite/libgomp.dg/shared-2.c: New test. 14478 144792005-09-24 Richard Henderson <rth@redhat.com> 14480 14481 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error. 14482 144832005-09-24 Richard Henderson <rth@redhat.com> 14484 14485 * iter.c (gomp_iter_static_next): Round up when computing number 14486 of iterations. Don't bother distributing a remainder equally. 14487 14488 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main. 14489 Don't call srand. Zero b before testing. 14490 (main): New. 14491 144922005-09-24 Jakub Jelinek <jakub@redhat.com> 14493 14494 * testsuite/libgomp.fortran/omp_atomic1.f90: New test. 14495 * testsuite/libgomp.fortran/omp_atomic2.f90: New test. 14496 144972005-09-23 Jakub Jelinek <jakub@redhat.com> 14498 14499 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do 14500 without !$omp end do, followed immediately by subroutine end. 14501 145022005-09-23 Diego Novillo <dnovillo@redhat.com> 14503 14504 * testsuite/libgomp.dg/omp-parallel-if.c: New test. 14505 145062005-09-22 Richard Henderson <rth@redhat.com> 14507 14508 * critical.c (GOMP_critical_name_start): Change argument to void**. 14509 Reuse the pointer space if the mutex fits. 14510 (GOMP_critical_name_end): Likewise. 14511 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0. 14512 * libgomp_g.h (GOMP_critical_name_start): Update decl. 14513 (GOMP_critical_name_end): Likewise. 14514 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New. 14515 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New. 14516 145172005-09-20 Richard Henderson <rth@redhat.com> 14518 14519 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New. 14520 (create_lock_lock): New. 14521 (initialize_critical): Initialize it. 14522 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New. 14523 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare. 14524 145252005-09-20 Diego Novillo <dnovillo@redhat.com> 14526 14527 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h. 14528 145292005-09-20 Diego Novillo <dnovillo@redhat.com> 14530 14531 * testsuite/libgomp.dg/omp-loop01.c: New test. 14532 * testsuite/libgomp.dg/omp-loop02.c: New test. 14533 145342005-09-20 Jakub Jelinek <jakub@redhat.com> 14535 14536 * configure.ac (AC_PROG_FC): Add. 14537 (USE_FORTRAN): New automake conditional. 14538 * configure: Rebuilt. 14539 * Makefile.am (libgomp_la_SOURCES): Add fortran.c. 14540 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h. 14541 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod. 14542 Add rules to build them. 14543 * Makefile.in: Rebuilt. 14544 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and 14545 OMP_NEST_LOCK_KIND. 14546 * libgomp.map: Add Fortran wrappers. 14547 * libgomp_f.h.in: New file. 14548 * omp_lib.h.in: New file. 14549 * omp_lib.f90.in: New file. 14550 * fortran.c: New file. 14551 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files. 14552 Append libgfortran directory to LD_LIBRARY_PATH if it exists. 14553 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if 14554 libgfortran has been built. 14555 * testsuite/libgomp.fortran/fortran.exp: New file. 14556 * testsuite/libgomp.fortran/omp_cond1.f: New test. 14557 * testsuite/libgomp.fortran/omp_cond2.f: New test. 14558 * testsuite/libgomp.fortran/omp_cond3.F90: New test. 14559 * testsuite/libgomp.fortran/omp_cond4.F90: New test. 14560 * testsuite/libgomp.fortran/omp_hello.f: New test. 14561 * testsuite/libgomp.fortran/omp_orphan.f: New test. 14562 * testsuite/libgomp.fortran/omp_parse1.f90: New test. 14563 * testsuite/libgomp.fortran/omp_parse2.f90: New test. 14564 * testsuite/libgomp.fortran/omp_parse3.f90: New test. 14565 * testsuite/libgomp.fortran/omp_parse4.f90: New test. 14566 * testsuite/libgomp.fortran/omp_reduction.f: New test. 14567 * testsuite/libgomp.fortran/omp_workshare1.f: New test. 14568 * testsuite/libgomp.fortran/omp_workshare2.f: New test. 14569 145702005-08-30 Richard Henderson <rth@redhat.com> 14571 14572 * loop.c (GOMP_loop_static_start): Provide fallback wrapper 14573 function for when aliases are not usable. 14574 (GOMP_loop_dynamic_start, GOMP_loop_guided_start, 14575 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start, 14576 GOMP_loop_ordered_guided_start, GOMP_loop_static_next, 14577 GOMP_loop_dynamic_next, GOMP_loop_guided_next, 14578 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next, 14579 GOMP_loop_ordered_guided_next): Likewise. 14580 * ordered.c (GOMP_ordered_start): Likewise. 14581 145822005-08-01 Diego Novillo <dnovillo@redhat.com> 14583 14584 * testsuite/libgomp.dg/dg.exp: Use -O2 for now. 14585 * testsuite/libgomp.dg/omp_hello.c: Fix return code 14586 * testsuite/libgomp.dg/omp_matvec.c: Likewise. 14587 * testsuite/libgomp.dg/omp_orphan.c: Likewise 14588 * testsuite/libgomp.dg/omp_reduction.c: Likewise 14589 * testsuite/libgomp.dg/omp_workshare1.c: Likewise 14590 * testsuite/libgomp.dg/omp_workshare2.c: Likewise 14591 * testsuite/libgomp.dg/omp_workshare3.c: Likewise 14592 * testsuite/libgomp.dg/omp_workshare4.c: Likewise 14593 145942005-07-07 Eric Christopher <echristo@redhat.com> 14595 Diego Novillo <dnovillo@redhat.com> 14596 14597 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS. 14598 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix 14599 up code. 14600 * testsuite/libgomp.dg/omp_matvec.c: Ditto. 14601 * testsuite/libgomp.dg/omp_orphan.c: Ditto. 14602 * testsuite/libgomp.dg/omp_reduction.c: Ditto. 14603 * testsuite/libgomp.dg/omp_workshare1.c: Ditto. 14604 * testsuite/libgomp.dg/omp_workshare2.c: Ditto. 14605 * testsuite/libgomp.dg/omp_workshare3.c: Ditto. 14606 * testsuite/libgomp.dg/omp_workshare4.c: Ditto. 14607 146082005-06-13 Diego Novillo <dnovillo@redhat.com> 14609 14610 * TOPLEVEL.patch: Remove. 14611 146122005-05-16 Richard Henderson <rth@redhat.com> 14613 14614 * configure.ac: Test for clock_gettime. 14615 * config.h.in, configure: Rebuild. 14616 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern. 14617 (omp_get_wtime): Use clock_gettime if available. 14618 (omp_get_wtick): Use clock_getres if available. 14619 146202005-05-11 Richard Henderson <rth@redhat.com> 14621 14622 * config/linux/ia64/futex.h: New file. 14623 * configure.tgt: Use it. 14624 14625 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline. 14626 146272005-05-07 Richard Henderson <rth@redhat.com> 14628 14629 * config/linux/powerpc/futex.h: New file. 14630 * configure.tgt: Use it. 14631 14632 * config/linux/i486/futex.h: Merge ... 14633 * config/linux/x86_64/futex.h: ... into ... 14634 * config/linux/x86/futex.h: ... here. 14635 * configure.tgt: Update to match. 14636 146372005-05-06 Richard Henderson <rth@redhat.com> 14638 14639 * config/linux/alpha/futex.h: Conditionally define SYS_futex. 14640 * config/linux/i486/futex.h: Likewise. 14641 * config/linux/x86_64/futex.h: Likewise. 14642 14643 * config/linux/lock.c: New file. 14644 * config/linux/omp-lock.h: New file. 14645 14646 * critical.c, env.h: Don't include omp.h 14647 * config/posix/lock.c: Include libgomp.h instead of omp.h. 14648 * config/posix/time.c: Likewise. 14649 * config/posix/omp-lock.h: New file. 14650 * libgomp.h: Include omp-lock.h and omp.h. 14651 * Makefile.am (nodist_include_HEADERS): New. 14652 (omp.h): New rule. 14653 * configure.ac (PERL): New. 14654 * mkomp_h.pl: New file. 14655 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t 14656 with templates. 14657 * Makefile.in, configure, testsuite/Makefile.in: Rebuild. 14658 14659 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into 14660 build directory. Re-add -march=i486 hack. 14661 14662 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove. 14663 (libgomp_link_flags): Remove. 14664 (libgomp_initialized): Remove. 14665 (libgomp_init): Don't protect from reinitialization. Copy code 14666 from libstdc++ for getting the multilib set correctly. 14667 146682005-05-05 Richard Henderson <rth@redhat.com> 14669 14670 * config/linux/alpha/futex.h: New file. 14671 * configure.tgt (alpha*-*-linux*): Use it. 14672 14673 * config/posix/mutex.c: New file. 14674 * config/posix/sem.c: Use libgomp.h. 14675 14676 * configure.tgt (x86_64-linux): Also test CC for -m32. 14677 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage. 14678 14679 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add / 14680 after $gccpath. 14681 14682 * Makefile.am (SUBDIRS): New. 14683 (libgomp_la_LDFLAGS): Add -lpthread. 14684 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies. 14685 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild. 14686 14687 * libgomp_g.h: New file. 14688 * libgomp.h: Split out all public declarations to libgomp_g.h. 14689 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN. 14690 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN. 14691 * config/linux/sem.h: Likewise. 14692 * config/posix/sem.h: Likewise. 14693 14694 * Makefile.am (AM_LDFLAGS): New. 14695 (libgomp_version_script): Split out from ... 14696 (libgomp_la_LDFLAGS): ... here. 14697 (libgomp_version_info): New. 14698 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE. 14699 (LIBGOMP_ENABLE): New. 14700 (LIBGOMP_CHECK_LINKER_FEATURES): New. 14701 (LIBGOMP_ENABLE_SYMVERS): New. 14702 * configure.ac (AC_INIT): Version 1.0. 14703 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE. 14704 (enable-linux-futex): Likewise. Rename from enable-futex. 14705 (libtool_VERSION): New. 14706 (LIBGOMP_ENABLE_SYMVERS): Use it. 14707 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations. 14708 * Makefile.in, aclocal.m4, configure: Rebuild. 14709 14710 * config/linux/mutex.c: Include libgomp.h instead of mutex.h. 14711 (gomp_mutex_unlock_slow): Fix typo. 14712 * config/linux/sem.c: Similarly. 14713 (gomp_sem_post_slow): Fix typo. 14714 * config/linux/sem.h (gomp_sem_post_slow): Fix typo. 14715 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code. 14716 [__PIC__] (sys_futex0): Don't use tmp output in asm. 14717 14718 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS. 14719 (libgomp_la_LDFLAGS): Add top_srcdir to path. 14720 * acinclude.m4: Copy libtool.m4 stuff from libgfortran. 14721 * configure.ac: Check for getloadavg. Substitute XCFLAGS and 14722 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS. 14723 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and 14724 LDFLAGS. Pull enable_futex check to top-level. 14725 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN. 14726 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate. 14727 14728 First attempt at real configury. 14729 * Makefile, config.h: Remove file. 14730 * Makefile.am, Makefile.in: New file. 14731 * acinclude.m4 aclocal.m4: New file. 14732 * configure.ac, configure.tgt, configure: New file. 14733 14734 * config/posix/lock.c: Rename from sys-lock.c. 14735 * config/posix/mutex.h: Rename from sys-mutex.h. 14736 * config/posix/sem.c: Rename from sys-sem.c. 14737 * config/posix/sem.h: Rename from sys-sem.h. 14738 * config/posix/proc.c: Rename from sys-proc.c. 14739 * config/posix/time.c: Rename from sys-proc.c. 14740 14741 * config/linux/mutex.c: New file. 14742 * config/linux/mutex.h: New file. 14743 * config/linux/sem.c: New file. 14744 * config/linux/sem.h: New file. 14745 * config/linux/i486/futex.h: New file. 14746 * config/linux/x86_64/futex.h: New file. 14747 147482005-05-04 Richard Henderson <rth@redhat.com> 14749 14750 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New. 14751 * libgomp.h: Declare them. 14752 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start, 14753 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them. 14754 147552005-05-04 Richard Henderson <rth@redhat.com> 14756 14757 * libgomp-1 code drop 14758 147592005-05-04 Richard Henderson <rth@redhat.com> 14760 14761 * iter.c (gomp_iter_static_next): Return tri-state on 0. 14762 * ordered.c (gomp_ordered_static_next): Remove not_last argument. 14763 * libgomp.h (struct gomp_team_state): Make static_trip unsigned. 14764 (gomp_iter_static_next): Update. 14765 (gomp_ordered_static_next): Update. 14766 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next. 14767 (gomp_loop_ordered_static_start): Likewise. Exit early for a 14768 totally empty range. 14769 (gomp_loop_ordered_static_next): Refine test for calling 14770 gomp_ordered_static_next. 14771 * testsuite/ordered-1.c: Add case for more threads than iterations. 14772 14773 * iter.c (gomp_iter_runtime_next_locked): Remove. 14774 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start, 14775 gomp_loop_guided_start, gomp_loop_ordered_static_start, 14776 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start, 14777 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next, 14778 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next, 14779 gomp_loop_ordered_guided_next): Downcase name, make static, add 14780 an external alias with the old name. 14781 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start, 14782 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a 14783 switch and call one of the above static functions. 14784 * libgomp.h: Update. 14785 14786 * work.c (gomp_work_share_start): Lock the mutex for !first too. 14787 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start, 14788 GOMP_loop_guided_start, GOMP_loop_runtime_start, 14789 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start, 14790 GOMP_loop_ordered_guided_start): Update to match. 14791 * sections.c (GOMP_sections_start): Likewise. 14792 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise. 14793 14794 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next, 14795 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//. 14796 Use bounds check instead of modulus. 14797 (gomp_ordered_sync): Split out of GOMP_ordered_start. 14798 (gomp_ordered_last): Don't sync with ordered_owner here. 14799 (gomp_ordered_next): Likewise. 14800 (gomp_ordered_static_loop_next): Likewise. 14801 * loop.c, libgomp.h: Update to match. 14802 14803 * libgomp.h (GOMP_barrier): Declare. 14804 14805 * testsuite/barrier-1.c: New file. 14806 * testsuite/critical-1.c: New file. 14807 * testsuite/ordered-2.c: New file. 14808 * testsuite/ordered-1.c: New file. 14809 * testsuite/sections-1.c: New file. 14810 * testsuite/single-1.c: New file. 14811 * testsuite/Makefile (TESTS): Add them. 14812 148132005-05-04 Richard Henderson <rth@redhat.com> 14814 14815 * libgomp.h (struct gomp_work_share): Add ordered_owner. 14816 * loop.c (GOMP_loop_static_start): If not the startup thread, 14817 acquire the mutex to wait for initialization complete. 14818 (GOMP_loop_ordered_static_start): Likewise. 14819 (GOMP_loop_ordered_runtime_start): Likewise. 14820 (GOMP_loop_ordered_static_first): Remove. 14821 (GOMP_loop_ordered_dynamic_first): Remove. 14822 (GOMP_loop_ordered_guided_first): Remove. 14823 (GOMP_loop_ordered_runtime_first): Remove. 14824 * ordered.c (gomp_ordered_loop_first): Post to own release when 14825 we're the first thread. 14826 (gomp_ordered_loop_last): Wait on release if not owner. 14827 (gomp_ordered_loop_next): Likewise. 14828 (gomp_ordered_static_loop_init): New. 14829 (gomp_ordered_static_loop_next): Use ordered_owner. 14830 (GOMP_ordered_start): Likewise. 14831 * work.c (gomp_new_work_share): Initialize ordered_owner. 14832 148332005-05-03 Richard Henderson <rth@redhat.com> 14834 14835 * Makefile (OPT): New. 14836 (CFLAGS): Use it. 14837 14838 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New. 14839 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New. 14840 * libgomp.h, libgomp.map, NOTES: Update to match. 14841 14842 * team.c (struct gomp_thread_start_data): Remove ts, fn, data. 14843 Add initialized and thr members. 14844 (gomp_thread_start): Pause when initially spawned to wait for 14845 the whole team to be created. 14846 (gomp_team_start): Release team members at the end. 14847 14848 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100. 14849 (f_foo_1): Use GOMP_loop_end. 14850 (f_foo_2): Use GOMP_loop_end_nowait. 14851 14852 * testsuite/loop-2.c: New file. 14853 * testsuite/Makefile (TESTS): Add it. 14854 148552005-05-03 Richard Henderson <rth@redhat.com> 14856 14857 * iter.c (gomp_iter_static_next): Fix overflow check typo. 14858 (gomp_iter_dynamic_next_locked): Fix overflow check thinko. 14859 * team.c (new_team): Initialize oldest_live_gen to 1 if no 14860 initial work_share. 14861 14862 * testsuite/Makefile: New file. 14863 * testsuite/loop-1.c: New file. 14864 148652005-05-03 Richard Henderson <rth@redhat.com> 14866 14867 Initial implementation and checkin. 14868 14869Copyright (C) 2005-2021 Free Software Foundation, Inc. 14870 14871Copying and distribution of this file, with or without modification, 14872are permitted in any medium without royalty provided the copyright 14873notice and this notice are preserved. 14874