12020-03-12 Release Manager 2 3 * GCC 9.3.0 released. 4 52020-02-13 Jakub Jelinek <jakub@redhat.com> 6 7 Backported from mainline 8 2020-02-06 Jakub Jelinek <jakub@redhat.com> 9 10 PR libgomp/93515 11 * testsuite/libgomp.c-c++-common/pr93515.c: New test. 12 132020-01-22 Jakub Jelinek <jakub@redhat.com> 14 15 Backported from mainline 16 2020-01-10 Jakub Jelinek <jakub@redhat.com> 17 18 PR libgomp/93219 19 * libgomp.h (gomp_print_string): Change return type from void to int. 20 * affinity-fmt.c (gomp_print_string): Likewise. Return true if 21 not all characters have been written. 22 23 2019-12-31 Ayush Mittal <ayush.m@samsung.com> 24 25 PR libgomp/93065 26 * oacc-init.c (goacc_runtime_deinitialize): New function. 27 282019-12-20 Jakub Jelinek <jakub@redhat.com> 29 30 Backported from mainline 31 2019-12-11 Jakub Jelinek <jakub@redhat.com> 32 33 PR fortran/92899 34 * testsuite/libgomp.fortran/atomic1.f90: New test. 35 36 2019-11-29 Jakub Jelinek <jakub@redhat.com> 37 38 PR c++/60228 39 * testsuite/libgomp.c++/udr-20.C: New test. 40 * testsuite/libgomp.c++/udr-21.C: New test. 41 422019-12-11 Thomas Schwinge <thomas@codesourcery.com> 43 Julian Brown <julian@codesourcery.com> 44 45 * target.c (gomp_load_image_to_device, omp_target_associate_ptr): 46 Initialize 'dynamic_refcount' whenever we initialize 'refcount'. 47 482019-12-11 Tobias Burnus <tobias@codesourcery.com> 49 50 Backported from mainline 51 2019-12-11 Tobias Burnus <tobias@codesourcery.com> 52 53 * omp_lib.h.in: Fix spelling of function declaration 54 omp_get_cancell(l)ation. 55 562019-08-13 Thomas Koenig <tkoenig@gcc.gnu.org> 57 58 Backport from trunk 59 PR fortran/91422 60 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array 61 dimension. 62 632019-08-12 Release Manager 64 65 * GCC 9.2.0 released. 66 672019-08-01 Jakub Jelinek <jakub@redhat.com> 68 69 Backported from mainline 70 2019-07-31 Jakub Jelinek <jakub@redhat.com> 71 72 PR middle-end/91301 73 * testsuite/libgomp.c++/for-27.C: New test. 74 752019-06-11 Jakub Jelinek <jakub@redhat.com> 76 77 PR target/90811 78 * testsuite/libgomp.c/pr90811.c: New test. 79 802019-06-05 Jakub Jelinek <jakub@redhat.com> 81 82 Backported from mainline 83 2019-05-27 Jakub Jelinek <jakub@redhat.com> 84 85 PR libgomp/90641 86 * work.c (gomp_init_work_share): Instead of aligning final ordered 87 value to multiples of long long alignment, align to that the 88 first part (ordered team ids) and if inline_ordered_team_ids 89 is not on a long long alignment boundary within the structure, 90 use __alignof__ (long long) - 1 pad size always. 91 * loop.c (GOMP_loop_start): Fix *mem computation if 92 inline_ordered_team_ids is not aligned on long long alignment boundary 93 within the structure. 94 * loop-ull.c (GOMP_loop_ull_start): Likewise. 95 * sections.c (GOMP_sections2_start): Likewise. 96 97 2019-05-24 Jakub Jelinek <jakub@redhat.com> 98 99 PR libgomp/90585 100 * plugin/plugin-hsa.c (print_kernel_dispatch, run_kernel): Use PRIu64 101 macro instead of "lu". 102 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t 103 before casting to void *. 104 1052019-05-20 Jakub Jelinek <jakub@redhat.com> 106 107 PR libgomp/90527 108 * alloc.c (_GNU_SOURCE): Define. 109 1102019-05-07 Thomas Schwinge <thomas@codesourcery.com> 111 112 PR target/87835 113 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update. 114 1152019-05-03 Release Manager 116 117 * GCC 9.1.0 released. 118 1192019-03-27 Kevin Buettner <kevinb@redhat.com> 120 121 * team.c (gomp_team_start): Initialize pool->threads[0]. 122 1232019-02-22 Thomas Schwinge <thomas@codesourcery.com> 124 125 * testsuite/libgomp.oacc-c++/c++.exp: Specify 126 "-foffload=$offload_target". 127 * testsuite/libgomp.oacc-c/c.exp: Likewise. 128 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 129 * testsuite/lib/libgomp.exp 130 (check_effective_target_openacc_nvidia_accel_configured): Remove, 131 as (conceptually) merged into 132 check_effective_target_openacc_nvidia_accel_selected. Adjust all 133 users. 134 135 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets. 136 * testsuite/libgomp-test-support.exp.in: Adjust. 137 * testsuite/lib/libgomp.exp: Likewise. Don't populate 138 openacc_device_types_s. 139 (offload_target_to_openacc_device_type): New proc. 140 * testsuite/libgomp.oacc-c++/c++.exp: Adjust. 141 * testsuite/libgomp.oacc-c/c.exp: Likewise. 142 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 143 * Makefile.in: Regenerate. 144 * configure: Likewise. 145 * testsuite/Makefile.in: Likewise. 146 147 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins 148 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS 149 instead of OFFLOAD_TARGETS. 150 * target.c (gomp_target_init): Adjust. 151 * testsuite/libgomp-test-support.exp.in: Likewise. 152 * testsuite/lib/libgomp.exp: Likewise. Populate 153 openacc_device_types_s instead of offload_targets_s_openacc. 154 (check_effective_target_openacc_nvidia_accel_selected) 155 (check_effective_target_openacc_host_selected): Adjust. 156 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. 157 * testsuite/libgomp.oacc-c/c.exp: Likewise. 158 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 159 * Makefile.in: Regenerate. 160 * config.h.in: Likewise. 161 * configure: Likewise. 162 * testsuite/Makefile.in: Likewise. 163 164 * testsuite/lib/libgomp.exp: Error out for unknown offload target. 165 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if 166 "offloading: supported, but hardware not accessible". 167 * testsuite/libgomp.oacc-c/c.exp: Likewise. 168 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 169 1702019-02-19 Chung-Lin Tang <cltang@codesourcery.com> 171 172 PR c/87924 173 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to 174 goacc_wait(). 175 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call 176 and related adjustment. 177 1782019-01-30 Jakub Jelinek <jakub@redhat.com> 179 180 PR c++/88988 181 * testsuite/libgomp.c++/pr88988.C: New test. 182 1832019-01-28 Jakub Jelinek <jakub@redhat.com> 184 185 PR middle-end/89002 186 * testsuite/libgomp.c/pr89002.c: New test. 187 1882019-01-28 Richard Biener <rguenther@suse.de> 189 190 PR testsuite/89064 191 PR tree-optimization/86865 192 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL. 193 1942019-01-24 Tom de Vries <tdevries@suse.de> 195 196 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices 197 once instantiated_devices drops to 0. 198 1992019-01-23 Tom de Vries <tdevries@suse.de> 200 201 PR target/PR88946 202 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for 203 cuMemFree. 204 (nvptx_exec): Don't call map_push if mapnum == 0. 205 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test. 206 2072019-01-23 Tom de Vries <tdevries@suse.de> 208 209 PR target/88941 210 PR target/88939 211 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case. 212 (map_fini): Remove "assert (!s->map->active)". 213 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test. 214 2152019-01-23 Tom de Vries <tdevries@suse.de> 216 217 PR target/87835 218 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element. 219 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test. 220 2212019-01-15 Tom de Vries <tdevries@suse.de> 222 223 PR target/80547 224 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c: 225 New test. 226 2272019-01-12 Tom de Vries <tdevries@suse.de> 228 229 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test. 230 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test. 231 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test. 232 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test. 233 2342019-01-12 Tom de Vries <tdevries@suse.de> 235 236 * plugin/plugin-nvptx.c (nvptx_exec): Update error message. 237 2382019-01-12 Tom de Vries <tdevries@suse.de> 239 240 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test. 241 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test. 242 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test. 243 2442019-01-12 Tom de Vries <tdevries@suse.de> 245 246 PR target/85486 247 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test. 248 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test. 249 2502019-01-12 Tom de Vries <tdevries@suse.de> 251 252 PR target/85381 253 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test. 254 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test. 255 2562019-01-12 Tom de Vries <tdevries@suse.de> 257 258 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test. 259 * testsuite/libgomp.oacc-fortran/gemm.f90: New test. 260 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test. 261 2622019-01-12 Tom de Vries <tdevries@suse.de> 263 264 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test. 265 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test. 266 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test. 267 2682019-01-12 Tom de Vries <tdevries@suse.de> 269 270 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware 271 resources diagnostic. 272 2732019-01-12 Tom de Vries <tdevries@suse.de> 274 275 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect 276 vector length to be 128. 277 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector 278 length 2097152 to be reduced to 1024 instead of 32. 279 2802019-01-11 Thomas Schwinge <thomas@codesourcery.com> 281 James Norris <jnorris@codesourcery.com> 282 283 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime 284 Library Routines", and "Environment Variables". 285 2862019-01-11 Tom de Vries <tdevries@suse.de> 287 288 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and 289 num_workers 16. 290 2912019-01-11 Tom de Vries <tdevries@suse.de> 292 293 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove 294 -foffload=-w. 295 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same. 296 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same. 297 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same. 298 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same. 299 3002019-01-11 Tom de Vries <tdevries@suse.de> 301 302 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New 303 test. 304 3052019-01-10 Nathan Sidwell <nathan@acm.org> 306 Julian Brown <julian@codesourcery.com> 307 308 PR lto/71959 309 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New. 310 * testsuite/libgomp.oacc-c++/pr71959.C: New. 311 3122019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de> 313 314 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy 315 and paste code. 316 3172019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de> 318 319 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c, 320 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to 321 write. 322 3232019-01-09 Tom de Vries <tdevries@suse.de> 324 325 PR target/88756 326 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use 327 #define instead of "const int". 328 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same. 329 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same. 330 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same. 331 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same. 332 3332019-01-09 Tom de Vries <tdevries@suse.de> 334 335 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least 336 one worker. 337 3382019-01-07 Tom de Vries <tdevries@suse.de> 339 340 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix 341 GOMP_OPENACC_DIM argument. 342 3432019-01-03 Tom de Vries <tdevries@suse.de> 344 345 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test. 346 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test. 347 3482019-01-01 Jakub Jelinek <jakub@redhat.com> 349 350 Update copyright years. 351 3522019-01-01 Jakub Jelinek <jakub@redhat.com> 353 354 * libgomp.texi: Bump @copying's copyright year. 355 3562018-12-28 Thomas Schwinge <thomas@codesourcery.com> 357 358 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel) 359 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update) 360 (GOACC_declare): Redefine the "device" argument to "flags". 361 3622018-12-28 Thomas Schwinge <thomas@codesourcery.com> 363 Cesar Philippidis <cesar@codesourcery.com> 364 365 * target.c (struct gomp_coalesce_chunk): New structure. 366 (struct gomp_coalesce_buf): Update the chunks member to use that 367 type. Adjust all users. 368 3692018-12-19 Tom de Vries <tdevries@suse.de> 370 371 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test. 372 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test. 373 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test. 374 3752018-12-19 Tom de Vries <tdevries@suse.de> 376 377 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp. 378 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from 379 gcc/testsuite/gcc.dg/goacc. 380 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same. 381 3822018-12-14 Thomas Schwinge <thomas@codesourcery.com> 383 Chung-Lin Tang <cltang@codesourcery.com> 384 385 * oacc-mem.c (acc_present_or_create): Remove definition and change 386 to alias of acc_create. 387 (acc_present_or_copyin): Remove definition and change to alias of 388 acc_copyin. 389 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead 390 of acc_present_or_create. 391 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove. 392 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise. 393 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise. 394 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise. 395 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise. 396 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise. 397 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise. 398 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise. 399 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise. 400 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise. 401 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise. 402 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise. 403 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise. 404 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise. 405 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise. 406 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise. 407 4082018-12-14 Thomas Schwinge <thomas@codesourcery.com> 409 410 PR libgomp/88495 411 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse 412 "identical parameters". 413 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update. 414 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove. 415 416 PR libgomp/88484 417 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0". 418 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file. 419 420 PR libgomp/88407 421 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait) 422 (nvptx_wait_async): Unseen async-argument is a no-op. 423 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update. 424 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise. 425 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise. 426 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise. 427 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise. 428 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into... 429 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update. 430 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into... 431 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update 432 433 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise. 434 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise. 435 4362018-12-14 Chung-Lin Tang <cltang@codesourcery.com> 437 438 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust. 439 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise. 440 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise. 441 4422018-12-14 Thomas Schwinge <thomas@codesourcery.com> 443 444 PR libgomp/88370 445 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream) 446 (acc_set_cuda_stream): Clarify. 447 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use 448 "async_valid_p". 449 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async == 450 acc_async_sync". 451 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file. 452 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise. 453 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update. 454 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise. 455 4562018-12-14 Tom de Vries <tdevries@suse.de> 457 458 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test. 459 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test. 460 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test. 461 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test. 462 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test. 463 4642018-12-13 Tom de Vries <tdevries@suse.de> 465 466 * affinity-fmt.c (gomp_print_string): New function, factored out of ... 467 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ... 468 * fortran.c (omp_display_affinity_): ... here. 469 * libgomp.h (gomp_print_string): Declare. 470 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c, 471 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to 472 write. 473 4742018-12-13 Jakub Jelinek <jakub@redhat.com> 475 476 PR libgomp/88460 477 * testsuite/libgomp.c++/for-24.C (results): Include it in 478 omp declare target region. 479 (main): Use map (always, tofrom: results) instead of 480 map (tofrom: results). 481 4822018-12-12 Jakub Jelinek <jakub@redhat.com> 483 484 PR fortran/88463 485 * testsuite/libgomp.fortran/pr88463-1.f90: New test. 486 * testsuite/libgomp.fortran/pr88463-2.f90: New test. 487 488 * testsuite/libgomp.c-c++-common/for-16.c: New test. 489 4902018-12-12 Andreas Schwab <schwab@suse.de> 491 492 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as 493 clobbered. 494 4952018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org> 496 497 PR fortran/88411 498 * testsuite/libgomp.fortran/async_io_8.f90: New test. 499 5002018-12-09 Thomas Schwinge <thomas@codesourcery.com> 501 Jakub Jelinek <jakub@redhat.com> 502 503 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of 504 devicep->host2dev_func. 505 5062018-12-08 Jakub Jelinek <jakub@redhat.com> 507 508 PR libgomp/87995 509 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require 510 tls_runtime effective target. 511 (t): New threadprivate variable. 512 (main): Set t in threads which execute iterations of the worksharing 513 loop. Propagate that to the task after the loop and don't abort 514 if the current taskgroup hasn't been cancelled. 515 5162018-12-02 Jakub Jelinek <jakub@redhat.com> 517 518 * testsuite/libgomp.c/task-reduction-3.c: New test. 519 520 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test. 521 5222018-11-30 Cesar Philippidis <cesar@codesourcery.com> 523 524 PR libgomp/88288 525 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs. 526 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test. 527 5282018-11-30 Thomas Schwinge <thomas@codesourcery.com> 529 530 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file. 531 5322018-10-19 Richard Biener <rguenther@suse.de> 533 534 PR tree-optimization/88182 535 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp. 536 5372018-11-26 Jakub Jelinek <jakub@redhat.com> 538 539 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu. 540 (RUNTEST): Don't define. 541 (RUNTESTDEFAULTFLAGS): Add. 542 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals. 543 (distclean-am): Depend on distclean-DEJAGNU. 544 (check-am): If -j% option is present in MFLAGS and if 545 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8. 546 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU. 547 * testsuite/Makefile.in: Regenerated. 548 5492018-11-26 Richard Biener <rguenther@suse.de> 550 551 PR tree-optimization/88182 552 * testsuite/libgomp.c++/pr88182.C: New testcase. 553 5542018-11-20 Jakub Jelinek <jakub@redhat.com> 555 556 PR bootstrap/88106 557 * config/mingw32/affinity-fmt.c: New file. 558 5592018-11-09 Jakub Jelinek <jakub@redhat.com> 560 561 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H. 562 (gomp_display_affinity): Use __builtin_choose_expr to handle 563 properly handle argument having integral, or pointer or some other 564 type. If inttypes.h is available and PRIx64 is defined, use PRIx64 565 with uint64_t type instead of %llx and unsigned long long. 566 567 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test. 568 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test. 569 5702018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 571 572 * affinity.c: Include <string.h>, <stdio.h>. 573 (gomp_display_affinity_place): Remove cpusetp. 574 * teams.c: Include <limits.h>. 575 5762018-11-08 Jakub Jelinek <jakub@redhat.com> 577 578 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add 579 in_reduction clause for s[0]. 580 581 * affinity.c (gomp_display_affinity_place): New function. 582 * affinity-fmt.c: New file. 583 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions. 584 * config/linux/affinity.c (gomp_display_affinity_place): New function. 585 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num): 586 Move these functions to ... 587 * config/nvptx/teams.c: ... here. New file. 588 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all): 589 New functions. 590 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New 591 functions. 592 * configure.ac: Check for aligned_alloc, posix_memalign, memalign 593 and _aligned_malloc. 594 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests. 595 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux. 596 * env.c (gomp_display_affinity_var, gomp_affinity_format_var, 597 gomp_affinity_format_len): New variables. 598 (parse_schedule): Parse monotonic and nonmonotonic modifiers in 599 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules. 600 (handle_omp_display_env): Display monotonic/nonmonotonic schedule 601 modifiers. Display (non-default) chunk sizes. Print 602 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT. 603 (initialize_env): Don't call pthread_attr_setdetachstate. Handle 604 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars. 605 * fortran.c: Include stdio.h and string.h. 606 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect. 607 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit. 608 (omp_set_affinity_format_, omp_get_affinity_format_, 609 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_, 610 omp_pause_resource_all_): New functions. 611 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in 612 switch. 613 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these 614 functions to ... 615 * teams.c: ... here. New file. 616 * libgomp_g.h: Include gstdint.h. 617 (GOMP_loop_nonmonotonic_runtime_start, 618 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start, 619 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next, 620 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start, 621 GOMP_parallel_loop_nonmonotonic_runtime, 622 GOMP_parallel_loop_maybe_nonmonotonic_runtime, 623 GOMP_loop_ull_nonmonotonic_runtime_start, 624 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start, 625 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next, 626 GOMP_loop_ull_maybe_nonmonotonic_runtime_next, 627 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions, 628 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register, 629 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap, 630 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start, 631 GOMP_teams_reg): Declare. 632 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless 633 gomp_aligned_alloc uses fallback implementation. 634 (gomp_aligned_alloc, gomp_aligned_free): Declare. 635 (enum gomp_schedule_type): Add GFS_MONOTONIC. 636 (struct gomp_doacross_work_share): Add extra field. 637 (struct gomp_work_share): Add task_reductions field. 638 (struct gomp_taskgroup): Add workshare and reductions fields. 639 (GOMP_NEEDS_THREAD_HANDLE): Define if needed. 640 (gomp_thread_handle): New typedef. 641 (gomp_display_affinity_place, gomp_set_affinity_format, 642 gomp_display_string, gomp_display_affinity, 643 gomp_display_affinity_thread): Declare. 644 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument. 645 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start, 646 gomp_workshare_task_reduction_register): Declare. 647 (gomp_team_start): Add taskgroup argument. 648 (gomp_pause_host): Declare. 649 (gomp_init_work_share, gomp_work_share_start): Change bool argument 650 to size_t. 651 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions. 652 * libgomp.map (GOMP_5.0): Export GOMP_loop_start, 653 GOMP_loop_ordered_start, GOMP_loop_doacross_start, 654 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start, 655 GOMP_loop_ull_doacross_start, 656 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start, 657 GOMP_loop_maybe_nonmonotonic_runtime_next, 658 GOMP_loop_maybe_nonmonotonic_runtime_start, 659 GOMP_loop_nonmonotonic_runtime_next, 660 GOMP_loop_nonmonotonic_runtime_start, 661 GOMP_loop_ull_maybe_nonmonotonic_runtime_next, 662 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, 663 GOMP_loop_ull_nonmonotonic_runtime_next, 664 GOMP_loop_ull_nonmonotonic_runtime_start, 665 GOMP_parallel_loop_maybe_nonmonotonic_runtime, 666 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions, 667 GOMP_taskgroup_reduction_register, 668 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap, 669 GOMP_teams_reg and GOMP_taskwait_depend. 670 (OMP_5.0): Export omp_pause_resource{,_all}{,_}, 671 omp_{capture,display}_affinity{,_}, and 672 omp_[gs]et_affinity_format{,_}. 673 * loop.c: Include string.h. 674 (GOMP_loop_runtime_next): Add ialias. 675 (GOMP_taskgroup_reduction_register): Add ialias_redirect. 676 (gomp_loop_static_start, gomp_loop_dynamic_start, 677 gomp_loop_guided_start, gomp_loop_ordered_static_start, 678 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start, 679 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start, 680 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start 681 or gomp_doacross_init callers. 682 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start, 683 GOMP_loop_doacross_start): New functions. 684 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start, 685 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start): 686 Mask off GFS_MONOTONIC bit. 687 (GOMP_loop_maybe_nonmonotonic_runtime_next, 688 GOMP_loop_maybe_nonmonotonic_runtime_start, 689 GOMP_loop_nonmonotonic_runtime_next, 690 GOMP_loop_nonmonotonic_runtime_start, 691 GOMP_parallel_loop_maybe_nonmonotonic_runtime, 692 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper 693 functions. 694 (gomp_parallel_loop_start): Pass NULL as taskgroup to 695 gomp_team_start. 696 * loop_ull.c: Include string.h. 697 (GOMP_loop_ull_runtime_next): Add ialias. 698 (GOMP_taskgroup_reduction_register): Add ialias_redirect. 699 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start, 700 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start, 701 gomp_loop_ull_ordered_dynamic_start, 702 gomp_loop_ull_ordered_guided_start, 703 gomp_loop_ull_doacross_static_start, 704 gomp_loop_ull_doacross_dynamic_start, 705 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start 706 and gomp_doacross_ull_init callers. 707 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start, 708 GOMP_loop_ull_doacross_start): New functions. 709 (GOMP_loop_ull_runtime_start, 710 GOMP_loop_ull_ordered_runtime_start, 711 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit. 712 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next, 713 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, 714 GOMP_loop_ull_nonmonotonic_runtime_next, 715 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise. 716 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c. 717 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic. 718 (omp_pause_resource_t, omp_depend_t): New typedefs. 719 (enum omp_lock_hint_t): Renamed to ... 720 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_* 721 enumerators using numbers and omp_lock_hint_* as their aliases. 722 (omp_lock_hint_t): New typedef. Rename to ... 723 (omp_sync_hint_t): ... this. 724 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use 725 omp_sync_hint_t instead of omp_lock_hint_t. 726 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format, 727 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity): 728 Declare. 729 (omp_target_is_present, omp_target_disassociate_ptr): 730 Change first argument from void * to const void *. 731 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument 732 from void * to const void *. 733 (omp_target_associate_ptr): Change first and second arguments from 734 void * to const void *. 735 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft, 736 omp_pause_hard): New parameters. 737 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format, 738 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity): 739 New interfaces. 740 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft, 741 omp_pause_hard): New parameters. 742 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format, 743 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity): 744 New externals. 745 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add 746 EXTRA argument. If not needed to prepare array, if extra is 0, 747 clear ws->doacross, otherwise allocate just doacross structure and 748 extra payload. If array is needed, allocate also extra payload. 749 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post, 750 GOMP_doacross_ull_wait): Handle doacross->array == NULL like 751 doacross == NULL. 752 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to 753 gomp_team_start. 754 (GOMP_parallel): Likewise. Formatting fix. 755 (GOMP_parallel_reductions): New function. 756 (GOMP_cancellation_point): If taskgroup has workshare 757 flag set, check cancelled of prev taskgroup if any. 758 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled 759 on prev taskgroup if any. 760 * sections.c: Include string.h. 761 (GOMP_taskgroup_reduction_register): Add ialias_redirect. 762 (GOMP_sections_start): Adjust gomp_work_share_start caller. 763 (GOMP_sections2_start): New function. 764 (GOMP_parallel_sections_start, GOMP_parallel_sections): 765 Pass NULL as taskgroup to gomp_team_start. 766 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust 767 gomp_work_share_start callers. 768 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data): 769 If taskgroup has workshare flag set, check cancelled on prev 770 taskgroup if any. Guard all cancellation tests with 771 gomp_cancel_var test. 772 (omp_target_is_present, omp_target_disassociate_ptr): 773 Change ptr argument from void * to const void *. 774 (omp_target_memcpy): Change src argument from void * to const void *. 775 (omp_target_memcpy_rect): Likewise. 776 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts 777 instead of char * where needed. 778 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments 779 from void * to const void *. 780 (omp_pause_resource, omp_pause_resource_all): New functions. 781 * task.c (gomp_task_handle_depend): Handle new depend array format 782 in addition to the old. Handle mutexinoutset kinds the same as 783 inout for now, handle unspecified kinds. 784 (gomp_create_target_task): If taskgroup has workshare flag set, check 785 cancelled on prev taskgroup if any. Guard all cancellation tests with 786 gomp_cancel_var test. Handle new depend array format count in 787 addition to the old. 788 (GOMP_task): Likewise. Adjust function comment. 789 (gomp_task_run_pre): If taskgroup has workshare flag set, check 790 cancelled on prev taskgroup if any. Guard all cancellation tests with 791 gomp_cancel_var test. 792 (GOMP_taskwait_depend): New function. 793 (gomp_task_maybe_wait_for_dependencies): Handle new depend array 794 format in addition to the old. Handle mutexinoutset kinds the same as 795 inout for now, handle unspecified kinds. Fix a function comment typo. 796 (gomp_taskgroup_init): New function. 797 (GOMP_taskgroup_start): Use it. 798 (gomp_reduction_register, gomp_create_artificial_team, 799 GOMP_taskgroup_reduction_register, 800 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap, 801 gomp_parallel_reduction_register, 802 gomp_workshare_task_reduction_register, 803 gomp_workshare_taskgroup_start, 804 GOMP_workshare_task_reduction_unregister): New functions. 805 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set, 806 check cancelled on prev taskgroup if any. Guard all cancellation 807 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag 808 by calling GOMP_taskgroup_reduction_register. 809 * team.c (gomp_thread_attr): Remove comment. 810 (struct gomp_thread_start_data): Add handle field. 811 (gomp_thread_start): Call pthread_detach. 812 (gomp_new_team): Adjust gomp_init_work_share caller. 813 (gomp_free_pool_helper): Call pthread_detach. 814 (gomp_team_start): Add taskgroup argument, initialize implicit 815 tasks' taskgroup field to that. Don't call 816 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var. 817 (gomp_team_end): Determine nesting by thr->ts.level != 0 818 rather than thr->ts.team != NULL. 819 (gomp_pause_pool_helper, gomp_pause_host): New functions. 820 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of 821 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined. 822 (gomp_init_work_share): Change ORDERED argument from bool to size_t, 823 if more than 1 allocate also extra payload at the end of array. Never 824 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead. 825 (gomp_work_share_start): Change ORDERED argument from bool to size_t, 826 return true instead of ws. 827 * Makefile.in: Regenerated. 828 * configure: Regenerated. 829 * config.h.in: Regenerated. 830 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier 831 in some cases. 832 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test. 833 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test. 834 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test. 835 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test. 836 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test. 837 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test. 838 * testsuite/libgomp.c-c++-common/depobj-1.c: New test. 839 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test. 840 * testsuite/libgomp.c-c++-common/for-10.c: New test. 841 * testsuite/libgomp.c-c++-common/for-11.c: New test. 842 * testsuite/libgomp.c-c++-common/for-12.c: New test. 843 * testsuite/libgomp.c-c++-common/for-13.c: New test. 844 * testsuite/libgomp.c-c++-common/for-14.c: New test. 845 * testsuite/libgomp.c-c++-common/for-15.c: New test. 846 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined, 847 define a different N(test), don't define N(f0) to N(f14), but instead 848 define N(f20) to N(f34) using != comparisons. 849 * testsuite/libgomp.c-c++-common/for-7.c: New test. 850 * testsuite/libgomp.c-c++-common/for-8.c: New test. 851 * testsuite/libgomp.c-c++-common/for-9.c: New test. 852 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test. 853 * testsuite/libgomp.c-c++-common/pause-1.c: New test. 854 * testsuite/libgomp.c-c++-common/pause-2.c: New test. 855 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test. 856 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test. 857 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test. 858 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test. 859 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test. 860 * testsuite/libgomp.c-c++-common/simd-1.c: New test. 861 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test. 862 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test. 863 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test. 864 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test. 865 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test. 866 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test. 867 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test. 868 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test. 869 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test. 870 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test. 871 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test. 872 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test. 873 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test. 874 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test. 875 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test. 876 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test. 877 * testsuite/libgomp.c++/depend-1.C: New test. 878 * testsuite/libgomp.c++/depend-iterator-1.C: New test. 879 * testsuite/libgomp.c++/depobj-1.C: New test. 880 * testsuite/libgomp.c++/for-16.C: New test. 881 * testsuite/libgomp.c++/for-21.C: New test. 882 * testsuite/libgomp.c++/for-22.C: New test. 883 * testsuite/libgomp.c++/for-23.C: New test. 884 * testsuite/libgomp.c++/for-24.C: New test. 885 * testsuite/libgomp.c++/for-25.C: New test. 886 * testsuite/libgomp.c++/for-26.C: New test. 887 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test. 888 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test. 889 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test. 890 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test. 891 * testsuite/libgomp.c++/task-reduction-10.C: New test. 892 * testsuite/libgomp.c++/task-reduction-11.C: New test. 893 * testsuite/libgomp.c++/task-reduction-12.C: New test. 894 * testsuite/libgomp.c++/task-reduction-13.C: New test. 895 * testsuite/libgomp.c++/task-reduction-14.C: New test. 896 * testsuite/libgomp.c++/task-reduction-15.C: New test. 897 * testsuite/libgomp.c++/task-reduction-16.C: New test. 898 * testsuite/libgomp.c++/task-reduction-17.C: New test. 899 * testsuite/libgomp.c++/task-reduction-18.C: New test. 900 * testsuite/libgomp.c++/task-reduction-19.C: New test. 901 * testsuite/libgomp.c/task-reduction-1.c: New test. 902 * testsuite/libgomp.c++/task-reduction-1.C: New test. 903 * testsuite/libgomp.c/task-reduction-2.c: New test. 904 * testsuite/libgomp.c++/task-reduction-2.C: New test. 905 * testsuite/libgomp.c++/task-reduction-3.C: New test. 906 * testsuite/libgomp.c++/task-reduction-4.C: New test. 907 * testsuite/libgomp.c++/task-reduction-5.C: New test. 908 * testsuite/libgomp.c++/task-reduction-6.C: New test. 909 * testsuite/libgomp.c++/task-reduction-7.C: New test. 910 * testsuite/libgomp.c++/task-reduction-8.C: New test. 911 * testsuite/libgomp.c++/task-reduction-9.C: New test. 912 * testsuite/libgomp.c/teams-1.c: New test. 913 * testsuite/libgomp.c/teams-2.c: New test. 914 * testsuite/libgomp.c/thread-limit-4.c: New test. 915 * testsuite/libgomp.c/thread-limit-5.c: New test. 916 * testsuite/libgomp.fortran/display-affinity-1.f90: New test. 917 9182018-11-06 Chung-Lin Tang <cltang@codesourcery.com> 919 920 * oacc-mem.c (memcpy_tofrom_device): New function, combined from 921 acc_memcpy_to/from_device functions, now with async parameter. 922 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device. 923 (acc_memcpy_from_device): Likewise. 924 (acc_memcpy_to_device_async): New API function. 925 (acc_memcpy_from_device_async): Likewise. 926 (present_create_copy): Add async parameter and async setting/unsetting. 927 (acc_create): Adjust present_create_copy call. 928 (acc_copyin): Likewise. 929 (acc_present_or_create): Likewise. 930 (acc_present_or_copyin): Likewise. 931 (acc_create_async): New API function. 932 (acc_copyin_async): New API function. 933 (delete_copyout): Add async parameter and async setting/unsetting. 934 (acc_delete): Adjust delete_copyout call. 935 (acc_copyout): Likewise. 936 (acc_delete_async): New API function. 937 (acc_copyout_async): Likewise. 938 (update_dev_host): Add async parameter and async setting/unsetting. 939 (acc_update_device): Adjust update_dev_host call. 940 (acc_update_self): Likewise. 941 (acc_update_device_async): New API function. 942 (acc_update_self_async): Likewise. 943 * openacc.h (acc_copyin_async): Declare new API function. 944 (acc_create_async): Likewise. 945 (acc_copyout_async): Likewise. 946 (acc_delete_async): Likewise. 947 (acc_update_device_async): Likewise. 948 (acc_update_self_async): Likewise. 949 (acc_memcpy_to_device_async): Likewise. 950 (acc_memcpy_from_device_async): Likewise. 951 * openacc_lib.h (acc_copyin_async_32_h): New subroutine. 952 (acc_copyin_async_64_h): New subroutine. 953 (acc_copyin_async_array_h): New subroutine. 954 (acc_create_async_32_h): New subroutine. 955 (acc_create_async_64_h): New subroutine. 956 (acc_create_async_array_h): New subroutine. 957 (acc_copyout_async_32_h): New subroutine. 958 (acc_copyout_async_64_h): New subroutine. 959 (acc_copyout_async_array_h): New subroutine. 960 (acc_delete_async_32_h): New subroutine. 961 (acc_delete_async_64_h): New subroutine. 962 (acc_delete_async_array_h): New subroutine. 963 (acc_update_device_async_32_h): New subroutine. 964 (acc_update_device_async_64_h): New subroutine. 965 (acc_update_device_async_array_h): New subroutine. 966 (acc_update_self_async_32_h): New subroutine. 967 (acc_update_self_async_64_h): New subroutine. 968 (acc_update_self_async_array_h): New subroutine. 969 * openacc.f90 (acc_copyin_async_32_h): New subroutine. 970 (acc_copyin_async_64_h): New subroutine. 971 (acc_copyin_async_array_h): New subroutine. 972 (acc_create_async_32_h): New subroutine. 973 (acc_create_async_64_h): New subroutine. 974 (acc_create_async_array_h): New subroutine. 975 (acc_copyout_async_32_h): New subroutine. 976 (acc_copyout_async_64_h): New subroutine. 977 (acc_copyout_async_array_h): New subroutine. 978 (acc_delete_async_32_h): New subroutine. 979 (acc_delete_async_64_h): New subroutine. 980 (acc_delete_async_array_h): New subroutine. 981 (acc_update_device_async_32_h): New subroutine. 982 (acc_update_device_async_64_h): New subroutine. 983 (acc_update_device_async_array_h): New subroutine. 984 (acc_update_self_async_32_h): New subroutine. 985 (acc_update_self_async_64_h): New subroutine. 986 (acc_update_self_async_array_h): New subroutine. 987 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*, 988 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*, 989 acc_delete_finalize_async*, acc_memcpy_from_device_async*, 990 acc_memcpy_to_device_async*, acc_update_device_async*, and 991 acc_update_self_async* entries. 992 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test. 993 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test. 994 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test. 995 9962018-10-31 Joseph Myers <joseph@codesourcery.com> 997 998 PR bootstrap/82856 999 * Makefile.am: Include multilib.am 1000 (AUTOMAKE_OPTIONS): Add info-in-builddir. 1001 (CLEANFILES): Remove libgomp.info. 1002 * configure.ac: Remove AC_PREREQ. 1003 * testsuite/Makefile.am (RUNTEST): Remove quotes. 1004 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: 1005 Regenerate. 1006 10072018-10-29 Joseph Myers <joseph@codesourcery.com> 1008 Julian Brown <julian@codesourcery.com> 1009 1010 * testsuite/libgomp.oacc-c++/this.C: New. 1011 10122018-09-18 Cesar Philippidis <cesar@codesourcery.com> 1013 1014 * plugin/plugin-nvptx.c (struct cuda_map): New. 1015 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev, 1016 h_tail with (cuda_map *) map. 1017 (cuda_map_create): New function. 1018 (cuda_map_destroy): New function. 1019 (map_init): Update to use a linked list of cuda_map objects. 1020 (map_fini): Likewise. 1021 (map_pop): Likewise. 1022 (map_push): Likewise. Return CUdeviceptr instead of void. 1023 (init_streams_for_device): Remove stales references to ptx_stream 1024 members. 1025 (select_stream_for_async): Likewise. 1026 (nvptx_exec): Update call to map_init. 1027 10282018-09-09 Cesar Philippidis <cesar@codesourcery.com> 1029 Julian Brown <julian@codesourcery.com> 1030 1031 PR middle-end/86336 1032 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL. 1033 10342018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org> 1035 Thomas Koenig <tkoenig@gcc.gnu.org> 1036 1037 PR fortran/25829 1038 * testsuite/libgomp.fortran/async_io_1.f90: New test. 1039 * testsuite/libgomp.fortran/async_io_2.f90: New test. 1040 * testsuite/libgomp.fortran/async_io_3.f90: New test. 1041 * testsuite/libgomp.fortran/async_io_4.f90: New test. 1042 * testsuite/libgomp.fortran/async_io_5.f90: New test. 1043 * testsuite/libgomp.fortran/async_io_6.f90: New test. 1044 * testsuite/libgomp.fortran/async_io_7.f90: New test. 1045 10462018-08-13 Cesar Philippidis <cesar@codesourcery.com> 1047 Tom de Vries <tdevries@suse.de> 1048 1049 PR target/85590 1050 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef. 1051 (cuOccupancyMaxPotentialBlockSize): Declare. 1052 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New 1053 CUDA_ONE_CALL_MAYBE_NULL. 1054 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define 1055 CUoccupancyB2DSize and declare 1056 cuOccupancyMaxPotentialBlockSize. 1057 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the 1058 default num_gangs and num_workers when the driver supports it. 1059 10602018-08-08 Tom de Vries <tdevries@suse.de> 1061 1062 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using 1063 CUDA_ONE_CALL_MAYBE_NULL. 1064 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare. 1065 (cuLinkAddData_v2, cuLinkCreate_v2): Declare. 1066 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions 1067 are not found. 1068 10692018-08-08 Tom de Vries <tdevries@suse.de> 1070 1071 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL. 1072 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not 1073 present. 1074 10752018-08-08 Tom de Vries <tdevries@suse.de> 1076 1077 * plugin/plugin-nvptx.c 1078 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define. 1079 (nvptx_open_device): Use 1080 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR. 1081 10822018-08-08 Tom de Vries <tdevries@suse.de> 1083 1084 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ... 1085 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000. 1086 10872018-08-07 Tom de Vries <tdevries@suse.de> 1088 1089 * plugin/plugin-nvptx.c (DO_PRAGMA): Define. 1090 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL. 1091 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to 1092 corresponding call in CUDA_ONE_CALL. Add def/undef of 1093 CUDA_ONE_CALL_MAYBE_NULL. 1094 (CUDA_CALL_EXISTS): Define. 1095 10962018-08-07 Tom de Vries <tdevries@suse.de> 1097 1098 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put 1099 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the 1100 corresponding undefs right after. 1101 11022018-08-04 Tom de Vries <tdevries@suse.de> 1103 1104 * plugin/configfrag.ac: For --without-cuda-driver, set 1105 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle 1106 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no. 1107 * configure: Regenerate. 1108 11092018-08-02 Tom de Vries <tdevries@suse.de> 1110 1111 PR target/86660 1112 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions. 1113 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same. 1114 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C: 1115 Same. 1116 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same. 1117 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same. 1118 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same. 1119 11202018-08-01 Cesar Philippidis <cesar@codesourcery.com> 1121 Thomas Schwinge <thomas@codesourcery.com> 1122 1123 * config/nvptx/oacc-parallel.c: Truncate. 1124 11252018-08-01 Cesar Philippidis <cesar@codesourcery.com> 1126 James Norris <jnorris@codesourcery.com> 1127 1128 * plugin/plugin-nvptx.c (struct map): Removed. 1129 (map_init, map_pop): Remove use of struct map. 1130 (map_push): Likewise and change argument list. 1131 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New 1132 11332018-08-01 Tom de Vries <tdevries@suse.de> 1134 1135 * plugin/cuda-lib.def: New file. Factor out of ... 1136 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here. 1137 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of 1138 using CUDA_CALLS. 1139 11402018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com> 1141 1142 Revert 'AsyncI/O patch committed'. 1143 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org> 1144 Thomas Koenig <tkoenig@gcc.gnu.org> 1145 1146 PR fortran/25829 1147 * testsuite/libgomp.fortran/async_io_1.f90: New test. 1148 * testsuite/libgomp.fortran/async_io_2.f90: New test. 1149 * testsuite/libgomp.fortran/async_io_3.f90: New test. 1150 * testsuite/libgomp.fortran/async_io_4.f90: New test. 1151 * testsuite/libgomp.fortran/async_io_5.f90: New test. 1152 * testsuite/libgomp.fortran/async_io_6.f90: New test. 1153 * testsuite/libgomp.fortran/async_io_7.f90: New test. 1154 11552018-07-30 Tom de Vries <tdevries@suse.de> 1156 1157 * plugin/plugin-nvptx.c (MIN, MAX): Redefine. 1158 (nvptx_exec): Ensure worker and vector default dims don't exceed 1159 targ_fn->max_threads_per_block. 1160 11612018-07-30 Tom de Vries <tdevries@suse.de> 1162 1163 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field. 1164 (nvptx_open_device): Init default_dims for device. 1165 (nvptx_exec): Use default_dims from device. 1166 11672018-07-26 Jakub Jelinek <jakub@redhat.com> 1168 1169 PR testsuite/86660 1170 * testsuite/libgomp.c++/for-15.C (results): Include it in 1171 omp declare target region. 1172 (main): Use map (always, tofrom: results) instead of 1173 map (tofrom: results). 1174 1175 PR middle-end/86660 1176 * testsuite/libgomp.c/pr86660.c: New test. 1177 11782018-07-26 Cesar Philippidis <cesar@codesourcery.com> 1179 Tom de Vries <tdevries@suse.de> 1180 1181 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have 1182 sufficient resources to launch a kernel, and give a hint on how to fix 1183 it. 1184 11852018-07-26 Cesar Philippidis <cesar@codesourcery.com> 1186 Tom de Vries <tdevries@suse.de> 1187 1188 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size, 1189 max_threads_per_block and max_threads_per_multiprocessor fields. 1190 (nvptx_open_device): Initialize new fields. 1191 (nvptx_exec): Use num_sms, and new fields. 1192 11932018-07-26 Tom de Vries <tdevries@suse.de> 1194 1195 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls 1196 to correct locations. Remove xfail. 1197 11982018-07-26 Tom de Vries <tdevries@suse.de> 1199 1200 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with 1201 acc_wait. Move acc_async_test calls to correct locations. Remove 1202 xfail. 1203 12042018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org> 1205 Thomas Koenig <tkoenig@gcc.gnu.org> 1206 1207 PR fortran/25829 1208 * testsuite/libgomp.fortran/async_io_1.f90: New test. 1209 * testsuite/libgomp.fortran/async_io_2.f90: New test. 1210 * testsuite/libgomp.fortran/async_io_3.f90: New test. 1211 * testsuite/libgomp.fortran/async_io_4.f90: New test. 1212 * testsuite/libgomp.fortran/async_io_5.f90: New test. 1213 * testsuite/libgomp.fortran/async_io_6.f90: New test. 1214 * testsuite/libgomp.fortran/async_io_7.f90: New test. 1215 12162018-07-17 Jakub Jelinek <jakub@redhat.com> 1217 1218 PR middle-end/86542 1219 * testsuite/libgomp.c++/pr86542.C: New test. 1220 1221 PR middle-end/86539 1222 * testsuite/libgomp.c++/pr86539.C: New test. 1223 12242018-07-11 Jakub Jelinek <jakub@redhat.com> 1225 1226 PR c++/86443 1227 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable. 1228 (results): Make sure the variable is not inside declare target region. 1229 (qux): Remove unused function. 1230 12312018-07-10 Jakub Jelinek <jakub@redhat.com> 1232 1233 PR c++/86443 1234 * testsuite/libgomp.c++/for-15.C: New test. 1235 12362018-06-26 Jakub Jelinek <jakub@redhat.com> 1237 1238 PR c++/86291 1239 * testsuite/libgomp.c++/pr86291.C: New test. 1240 12412018-06-24 Gerald Pfeifer <gerald@pfeifer.com> 1242 1243 * libgomp.texi (Top): Move www.openmp.org to https. 1244 (Enabling OpenMP): Ditto. 1245 (omp_get_active_level): Ditto. 1246 (omp_get_ancestor_thread_num): Ditto. 1247 (omp_get_cancellation): Ditto. 1248 (omp_get_default_device): Ditto. 1249 (omp_get_dynamic): Ditto. 1250 (omp_get_level): Ditto. 1251 (omp_get_max_active_levels): Ditto. 1252 (omp_get_max_task_priority): Ditto. 1253 (omp_get_max_threads): Ditto. 1254 (omp_get_nested): Ditto. 1255 (omp_get_num_devices): Ditto. 1256 (omp_get_num_procs): Ditto. 1257 (omp_get_num_teams): Ditto. 1258 (omp_get_num_threads): Ditto. 1259 (omp_get_proc_bind): Ditto. 1260 (omp_get_schedule): Ditto. 1261 (omp_get_team_num): Ditto. 1262 (omp_get_team_size): Ditto. 1263 (omp_get_thread_limit): Ditto. 1264 (omp_get_thread_num): Ditto. 1265 (omp_in_parallel): Ditto. 1266 (omp_in_final): Ditto. 1267 (omp_is_initial_device): Ditto. 1268 (omp_set_default_device): Ditto. 1269 (omp_set_dynamic): Ditto. 1270 (omp_set_max_active_levels): Ditto. 1271 (omp_set_nested): Ditto. 1272 (omp_set_num_threads): Ditto. 1273 (omp_set_schedule): Ditto. 1274 (omp_init_lock): Ditto. 1275 (omp_set_lock): Ditto. 1276 (omp_test_lock): Ditto. 1277 (omp_unset_lock): Ditto. 1278 (omp_destroy_lock): Ditto. 1279 (omp_init_nest_lock): Ditto. 1280 (omp_set_nest_lock): Ditto. 1281 (omp_test_nest_lock): Ditto. 1282 (omp_unset_nest_lock): Ditto. 1283 (omp_destroy_nest_lock): Ditto. 1284 (omp_get_wtick): Ditto. 1285 (omp_get_wtime): Ditto. 1286 (OMP_CANCELLATION): Ditto. 1287 (OMP_DISPLAY_ENV): Ditto. 1288 (OMP_DEFAULT_DEVICE): Ditto. 1289 (OMP_DYNAMIC): Ditto. 1290 (OMP_MAX_ACTIVE_LEVELS): Ditto. 1291 (OMP_MAX_TASK_PRIORITY): Ditto. 1292 (OMP_NESTED): Ditto. 1293 (OMP_NUM_THREADS): Ditto. 1294 (OMP_PROC_BIND): Ditto. 1295 (OMP_PLACES): Ditto. 1296 (OMP_STACKSIZE): Ditto. 1297 (OMP_SCHEDULE): Ditto. 1298 (OMP_THREAD_LIMIT): Ditto. 1299 (OMP_WAIT_POLICY): Ditto. 1300 13012018-06-22 Cesar Philippidis <cesar@codesourcery.com> 1302 James Norris <jnorris@codesourcery.com> 1303 Julian Brown <julian@codesourcery.com> 1304 Thomas Schwinge <thomas@codesourcery.com> 1305 Tom de Vries <tom@codesourcery.com> 1306 1307 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2". 1308 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update. 1309 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise. 1310 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise. 1311 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise. 1312 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise. 1313 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file. 1314 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise. 1315 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise. 1316 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: 1317 Likewise. 1318 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c: 1319 Likewise. 1320 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c: 1321 Likewise. 1322 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: 1323 Likewise. 1324 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: 1325 Likewise. 1326 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c: 1327 Likewise. 1328 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c: 1329 Likewise. 1330 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c: 1331 Likewise. 1332 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c: 1333 Likewise. 1334 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c: 1335 Likewise. 1336 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c: 1337 Likewise. 1338 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c: 1339 Likewise. 1340 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c: 1341 Likewise. 1342 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c: 1343 Likewise. 1344 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c: 1345 Likewise. 1346 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c: 1347 Likewise. 1348 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c: 1349 Likewise. 1350 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c: 1351 Likewise. 1352 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c: 1353 Likewise. 1354 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c: 1355 Likewise. 1356 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c: 1357 Likewise. 1358 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c: 1359 Likewise. 1360 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c: 1361 Likewise. 1362 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c: 1363 Likewise. 1364 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c: 1365 Likewise. 1366 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c: 1367 Likewise. 1368 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c: 1369 Likewise. 1370 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise. 1371 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise. 1372 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise. 1373 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise. 1374 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise. 1375 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise. 1376 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise. 1377 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise. 1378 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90: 1379 Likewise. 1380 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90: 1381 Likewise. 1382 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise. 1383 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise. 1384 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: 1385 Likewise. 1386 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise. 1387 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise. 1388 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95: 1389 Likewise. 1390 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90: 1391 Likewise. 1392 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90: 1393 Likewise. 1394 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90: 1395 Likewise. 1396 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90: 1397 Likewise. 1398 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90: 1399 Likewise. 1400 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90: 1401 Likewise. 1402 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90: 1403 Likewise. 1404 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90: 1405 Likewise. 1406 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90: 1407 Likewise. 1408 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90: 1409 Likewise. 1410 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90: 1411 Likewise. 1412 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90: 1413 Likewise. 1414 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90: 1415 Likewise. 1416 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: 1417 Likewise. 1418 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise. 1419 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise. 1420 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise. 1421 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise. 1422 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise. 1423 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise. 1424 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise. 1425 14262018-06-20 Chung-Lin Tang <cltang@codesourcery.com> 1427 Thomas Schwinge <thomas@codesourcery.com> 1428 Cesar Philippidis <cesar@codesourcery.com> 1429 1430 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member. 1431 (gomp_acc_remove_pointer): Update declaration. 1432 (gomp_acc_declare_allocate): Declare. 1433 (gomp_remove_var): Declare. 1434 * libgomp.map (OACC_2.5): Define. 1435 * oacc-mem.c (acc_map_data): Update refcount. 1436 (acc_unmap_data): Likewise. 1437 (present_create_copy): Likewise. 1438 (acc_create): Add FLAG_PRESENT when calling present_create_copy. 1439 (acc_copyin): Likewise. 1440 (FLAG_FINALIZE): Define. 1441 (delete_copyout): Update dynamic refcounts, add support for FINALIZE. 1442 (acc_delete_finalize): New function. 1443 (acc_delete_finalize_async): New function. 1444 (acc_copyout_finalize): New function. 1445 (acc_copyout_finalize_async): New function. 1446 (gomp_acc_insert_pointer): Update refcounts. 1447 (gomp_acc_remove_pointer): Return if data is not present on the 1448 accelerator. 1449 * oacc-parallel.c (find_pset): Rename to find_pointer. 1450 (find_pointer): Add support for GOMP_MAP_POINTER. 1451 (handle_ftn_pointers): New function. 1452 (GOACC_parallel_keyed): Update refcounts of variables. 1453 (GOACC_enter_exit_data): Add support for finalized data mappings. 1454 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling 1455 of fortran arrays. 1456 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}. 1457 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support 1458 for GOMP_MAP_FORCE_FROM. 1459 * openacc.f90 (module openacc_internal): Add 1460 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and 1461 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for 1462 acc_copyout_finalize and acc_delete_finalize. 1463 (acc_copyout_finalize_32_h): New subroutine. 1464 (acc_copyout_finalize_64_h): New subroutine. 1465 (acc_copyout_finalize_array_h): New subroutine. 1466 (acc_delete_finalize_32_h): New subroutine. 1467 (acc_delete_finalize_64_h): New subroutine. 1468 (acc_delete_finalize_array_h): New subroutine. 1469 * openacc.h (acc_copyout_finalize): Declare. 1470 (acc_copyout_finalize_async): Declare. 1471 (acc_delete_finalize): Declare. 1472 (acc_delete_finalize_async): Declare. 1473 * openacc_lib.h (acc_copyout_finalize): New interface. 1474 (acc_delete_finalize): New interface. 1475 * target.c (gomp_map_vars): Update dynamic_refcount. 1476 (gomp_remove_var): New function. 1477 (gomp_unmap_vars): Use it. 1478 (gomp_unload_image_from_device): Likewise. 1479 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test 1480 case to utilize OpenACC 2.5 data clause semantics. 1481 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise. 1482 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise. 1483 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise. 1484 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise. 1485 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise. 1486 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise. 1487 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise. 1488 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise. 1489 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise. 1490 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise. 1491 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise. 1492 * testsuite/libgomp.oacc-fortran/data-5.f90: New test. 1493 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to 1494 utilize OpenACC 2.5 data clause semantics. 1495 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise. 1496 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise. 1497 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise. 1498 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise. 1499 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise. 1500 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise. 1501 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise. 1502 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise. 1503 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise. 1504 15052018-05-21 Janus Weil <janus@gcc.gnu.org> 1506 1507 PR fortran/85841 1508 PR testsuite/85865 1509 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy". 1510 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto. 1511 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto. 1512 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto. 1513 * testsuite/libgomp.fortran/task2.f90: Ditto. 1514 * testsuite/libgomp.fortran/vla1.f90: Ditto. 1515 * testsuite/libgomp.fortran/vla2.f90: Ditto. 1516 * testsuite/libgomp.fortran/vla3.f90: Ditto. 1517 * testsuite/libgomp.fortran/vla4.f90: Ditto. 1518 * testsuite/libgomp.fortran/vla5.f90: Ditto. 1519 * testsuite/libgomp.fortran/vla6.f90: Ditto. 1520 * testsuite/libgomp.fortran/vla8.f90: Ditto. 1521 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto. 1522 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto. 1523 15242018-05-18 Cesar Philippidis <cesar@codesourcery.com> 1525 1526 PR c++/85782 1527 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test. 1528 15292018-05-09 Tom de Vries <tom@codesourcery.com> 1530 1531 PR libgomp/82901 1532 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument 1533 to GOACC_enter_exit_data. 1534 15352018-05-09 Tom de Vries <tom@codesourcery.com> 1536 1537 PR libgomp/83792 1538 * oacc-int.h (async_valid_stream_id_p, async_valid_p) 1539 (async_synchronous_p): New function. 1540 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use 1541 async_valid_p. 1542 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use 1543 async_valid_stream_id_p. 1544 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p. 1545 * oacc-parallel.c (GOACC_parallel_keyed): Same. 1546 15472018-05-07 Tom de Vries <tom@codesourcery.com> 1548 1549 PR testsuite/85677 1550 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level 1551 include directory in ALWAYS_CFLAGS out of $blddir != "" condition. 1552 15532018-05-03 Tom de Vries <tom@codesourcery.com> 1554 1555 PR testsuite/85106 1556 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to 1557 extra_tool_flags if it contains an -foffload=-fdump-* flag. 1558 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp. 1559 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump. 1560 15612018-05-02 Tom de Vries <tom@codesourcery.com> 1562 1563 PR libgomp/85411 1564 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of 1565 GOMP_OPENACC_DIM ... 1566 * env.c (parse_gomp_openacc_dim): ... here. New function. 1567 (initialize_env): Call parse_gomp_openacc_dim. 1568 (goacc_default_dims): Define. 1569 * libgomp.h (goacc_default_dims): Declare. 1570 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function. 1571 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare. 1572 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add 1573 GOMP_PLUGIN_acc_default_dim. 1574 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test. 1575 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test. 1576 15772018-05-02 Tom de Vries <tom@codesourcery.com> 1578 1579 PR testsuite/83791 1580 * testsuite/libgomp.c++/udr-9.C: Update. 1581 * testsuite/libgomp.c++/atomic-16.C: Remove. 1582 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove. 1583 * testsuite/libgomp.c++/loop-13.C: Remove. 1584 * testsuite/libgomp.c++/loop-14.C: Remove. 1585 * testsuite/libgomp.c++/loop-15.C: Remove. 1586 * testsuite/libgomp.c++/monotonic-1.C: Remove. 1587 * testsuite/libgomp.c++/monotonic-2.C: Remove. 1588 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove. 1589 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove. 1590 * testsuite/libgomp.c++/ordered-1.C: Remove. 1591 * testsuite/libgomp.c++/pr45784.C: Remove. 1592 * testsuite/libgomp.c++/pr64824.C: Remove. 1593 * testsuite/libgomp.c++/pr64868.C: Remove. 1594 * testsuite/libgomp.c++/pr66199-1.C: Remove. 1595 * testsuite/libgomp.c++/pr66199-2.C: Remove. 1596 * testsuite/libgomp.c++/pr66199-3.C: Remove. 1597 * testsuite/libgomp.c++/pr66199-4.C: Remove. 1598 * testsuite/libgomp.c++/pr66199-5.C: Remove. 1599 * testsuite/libgomp.c++/pr66199-6.C: Remove. 1600 * testsuite/libgomp.c++/pr66199-7.C: Remove. 1601 * testsuite/libgomp.c++/pr66199-8.C: Remove. 1602 * testsuite/libgomp.c++/pr66199-9.C: Remove. 1603 * testsuite/libgomp.c++/pr69389.C: Remove. 1604 * testsuite/libgomp.c++/simd10.C: Remove. 1605 * testsuite/libgomp.c++/simd11.C: Remove. 1606 * testsuite/libgomp.c++/simd12.C: Remove. 1607 * testsuite/libgomp.c++/simd13.C: Remove. 1608 * testsuite/libgomp.c++/target-1.C: Remove. 1609 * testsuite/libgomp.c++/target-3.C: Remove. 1610 * testsuite/libgomp.c++/target-4.C: Remove. 1611 * testsuite/libgomp.c++/target-5.C: Remove. 1612 * testsuite/libgomp.c++/taskgroup-1.C: Remove. 1613 * testsuite/libgomp.c++/taskloop-1.C: Remove. 1614 * testsuite/libgomp.c++/taskloop-2.C: Remove. 1615 * testsuite/libgomp.c++/taskloop-3.C: Remove. 1616 * testsuite/libgomp.c++/taskloop-4.C: Remove. 1617 * testsuite/libgomp.c++/udr-9.C: Remove. 1618 * testsuite/libgomp.c++/for-10.C: Remove. 1619 * testsuite/libgomp.c++/for-11.C: Remove. 1620 * testsuite/libgomp.c++/for-12.C: Remove. 1621 * testsuite/libgomp.c++/for-13.C: Remove. 1622 * testsuite/libgomp.c++/for-14.C: Remove. 1623 * testsuite/libgomp.c++/for-9.C: Remove. 1624 * testsuite/libgomp.c/atomic-18.c: Move ... 1625 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here. 1626 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ... 1627 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here. 1628 * testsuite/libgomp.c/loop-13.c: Move ... 1629 * testsuite/libgomp.c-c++-common/loop-13.c: ... here. 1630 * testsuite/libgomp.c/loop-14.c: Move ... 1631 * testsuite/libgomp.c-c++-common/loop-14.c: ... here. 1632 * testsuite/libgomp.c/loop-15.c: Remove. 1633 * testsuite/libgomp.c-c++-common/loop-15.c: New test. 1634 * testsuite/libgomp.c/monotonic-1.c: Move ... 1635 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here. 1636 * testsuite/libgomp.c/monotonic-2.c: Move ... 1637 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here. 1638 * testsuite/libgomp.c/nonmonotonic-1.c: Move ... 1639 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here. 1640 * testsuite/libgomp.c/nonmonotonic-2.c: Move ... 1641 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here. 1642 * testsuite/libgomp.c/ordered-4.c: Move ... 1643 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here. 1644 * testsuite/libgomp.c/pr45784.c: Move ... 1645 * testsuite/libgomp.c-c++-common/pr45784.c: ... here. 1646 * testsuite/libgomp.c/pr64824.c: Move ... 1647 * testsuite/libgomp.c-c++-common/pr64824.c: ... here. 1648 * testsuite/libgomp.c/pr64868.c: Move ... 1649 * testsuite/libgomp.c-c++-common/pr64868.c: ... here. 1650 * testsuite/libgomp.c/pr66199-1.c: Move ... 1651 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here. 1652 * testsuite/libgomp.c/pr66199-2.c: Move ... 1653 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here. 1654 * testsuite/libgomp.c/pr66199-3.c: Move ... 1655 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here. 1656 * testsuite/libgomp.c/pr66199-4.c: Move ... 1657 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here. 1658 * testsuite/libgomp.c/pr66199-5.c: Move ... 1659 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here. 1660 * testsuite/libgomp.c/pr66199-6.c: Move ... 1661 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here. 1662 * testsuite/libgomp.c/pr66199-7.c: Move ... 1663 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here. 1664 * testsuite/libgomp.c/pr66199-8.c: Move ... 1665 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here. 1666 * testsuite/libgomp.c/pr66199-9.c: Move ... 1667 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here. 1668 * testsuite/libgomp.c/pr69389.c: Move ... 1669 * testsuite/libgomp.c-c++-common/pr69389.c: ... here. 1670 * testsuite/libgomp.c/simd-14.c: Move ... 1671 * testsuite/libgomp.c-c++-common/simd-14.c: ... here. 1672 * testsuite/libgomp.c/simd-15.c: Move ... 1673 * testsuite/libgomp.c-c++-common/simd-15.c: ... here. 1674 * testsuite/libgomp.c/simd-16.c: Move ... 1675 * testsuite/libgomp.c-c++-common/simd-16.c: ... here. 1676 * testsuite/libgomp.c/simd-17.c: Move ... 1677 * testsuite/libgomp.c-c++-common/simd-17.c: ... here. 1678 * testsuite/libgomp.c/target-1.c: Move ... 1679 * testsuite/libgomp.c-c++-common/target-1.c: ... here. 1680 * testsuite/libgomp.c/target-10.c: Move ... 1681 * testsuite/libgomp.c-c++-common/target-10.c: ... here. 1682 * testsuite/libgomp.c/target-13.c: Move ... 1683 * testsuite/libgomp.c-c++-common/target-13.c: ... here. 1684 * testsuite/libgomp.c/target-2.c: Move ... 1685 * testsuite/libgomp.c-c++-common/target-2.c: ... here. 1686 * testsuite/libgomp.c/taskgroup-1.c: Move ... 1687 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here. 1688 * testsuite/libgomp.c/taskloop-1.c: Move ... 1689 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here. 1690 * testsuite/libgomp.c/taskloop-2.c: Move ... 1691 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here. 1692 * testsuite/libgomp.c/taskloop-3.c: Move ... 1693 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here. 1694 * testsuite/libgomp.c/taskloop-4.c: Move ... 1695 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here. 1696 * testsuite/libgomp.c/udr-1.c: Move ... 1697 * testsuite/libgomp.c-c++-common/udr-1.c: ... here. 1698 * testsuite/libgomp.c/for-1.c: Move ... 1699 * testsuite/libgomp.c-c++-common/for-1.c: ... here. 1700 * testsuite/libgomp.c/for-1.h: Move ... 1701 * testsuite/libgomp.c-c++-common/for-1.h: ... here. 1702 * testsuite/libgomp.c/for-2.c: Move ... 1703 * testsuite/libgomp.c-c++-common/for-2.c: ... here. 1704 * testsuite/libgomp.c/for-2.h: Move ... 1705 * testsuite/libgomp.c-c++-common/for-2.h: ... here. 1706 * testsuite/libgomp.c/for-3.c: Move ... 1707 * testsuite/libgomp.c-c++-common/for-3.c: ... here. 1708 * testsuite/libgomp.c/for-4.c: Move ... 1709 * testsuite/libgomp.c-c++-common/for-4.c: ... here. 1710 * testsuite/libgomp.c/for-5.c: Move ... 1711 * testsuite/libgomp.c-c++-common/for-5.c: ... here. 1712 * testsuite/libgomp.c/for-6.c: Move ... 1713 * testsuite/libgomp.c-c++-common/for-6.c: ... here. 1714 17152018-05-02 Tom de Vries <tom@codesourcery.com> 1716 1717 PR libgomp/82428 1718 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use 1719 __builtin_goacc_parlevel_{id,size}. 1720 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same. 1721 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same. 1722 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same. 1723 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same. 1724 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same. 1725 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same. 1726 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same. 1727 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same. 1728 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same. 1729 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same. 1730 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same. 1731 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same. 1732 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same. 1733 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same. 1734 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same. 1735 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same. 1736 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same. 1737 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same. 1738 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same. 1739 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same. 1740 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same. 1741 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same. 1742 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same. 1743 17442018-05-02 Tom de Vries <tom@codesourcery.com> 1745 1746 PR testsuite/85106 1747 * testsuite/lib/libgomp.exp: Include scanltranstree.exp. 1748 17492018-05-02 Tom de Vries <tom@codesourcery.com> 1750 1751 PR testsuite/85106 1752 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp. 1753 17542018-04-29 Julian Brown <julian@codesourcery.com> 1755 Tom de Vries <tom@codesourcery.com> 1756 1757 PR testsuite/85527 1758 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow 1759 arbitrary order for iterations of atomic subtract check. 1760 17612018-04-28 Tom de Vries <tom@codesourcery.com> 1762 1763 PR testsuite/85527 1764 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store 1765 atomic capture results obtained in parallel loop to an array, instead of 1766 to a scalar. 1767 17682018-04-26 Tom de Vries <tom@codesourcery.com> 1769 1770 PR libgomp/84020 1771 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL. 1772 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define. 1773 (process_GOMP_NVPTX_JIT): New function. 1774 (link_ptx): Use process_GOMP_NVPTX_JIT. 1775 17762018-04-26 Richard Biener <rguenther@suse.de> 1777 Tom de Vries <tom@codesourcery.com> 1778 1779 PR lto/85422 1780 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test. 1781 17822018-04-26 Tom de Vries <tom@codesourcery.com> 1783 1784 PR target/85519 1785 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce 1786 recursion depth from 25 to 23. 1787 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same. 1788 17892018-04-24 H.J. Lu <hongjiu.lu@intel.com> 1790 1791 * configure: Regenerated. 1792 17932018-04-20 Nathan Sidwell <nathan@codesourcery.com> 1794 Tom de Vries <tom@codesourcery.com> 1795 1796 PR target/85445 1797 * testsuite/libgomp.oacc-c++/ref-1.C: New. 1798 17992018-04-19 Thomas Schwinge <thomas@codesourcery.com> 1800 1801 PR libgomp/85463 1802 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file. 1803 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise. 1804 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise. 1805 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise. 1806 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise. 1807 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise. 1808 1809 PR libfortran/85166 1810 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call 1811 abort". 1812 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise. 1813 18142018-04-19 Jakub Jelinek <jakub@redhat.com> 1815 1816 * configure: Regenerated. 1817 18182018-04-18 David Malcolm <dmalcolm@redhat.com> 1819 1820 PR jit/85384 1821 * configure: Regenerate. 1822 18232018-04-16 Cesar Philippidis <cesar@codesourcery.com> 1824 Tom de Vries <tom@codesourcery.com> 1825 1826 PR middle-end/84955 1827 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test. 1828 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test. 1829 18302018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org> 1831 1832 PR fortran/83064 1833 PR testsuite/85346 1834 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified 1835 test from gfortran.dg to here. 1836 18372018-04-12 Cesar Philippidis <cesar@codesourcery.com> 1838 1839 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346. 1840 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise. 1841 18422018-04-12 Cesar Philippidis <cesar@codesourcery.com> 1843 1844 PR middle-end/84955 1845 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test. 1846 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test. 1847 18482018-04-05 Tom de Vries <tom@codesourcery.com> 1849 1850 PR target/85204 1851 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test. 1852 18532018-03-26 Tom de Vries <tom@codesourcery.com> 1854 1855 PR tree-optimization/85063 1856 * testsuite/libgomp.c/switch-conversion-2.c: New test. 1857 * testsuite/libgomp.c/switch-conversion.c: New test. 1858 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test. 1859 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test. 1860 18612018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org> 1862 1863 PR fortran/84381 1864 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard 1865 call abort by STOP n. 1866 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise. 1867 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise. 1868 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise. 1869 * testsuite/libgomp.fortran/allocatable1.f90: Likewise. 1870 * testsuite/libgomp.fortran/allocatable10.f90: Likewise. 1871 * testsuite/libgomp.fortran/allocatable11.f90: Likewise. 1872 * testsuite/libgomp.fortran/allocatable12.f90: Likewise. 1873 * testsuite/libgomp.fortran/allocatable2.f90: Likewise. 1874 * testsuite/libgomp.fortran/allocatable3.f90: Likewise. 1875 * testsuite/libgomp.fortran/allocatable4.f90: Likewise. 1876 * testsuite/libgomp.fortran/allocatable5.f90: Likewise. 1877 * testsuite/libgomp.fortran/allocatable6.f90: Likewise. 1878 * testsuite/libgomp.fortran/allocatable7.f90: Likewise. 1879 * testsuite/libgomp.fortran/allocatable8.f90: Likewise. 1880 * testsuite/libgomp.fortran/allocatable9.f90: Likewise. 1881 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. 1882 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise. 1883 * testsuite/libgomp.fortran/associate1.f90: Likewise. 1884 * testsuite/libgomp.fortran/associate2.f90: Likewise. 1885 * testsuite/libgomp.fortran/associate3.f90: Likewise. 1886 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise. 1887 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise. 1888 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise. 1889 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise. 1890 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise. 1891 * testsuite/libgomp.fortran/character1.f90: Likewise. 1892 * testsuite/libgomp.fortran/character2.f90: Likewise. 1893 * testsuite/libgomp.fortran/collapse1.f90: Likewise. 1894 * testsuite/libgomp.fortran/collapse2.f90: Likewise. 1895 * testsuite/libgomp.fortran/collapse3.f90: Likewise. 1896 * testsuite/libgomp.fortran/collapse4.f90: Likewise. 1897 * testsuite/libgomp.fortran/crayptr1.f90: Likewise. 1898 * testsuite/libgomp.fortran/crayptr2.f90: Likewise. 1899 * testsuite/libgomp.fortran/crayptr3.f90: Likewise. 1900 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise. 1901 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise. 1902 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise. 1903 * testsuite/libgomp.fortran/depend-1.f90: Likewise. 1904 * testsuite/libgomp.fortran/depend-2.f90: Likewise. 1905 * testsuite/libgomp.fortran/depend-3.f90: Likewise. 1906 * testsuite/libgomp.fortran/do1.f90: Likewise. 1907 * testsuite/libgomp.fortran/do2.f90: Likewise. 1908 * testsuite/libgomp.fortran/doacross1.f90: Likewise. 1909 * testsuite/libgomp.fortran/doacross2.f90: Likewise. 1910 * testsuite/libgomp.fortran/doacross3.f90: Likewise. 1911 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise. 1912 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise. 1913 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise. 1914 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise. 1915 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise. 1916 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise. 1917 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise. 1918 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise. 1919 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise. 1920 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise. 1921 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise. 1922 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise. 1923 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise. 1924 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise. 1925 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise. 1926 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise. 1927 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise. 1928 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise. 1929 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise. 1930 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise. 1931 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise. 1932 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise. 1933 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise. 1934 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise. 1935 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise. 1936 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise. 1937 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise. 1938 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise. 1939 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise. 1940 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise. 1941 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise. 1942 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise. 1943 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise. 1944 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise. 1945 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise. 1946 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise. 1947 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise. 1948 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise. 1949 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise. 1950 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise. 1951 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise. 1952 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise. 1953 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise. 1954 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise. 1955 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise. 1956 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise. 1957 * testsuite/libgomp.fortran/lib1.f90: Likewise. 1958 * testsuite/libgomp.fortran/lib2.f: Likewise. 1959 * testsuite/libgomp.fortran/lib3.f: Likewise. 1960 * testsuite/libgomp.fortran/lib4.f90: Likewise. 1961 * testsuite/libgomp.fortran/lock-1.f90: Likewise. 1962 * testsuite/libgomp.fortran/lock-2.f90: Likewise. 1963 * testsuite/libgomp.fortran/nested1.f90: Likewise. 1964 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise. 1965 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise. 1966 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise. 1967 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise. 1968 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise. 1969 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise. 1970 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise. 1971 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise. 1972 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise. 1973 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise. 1974 * testsuite/libgomp.fortran/omp_cond1.f: Likewise. 1975 * testsuite/libgomp.fortran/omp_cond2.f: Likewise. 1976 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise. 1977 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise. 1978 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise. 1979 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise. 1980 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise. 1981 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise. 1982 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise. 1983 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise. 1984 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise. 1985 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise. 1986 * testsuite/libgomp.fortran/pointer1.f90: Likewise. 1987 * testsuite/libgomp.fortran/pointer2.f90: Likewise. 1988 * testsuite/libgomp.fortran/pr25162.f: Likewise. 1989 * testsuite/libgomp.fortran/pr25219.f90: Likewise. 1990 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise. 1991 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise. 1992 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise. 1993 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise. 1994 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise. 1995 * testsuite/libgomp.fortran/pr28390.f: Likewise. 1996 * testsuite/libgomp.fortran/pr29629.f90: Likewise. 1997 * testsuite/libgomp.fortran/pr32550.f90: Likewise. 1998 * testsuite/libgomp.fortran/pr33880.f90: Likewise. 1999 * testsuite/libgomp.fortran/pr34020.f90: Likewise. 2000 * testsuite/libgomp.fortran/pr35130.f90: Likewise. 2001 * testsuite/libgomp.fortran/pr42162.f90: Likewise. 2002 * testsuite/libgomp.fortran/pr46753.f90: Likewise. 2003 * testsuite/libgomp.fortran/pr48894.f90: Likewise. 2004 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise. 2005 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise. 2006 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise. 2007 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise. 2008 * testsuite/libgomp.fortran/pr65597.f90: Likewise. 2009 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise. 2010 * testsuite/libgomp.fortran/pr71014.f90: Likewise. 2011 * testsuite/libgomp.fortran/pr81304.f90: Likewise. 2012 * testsuite/libgomp.fortran/pr81841.f90: Likewise. 2013 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise. 2014 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise. 2015 * testsuite/libgomp.fortran/procptr1.f90: Likewise. 2016 * testsuite/libgomp.fortran/recursion1.f90: Likewise. 2017 * testsuite/libgomp.fortran/reduction1.f90: Likewise. 2018 * testsuite/libgomp.fortran/reduction2.f90: Likewise. 2019 * testsuite/libgomp.fortran/reduction3.f90: Likewise. 2020 * testsuite/libgomp.fortran/reduction4.f90: Likewise. 2021 * testsuite/libgomp.fortran/reduction5.f90: Likewise. 2022 * testsuite/libgomp.fortran/reduction6.f90: Likewise. 2023 * testsuite/libgomp.fortran/reference1.f90: Likewise. 2024 * testsuite/libgomp.fortran/reference2.f90: Likewise. 2025 * testsuite/libgomp.fortran/retval1.f90: Likewise. 2026 * testsuite/libgomp.fortran/retval2.f90: Likewise. 2027 * testsuite/libgomp.fortran/sharing1.f90: Likewise. 2028 * testsuite/libgomp.fortran/sharing2.f90: Likewise. 2029 * testsuite/libgomp.fortran/simd1.f90: Likewise. 2030 * testsuite/libgomp.fortran/simd2.f90: Likewise. 2031 * testsuite/libgomp.fortran/simd3.f90: Likewise. 2032 * testsuite/libgomp.fortran/simd4.f90: Likewise. 2033 * testsuite/libgomp.fortran/simd5.f90: Likewise. 2034 * testsuite/libgomp.fortran/simd6.f90: Likewise. 2035 * testsuite/libgomp.fortran/simd7.f90: Likewise. 2036 * testsuite/libgomp.fortran/stack.f90: Likewise. 2037 * testsuite/libgomp.fortran/strassen.f90: Likewise. 2038 * testsuite/libgomp.fortran/tabs1.f90: Likewise. 2039 * testsuite/libgomp.fortran/tabs2.f: Likewise. 2040 * testsuite/libgomp.fortran/target1.f90: Likewise. 2041 * testsuite/libgomp.fortran/target2.f90: Likewise. 2042 * testsuite/libgomp.fortran/target3.f90: Likewise. 2043 * testsuite/libgomp.fortran/target4.f90: Likewise. 2044 * testsuite/libgomp.fortran/target5.f90: Likewise. 2045 * testsuite/libgomp.fortran/target6.f90: Likewise. 2046 * testsuite/libgomp.fortran/target7.f90: Likewise. 2047 * testsuite/libgomp.fortran/target8.f90: Likewise. 2048 * testsuite/libgomp.fortran/task1.f90: Likewise. 2049 * testsuite/libgomp.fortran/task2.f90: Likewise. 2050 * testsuite/libgomp.fortran/task3.f90: Likewise. 2051 * testsuite/libgomp.fortran/task4.f90: Likewise. 2052 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise. 2053 * testsuite/libgomp.fortran/taskloop1.f90: Likewise. 2054 * testsuite/libgomp.fortran/taskloop2.f90: Likewise. 2055 * testsuite/libgomp.fortran/taskloop3.f90: Likewise. 2056 * testsuite/libgomp.fortran/taskloop4.f90: Likewise. 2057 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. 2058 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise. 2059 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise. 2060 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise. 2061 * testsuite/libgomp.fortran/udr1.f90: Likewise. 2062 * testsuite/libgomp.fortran/udr10.f90: Likewise. 2063 * testsuite/libgomp.fortran/udr11.f90: Likewise. 2064 * testsuite/libgomp.fortran/udr12.f90: Likewise. 2065 * testsuite/libgomp.fortran/udr13.f90: Likewise. 2066 * testsuite/libgomp.fortran/udr14.f90: Likewise. 2067 * testsuite/libgomp.fortran/udr15.f90: Likewise. 2068 * testsuite/libgomp.fortran/udr2.f90: Likewise. 2069 * testsuite/libgomp.fortran/udr3.f90: Likewise. 2070 * testsuite/libgomp.fortran/udr4.f90: Likewise. 2071 * testsuite/libgomp.fortran/udr5.f90: Likewise. 2072 * testsuite/libgomp.fortran/udr6.f90: Likewise. 2073 * testsuite/libgomp.fortran/udr7.f90: Likewise. 2074 * testsuite/libgomp.fortran/udr8.f90: Likewise. 2075 * testsuite/libgomp.fortran/udr9.f90: Likewise. 2076 * testsuite/libgomp.fortran/vla1.f90: Likewise. 2077 * testsuite/libgomp.fortran/vla2.f90: Likewise. 2078 * testsuite/libgomp.fortran/vla3.f90: Likewise. 2079 * testsuite/libgomp.fortran/vla4.f90: Likewise. 2080 * testsuite/libgomp.fortran/vla5.f90: Likewise. 2081 * testsuite/libgomp.fortran/vla6.f90: Likewise. 2082 * testsuite/libgomp.fortran/vla7.f90: Likewise. 2083 * testsuite/libgomp.fortran/vla8.f90: Likewise. 2084 * testsuite/libgomp.fortran/workshare1.f90: Likewise. 2085 * testsuite/libgomp.fortran/workshare2.f90: Likewise. 2086 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise. 2087 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise. 2088 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise. 2089 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise. 2090 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise. 2091 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise. 2092 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise. 2093 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise. 2094 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise. 2095 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise. 2096 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise. 2097 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise. 2098 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise. 2099 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise. 2100 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise. 2101 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise. 2102 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise. 2103 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise. 2104 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise. 2105 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise. 2106 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise. 2107 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise. 2108 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise. 2109 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise. 2110 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise. 2111 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise. 2112 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise. 2113 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise. 2114 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise. 2115 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise. 2116 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise. 2117 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise. 2118 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise. 2119 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise. 2120 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise. 2121 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise. 2122 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise. 2123 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise. 2124 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise. 2125 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise. 2126 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise. 2127 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise. 2128 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise. 2129 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise. 2130 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise. 2131 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise. 2132 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise. 2133 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise. 2134 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise. 2135 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise. 2136 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise. 2137 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise. 2138 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise. 2139 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise. 2140 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise. 2141 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise. 2142 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise. 2143 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise. 2144 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise. 2145 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise. 2146 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise. 2147 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise. 2148 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise. 2149 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise. 2150 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise. 2151 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise. 2152 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise. 2153 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise. 2154 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise. 2155 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise. 2156 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise. 2157 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise. 2158 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise. 2159 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise. 2160 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise. 2161 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise. 2162 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise. 2163 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise. 2164 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise. 2165 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. 2166 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise. 2167 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise. 2168 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise. 2169 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise. 2170 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise. 2171 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise. 2172 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise. 2173 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise. 2174 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise. 2175 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise. 2176 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise. 2177 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise. 2178 21792018-03-20 Richard Biener <rguenther@suse.de> 2180 2181 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one 2182 parallelizable loop. 2183 21842018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com> 2185 2186 PR target/84148 2187 * configure: Regenerate. 2188 21892018-02-16 Jakub Jelinek <jakub@redhat.com> 2190 2191 PR fortran/84418 2192 * libgomp.fortran/pr84418-1.f90: New test. 2193 * libgomp.fortran/pr84418-2.f90: New test. 2194 21952018-02-14 Jakub Jelinek <jakub@redhat.com> 2196 2197 PR fortran/84313 2198 * testsuite/libgomp.fortran/threadprivate4.f90: Add 2199 -std=f2003 -fall-intrinsics into dg-additional-options. 2200 22012018-02-08 Martin Jambor <mjambor@suse.cz> 2202 2203 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target 2204 clonable. 2205 22062018-02-08 Martin Jambor <mjambor@suse.cz> 2207 2208 * testsuite/libgomp.hsa.c/staticvar.c: New test. 2209 22102018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2211 2212 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort) 2213 [__cplusplus]: Declare extern "C". 2214 22152018-02-07 Tom de Vries <tom@codesourcery.com> 2216 2217 PR libgomp/84217 2218 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test. 2219 22202018-01-29 Christoph Spiel <cspiel@freenet.de> 2221 Jakub Jelinek <jakub@redhat.com> 2222 2223 PR libgomp/84096 2224 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t 2225 instead of omp_lock_t. 2226 22272018-01-25 Tom de Vries <tom@codesourcery.com> 2228 2229 PR target/84028 2230 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test. 2231 22322018-01-24 Tom de Vries <tom@codesourcery.com> 2233 2234 PR target/83589 2235 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test. 2236 22372018-01-24 Tom de Vries <tom@codesourcery.com> 2238 2239 PR target/81352 2240 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test. 2241 22422018-01-19 Tom de Vries <tom@codesourcery.com> 2243 Cesar Philippidis <cesar@codesourcery.com> 2244 2245 PR target/83920 2246 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test. 2247 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test. 2248 22492018-01-03 Jakub Jelinek <jakub@redhat.com> 2250 2251 Update copyright years. 2252 2253 * libgomp.texi: Bump @copying's copyright year. 2254 22552017-12-30 Tom de Vries <tom@codesourcery.com> 2256 2257 PR libgomp/83046 2258 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test. 2259 * testsuite/libgomp.c-c++-common/pr83046.c: New test. 2260 22612017-12-27 Tom de Vries <tom@codesourcery.com> 2262 2263 PR c++/83046 2264 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static) 2265 (test_nonstatic): Fix return type to workaround PR83046. 2266 22672017-12-05 Jakub Jelinek <jakub@redhat.com> 2268 2269 PR testsuite/83281 2270 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use 2271 j suffix instead of i. 2272 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main): 2273 Likewise. 2274 22752017-12-01 Cesar Philippidis <cesar@codesourcery.com> 2276 2277 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing 2278 call to acc_wait (1). 2279 22802017-11-24 Jakub Jelinek <jakub@redhat.com> 2281 2282 PR fortran/81304 2283 * testsuite/libgomp.fortran/pr81304.f90: New test. 2284 22852017-11-23 Jakub Jelinek <jakub@redhat.com> 2286 2287 PR fortran/81841 2288 * libgomp.fortran/pr81841.f90: New test. 2289 22902017-11-22 Jakub Jelinek <jakub@redhat.com> 2291 2292 PR libgomp/83106 2293 * target.c (gomp_target_init): Compute lengths just once and 2294 use them in both malloc size and subsequent copying. 2295 22962017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com> 2297 2298 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS. 2299 * acinclude.m4: Add cet.m4. 2300 * configure: Regenerate. 2301 * Makefile.in: Likewise. 2302 * testsuite/Makefile.in: Likewise. 2303 23042017-11-15 Tom de Vries <tom@codesourcery.com> 2305 2306 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied 2307 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int. 2308 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied 2309 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int. 2310 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied 2311 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int. 2312 23132017-11-14 Tom de Vries <tom@codesourcery.com> 2314 2315 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for 2316 non-nvidia devices. 2317 23182017-11-07 Jakub Jelinek <jakub@redhat.com> 2319 2320 PR c++/82835 2321 * testsuite/libgomp.c++/pr82835.C: New test. 2322 23232017-11-06 Martin Liska <mliska@suse.cz> 2324 2325 * testsuite/libgomp.c++/loop-2.C: Return a value 2326 for functions with non-void return type, or change type to void, 2327 or add -Wno-return-type for test. 2328 * testsuite/libgomp.c++/loop-4.C: Likewise. 2329 * testsuite/libgomp.c++/parallel-1.C: Likewise. 2330 * testsuite/libgomp.c++/shared-1.C: Likewise. 2331 * testsuite/libgomp.c++/single-1.C: Likewise. 2332 * testsuite/libgomp.c++/single-2.C: Likewise. 2333 23342017-10-31 Tom de Vries <tom@codesourcery.com> 2335 2336 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after 2337 "do {} while (false)". 2338 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon 2339 after HSA_DEBUG call. 2340 23412017-10-28 Jakub Jelinek <jakub@redhat.com> 2342 2343 * target.c (struct gomp_coalesce_buf): New type. 2344 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define. 2345 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions. 2346 (gomp_copy_host2dev): Add CBUF argument, if copying into 2347 the cached ranges, memcpy into buffer instead of copying 2348 into device. 2349 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing): 2350 Add CBUF argument, pass it through to other calls. 2351 (gomp_map_vars): Aggregate copies from host to device if small enough 2352 and with small enough gaps in between into memcpy into a buffer and 2353 fewer host to device copies from the buffer. 2354 (gomp_update): Adjust gomp_copy_host2dev caller. 2355 23562017-10-17 Thomas Schwinge <thomas@codesourcery.com> 2357 2358 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do 2359 run" directive. 2360 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise. 2361 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise. 2362 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise. 2363 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise. 2364 23652017-10-16 Tom de Vries <tom@codesourcery.com> 2366 2367 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require 2368 openacc_nvidia_accel_selected. 2369 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same. 2370 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same. 2371 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same. 2372 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same 2373 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same. 2374 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require 2375 openacc_nvidia_accel_selected. Skip for shared memory device. 2376 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same. 2377 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same. 2378 23792017-10-09 Martin Jambor <mjambor@suse.cz> 2380 2381 PR hsa/82416 2382 * testsuite/libgomp.hsa.c/pr82416.c: New test. 2383 23842017-10-07 Tom de Vries <tom@codesourcery.com> 2385 2386 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate): 2387 Remove acc_device_nvidia references. 2388 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction): 2389 Same. 2390 23912017-10-05 Tom de Vries <tom@codesourcery.com> 2392 2393 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove 2394 vector_length(32) clause from acc parallel directive. 2395 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same. 2396 23972017-10-04 Tom de Vries <tom@codesourcery.com> 2398 2399 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c 2400 (main): Reduce sum of arr elements. Assert that hres is exactly 2401 representable in 32-bit floating point. 2402 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c 2403 (main): Reduce sum of arr elements. Assert that hres and hmres are 2404 exactly representable in 32-bit floating point. 2405 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same. 2406 24072017-09-28 Tom de Vries <tom@codesourcery.com> 2408 2409 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option 2410 setting. 2411 * testsuite/libgomp.c++/pr69393.C: Same. 2412 * testsuite/libgomp.c++/taskloop-1.C: Same. 2413 * testsuite/libgomp.c++/taskloop-3.C: Same. 2414 * testsuite/libgomp.c++/taskloop-4.C: Same. 2415 * testsuite/libgomp.c/for-4.c: Same. 2416 * testsuite/libgomp.c/pr66199-3.c: Same. 2417 * testsuite/libgomp.c/pr66199-4.c: Same. 2418 * testsuite/libgomp.c/pr66199-6.c: Same. 2419 * testsuite/libgomp.c/taskloop-1.c: Same. 2420 * testsuite/libgomp.c/taskloop-3.c: Same. 2421 * testsuite/libgomp.c/taskloop-4.c: Same. 2422 * testsuite/libgomp.fortran/aligned1.f03: Same. 2423 * testsuite/libgomp.fortran/condinc1.f: Same. 2424 * testsuite/libgomp.fortran/condinc3.f90: Same. 2425 * testsuite/libgomp.fortran/crayptr1.f90: Same. 2426 * testsuite/libgomp.fortran/crayptr2.f90: Same. 2427 * testsuite/libgomp.fortran/crayptr3.f90: Same. 2428 * testsuite/libgomp.fortran/omp_cond1.f: Same. 2429 * testsuite/libgomp.fortran/omp_cond3.F90: Same. 2430 * testsuite/libgomp.fortran/pr66199-1.f90: Same. 2431 * testsuite/libgomp.fortran/pr66199-2.f90: Same. 2432 * testsuite/libgomp.fortran/recursion1.f90: Same. 2433 * testsuite/libgomp.fortran/target2.f90: Same. 2434 * testsuite/libgomp.fortran/target5.f90: Same. 2435 * testsuite/libgomp.fortran/task3.f90: Same. 2436 24372017-09-28 Tom de Vries <tom@codesourcery.com> 2438 2439 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove 2440 vector_length(32) clause from acc parallel directive. 2441 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same. 2442 24432017-09-27 Tom de Vries <tom@codesourcery.com> 2444 2445 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main): 2446 Remove acc_device_nvidia references. 2447 24482017-09-16 Tom de Vries <tom@codesourcery.com> 2449 2450 PR c/81875 2451 * testsuite/libgomp.c-c++-common/pr81875.c: New test. 2452 24532017-09-14 Tom de Vries <tom@codesourcery.com> 2454 2455 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove. 2456 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ... 2457 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here. 2458 * testsuite/libgomp.c/c.exp: Include test-cases from 2459 libgomp.c-c++-common. 2460 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c 2461 files. 2462 24632017-09-14 Jakub Jelinek <jakub@redhat.com> 2464 2465 PR c++/81314 2466 * testsuite/libgomp.c++/pr81314.C: New test. 2467 24682017-09-03 Gerald Pfeifer <gerald@pfeifer.com> 2469 2470 * libgomp.texi (Top): www.openacc.org now uses https. 2471 (Enabling OpenACC): Ditto. 2472 (acc_get_num_devices): Ditto. 2473 (acc_set_device_type): Ditto. 2474 (acc_get_device_type): Ditto. 2475 (acc_set_device_num): Ditto. 2476 (acc_get_device_num): Ditto. 2477 (acc_async_test): Ditto. 2478 (acc_async_test_all): Ditto. 2479 (acc_wait): Ditto. 2480 (acc_wait_all): Ditto. 2481 (acc_wait_all_async): Ditto. 2482 (acc_wait_async): Ditto. 2483 (acc_init): Ditto. 2484 (acc_shutdown): Ditto. 2485 (acc_on_device): Ditto. 2486 (acc_malloc): Ditto. 2487 (acc_free): Ditto. 2488 (acc_copyin): Ditto. 2489 (acc_present_or_copyin): Ditto. 2490 (acc_create): Ditto. 2491 (acc_present_or_create): Ditto. 2492 (acc_copyout): Ditto. 2493 (acc_delete): Ditto. 2494 (acc_update_device): Ditto. 2495 (acc_update_self): Ditto. 2496 (acc_map_data): Ditto. 2497 (acc_unmap_data): Ditto. 2498 (acc_deviceptr): Ditto. 2499 (acc_hostptr): Ditto. 2500 (acc_is_present): Ditto. 2501 (acc_memcpy_to_device): Ditto. 2502 (acc_memcpy_from_device): Ditto. 2503 (acc_get_current_cuda_device): Ditto. 2504 (acc_get_current_cuda_context): Ditto. 2505 (acc_get_cuda_stream): Ditto. 2506 (acc_set_cuda_stream): Ditto. 2507 (ACC_DEVICE_TYPE): Ditto. 2508 (ACC_DEVICE_NUM): Ditto. 2509 (OpenACC Library Interoperability): Ditto. 2510 25112017-08-09 Jakub Jelinek <jakub@redhat.com> 2512 2513 PR c/81687 2514 * testsuite/libgomp.c/pr81687-1.c: New test. 2515 * testsuite/libgomp.c/pr81687-2.c: New test. 2516 25172017-08-07 Jakub Jelinek <jakub@redhat.com> 2518 2519 PR c/69389 2520 * testsuite/libgomp.c/pr69389.c: New test. 2521 * testsuite/libgomp.c++/pr69389.C: New test. 2522 25232017-08-07 Tom de Vries <tom@codesourcery.com> 2524 2525 PR middle-end/78266 2526 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test. 2527 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail. 2528 25292017-07-27 Jakub Jelinek <jakub@redhat.com> 2530 2531 PR c/45784 2532 * testsuite/libgomp.c/pr45784.c: New test. 2533 * testsuite/libgomp.c++/pr45784.C: New test. 2534 25352017-07-19 Tom de Vries <tom@codesourcery.com> 2536 2537 * testsuite/libgomp.oacc-c/vec.c: New test. 2538 25392017-07-03 Tom de Vries <tom@codesourcery.com> 2540 2541 * plugin/plugin-hsa.c: Fix secure_getenv.h include. 2542 25432017-06-27 Tom de Vries <tom@codesourcery.com> 2544 2545 * plugin/plugin-nvptx.c (notify_var): New function. 2546 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM. 2547 25482017-06-27 Tom de Vries <tom@codesourcery.com> 2549 2550 * env.c (parse_unsigned_long_1): Factor out of ... 2551 (parse_unsigned_long): ... here. 2552 (parse_int_1): Factor out of ... 2553 (parse_int): ... here. 2554 (parse_int_secure): New function. 2555 (initialize_env): Use parse_int_secure for GOMP_DEBUG. 2556 * secure_getenv.h: Factor out of ... 2557 * plugin/plugin-hsa.c: ... here. 2558 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test. 2559 25602017-06-21 Jakub Jelinek <jakub@redhat.com> 2561 2562 PR c++/81130 2563 * testsuite/libgomp.c++/pr81130.C: New test. 2564 25652017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2566 2567 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if 2568 default args. 2569 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove 2570 dg-xfail-run-if default args. 2571 25722017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de> 2573 2574 * testsuite/libgomp.c/pr39591-2.c: Fix test case. 2575 * testsuite/libgomp.c/pr39591-3.c: Likewise. 2576 25772017-05-30 Jakub Jelinek <jakub@redhat.com> 2578 2579 PR libgomp/80822 2580 * config/linux/affinity.c (gomp_affinity_init_level_1): New function. 2581 (gomp_affinity_init_level): Use it. Always analyze the core and thread 2582 sibling lists, depending on level just pick up what CPUs to put 2583 together into a place vs. whether add multiple ordered places. 2584 25852017-05-24 Thomas Schwinge <thomas@codesourcery.com> 2586 2587 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes. 2588 * libgomp.map (OACC_2.0.1): Add these. 2589 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases 2590 for "acc_wait", and "acc_wait_all", respectively. 2591 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces 2592 for "acc_wait", and "acc_wait_all", respectively. 2593 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise. 2594 * libgomp.texi (acc_wait, acc_wait_all): Update. 2595 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update. 2596 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file. 2597 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise. 2598 2599 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to 2600 acc_present_or_copyin and acc_present_or_create procedures, 2601 respectively. 2602 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and 2603 generally different variants of OpenACC Runtime Library functions. 2604 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise. 2605 2606 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file. 2607 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise. 2608 2609 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead 2610 of preprocessor definitions. 2611 * libgomp.h (strong_alias): Guard by "#ifdef 2612 HAVE_ATTRIBUTE_ALIAS". 2613 * oacc-mem.c: Provide "acc_pcreate" as alias for 2614 "acc_present_or_create", and "acc_pcopyin" as alias for 2615 "acc_present_or_copyin". 2616 * libgomp.map: New version "OACC_2.0.1". 2617 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate". 2618 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging 2619 its content into... 2620 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file. 2621 Extend testing. 2622 2623 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output 2624 when disabling nvptx offloading. 2625 26262017-05-23 Thomas Schwinge <thomas@codesourcery.com> 2627 2628 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update. 2629 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise. 2630 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise. 2631 2632 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite. 2633 * testsuite/lib/libgomp.exp 2634 (check_effective_target_openacc_nvidia_accel_configured): New 2635 proc. 2636 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c) 2637 (check_effective_target_c++): New procs. 2638 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c) 2639 (check_effective_target_c++): Likewise. 2640 26412017-05-22 Jakub Jelinek <jakub@redhat.com> 2642 2643 PR middle-end/80809 2644 * testsuite/libgomp.c/pr80809-2.c: New test. 2645 * testsuite/libgomp.c/pr80809-3.c: New test. 2646 2647 PR middle-end/80809 2648 * testsuite/libgomp.c/pr80809-1.c: New test. 2649 2650 PR middle-end/80853 2651 * testsuite/libgomp.c/pr80853.c: New test. 2652 26532017-05-19 Thomas Schwinge <thomas@codesourcery.com> 2654 2655 * testsuite/libgomp.oacc-c++/template-reduction.C: Update. 2656 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update. 2657 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise. 2658 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise. 2659 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise. 2660 2661 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions): 2662 Debug output for failure. 2663 26642017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2665 2666 * testsuite/lib/libgomp.exp: Load scanlang.exp. 2667 26682017-04-27 Jakub Jelinek <jakub@redhat.com> 2669 2670 PR bootstrap/80531 2671 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid 2672 bootstrap compare failures. 2673 26742017-04-20 Alexander Monakov <amonakov@ispras.ru> 2675 2676 * testsuite/libgomp.c/target-36.c: New testcase. 2677 26782017-04-13 Jakub Jelinek <jakub@redhat.com> 2679 2680 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type 2681 instead of char. 2682 26832017-04-11 Jakub Jelinek <jakub@redhat.com> 2684 2685 PR libgomp/80394 2686 * testsuite/libgomp.c/pr80394.c: New test. 2687 26882017-04-04 Jakub Jelinek <jakub@redhat.com> 2689 2690 PR libgomp/79876 2691 * config/posix/thread-stacksize.h: New file. 2692 * config/darwin/thread-stacksize.h: New file. 2693 * config/nvptx/thread-stacksize.h: New file. 2694 * env.c: Include thread-stacksize.h. 2695 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE 2696 instead of 0. Call pthread_attr_setstacksize even if 2697 GOMP_DEFAULT_STACKSIZE is non-zero. 2698 26992017-03-30 Jakub Jelinek <jakub@redhat.com> 2700 2701 * env.c (initialize_env): Initialize stacksize to 0. 2702 27032017-03-22 Cesar Philippidis <cesar@codesourcery.com> 2704 2705 PR c++/80029 2706 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test. 2707 27082017-03-08 Jakub Jelinek <jakub@redhat.com> 2709 2710 PR c/79940 2711 * testsuite/libgomp.c/pr79940.c: New test. 2712 27132017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2714 2715 * testsuite/libgomp.c/pr48591.c: Enable on all __float128 2716 targets. 2717 Add __float128 options. 2718 27192017-02-11 John David Anglin <danglin@gcc.gnu.org> 2720 2721 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove 2722 hppa*-*-* dg-skip-if directive. 2723 27242017-02-09 Jakub Jelinek <jakub@redhat.com> 2725 2726 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move 2727 dg-skip-if directive into a comment. 2728 27292017-02-09 Nathan Sidwell <nathan@codesourcery.com> 2730 Chung-Lin Tang <cltang@codesourcery.com> 2731 2732 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New. 2733 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and 2734 add additional case. 2735 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under 2736 "openacc_nvidia_accel_selected". 2737 * libgomp.oacc-fortran/nested-function-1.f90 (test2): 2738 Add num_workers(8) clause. 2739 27402017-02-08 John David Anglin <danglin@gcc.gnu.org> 2741 2742 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on 2743 hppa*-*-*. 2744 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't 2745 include complex.h on hppa*-*-hpux*. 2746 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise. 2747 27482017-02-02 Thomas Schwinge <thomas@codesourcery.com> 2749 2750 * plugin/plugin-nvptx.c (nvptx_exec): Make it static. 2751 2752 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to 2753 GOMP_OFFLOAD_openacc_exec. Adjust all users. 2754 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to 2755 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users. 2756 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to 2757 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users. 2758 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to 2759 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users. 2760 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to 2761 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users. 2762 27632017-01-31 Thomas Schwinge <thomas@codesourcery.com> 2764 2765 * libgomp-plugin.h: #include <stdbool.h>. 2766 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps) 2767 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices) 2768 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device) 2769 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image) 2770 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free) 2771 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev) 2772 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run) 2773 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel) 2774 (GOMP_OFFLOAD_openacc_register_async_cleanup) 2775 (GOMP_OFFLOAD_openacc_async_test) 2776 (GOMP_OFFLOAD_openacc_async_test_all) 2777 (GOMP_OFFLOAD_openacc_async_wait) 2778 (GOMP_OFFLOAD_openacc_async_wait_async) 2779 (GOMP_OFFLOAD_openacc_async_wait_all) 2780 (GOMP_OFFLOAD_openacc_async_wait_all_async) 2781 (GOMP_OFFLOAD_openacc_async_set_async) 2782 (GOMP_OFFLOAD_openacc_create_thread_data) 2783 (GOMP_OFFLOAD_openacc_destroy_thread_data) 2784 (GOMP_OFFLOAD_openacc_get_current_cuda_device) 2785 (GOMP_OFFLOAD_openacc_get_current_cuda_context) 2786 (GOMP_OFFLOAD_openacc_get_cuda_stream) 2787 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes. 2788 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use 2789 these. 2790 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image) 2791 (GOMP_OFFLOAD_unload_image): Fix argument types. 2792 27932017-01-26 Jakub Jelinek <jakub@redhat.com> 2794 2795 * testsuite/lib/libgomp.exp 2796 (check_effective_target_hsa_offloading_selected_nocache): Fix up 2797 check_compile invocation. Fix up removal of executable. Drop 2798 bogus "2>&1" argument. 2799 2800 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules 2801 directive. 2802 28032017-01-24 Pekka Jääskeläinen <pekka@parmance.com> 2804 Martin Jambor <mjambor@suse.cz> 2805 2806 * plugin/hsa.h: Moved to top level include. 2807 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly. 2808 28092017-01-21 Jakub Jelinek <jakub@redhat.com> 2810 2811 PR other/79046 2812 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead 2813 of cat to get version from BASE-VER file. 2814 * testsuite/Makefile.in: Regenerated. 2815 28162017-01-19 Jakub Jelinek <jakub@redhat.com> 2817 2818 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even 2819 for _WIN64. 2820 28212017-01-17 Jakub Jelinek <jakub@redhat.com> 2822 2823 * plugin/hsa.h: Add GCC runtime library exception. 2824 * plugin/hsa_ext_finalize.h: Likewise. 2825 2826 * plugin/configfrag.ac: For --without-cuda-driver don't initialize 2827 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both 2828 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small 2829 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use 2830 plugin/include/cuda as include dir and -ldl instead of -lcuda as 2831 library to link ptx plugin against. 2832 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC. 2833 (CUDA_CALLS): Define. 2834 (cuda_lib, cuda_lib_inited): New variables. 2835 (init_cuda_lib): New function. 2836 (CUDA_CALL_PREFIX): Define. 2837 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX. 2838 (CUDA_CALL): Use FN instead of (FN). 2839 (CUDA_CALL_NOCHECK): Define. 2840 (cuda_error, fini_streams_for_device, select_stream_for_async, 2841 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx, 2842 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all, 2843 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image, 2844 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use 2845 CUDA_CALL_NOCHECK. 2846 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use 2847 CUDA_CALL_NOCHECK. 2848 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0. 2849 Use CUDA_CALL_NOCHECK. 2850 * plugin/cuda/cuda.h: New file. 2851 * config.h.in: Regenerated. 2852 * configure: Regenerated. 2853 2854 PR other/79046 2855 * configure.ac: Add GCC_BASE_VER. 2856 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to 2857 get version from BASE-VER file. 2858 * testsuite/Makefile.in: Regenerated. 2859 * configure: Regenerated. 2860 * Makefile.in: Regenerated. 2861 28622017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 2863 2864 PR libgomp/60670 2865 * Makefile.am: Make fincludedir multilib-aware. 2866 * Makefile.in: Regenerate. 2867 28682017-01-01 Jakub Jelinek <jakub@redhat.com> 2869 2870 Update copyright years. 2871 2872 * libgomp.texi: Bump @copying's copyright year. 2873 28742016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de> 2875 2876 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use 2877 pthread_spinlock_t instead of gomp_mutex_t lock. 2878 (gomp_get_thread_pool): Likewise. 2879 (gomp_release_thread_pool): Likewise. 2880 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir): 2881 Likewise. 2882 28832016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de> 2884 2885 * config/rtems/pool.h (gomp_get_thread_pool): Return proper 2886 thread pool in case nthreads == 1. 2887 28882016-11-30 Alexander Monakov <amonakov@ispras.ru> 2889 2890 * config/nvptx/env.c: Delete. 2891 * icv.c: Move definitions of ICV variables back ... 2892 * env.c: ...here. Do not compile environment-related functionality if 2893 LIBGOMP_OFFLOADED_ONLY is set. 2894 28952016-11-30 Alexander Monakov <amonakov@ispras.ru> 2896 2897 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it... 2898 (LIBGOMP_OFFLOADED_ONLY): ...here; new define. 2899 * configure: Regenerate. 2900 * config.h.in: Likewise. 2901 29022016-11-30 Alexander Monakov <amonakov@ispras.ru> 2903 2904 * Makefile.in: Regenerate with automake-1.11.6. 2905 * aclocal.m4: Likewise. 2906 * configure: Likewise. 2907 * testsuite/Makefile.in: Likewise. 2908 29092016-11-28 Alexander Monakov <amonakov@ispras.ru> 2910 2911 * config/nvptx/critical.c: Delete to use generic implementation. 2912 29132016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de> 2914 2915 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include 2916 ../../affinity.c as fallback. 2917 * config/nvptx/affinity.c: Delete to use fallback implementation. 2918 29192016-11-23 Alexander Monakov <amonakov@ispras.ru> 2920 Jakub Jelinek <jakub@redhat.com> 2921 Dmitry Melnik <dm@ispras.ru> 2922 2923 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c. 2924 * Makefile.in. Regenerate. 2925 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it... 2926 (LIBGOMP_USE_PTHREADS): ...here; new define. 2927 * configure: Regenerate. 2928 * config.h.in: Likewise. 2929 * config/posix/affinity.c: Move to... 2930 * affinity.c: ...here (new file). Guard use of Pthreads-specific 2931 interface by LIBGOMP_USE_PTHREADS. 2932 * critical.c: Split out GOMP_atomic_{start,end} into... 2933 * atomic.c: ...here (new file). 2934 * env.c: Split out ICV definitions into... 2935 * icv.c: ...here (new file) and... 2936 * icv-device.c: ...here. New file. 2937 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c. 2938 (gomp_destroy_lock_30): Ditto. 2939 (gomp_set_lock_30): Ditto. 2940 (gomp_unset_lock_30): Ditto. 2941 (gomp_test_lock_30): Ditto. 2942 (gomp_init_nest_lock_30): Ditto. 2943 (gomp_destroy_nest_lock_30): Ditto. 2944 (gomp_set_nest_lock_30): Ditto. 2945 (gomp_unset_nest_lock_30): Ditto. 2946 (gomp_test_nest_lock_30): Ditto. 2947 * lock.c: New. 2948 * config/nvptx/lock.c: New. 2949 * config/nvptx/bar.c: New. 2950 * config/nvptx/bar.h: New. 2951 * config/nvptx/doacross.h: New. 2952 * config/nvptx/error.c: New. 2953 * config/nvptx/icv-device.c: New. 2954 * config/nvptx/mutex.h: New. 2955 * config/nvptx/pool.h: New. 2956 * config/nvptx/proc.c: New. 2957 * config/nvptx/ptrlock.h: New. 2958 * config/nvptx/sem.h: New. 2959 * config/nvptx/simple-bar.h: New. 2960 * config/nvptx/target.c: New. 2961 * config/nvptx/task.c: New. 2962 * config/nvptx/team.c: New. 2963 * config/nvptx/time.c: New. 2964 * config/posix/simple-bar.h: New. 2965 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h. 2966 (gomp_num_teams_var): Declare. 2967 (struct gomp_thread_pool): Change threads_dock member to 2968 gomp_simple_barrier_t. 2969 [__nvptx__] (gomp_thread): New implementation. 2970 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS. 2971 (gomp_thread_destructor): Ditto. 2972 (gomp_init_thread_affinity): Ditto. 2973 * team.c: Guard uses of Pthreads-specific interfaces by 2974 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock. 2975 (gomp_free_thread) [__nvptx__]: Do not call 'free'. 2976 * config/nvptx/alloc.c: Delete. 2977 * config/nvptx/barrier.c: Ditto. 2978 * config/nvptx/fortran.c: Ditto. 2979 * config/nvptx/iter.c: Ditto. 2980 * config/nvptx/iter_ull.c: Ditto. 2981 * config/nvptx/loop.c: Ditto. 2982 * config/nvptx/loop_ull.c: Ditto. 2983 * config/nvptx/ordered.c: Ditto. 2984 * config/nvptx/parallel.c: Ditto. 2985 * config/nvptx/priority_queue.c: Ditto. 2986 * config/nvptx/sections.c: Ditto. 2987 * config/nvptx/single.c: Ditto. 2988 * config/nvptx/splay-tree.c: Ditto. 2989 * config/nvptx/work.c: Ditto. 2990 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass 2991 -foffload=-lgfortran in addition to -lgfortran. 2992 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto. 2993 * plugin/plugin-nvptx.c: Include <limits.h>. 2994 (struct targ_fn_descriptor): Add new fields. 2995 (struct ptx_device): Ditto. Set them... 2996 (nvptx_open_device): ...here. 2997 (nvptx_adjust_launch_bounds): New. 2998 (nvptx_host2dev): Allow NULL 'nvthd'. 2999 (nvptx_dev2host): Ditto. 3000 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400. 3001 (link_ptx): Adjust log sizes. 3002 (nvptx_host2dev): Allow NULL 'nvthd'. 3003 (nvptx_dev2host): Ditto. 3004 (nvptx_set_clocktick): New. Use it... 3005 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor 3006 fields. 3007 (GOMP_OFFLOAD_dev2dev): New. 3008 (nvptx_adjust_launch_bounds): New. 3009 (nvptx_stacks_size): New. 3010 (nvptx_stacks_alloc): New. 3011 (nvptx_stacks_free): New. 3012 (GOMP_OFFLOAD_run): New. 3013 (GOMP_OFFLOAD_async_run): New (stub). 3014 30152016-11-23 Martin Jambor <mjambor@suse.cz> 3016 3017 * testsuite/libgomp.hsa.c/bits-insns.c: New test. 3018 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise. 3019 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise. 3020 30212016-11-23 Martin Liska <mliska@suse.cz> 3022 Martin Jambor <mjambor@suse.cz> 3023 3024 * plugin/hsa.h: New file. 3025 * plugin/hsa_ext_finalize.h: New file. 3026 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for 3027 header file unistd.h, and functions secure_getenv, __secure_getenv, 3028 getuid, geteuid, getgid and getegid. 3029 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added 3030 -D_GNU_SOURCE. 3031 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h. 3032 Handle various cases of secure_getenv presence, add an implementation 3033 when we can test effective UID and GID. 3034 (struct hsa_runtime_fn_info): New structure. 3035 (hsa_runtime_fn_info hsa_fns): New variable. 3036 (hsa_runtime_lib): Likewise. 3037 (support_cpu_devices): Likewise. 3038 (init_enviroment_variables): Load newly introduced ENV 3039 variables. 3040 (hsa_warn): Call hsa run-time functions via hsa_fns structure. 3041 (hsa_fatal): Likewise. 3042 (DLSYM_FN): New macro. 3043 (init_hsa_runtime_functions): New function. 3044 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns 3045 structure. Depending on environment, also allow CPU devices. 3046 (init_hsa_context): Call hsa run-time functions via hsa_fns structure. 3047 (get_kernarg_memory_region): Likewise. 3048 (GOMP_OFFLOAD_init_device): Likewise. 3049 (destroy_hsa_program): Likewise. 3050 (init_basic_kernel_info): New function. 3051 (GOMP_OFFLOAD_load_image): Use it. 3052 (create_and_finalize_hsa_program): Call hsa run-time functions via 3053 hsa_fns structure. 3054 (create_single_kernel_dispatch): Likewise. 3055 (release_kernel_dispatch): Likewise. 3056 (init_single_kernel): Likewise. 3057 (parse_target_attributes): Allow up multiple HSA grid dimensions. 3058 (get_group_size): New function. 3059 (run_kernel): Likewise. 3060 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel. 3061 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns 3062 structure. 3063 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support. 3064 * testsuite/libgomp-test-support.exp.in: Likewise. 3065 * Makefile.in: Regenerated. 3066 * aclocal.m4: Likewise. 3067 * config.h.in: Likewise. 3068 * configure: Likewise. 3069 * testsuite/Makefile.in: Likewise. 3070 30712016-11-15 Martin Jambor <mjambor@suse.cz> 3072 Alexander Monakov <amonakov@ispras.ru> 3073 3074 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add 3075 mapping clauses to target constructs. 3076 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto. 3077 30782016-11-15 Matthias Klose <doko@ubuntu.com> 3079 3080 * configure: Regenerate. 3081 30822016-11-10 Jakub Jelinek <jakub@redhat.com> 3083 3084 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307. 3085 * omp_lib.h.in (openmp_version): Likewise. 3086 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead 3087 of 201307. 3088 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise. 3089 3090 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90 3091 (fib_wrapper): Add map(from: x) clause. 3092 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90 3093 (e_53_2): Likewise. 3094 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90 3095 (accum): Add map(tmp) clause. 3096 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90 3097 (accum): Add map(tofrom: tmp) clause. 3098 * testsuite/libgomp.fortran/examples-4/target_data-3.f90 3099 (gramSchmidt): Likewise. 3100 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add 3101 map(tofrom: sum) clause. 3102 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice 3103 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause. 3104 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause 3105 only allowed on the loop iterator. 3106 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause. 3107 * testsuite/libgomp.fortran/taskloop2.f90: New test. 3108 * testsuite/libgomp.fortran/taskloop4.f90: New test. 3109 * testsuite/libgomp.fortran/doacross1.f90: New test. 3110 * testsuite/libgomp.fortran/doacross3.f90: New test. 3111 * testsuite/libgomp.fortran/taskloop1.f90: New test. 3112 * testsuite/libgomp.fortran/taskloop3.f90: New test. 3113 * testsuite/libgomp.fortran/doacross2.f90: New test. 3114 * testsuite/libgomp.c/doacross-1.c (main): Add missing 3115 #pragma omp atomic read. 3116 * testsuite/libgomp.c/doacross-2.c (main): Likewise. 3117 * testsuite/libgomp.c/doacross-3.c (main): Likewise. 3118 31192016-11-02 Cesar Philippidis <cesar@codesourcery.com> 3120 Nathan Sidwell <nathan@acm.org> 3121 3122 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes 3123 to determine default geometry. 3124 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang 3125 dimension. 3126 31272016-11-01 Jakub Jelinek <jakub@redhat.com> 3128 3129 * hashtab.h: Use standard GPLv3 with runtime exception 3130 boilerplate. 3131 31322016-10-27 Aldy Hernandez <aldyh@redhat.com> 3133 3134 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate 3135 size when allocating new thread. 3136 31372016-09-14 Marek Polacek <polacek@redhat.com> 3138 3139 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated. 3140 31412016-08-19 Jakub Jelinek <jakub@redhat.com> 3142 3143 PR fortran/71014 3144 * testsuite/libgomp.fortran/pr71014.f90: New test. 3145 31462016-08-18 Chung-Lin Tang <cltang@codesourcery.com> 3147 3148 PR middle-end/70895 3149 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit 3150 firstprivate clauses. 3151 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit 3152 copy clauses. 3153 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise. 3154 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise. 3155 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise. 3156 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise. 3157 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise. 3158 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise. 3159 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise. 3160 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise. 3161 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise. 3162 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise. 3163 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise. 3164 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise. 3165 31662016-08-14 Chung-Lin Tang <cltang@codesourcery.com> 3167 3168 PR fortran/70598 3169 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test. 3170 31712016-08-08 Jakub Jelinek <jakub@redhat.com> 3172 3173 PR c++/58706 3174 * testsuite/libgomp.c++/pr58706.C: New test. 3175 31762016-08-04 Thomas Schwinge <thomas@codesourcery.com> 3177 3178 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file. 3179 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise. 3180 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C: 3181 Likewise. 3182 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise. 3183 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: 3184 Likewise. 3185 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust. 3186 3187 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link" 3188 test, and don't hardcode -O0. 3189 31902016-08-03 Nathan Sidwell <nathan@codesourcery.com> 3191 3192 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New. 3193 31942016-07-15 Cesar Philippidis <cesar@codesourcery.com> 3195 3196 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New 3197 test. 3198 31992016-07-03 H.J. Lu <hongjiu.lu@intel.com> 3200 3201 PR middle-end/71734 3202 * testsuite/libgomp.fortran/pr71734-1.f90: New test. 3203 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise. 3204 32052016-07-01 Jakub Jelinek <jakub@redhat.com> 3206 3207 PR fortran/71717 3208 * testsuite/libgomp.fortran/associate3.f90: New test. 3209 32102016-06-17 Jakub Jelinek <jakub@redhat.com> 3211 3212 * testsuite/libgomp.c++/target-21.C: New test. 3213 32142016-06-16 Jakub Jelinek <jakub@redhat.com> 3215 3216 * testsuite/libgomp.c++/target-20.C: New test. 3217 32182016-06-10 Thomas Schwinge <thomas@codesourcery.com> 3219 Cesar Philippidis <cesar@codesourcery.com> 3220 3221 PR middle-end/71373 3222 * libgomp.oacc-c/nested-function-1.c: New file. 3223 * libgomp.oacc-c/nested-function-2.c: Likewise. 3224 * libgomp.oacc-fortran/nested-function-1.f90: Likewise. 3225 * libgomp.oacc-fortran/nested-function-2.f90: Likewise. 3226 * libgomp.oacc-fortran/nested-function-3.f90: Likewise. 3227 32282016-06-10 Thomas Schwinge <thomas@codesourcery.com> 3229 3230 PR c/71381 3231 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include 3232 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c". 3233 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file. 3234 32352016-06-03 Chung-Lin Tang <cltang@codesourcery.com> 3236 3237 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase. 3238 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase. 3239 32402016-06-01 Cesar Philippidis <cesar@codesourcery.com> 3241 3242 PR c/70688 3243 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file. 3244 32452016-05-26 Jakub Jelinek <jakub@redhat.com> 3246 3247 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static) 3248 instead of invalid schedule(static, 0). 3249 * testsuite/libgomp.c/doacross-2.c (main): Likewise. 3250 32512016-05-26 Chung-Lin Tang <cltang@codesourcery.com> 3252 3253 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter. 3254 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async' 3255 parameter, use to set async stream around call to gomp_unmap_vars, 3256 call gomp_unmap_vars() with 'do_copyfrom' set to true. 3257 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field. 3258 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP 3259 events and call GOMP_PLUGIN_async_unmap_vars() for each of them. 3260 (event_add): Add int parameter, initialize 'val' field when 3261 adding new ptx_event struct. 3262 (nvptx_evec): Adjust event_add() call arguments. 3263 (nvptx_host2dev): Likewise. 3264 (nvptx_dev2host): Likewise. 3265 (nvptx_wait_async): Likewise. 3266 (nvptx_wait_all_async): Likewise. 3267 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter, 3268 pass to event_add() call. 3269 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async' 3270 parameter. 3271 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to 3272 call openacc.register_async_cleanup_func() hook. 3273 * oacc-parallel.c (GOACC_parallel_keyed): Likewise. 3274 * target.c (gomp_copy_from_async): Delete function. 3275 (gomp_map_vars): Remove async_refcount. 3276 (gomp_unmap_vars): Likewise. 3277 (gomp_load_image_to_device): Likewise. 3278 (omp_target_associate_ptr): Likewise. 3279 * libgomp.h (struct splay_tree_key_s): Remove async_refcount. 3280 (acc_dispatch_t.register_async_cleanup_func): Add int parameter. 3281 (gomp_copy_from_async): Remove. 3282 32832016-05-26 Chung-Lin Tang <cltang@codesourcery.com> 3284 3285 * target.c (gomp_device_copy): New function. 3286 (gomp_copy_host2dev): Likewise. 3287 (gomp_copy_dev2host): Likewise. 3288 (gomp_free_device_memory): Likewise. 3289 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev. 3290 (gomp_map_pointer): Likewise. 3291 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle 3292 NULL value from alloc_func plugin hook. 3293 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory. 3294 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host. 3295 (gomp_unmap_vars): Likewise. 3296 (gomp_update): Adjust to call gomp_copy_dev2host and 3297 gomp_copy_host2dev functions. 3298 (gomp_unload_image_from_device): Handle false value from 3299 unload_image_func plugin hook. 3300 (gomp_init_device): Handle false value from init_device_func 3301 plugin hook. 3302 (gomp_exit_data): Adjust to call gomp_copy_dev2host. 3303 (omp_target_free): Adjust to call gomp_free_device_memory. 3304 (omp_target_memcpy): Handle return values from host2dev_func, 3305 dev2host_func, and dev2dev_func plugin hooks. 3306 (omp_target_memcpy_rect_worker): Likewise. 3307 (gomp_target_fini): Handle false value from fini_device_func 3308 plugin hook. 3309 * libgomp.h (struct gomp_device_descr): Adjust return type of 3310 init_device_func, fini_device_func, unload_image_func, free_func, 3311 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'. 3312 * oacc-init.c (acc_shutdown_1): Handle false value from 3313 fini_device_func plugin hook. 3314 * oacc-host.c (host_init_device): Change return type to bool. 3315 (host_fini_device): Likewise. 3316 (host_unload_image): Likewise. 3317 (host_free): Likewise. 3318 (host_dev2host): Likewise. 3319 (host_host2dev): Likewise. 3320 * oacc-mem.c (acc_free): Handle plugin hook fatal error case. 3321 (acc_memcpy_to_device): Likewise. 3322 (acc_memcpy_from_device): Likewise. 3323 (delete_copyout): Add libfnname parameter, handle free_func 3324 hook fatal error case. 3325 (acc_delete): Adjust delete_copyout call. 3326 (acc_copyout): Likewise. 3327 (update_dev_host): Move gomp_mutex_unlock to after 3328 host2dev/dev2host hook calls. 3329 3330 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable 3331 to 'hsa_error_msg', for clarity. 3332 (hsa_fatal): Likewise. 3333 (hsa_error): New function. 3334 (init_hsa_context): Change return type to bool, adjust to return 3335 false on error. 3336 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context 3337 return value. 3338 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to 3339 return false on error. 3340 (get_agent_info): Adjust to return NULL on error. 3341 (destroy_hsa_program): Change return type to bool, adjust to 3342 return false on error. 3343 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error. 3344 (destroy_module): Change return type to bool, adjust to 3345 return false on error. 3346 (GOMP_OFFLOAD_unload_image): Likewise. 3347 (GOMP_OFFLOAD_fini_device): Likewise. 3348 (GOMP_OFFLOAD_alloc): Change to return NULL when called. 3349 (GOMP_OFFLOAD_free): Change to return false when called. 3350 (GOMP_OFFLOAD_dev2host): Likewise. 3351 (GOMP_OFFLOAD_host2dev): Likewise. 3352 (GOMP_OFFLOAD_dev2dev): Likewise. 3353 3354 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro. 3355 (CUDA_CALL): Likewise. 3356 (CUDA_CALL_ASSERT): Likewise. 3357 (map_init): Change return type to bool, use CUDA_CALL* macros. 3358 (map_fini): Likewise. 3359 (init_streams_for_device): Change return type to bool, adjust 3360 call to map_init. 3361 (fini_streams_for_device): Change return type to bool, adjust 3362 call to map_fini. 3363 (select_stream_for_async): Release stream_lock before calls to 3364 GOMP_PLUGIN_fatal, adjust call to map_init. 3365 (nvptx_init): Use CUDA_CALL* macros. 3366 (nvptx_attach_host_thread_to_device): Change return type to bool, 3367 use CUDA_CALL* macros. 3368 (nvptx_open_device): Use CUDA_CALL* macros. 3369 (nvptx_close_device): Change return type to bool, use CUDA_CALL* 3370 macros. 3371 (nvptx_get_num_devices): Use CUDA_CALL* macros. 3372 (link_ptx): Change return type to bool, use CUDA_CALL* macros. 3373 (nvptx_exec): Use CUDA_CALL* macros. 3374 (nvptx_alloc): Use CUDA_CALL* macros. 3375 (nvptx_free): Change return type to bool, use CUDA_CALL* macros. 3376 (nvptx_host2dev): Likewise. 3377 (nvptx_dev2host): Likewise. 3378 (nvptx_wait): Use CUDA_CALL* macros. 3379 (nvptx_wait_async): Likewise. 3380 (nvptx_wait_all): Likewise. 3381 (nvptx_wait_all_async): Likewise. 3382 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire, 3383 use CUDA_CALL* macros, adjust call to map_fini. 3384 (GOMP_OFFLOAD_init_device): Change return type to bool, 3385 adjust code accordingly. 3386 (GOMP_OFFLOAD_fini_device): Likewise. 3387 (GOMP_OFFLOAD_load_image): Adjust calls to 3388 nvptx_attach_host_thread_to_device/link_ptx to handle errors, 3389 use CUDA_CALL* macros. 3390 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust 3391 return code. 3392 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return. 3393 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to 3394 handle error return. 3395 (GOMP_OFFLOAD_dev2host): Likewise. 3396 (GOMP_OFFLOAD_host2dev): Likewise. 3397 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros. 3398 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise. 3399 34002016-05-24 Cesar Philippidis <cesar@codesourcery.com> 3401 3402 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets. 3403 (acc_free): Likewise. 3404 (acc_memcpy_to_device): Likewise. 3405 (acc_memcpy_from_device): Likewise. 3406 (acc_deviceptr): Likewise. 3407 (acc_hostptr): Likewise. 3408 (acc_is_present): Likewise. 3409 (acc_map_data): Likewise. 3410 (acc_unmap_data): Likewise. 3411 (present_create_copy): Likewise. 3412 (delete_copyout): Likewise. 3413 (update_dev_host): Likewise. 3414 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail. 3415 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test. 3416 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test. 3417 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise. 3418 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test. 3419 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that 3420 it only runs on nvptx targets. 3421 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise. 3422 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise. 3423 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise. 3424 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise. 3425 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise. 3426 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise. 3427 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise. 3428 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise. 3429 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. 3430 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise. 3431 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise. 3432 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise. 3433 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise. 3434 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise. 3435 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise. 3436 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. 3437 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise. 3438 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise. 3439 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise. 3440 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise. 3441 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise. 3442 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise. 3443 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise. 3444 34452016-05-23 Martin Jambor <mjambor@suse.cz> 3446 3447 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test. 3448 34492016-05-17 Chung-Lin Tang <cltang@codesourcery.com> 3450 3451 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call 3452 to gomp_init_targets_once. 3453 (acc_set_device_type): Remove !cached_base_dev condition on call to 3454 gomp_init_targets_once, move call to before acc_device_lock acquire, 3455 to avoid deadlock. 3456 (acc_get_device_num): Remove !cached_base_dev condition on call to 3457 gomp_init_targets_once. 3458 (acc_set_device_num): Likewise. 3459 34602016-05-16 Martin Jambor <mjambor@suse.cz> 3461 3462 * testsuite/libgomp.hsa.c/complex-align-2.c: New test. 3463 34642016-05-02 Nathan Sidwell <nathan@codesourcery.com> 3465 3466 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust 3467 expected partitioning. 3468 34692016-04-29 Cesar Philippidis <cesar@codesourcery.com> 3470 3471 PR middle-end/70626 3472 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test. 3473 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test. 3474 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test. 3475 34762016-04-21 Alexander Monakov <amonakov@ispras.ru> 3477 3478 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error 3479 non-fatal. 3480 34812016-04-19 Jakub Jelinek <jakub@redhat.com> 3482 3483 PR middle-end/70680 3484 * testsuite/libgomp.c/pr70680-1.c: New test. 3485 * testsuite/libgomp.c/pr70680-2.c: New test. 3486 34872016-04-14 Cesar Philippidis <cesar@codesourcery.com> 3488 3489 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't 3490 pass parameter variables to subroutines. 3491 34922016-04-14 Cesar Philippidis <cesar@codesourcery.com> 3493 3494 PR middle-end/70643 3495 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test. 3496 34972016-04-13 Cesar Philippidis <cesar@codesourcery.com> 3498 3499 PR testsuite/68242 3500 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test. 3501 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise. 3502 35032016-04-12 Thomas Schwinge <thomas@codesourcery.com> 3504 3505 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to 3506 GOACC_parallel_keyed, restore GOACC_parallel prototype, new 3507 GOACC_declare prototype. 3508 3509 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: 3510 Merge this file, and... 3511 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c: 3512 ... this file, and... 3513 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: 3514 ... this file, and... 3515 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: 3516 ... this file, and... 3517 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: 3518 ... this file, and... 3519 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: 3520 ... this file, and... 3521 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: 3522 ... this file, and... 3523 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: 3524 ... this file, and... 3525 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: 3526 ... this file, and... 3527 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: 3528 ... this file, and... 3529 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: 3530 ... this file, and... 3531 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: 3532 ... this file, and... 3533 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: 3534 ... this file into... 3535 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this 3536 file. 3537 3538 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: 3539 Make failure observable. 3540 35412016-04-12 Jakub Jelinek <jakub@redhat.com> 3542 3543 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies 3544 field. 3545 * target.c (gomp_target_fallback_firstprivate, 3546 gomp_target_unshare_firstprivate): Removed. 3547 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory 3548 before waiting for dependencies. 3549 (gomp_target_task_fn): Don't copy firstprivate vars here. 3550 * task.c (GOMP_PLUGIN_target_task_completion): Don't free 3551 firstprivate_copies here. 3552 (gomp_create_target_task): Don't initialize firstprivate_copies field. 3553 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of 3554 explicit/implicit firstprivate. 3555 35562016-04-08 Cesar Philippidis <cesar@codesourcery.com> 3557 3558 PR lto/70289 3559 PR ipa/70348 3560 PR tree-optimization/70373 3561 PR middle-end/70533 3562 PR middle-end/70534 3563 PR middle-end/70535 3564 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New 3565 test. 3566 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New 3567 test. 3568 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New 3569 test. 3570 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New 3571 test. 3572 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New 3573 test. 3574 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New 3575 test. 3576 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New 3577 test. 3578 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New 3579 test. 3580 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New 3581 test. 3582 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test. 3583 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test. 3584 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test. 3585 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New 3586 test. 3587 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New 3588 test. 3589 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New 3590 test. 3591 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New 3592 test. 3593 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test 3594 coverage. 3595 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise. 3596 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise. 3597 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test. 3598 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test. 3599 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test. 3600 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test 3601 coverage. 3602 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise. 3603 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise. 3604 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise. 3605 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise. 3606 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test. 3607 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test. 3608 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test. 3609 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test. 3610 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage. 3611 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise. 3612 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise. 3613 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise. 3614 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise. 3615 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. 3616 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test. 3617 36182016-03-30 Thomas Schwinge <thomas@codesourcery.com> 3619 James Norris <jnorris@codesourcery.com> 3620 Nathan Sidwell <nathan@codesourcery.com> 3621 Julian Brown <julian@codesourcery.com> 3622 Cesar Philippidis <cesar@codesourcery.com> 3623 Chung-Lin Tang <cltang@codesourcery.com> 3624 Tom de Vries <tom@codesourcery.com> 3625 3626 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update. 3627 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise. 3628 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise. 3629 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise. 3630 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise. 3631 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise. 3632 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise. 3633 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise. 3634 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise. 3635 XFAIL. 3636 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update. 3637 Incorporate... 3638 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this 3639 file. 3640 * testsuite/libgomp.oacc-c++/template-reduction.C: New file. 3641 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise. 3642 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise. 3643 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c: 3644 Likewise. 3645 * testsuite/libgomp.oacc-c-c++-common/private-variables.c: 3646 Likewise. 3647 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise. 3648 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise. 3649 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise. 3650 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise. 3651 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise. 3652 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise. 3653 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise. 3654 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise. 3655 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise. 3656 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: 3657 Likewise. 3658 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise. 3659 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise. 3660 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this 3661 file... 3662 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this 3663 file into... 3664 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new 3665 file. Update. 3666 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New 3667 file. 3668 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c: 3669 Likewise. 3670 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to... 3671 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c: 3672 ... this new file. Update. 3673 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to... 3674 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c: 3675 ... this new file. Update. 3676 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New 3677 file. Incorporate... 3678 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this 3679 file, and... 3680 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this 3681 file, and... 3682 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this 3683 file. 3684 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file. 3685 36862016-03-29 Thomas Schwinge <thomas@codesourcery.com> 3687 3688 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call 3689 set-torture-options. 3690 36912016-03-24 Thomas Schwinge <thomas@codesourcery.com> 3692 3693 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use 3694 gcc-dg-runtest. 3695 * testsuite/libgomp.oacc-c/c.exp: Likewise. 3696 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify 3697 -fno-builtin-acc_on_device instead of -O0. 3698 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for 3699 -O0. 3700 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise. 3701 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: 3702 Likewise. 3703 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise. 3704 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise. 3705 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise. 3706 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise. 3707 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise. 3708 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise. 3709 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise. 3710 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise. 3711 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise. 3712 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise. 3713 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise. 3714 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise. 3715 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise. 3716 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise. 3717 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise. 3718 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise. 3719 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise. 3720 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c: 3721 Don't specify -O2. 3722 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c: 3723 Likewise. 3724 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c: 3725 Likewise. 3726 37272016-03-24 Martin Liska <mliska@suse.cz> 3728 3729 * plugin/plugin-hsa.c (packet_store_release): New function 3730 that is taken from the HSA runtime manual. 3731 (GOMP_OFFLOAD_run): Use the function. 3732 37332016-03-23 Jakub Jelinek <jakub@redhat.com> 3734 3735 PR c++/70376 3736 * testsuite/libgomp.c++/pr70376.C: New test. 3737 37382016-03-23 Tom de Vries <tom@codesourcery.com> 3739 3740 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing 3741 initialization of lresult and lvresult. 3742 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same. 3743 37442016-03-23 James Norris <jnorris@codesourcery.com> 3745 Daichi Fukuoka <dc-fukuoka@sgi.com> 3746 3747 PR libgomp/69414 3748 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address. 3749 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests. 3750 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise. 3751 * testsuite/libgomp.oacc-fortran/update-1.f90: New file. 3752 37532016-03-23 Martin Liska <mliska@suse.cz> 3754 3755 PR hsa/70337 3756 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow 3757 argument just in case a dispatched kernel uses that argument. 3758 37592016-03-16 Thomas Schwinge <thomas@codesourcery.com> 3760 3761 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to 3762 -ftree-parallelize-loops/-fopenacc changes. 3763 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: 3764 Likewise. 3765 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: 3766 Likewise. 3767 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: 3768 Likewise. 3769 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: 3770 Likewise. 3771 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise. 3772 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise. 3773 37742016-03-13 Thomas Schwinge <thomas@codesourcery.com> 3775 3776 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to 3777 always_ld_library_path the path to libgcc_s. 3778 37792016-03-10 Cesar Philippidis <cesar@codesourcery.com> 3780 3781 PR testsuite/70009 3782 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed. 3783 37842016-03-09 Tom de Vries <tom@codesourcery.com> 3785 3786 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test. 3787 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same. 3788 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: 3789 Same. 3790 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same. 3791 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same. 3792 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same. 3793 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same. 3794 37952016-03-07 Martin Jambor <mjambor@suse.cz> 3796 3797 * testsuite/lib/libgomp.exp 3798 (check_effective_target_hsa_offloading_selected_nocache): New. 3799 (check_effective_target_hsa_offloading_selected): Likewise. 3800 * testsuite/libgomp.hsa.c/c.exp: Likewise. 3801 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise. 3802 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise. 3803 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise. 3804 * testsuite/libgomp.hsa.c/complex-1.c: Likewise. 3805 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise. 3806 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise. 3807 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise. 3808 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise. 3809 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise. 3810 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise. 3811 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise. 3812 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise. 3813 * testsuite/libgomp.hsa.c/pr69568.c: Likewise. 3814 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise. 3815 * testsuite/libgomp.hsa.c/switch-1.c: Likewise. 3816 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise. 3817 38182016-03-07 Martin Jambor <mjambor@suse.cz> 3819 3820 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on 3821 non-shared memory accelerators. 3822 * testsuite/libgomp.c/examples-4/device-1.c: Likewise. 3823 * testsuite/libgomp.c/examples-4/target-5.c: Likewise. 3824 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise. 3825 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise. 3826 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise. 3827 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise. 3828 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise. 3829 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise. 3830 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise. 3831 38322016-03-07 Martin Jambor <mjambor@suse.cz> 3833 3834 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to 3835 ALWAYS_CFLAGS. 3836 38372016-03-02 Jakub Jelinek <jakub@redhat.com> 3838 3839 PR libgomp/69555 3840 * testsuite/libgomp.c++/pr69555-1.C: New test. 3841 * testsuite/libgomp.c++/pr69555-2.C: New test. 3842 38432016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com> 3844 Martin Jambor <mjambor@suse.cz> 3845 3846 * testsuite/lib/libgomp.exp 3847 (check_effective_target_offload_device_shared_as): New proc. 3848 * testsuite/libgomp.c++/declare_target-1.C: New test. 3849 38502016-02-25 Ilya Verbin <ilya.verbin@intel.com> 3851 3852 PR driver/68463 3853 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove. 3854 38552016-02-23 Thomas Schwinge <thomas@codesourcery.com> 3856 3857 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims. 3858 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for 3859 dims. 3860 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to 3861 -ftree-parallelize-loops/-fopenacc changes. 3862 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise. 3863 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: 3864 Likewise. 3865 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: 3866 Likewise. 3867 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: 3868 Likewise. 3869 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: 3870 Likewise. 3871 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: 3872 Likewise. 3873 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: 3874 Likewise. 3875 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: 3876 Likewise. 3877 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise. 3878 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: 3879 Likewise. 3880 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise. 3881 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: 3882 Likewise. 3883 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise. 3884 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: 3885 Likewise. 3886 38872016-02-22 Cesar Philippidis <cesar@codesourcery.com> 3888 3889 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test. 3890 38912016-02-19 Jakub Jelinek <jakub@redhat.com> 3892 3893 PR driver/69805 3894 * testsuite/libgomp.c/pr69805.c: New test. 3895 38962016-02-16 Tom de Vries <tom@codesourcery.com> 3897 3898 PR lto/67709 3899 * testsuite/libgomp.fortran/declare-simd-4.f90: New test. 3900 39012016-02-09 Tom de Vries <tom@codesourcery.com> 3902 3903 PR tree-optimization/69599 3904 * testsuite/libgomp.c/omp-nested-3.c: New test. 3905 * testsuite/libgomp.c/pr46032-2.c: New test. 3906 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test. 3907 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test. 3908 39092016-02-09 Tom de Vries <tom@codesourcery.com> 3910 3911 PR lto/69707 3912 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test. 3913 39142016-02-02 Alexander Monakov <amonakov@ispras.ru> 3915 3916 * testsuite/libgomp.c/target-31.c: Fix testcase. 3917 39182016-02-02 Alexander Monakov <amonakov@ispras.ru> 3919 3920 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction 3921 clause. 3922 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise. 3923 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing 3924 reduction and map clauses. 3925 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise. 3926 39272016-02-02 James Norris <jnorris@codesourcery.com> 3928 3929 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause. 3930 39312016-02-02 Thomas Schwinge <thomas@codesourcery.com> 3932 3933 * libgomp.map (GOACC_2.0): Remove GOACC_host_data. 3934 * oacc-parallel.c (GOACC_host_data): Remove function definition. 3935 3936 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test 3937 cases. 3938 3939 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New 3940 variables. 3941 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib) 3942 (hsa_kmt_lib): Set variables. 3943 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend 3944 always_ld_library_path. 3945 * Makefile.in: Regenerate. 3946 * configure: Likewise. 3947 * testsuite/Makefile.in: Likewise. 3948 3949 * plugin/configfrag.ac (offload_additional_options) 3950 (offload_additional_lib_paths): Don't amend for hsa offloading. 3951 * configure: Regenerate. 3952 3953 * plugin/configfrag.ac: Don't configure for offloading target if 3954 we don't build the corresponding plugin. 3955 * configure: Regenerate. 3956 39572016-02-01 Nathan Sidwell <nathan@codesourcery.com> 3958 3959 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New. 3960 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop. 3961 39622016-01-26 Tom de Vries <tom@codesourcery.com> 3963 3964 PR tree-optimization/69110 3965 * testsuite/libgomp.c/pr69110.c: New test. 3966 39672016-01-25 Richard Biener <rguenther@suse.de> 3968 3969 PR lto/69393 3970 * testsuite/libgomp.c++/pr69393.C: New testcase. 3971 39722016-01-22 Ilya Verbin <ilya.verbin@intel.com> 3973 3974 * target.c (gomp_get_target_fn_addr): Allow host fallback if target 3975 function wasn't mapped to the device with non-shared memory. 3976 39772016-01-20 Ilya Verbin <ilya.verbin@intel.com> 3978 3979 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL. 3980 39812016-01-19 Martin Jambor <mjambor@suse.cz> 3982 Martin Liska <mliska@suse.cz> 3983 3984 * plugin/Makefrag.am: Add HSA plugin requirements. 3985 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable. 3986 (HSA_RUNTIME_LIB): Likewise. 3987 (HSA_RUNTIME_CPPFLAGS): Likewise. 3988 (HSA_RUNTIME_INCLUDE): New substitution. 3989 (HSA_RUNTIME_LIB): Likewise. 3990 (HSA_RUNTIME_LDFLAGS): Likewise. 3991 (hsa-runtime): New configure option. 3992 (hsa-runtime-include): Likewise. 3993 (hsa-runtime-lib): Likewise. 3994 (PLUGIN_HSA): New substitution variable. 3995 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new 3996 configure options. 3997 (PLUGIN_HSA_CPPFLAGS): Likewise. 3998 (PLUGIN_HSA_LDFLAGS): Likewise. 3999 (PLUGIN_HSA_LIBS): Likewise. 4000 Check that we have access to HSA run-time. 4001 * libgomp-plugin.h (offload_target_type): New element 4002 OFFLOAD_TARGET_TYPE_HSA. 4003 * libgomp.h (gomp_target_task): New fields firstprivate_copies and 4004 args. 4005 (bool gomp_create_target_task): Updated. 4006 (gomp_device_descr): Extra parameter of run_func and async_run_func, 4007 new field can_run_func. 4008 * libgomp_g.h (GOMP_target_ext): Update prototype. 4009 * oacc-host.c (host_run): Added a new parameter args. 4010 * target.c (calculate_firstprivate_requirements): New function. 4011 (copy_firstprivate_data): Likewise. 4012 (gomp_target_fallback_firstprivate): Use them. 4013 (gomp_target_unshare_firstprivate): New function. 4014 (gomp_get_target_fn_addr): Allow returning NULL for shared memory 4015 devices. 4016 (GOMP_target): Do host fallback for all shared memory devices. Do not 4017 pass any args to plugins. 4018 (GOMP_target_ext): Introduce device-specific argument parameter args. 4019 Allow host fallback if device shares memory. Do not remap data if 4020 device has shared memory. 4021 (gomp_target_task_fn): Likewise. Also treat shared memory devices 4022 like host fallback for mappings. 4023 (GOMP_target_data): Treat shared memory devices like host fallback. 4024 (GOMP_target_data_ext): Likewise. 4025 (GOMP_target_update): Likewise. 4026 (GOMP_target_update_ext): Likewise. Also pass NULL as args to 4027 gomp_create_target_task. 4028 (GOMP_target_enter_exit_data): Likewise. 4029 (omp_target_alloc): Treat shared memory devices like host fallback. 4030 (omp_target_free): Likewise. 4031 (omp_target_is_present): Likewise. 4032 (omp_target_memcpy): Likewise. 4033 (omp_target_memcpy_rect): Likewise. 4034 (omp_target_associate_ptr): Likewise. 4035 (gomp_load_plugin_for_device): Also load can_run. 4036 * task.c (GOMP_PLUGIN_target_task_completion): Free 4037 firstprivate_copies. 4038 (gomp_create_target_task): Accept new argument args and store it to 4039 ttask. 4040 * plugin/plugin-hsa.c: New file. 4041 40422016-01-18 Tom de Vries <tom@codesourcery.com> 4043 4044 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test. 4045 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same. 4046 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same. 4047 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same. 4048 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same. 4049 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same. 4050 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same. 4051 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same. 4052 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same. 4053 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same. 4054 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c: 4055 Same. 4056 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c: 4057 Same. 4058 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same. 4059 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same. 4060 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same. 4061 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same. 4062 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same. 4063 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same. 4064 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same. 4065 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c: 4066 Same. 4067 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same. 4068 40692016-01-15 Jakub Jelinek <jakub@redhat.com> 4070 4071 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return. 4072 40732016-01-15 Cesar Philippidis <cesar@codesourcery.com> 4074 4075 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test. 4076 40772016-01-12 James Norris <jnorris@codesourcery.com> 4078 4079 * libgomp.texi: Updates for OpenACC. 4080 40812016-01-11 Alexander Monakov <amonakov@ispras.ru> 4082 4083 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET. 4084 40852016-01-07 H.J. Lu <hongjiu.lu@intel.com> 4086 4087 PR fortran/66680 4088 * testsuite/libgomp.fortran/pr66680.f90: New test. 4089 40902016-01-07 Jakub Jelinek <jakub@redhat.com> 4091 4092 PR middle-end/68960 4093 * testsuite/libgomp.c/pr68960.c: New test. 4094 40952016-01-06 Nathan Sidwell <nathan@acm.org> 4096 4097 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper. 4098 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New. 4099 41002016-01-04 Jakub Jelinek <jakub@redhat.com> 4101 4102 Update copyright years. 4103 4104 * libgomp.texi: Bump @copying's copyright year. 4105 41062015-12-31 Nathan Sidwell <nathan@acm.org> 4107 4108 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct 4109 dg-additional-options syntax. 4110 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise. 4111 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise. 4112 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise. 4113 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise. 4114 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise. 4115 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise. 4116 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise. 4117 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise. 4118 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise. 4119 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise. 4120 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise. 4121 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise. 4122 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise. 4123 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise. 4124 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise. 4125 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise. 4126 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise. 4127 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise. 4128 41292015-12-15 Ilya Verbin <ilya.verbin@intel.com> 4130 4131 * libgomp.h (REFCOUNT_LINK): Define. 4132 (struct splay_tree_key_s): Add link_key. 4133 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped. 4134 Replace target address of the pointer with target address of newly 4135 mapped object in the splay tree. Set link pointer on target to the 4136 device address of the mapped object. 4137 (gomp_unmap_vars): Restore target address of the pointer in the splay 4138 tree for REFCOUNT_LINK objects after unmapping. 4139 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp 4140 declare target link" objects. 4141 (gomp_unload_image_from_device): Replace j with i. Force unmap of all 4142 "omp declare target link" objects, which were mapped for the image. 4143 (gomp_exit_data): Restore target address of the pointer in the splay 4144 tree for REFCOUNT_LINK objects after unmapping. 4145 * testsuite/libgomp.c/target-link-1.c: New file. 4146 41472015-12-14 Ilya Verbin <ilya.verbin@intel.com> 4148 4149 * libgomp.h (gomp_device_state): New enum. 4150 (struct gomp_device_descr): Replace is_initialized with state. 4151 (gomp_fini_device): Remove declaration. 4152 * oacc-host.c (host_dispatch): Use state instead of is_initialized. 4153 * oacc-init.c (acc_init_1): Use state instead of is_initialized. 4154 (acc_shutdown_1): Likewise. Inline gomp_fini_device. 4155 (acc_set_device_type): Use state instead of is_initialized. 4156 (acc_set_device_num): Likewise. 4157 * target.c (resolve_device): Use state instead of is_initialized. 4158 Do not initialize finalized device. 4159 (gomp_map_vars): Do nothing if device is finalized. 4160 (gomp_unmap_vars): Likewise. 4161 (gomp_update): Likewise. 4162 (GOMP_offload_register_ver): Use state instead of is_initialized. 4163 (GOMP_offload_unregister_ver): Likewise. 4164 (gomp_init_device): Likewise. 4165 (gomp_unload_device): Likewise. 4166 (gomp_fini_device): Remove. 4167 (gomp_get_target_fn_addr): Do nothing if device is finalized. 4168 (GOMP_target): Go to host fallback if device is finalized. 4169 (GOMP_target_ext): Likewise. 4170 (gomp_exit_data): Do nothing if device is finalized. 4171 (gomp_target_task_fn): Go to host fallback if device is finalized. 4172 (gomp_target_fini): New static function. 4173 (gomp_target_init): Use state instead of is_initialized. 4174 Call gomp_target_fini at exit. 4175 41762015-12-09 Tom de Vries <tom@codesourcery.com> 4177 4178 PR tree-optimization/68716 4179 * testsuite/libgomp.c/omp-nested-2.c: New test. 4180 41812015-12-02 Thomas Schwinge <thomas@codesourcery.com> 4182 4183 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to 4184 target openacc_nvidia_accel_selected. 4185 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise. 4186 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise. 4187 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file. 4188 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file. 4189 41902015-12-01 Julian Brown <julian@codesourcery.com> 4191 James Norris <James_Norris@mentor.com> 4192 4193 * oacc-parallel.c (GOACC_host_data): New function. 4194 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1. 4195 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test. 4196 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test. 4197 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test. 4198 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test. 4199 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test. 4200 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test. 4201 42022015-11-30 James Norris <jnorris@codesourcery.com> 4203 Cesar Philippidis <cesar@codesourcery.com> 4204 4205 libgomp/ 4206 * libgomp.oacc-fortran/routine-5.f90: New test. 4207 * libgomp.oacc-fortran/routine-7.f90: New test. 4208 * libgomp.oacc-fortran/routine-9.f90: New test. 4209 42102015-11-30 Tom de Vries <tom@codesourcery.com> 4211 4212 PR tree-optimization/46032 4213 * testsuite/libgomp.c/pr46032.c: New test. 4214 42152015-11-27 Jakub Jelinek <jakub@redhat.com> 4216 4217 PR libgomp/68579 4218 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl. 4219 (gomp_create_target_task): Call it before freeing 4220 GOMP_TARGET_TASK_DATA tasks. 4221 4222 PR c/63326 4223 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon 4224 in between case label and OpenMP standalone directives. 4225 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise. 4226 42272015-11-26 David Edelsohn <dje.gcc@gmail.com> 4228 4229 * configure: Regenerate. 4230 42312015-11-26 Jakub Jelinek <jakub@redhat.com> 4232 4233 * testsuite/libgomp.c/target-35.c: New test. 4234 42352015-11-22 James Norris <jnorris@codesourcery.com> 4236 Cesar Philippidis <cesar@codesourcery.com> 4237 4238 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test. 4239 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise. 4240 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise. 4241 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise. 4242 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise. 4243 42442015-11-20 Jakub Jelinek <jakub@redhat.com> 4245 4246 PR middle-end/68221 4247 * testsuite/libgomp.c/reduction-11.c: Remove xfail. 4248 * testsuite/libgomp.c/reduction-12.c: Likewise. 4249 * testsuite/libgomp.c++/reduction-11.C: Likewise. 4250 * testsuite/libgomp.c++/reduction-12.C: Likewise. 4251 42522015-11-19 Nathan Sidwell <nathan@codesourcery.com> 4253 4254 * libgomp.oacc-c-c++-common/reduction-dbl.c: New. 4255 * libgomp.oacc-c-c++-common/reduction-flt.c: New. 4256 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef. 4257 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef. 4258 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests 4259 and fix. 4260 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise. 4261 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise. 4262 42632015-11-18 Nathan Sidwell <nathan@codesourcery.com> 4264 4265 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add 4266 worker & gang cases. 4267 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise. 4268 42692015-11-17 Cesar Philippidis <cesar@codesourcery.com> 4270 4271 * config/nvptx/priority_queue.c: New file. 4272 42732015-11-14 Jakub Jelinek <jakub@redhat.com> 4274 4275 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5 4276 sections. 4277 42782015-11-14 Jakub Jelinek <jakub@redhat.com> 4279 Aldy Hernandez <aldyh@redhat.com> 4280 Ilya Verbin <ilya.verbin@intel.com> 4281 4282 * ordered.c (gomp_doacross_init, GOMP_doacross_post, 4283 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post, 4284 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of 4285 iterators or IV by chunk size. 4286 * parallel.c (gomp_resolve_num_threads): Don't assume that 4287 if thr->ts.team is non-NULL, then pool must be non-NULL. 4288 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare. 4289 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export 4290 GOMP_PLUGIN_target_task_completion. 4291 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c. 4292 * Makefile.in: Regenerate. 4293 * libgomp.h: Shuffle prototypes and forward definitions around so 4294 priority queues can be defined. 4295 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING. 4296 (enum gomp_target_task_state): New enum. 4297 (struct gomp_target_task): Add state, tgt, task and team fields. 4298 (gomp_create_target_task): Change return type to bool, add 4299 state argument. 4300 (gomp_target_task_fn): Change return type to bool. 4301 (struct gomp_device_descr): Add async_run_func. 4302 (struct gomp_task): Remove children, next_child, prev_child, 4303 next_queue, prev_queue, next_taskgroup, prev_taskgroup. 4304 Add pnode field. 4305 (struct gomp_taskgroup): Remove children. 4306 Add taskgroup_queue. 4307 (struct gomp_team): Change task_queue type to a priority queue. 4308 (splay_compare): Define inline. 4309 (priority_queue_offset): New. 4310 (priority_node_to_task): New. 4311 (task_to_priority_node): New. 4312 * oacc-mem.c: Do not include splay-tree.h. 4313 * priority_queue.c: New file. 4314 * priority_queue.h: New file. 4315 * splay-tree.c: Do not include splay-tree.h. 4316 (splay_tree_foreach_internal): New. 4317 (splay_tree_foreach): New. 4318 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined. 4319 (splay_tree_callback): Define typedef. 4320 * target.c (splay_compare): Move to libgomp.h. 4321 (GOMP_target): Don't adjust *thr in any way around running offloaded 4322 task. 4323 (GOMP_target_ext): Likewise. Handle target nowait. 4324 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check 4325 return value from gomp_create_target_task, if false, fallthrough 4326 as if no dependencies exist. 4327 (gomp_target_task_fn): Change return type to bool, return true 4328 if the task should have another part scheduled later. Handle 4329 target nowait. 4330 (gomp_load_plugin_for_device): Initialize async_run. 4331 * task.c (gomp_init_task): Initialize children_queue. 4332 (gomp_clear_parent_in_list): New. 4333 (gomp_clear_parent_in_tree): New. 4334 (gomp_clear_parent): Handle priorities. 4335 (GOMP_task): Likewise. 4336 (priority_queue_move_task_first, 4337 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion): 4338 New functions. 4339 (gomp_create_target_task): Use priority queues. Change return type 4340 to bool, add state argument, return false if for async 4341 {{enter,exit} data,update} constructs no dependencies need to be 4342 waited for, handle target nowait. Set task->fn to NULL instead of 4343 gomp_target_task_fn. 4344 (verify_children_queue): Remove. 4345 (priority_list_upgrade_task): New. 4346 (priority_queue_upgrade_task): New. 4347 (verify_task_queue): Remove. 4348 (priority_list_downgrade_task): New. 4349 (priority_queue_downgrade_task): New. 4350 (gomp_task_run_pre): Use priority queues. 4351 Abstract code out to priority_queue_downgrade_task. 4352 (gomp_task_run_post_handle_dependers): Use priority queues. 4353 (gomp_task_run_post_remove_parent): Likewise. 4354 (gomp_task_run_post_remove_taskgroup): Likewise. 4355 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target 4356 tasks specially. 4357 (GOMP_taskwait): Likewise. 4358 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to 4359 priority-queue_upgrade_task. 4360 (GOMP_taskgroup_start): Use priority queues. 4361 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks 4362 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a 4363 barrier. 4364 * taskloop.c (GOMP_taskloop): Handle priorities. 4365 * team.c (gomp_new_team): Call priority_queue_init. 4366 (free_team): Call priority_queue_free. 4367 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial 4368 team created for target nowait in implicit parallel region. 4369 (gomp_team_start): For nested check, test thr->ts.level instead of 4370 thr->ts.team != NULL. 4371 * testsuite/libgomp.c/doacross-3.c: New test. 4372 * testsuite/libgomp.c/ordered-5.c: New test. 4373 * testsuite/libgomp.c/priority.c: New test. 4374 * testsuite/libgomp.c/target-31.c: New test. 4375 * testsuite/libgomp.c/target-32.c: New test. 4376 * testsuite/libgomp.c/target-33.c: New test. 4377 * testsuite/libgomp.c/target-34.c: New test. 4378 43792015-11-13 Nathan Sidwell <nathan@codesourcery.com> 4380 4381 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New. 4382 4383 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential 4384 loop is sequential. 4385 43862015-11-13 Nathan Sidwell <nathan@codesourcery.com> 4387 4388 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New. 4389 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New. 4390 43912015-11-12 James Norris <jnorris@codesourcery.com> 4392 Joseph Myers <joseph@codesourcery.com> 4393 4394 * libgomp.map (GOACC_2.0.1): Export GOACC_declare. 4395 * oacc-parallel.c (GOACC_declare): New function. 4396 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test. 4397 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise. 4398 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise. 4399 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise. 4400 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise. 4401 44022015-11-12 Nathan Sidwell <nathan@codesourcery.com> 4403 4404 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New. 4405 44062015-11-1 Nathan Sidwell <nathan@codesourcery.com> 4407 4408 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New. 4409 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New. 4410 44112015-11-09 Nathan Sidwell <nathan@codesourcery.com> 4412 4413 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove 4414 inadvertent commit. 4415 44162015-11-09 Nathan Sidwell <nathan@codesourcery.com> 4417 4418 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New. 4419 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New. 4420 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New. 4421 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New. 4422 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New. 4423 44242015-11-06 Thomas Schwinge <thomas@codesourcery.com> 4425 4426 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL. 4427 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise. 4428 44292015-11-05 Jakub Jelinek <jakub@redhat.com> 4430 Ilya Verbin <ilya.verbin@intel.com> 4431 4432 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next, 4433 GOMP_loop_nonmonotonic_dynamic_start, 4434 GOMP_loop_nonmonotonic_guided_next, 4435 GOMP_loop_nonmonotonic_guided_start, 4436 GOMP_loop_ull_nonmonotonic_dynamic_next, 4437 GOMP_loop_ull_nonmonotonic_dynamic_start, 4438 GOMP_loop_ull_nonmonotonic_guided_next, 4439 GOMP_loop_ull_nonmonotonic_guided_start, 4440 GOMP_parallel_loop_nonmonotonic_dynamic, 4441 GOMP_parallel_loop_nonmonotonic_guided): New prototypes. 4442 (GOMP_target_41): Renamed to ... 4443 (GOMP_target_ext): ... this. Add num_teams and thread_limit 4444 arguments. 4445 (GOMP_target_data_41): Renamed to ... 4446 (GOMP_target_data_ext): ... this. 4447 (GOMP_target_update_41): Renamed to ... 4448 (GOMP_target_update_ext): ... this. 4449 * libgomp.map (GOMP_4.5): Export GOMP_target_ext, 4450 GOMP_target_data_ext and GOMP_target_update_ext instead of 4451 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41. 4452 Export GOMP_loop_nonmonotonic_dynamic_next, 4453 GOMP_loop_nonmonotonic_dynamic_start, 4454 GOMP_loop_nonmonotonic_guided_next, 4455 GOMP_loop_nonmonotonic_guided_start, 4456 GOMP_loop_ull_nonmonotonic_dynamic_next, 4457 GOMP_loop_ull_nonmonotonic_dynamic_start, 4458 GOMP_loop_ull_nonmonotonic_guided_next, 4459 GOMP_loop_ull_nonmonotonic_guided_start, 4460 GOMP_parallel_loop_nonmonotonic_dynamic and 4461 GOMP_parallel_loop_nonmonotonic_guided. 4462 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic, 4463 GOMP_parallel_loop_nonmonotonic_guided, 4464 GOMP_loop_nonmonotonic_dynamic_start, 4465 GOMP_loop_nonmonotonic_guided_start, 4466 GOMP_loop_nonmonotonic_dynamic_next, 4467 GOMP_loop_nonmonotonic_guided_next): New aliases or functions. 4468 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start, 4469 GOMP_loop_ull_nonmonotonic_guided_start, 4470 GOMP_loop_ull_nonmonotonic_dynamic_next, 4471 GOMP_loop_ull_nonmonotonic_guided_next): Likewise. 4472 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline 4473 functions. 4474 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For 4475 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup. 4476 Use gomp_map_val function. 4477 (gomp_target_fallback_firstprivate): New static function. 4478 (GOMP_target_41): Renamed to ... 4479 (GOMP_target_ext): ... this. Add num_teams and thread_limit 4480 arguments. Move firstprivate fallback handling into a new 4481 function. 4482 (GOMP_target_data_41): Renamed to ... 4483 (GOMP_target_data_ext): ... this. 4484 (GOMP_target_update_41): Renamed to ... 4485 (GOMP_target_update_ext): ... this. 4486 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use 4487 gomp_map_0len_lookup instead of gomp_map_lookup. 4488 (omp_target_is_present): Use gomp_map_0len_lookup instead of 4489 gomp_map_lookup. 4490 * testsuite/libgomp.c/target-28.c: Likewise. 4491 * testsuite/libgomp.c/monotonic-1.c: New test. 4492 * testsuite/libgomp.c/monotonic-2.c: New test. 4493 * testsuite/libgomp.c/nonmonotonic-1.c: New test. 4494 * testsuite/libgomp.c/nonmonotonic-2.c: New test. 4495 * testsuite/libgomp.c/pr66199-5.c: New test. 4496 * testsuite/libgomp.c/pr66199-6.c: New test. 4497 * testsuite/libgomp.c/pr66199-7.c: New test. 4498 * testsuite/libgomp.c/pr66199-8.c: New test. 4499 * testsuite/libgomp.c/pr66199-9.c: New test. 4500 * testsuite/libgomp.c/reduction-11.c: New test. 4501 * testsuite/libgomp.c/reduction-12.c: New test. 4502 * testsuite/libgomp.c/reduction-13.c: New test. 4503 * testsuite/libgomp.c/reduction-14.c: New test. 4504 * testsuite/libgomp.c/reduction-15.c: New test. 4505 * testsuite/libgomp.c/target-12.c (main): Adjust for 4506 omp_target_is_present change for one-past-last element. 4507 * testsuite/libgomp.c/target-17.c (foo): Drop tests where 4508 the same var is both mapped and privatized. 4509 * testsuite/libgomp.c/target-19.c (foo): Adjust for different 4510 handling of zero-length array sections. 4511 * testsuite/libgomp.c/target-28.c: New test. 4512 * testsuite/libgomp.c/target-29.c: New test. 4513 * testsuite/libgomp.c/target-30.c: New test. 4514 * testsuite/libgomp.c/target-teams-1.c: New test. 4515 * testsuite/libgomp.c++/member-6.C: New test. 4516 * testsuite/libgomp.c++/member-7.C: New test. 4517 * testsuite/libgomp.c++/monotonic-1.C: New test. 4518 * testsuite/libgomp.c++/monotonic-2.C: New test. 4519 * testsuite/libgomp.c++/nonmonotonic-1.C: New test. 4520 * testsuite/libgomp.c++/nonmonotonic-2.C: New test. 4521 * testsuite/libgomp.c++/pr66199-3.C: New test. 4522 * testsuite/libgomp.c++/pr66199-4.C: New test. 4523 * testsuite/libgomp.c++/pr66199-5.C: New test. 4524 * testsuite/libgomp.c++/pr66199-6.C: New test. 4525 * testsuite/libgomp.c++/pr66199-7.C: New test. 4526 * testsuite/libgomp.c++/pr66199-8.C: New test. 4527 * testsuite/libgomp.c++/pr66199-9.C: New test. 4528 * testsuite/libgomp.c++/reduction-11.C: New test. 4529 * testsuite/libgomp.c++/reduction-12.C: New test. 4530 * testsuite/libgomp.c++/target-13.C: New test. 4531 * testsuite/libgomp.c++/target-14.C: New test. 4532 * testsuite/libgomp.c++/target-15.C: New test. 4533 * testsuite/libgomp.c++/target-16.C: New test. 4534 * testsuite/libgomp.c++/target-17.C: New test. 4535 * testsuite/libgomp.c++/target-18.C: New test. 4536 * testsuite/libgomp.c++/target-19.C: New test. 4537 45382015-11-04 Nathan Sidwell <nathan@codesourcery.com> 4539 4540 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions 4541 and reduction copy. 4542 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise. 4543 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise. 4544 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise. 4545 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. 4546 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise. 4547 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise. 4548 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise. 4549 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise. 4550 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise. 4551 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise. 4552 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise. 4553 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise. 4554 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise. 4555 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New. 4556 45572015-11-04 Nathan Sidwell <nathan@codesourcery.com> 4558 4559 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New. 4560 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New. 4561 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New. 4562 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New. 4563 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New. 4564 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New. 4565 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New. 4566 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var. 4567 45682015-11-03 Nathan Sidwell <nathan@codesourcery.com> 4569 4570 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func. 4571 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg. 4572 (GOMP_OFFLOAD_openacc_parallel): Likewise. 4573 * oacc-host.c (host_openacc_exec): Likewise. 4574 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call. 4575 45762015-11-03 Julian Brown <julian@codesourcery.com> 4577 Thomas Schwinge <thomas@codesourcery.com> 4578 4579 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file. 4580 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise. 4581 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: 4582 Likewise. 4583 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise. 4584 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise. 4585 45862015-11-03 James Norris <jnorris@codesourcery.com> 4587 4588 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New 4589 file. 4590 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: 4591 Likewise. 4592 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise. 4593 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise. 4594 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise. 4595 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file. 4596 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise. 4597 45982015-10-29 Nathan Sidwell <nathan@codesourcery.com> 4599 4600 * openacc.h (enum acc_device_t): Reformat. Ensure layout 4601 compatibility. 4602 (enum acc_async_t): Reformat. 4603 (acc_on_device): Declare compatible with builtin and provide C++ 4604 wrapper. 4605 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New. 4606 46072015-10-29 Thomas Schwinge <thomas@codesourcery.com> 4608 Cesar Philippidis <cesar@codesourcery.com> 4609 4610 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to... 4611 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c: 4612 ... this. Add a description of the test at the top of the file. 4613 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to... 4614 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: 4615 ... this. Add a description of the test at the top of the file. 4616 46172015-10-28 Nathan Sidwell <nathan@codesourcery.com> 4618 4619 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New. 4620 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New. 4621 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New. 4622 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New. 4623 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New. 4624 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New. 4625 46262015-10-27 Nathan Sidwell <nathan@codesourcery.com> 4627 4628 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute 4629 dimensions. 4630 46312015-10-27 Thomas Schwinge <thomas@codesourcery.com> 4632 4633 PR testsuite/68063 4634 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause. 4635 46362015-10-27 James Norris <jnorris@codesourcery.com> 4637 4638 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file. 4639 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise. 4640 46412015-10-26 Thomas Schwinge <thomas@codesourcery.com> 4642 4643 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr. 4644 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise. 4645 4646 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit 4647 acc_device_nvidia usage. 4648 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise. 4649 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise. 4650 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise. 4651 4652 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once. 4653 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file. 4654 4655 PR libgomp/66518 4656 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL. 4657 4658 PR libgomp/65437 4659 PR libgomp/66518 4660 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize. 4661 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL. 4662 46632015-10-23 Tom de Vries <tom@codesourcery.com> 4664 4665 PR testsuite/68063 4666 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause. 4667 46682015-10-20 Nathan Sidwell <nathan@codesourcery.com> 4669 4670 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane 4671 vector_length. 4672 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. 4673 46742015-10-14 Ilya Verbin <ilya.verbin@intel.com> 4675 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com> 4676 4677 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end 4678 to 0 when mapnum is 0. 4679 46802015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de> 4681 4682 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_): 4683 Cast to int from int32_t. 4684 46852015-10-13 Jakub Jelinek <jakub@redhat.com> 4686 Aldy Hernandez <aldyh@redhat.com> 4687 Ilya Verbin <ilya.verbin@intel.com> 4688 4689 * config/linux/affinity.c (omp_get_place_num_procs, 4690 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions. 4691 * config/linux/doacross.h: New file. 4692 * config/posix/affinity.c (omp_get_place_num_procs, 4693 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions. 4694 * config/posix/doacross.h: New file. 4695 * env.c: Include gomp-constants.h. 4696 (struct gomp_task_icv): Rename run_sched_modifier to 4697 run_sched_chunk_size. 4698 (gomp_max_task_priority_var): New variable. 4699 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size. 4700 (handle_omp_display_env): Change _OPENMP value from 201307 to 4701 201511. Print OMP_MAX_TASK_PRIORITY. 4702 (initialize_env): Parse OMP_MAX_TASK_PRIORITY. 4703 (omp_set_schedule, omp_get_schedule): Rename modifier argument to 4704 chunk_size and run_sched_modifier to run_sched_chunk_size. 4705 (omp_get_max_task_priority, omp_get_initial_device, 4706 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places, 4707 omp_get_partition_place_nums): New functions. 4708 * fortran.c (omp_set_schedule_, omp_set_schedule_8_, 4709 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument 4710 to chunk_size. 4711 (omp_get_num_places_, omp_get_place_num_procs_, 4712 omp_get_place_num_procs_8_, omp_get_place_proc_ids_, 4713 omp_get_place_proc_ids_8_, omp_get_place_num_, 4714 omp_get_partition_num_places_, omp_get_partition_place_nums_, 4715 omp_get_partition_place_nums_8_, omp_get_initial_device_, 4716 omp_get_max_task_priority_): New functions. 4717 * libgomp_g.h (GOMP_loop_doacross_static_start, 4718 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start, 4719 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start, 4720 GOMP_loop_ull_doacross_dynamic_start, 4721 GOMP_loop_ull_doacross_guided_start, 4722 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post, 4723 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait, 4724 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41, 4725 GOMP_target_data_41, GOMP_target_update_41, 4726 GOMP_target_enter_exit_data): New prototypes. 4727 (GOMP_task): Add prototype argument. 4728 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined. 4729 (struct gomp_doacross_work_share): New type. 4730 (struct gomp_work_share): Add doacross field. 4731 (struct gomp_task_icv): Rename run_sched_modifier to 4732 run_sched_chunk_size. 4733 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to 4734 GOMP_TASK_UNDEFERRED. Add comments. 4735 (struct gomp_task_depend_entry): Add comments. 4736 (struct gomp_task): Likewise. 4737 (struct gomp_taskgroup): Likewise. 4738 (struct gomp_target_task): New type. 4739 (struct gomp_team): Add comment. 4740 (gomp_get_place_proc_ids_8, gomp_doacross_init, 4741 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies, 4742 gomp_create_target_task, gomp_target_task_fn): New prototypes. 4743 (struct target_var_desc): New type. 4744 (struct target_mem_desc): Adjust comment. Use struct 4745 target_var_desc instead of splay_tree_key for list. 4746 (REFCOUNT_INFINITY): Define. 4747 (struct splay_tree_key_s): Remove copy_from field. 4748 (struct gomp_device_descr): Add dev2dev_func field. 4749 (enum gomp_map_vars_kind): New enum. 4750 (gomp_map_vars): Add one argument. 4751 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority, 4752 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_, 4753 omp_get_place_num_procs, omp_get_place_num_procs_, 4754 omp_get_place_num_procs_8_, omp_get_place_proc_ids, 4755 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num, 4756 omp_get_place_num_, omp_get_partition_num_places, 4757 omp_get_partition_num_places_, omp_get_partition_place_nums, 4758 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_, 4759 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc, 4760 omp_target_free, omp_target_is_present, omp_target_memcpy, 4761 omp_target_memcpy_rect, omp_target_associate_ptr and 4762 omp_target_disassociate_ptr. 4763 (GOMP_4.0.2): Renamed to ... 4764 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41, 4765 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop, 4766 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start, 4767 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start, 4768 GOMP_loop_doacross_static_start, GOMP_doacross_post, 4769 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start, 4770 GOMP_loop_ull_doacross_guided_start, 4771 GOMP_loop_ull_doacross_runtime_start, 4772 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and 4773 GOMP_doacross_ull_wait. 4774 * libgomp.texi: Document omp_get_max_task_priority. 4775 Rename modifier argument to chunk_size for omp_set_schedule and 4776 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var. 4777 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier 4778 to run_sched_chunk_size renaming. 4779 (GOMP_loop_ordered_runtime_start): Likewise. 4780 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start, 4781 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start, 4782 GOMP_parallel_loop_runtime_start): New functions. 4783 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier 4784 to run_sched_chunk_size renaming. 4785 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start, 4786 GOMP_loop_doacross_guided_start): New functions or aliases. 4787 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for 4788 run_sched_modifier to run_sched_chunk_size renaming. 4789 (GOMP_loop_ull_ordered_runtime_start): Likewise. 4790 (gomp_loop_ull_doacross_static_start, 4791 gomp_loop_ull_doacross_dynamic_start, 4792 gomp_loop_ull_doacross_guided_start, 4793 GOMP_loop_ull_doacross_runtime_start): New functions. 4794 (GOMP_loop_ull_doacross_static_start, 4795 GOMP_loop_ull_doacross_dynamic_start, 4796 GOMP_loop_ull_doacross_guided_start): New functions or aliases. 4797 * oacc-mem.c (acc_map_data, present_create_copy, 4798 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false 4799 to gomp_map_vars. 4800 (gomp_acc_remove_pointer): Use copy_from from target_var_desc. 4801 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC 4802 instead of false to gomp_map_vars. 4803 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc. 4804 * omp.h.in (omp_lock_hint_t): New type. 4805 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint, 4806 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids, 4807 omp_get_place_num, omp_get_partition_num_places, 4808 omp_get_partition_place_nums, omp_get_initial_device, 4809 omp_get_max_task_priority, omp_target_alloc, omp_target_free, 4810 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect, 4811 omp_target_associate_ptr, omp_target_disassociate_ptr): New 4812 prototypes. 4813 * omp_lib.f90.in (omp_lock_hint_kind): New parameter. 4814 (omp_lock_hint_none, omp_lock_hint_uncontended, 4815 omp_lock_hint_contended, omp_lock_hint_nonspeculative, 4816 omp_lock_hint_speculative): New parameters. 4817 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint, 4818 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids, 4819 omp_get_place_num, omp_get_partition_num_places, 4820 omp_get_partition_place_nums, omp_get_initial_device, 4821 omp_get_max_task_priority): New interfaces. 4822 (omp_set_schedule, omp_get_schedule): Rename modifier argument 4823 to chunk_size. 4824 * omp_lib.h.in (omp_lock_hint_kind): New parameter. 4825 (omp_lock_hint_none, omp_lock_hint_uncontended, 4826 omp_lock_hint_contended, omp_lock_hint_nonspeculative, 4827 omp_lock_hint_speculative): New parameters. 4828 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint, 4829 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids, 4830 omp_get_place_num, omp_get_partition_num_places, 4831 omp_get_partition_place_nums, omp_get_initial_device, 4832 omp_get_max_task_priority): New functions and subroutines. 4833 * ordered.c: Include stdarg.h and string.h. 4834 (MAX_COLLAPSED_BITS): Define. 4835 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait, 4836 gomp_doacross_ull_init, GOMP_doacross_ull_post, 4837 GOMP_doacross_ull_wait): New functions. 4838 * target.c: Include errno.h. 4839 (resolve_device): If device is not initialized, call 4840 gomp_init_device on it. 4841 (gomp_map_lookup): New function. 4842 (gomp_map_vars_existing): Add tgt_var argument, fill it in. 4843 Don't bump refcount if REFCOUNT_INFINITY. Handle 4844 GOMP_MAP_ALWAYS_TO_P. 4845 (get_kind): Rename is_openacc argument to short_mapkind. 4846 (gomp_map_pointer): Use gomp_map_lookup. 4847 (gomp_map_fields_existing): New function. 4848 (gomp_map_vars): Rename is_openacc argument to short_mapkind 4849 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA, 4850 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT, 4851 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION. 4852 Adjust for tgt->list changed type and copy_from living in there. 4853 (gomp_copy_from_async): Adjust for tgt->list changed type and 4854 copy_from living in there. 4855 (gomp_unmap_vars): Likewise. 4856 (gomp_update): Likewise. Rename is_openacc argument to 4857 short_mapkind. Don't fail if object is not mapped. 4858 (gomp_load_image_to_device): Initialize refcount to 4859 REFCOUNT_INFINITY. 4860 (gomp_target_fallback): New function. 4861 (gomp_get_target_fn_addr): Likewise. 4862 (GOMP_target): Adjust gomp_map_vars caller, use 4863 gomp_get_target_fn_addr and gomp_target_fallback. 4864 (GOMP_target_41): New function. 4865 (gomp_target_data_fallback): New function. 4866 (GOMP_target_data): Use it, adjust gomp_map_vars caller. 4867 (GOMP_target_data_41): New function. 4868 (GOMP_target_update): Adjust gomp_update caller. 4869 (GOMP_target_update_41): New function. 4870 (gomp_exit_data, GOMP_target_enter_exit_data, 4871 gomp_target_task_fn, omp_target_alloc, omp_target_free, 4872 omp_target_is_present, omp_target_memcpy, 4873 omp_target_memcpy_rect_worker, omp_target_memcpy_rect, 4874 omp_target_associate_ptr, omp_target_disassociate_ptr, 4875 gomp_load_plugin_for_device): New functions. 4876 * task.c: Include gomp-constants.h. Include taskloop.c 4877 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions. 4878 (gomp_task_handle_depend): New function. 4879 (GOMP_task): Use it. Add priority argument. Use 4880 gomp-constant.h constants instead of hardcoded numbers. 4881 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED. 4882 (gomp_create_target_task): New function. 4883 (verify_children_queue, verify_taskgroup_queue, 4884 verify_task_queue): New functions. 4885 (gomp_task_run_pre): Call verify_*_queue functions. 4886 If an upcoming tied task is about to leave the sibling or 4887 taskgroup queues in an invalid state, adjust appropriately. 4888 Remove taskgroup argument. Add comments. 4889 (gomp_task_run_post_handle_dependers): Add comments. 4890 (gomp_task_run_post_remove_parent): Likewise. 4891 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller. 4892 (GOMP_taskwait): Likewise. Add comments. 4893 (gomp_task_maybe_wait_for_dependencies): Fix scheduling 4894 problem such that the first non parent_depends_on task does not 4895 end up at the end of the children queue. 4896 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to 4897 GOMP_TASK_UNDEFERRED. 4898 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller. 4899 * taskloop.c: New file. 4900 * testsuite/lib/libgomp.exp 4901 (check_effective_target_offload_device_nonshared_as): New proc. 4902 * testsuite/libgomp.c/affinity-2.c: New test. 4903 * testsuite/libgomp.c/doacross-1.c: New test. 4904 * testsuite/libgomp.c/doacross-2.c: New test. 4905 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper): 4906 Add map clause to target. 4907 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise. 4908 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise. 4909 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise. 4910 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise. 4911 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt): 4912 Likewise. 4913 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise. 4914 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise. 4915 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise. 4916 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if 4917 not defined. Use those where needed. 4918 * testsuite/libgomp.c/for-4.c: New test. 4919 * testsuite/libgomp.c/for-5.c: New test. 4920 * testsuite/libgomp.c/for-6.c: New test. 4921 * testsuite/libgomp.c/linear-1.c: New test. 4922 * testsuite/libgomp.c/ordered-4.c: New test. 4923 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause 4924 only allowed on the loop iterator. 4925 * testsuite/libgomp.c/pr66199-3.c: New test. 4926 * testsuite/libgomp.c/pr66199-4.c: New test. 4927 * testsuite/libgomp.c/reduction-7.c: New test. 4928 * testsuite/libgomp.c/reduction-8.c: New test. 4929 * testsuite/libgomp.c/reduction-9.c: New test. 4930 * testsuite/libgomp.c/reduction-10.c: New test. 4931 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add 4932 map(tofrom:s). 4933 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise. 4934 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed. 4935 * testsuite/libgomp.c/target-11.c: New test. 4936 * testsuite/libgomp.c/target-12.c: New test. 4937 * testsuite/libgomp.c/target-13.c: New test. 4938 * testsuite/libgomp.c/target-14.c: New test. 4939 * testsuite/libgomp.c/target-15.c: New test. 4940 * testsuite/libgomp.c/target-16.c: New test. 4941 * testsuite/libgomp.c/target-17.c: New test. 4942 * testsuite/libgomp.c/target-18.c: New test. 4943 * testsuite/libgomp.c/target-19.c: New test. 4944 * testsuite/libgomp.c/target-20.c: New test. 4945 * testsuite/libgomp.c/target-21.c: New test. 4946 * testsuite/libgomp.c/target-22.c: New test. 4947 * testsuite/libgomp.c/target-23.c: New test. 4948 * testsuite/libgomp.c/target-24.c: New test. 4949 * testsuite/libgomp.c/target-25.c: New test. 4950 * testsuite/libgomp.c/target-26.c: New test. 4951 * testsuite/libgomp.c/target-27.c: New test. 4952 * testsuite/libgomp.c/taskloop-1.c: New test. 4953 * testsuite/libgomp.c/taskloop-2.c: New test. 4954 * testsuite/libgomp.c/taskloop-3.c: New test. 4955 * testsuite/libgomp.c/taskloop-4.c: New test. 4956 * testsuite/libgomp.c++/ctor-13.C: New test. 4957 * testsuite/libgomp.c++/doacross-1.C: New test. 4958 * testsuite/libgomp.c++/examples-4/declare_target-2.C: 4959 Replace offload_device with offload_device_nonshared_as. 4960 * testsuite/libgomp.c++/for-12.C: New test. 4961 * testsuite/libgomp.c++/for-13.C: New test. 4962 * testsuite/libgomp.c++/for-14.C: New test. 4963 * testsuite/libgomp.c++/linear-1.C: New test. 4964 * testsuite/libgomp.c++/member-1.C: New test. 4965 * testsuite/libgomp.c++/member-2.C: New test. 4966 * testsuite/libgomp.c++/member-3.C: New test. 4967 * testsuite/libgomp.c++/member-4.C: New test. 4968 * testsuite/libgomp.c++/member-5.C: New test. 4969 * testsuite/libgomp.c++/ordered-1.C: New test. 4970 * testsuite/libgomp.c++/reduction-5.C: New test. 4971 * testsuite/libgomp.c++/reduction-6.C: New test. 4972 * testsuite/libgomp.c++/reduction-7.C: New test. 4973 * testsuite/libgomp.c++/reduction-8.C: New test. 4974 * testsuite/libgomp.c++/reduction-9.C: New test. 4975 * testsuite/libgomp.c++/reduction-10.C: New test. 4976 * testsuite/libgomp.c++/reference-1.C: New test. 4977 * testsuite/libgomp.c++/simd14.C: New test. 4978 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause. 4979 * testsuite/libgomp.c++/target-5.C: New test. 4980 * testsuite/libgomp.c++/target-6.C: New test. 4981 * testsuite/libgomp.c++/target-7.C: New test. 4982 * testsuite/libgomp.c++/target-8.C: New test. 4983 * testsuite/libgomp.c++/target-9.C: New test. 4984 * testsuite/libgomp.c++/target-10.C: New test. 4985 * testsuite/libgomp.c++/target-11.C: New test. 4986 * testsuite/libgomp.c++/target-12.C: New test. 4987 * testsuite/libgomp.c++/taskloop-1.C: New test. 4988 * testsuite/libgomp.c++/taskloop-2.C: New test. 4989 * testsuite/libgomp.c++/taskloop-3.C: New test. 4990 * testsuite/libgomp.c++/taskloop-4.C: New test. 4991 * testsuite/libgomp.c++/taskloop-5.C: New test. 4992 * testsuite/libgomp.c++/taskloop-6.C: New test. 4993 * testsuite/libgomp.c++/taskloop-7.C: New test. 4994 * testsuite/libgomp.c++/taskloop-8.C: New test. 4995 * testsuite/libgomp.c++/taskloop-9.C: New test. 4996 * testsuite/libgomp.fortran/affinity1.f90: New test. 4997 * testsuite/libgomp.fortran/affinity2.f90: New test. 4998 49992015-10-13 Tom de Vries <tom@codesourcery.com> 5000 5001 PR tree-optimization/67476 5002 * testsuite/libgomp.c/autopar-3.c: New test. 5003 * testsuite/libgomp.c/autopar-4.c: New test. 5004 * testsuite/libgomp.c/autopar-5.c: New test. 5005 * testsuite/libgomp.c/autopar-6.c: New test. 5006 * testsuite/libgomp.c/autopar-7.c: New test. 5007 * testsuite/libgomp.c/autopar-8.c: New test. 5008 50092015-10-12 James Norris <jnorris@codesourcery.com> 5010 5011 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop 5012 initializer. 5013 50142015-10-09 David Malcolm <dmalcolm@redhat.com> 5015 5016 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp, 5017 using load_gcc_lib. 5018 50192015-10-02 Thomas Schwinge <thomas@codesourcery.com> 5020 5021 * oacc-ptx.h: Remove file, moving its content into... 5022 * config/nvptx/fortran.c: ... here... 5023 * config/nvptx/oacc-init.c: ..., here... 5024 * config/nvptx/oacc-parallel.c: ..., and here. 5025 * config/nvptx/openacc.f90: New file. 5026 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h". 5027 (link_ptx): Don't link in predefined bits of PTX code. 5028 50292015-09-30 Nathan Sidwell <nathan@codesourcery.com> 5030 Bernd Schmidt <bernds@codesourcery.com> 5031 5032 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX. 5033 (struct targ_ptx_obj): New. 5034 (nvptx_tdata): Move earlier, change data format. 5035 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple 5036 objects. 5037 (GOMP_OFFLOAD_load_image): Adjust. 5038 50392015-09-30 Thomas Schwinge <thomas@codesourcery.com> 5040 5041 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint. 5042 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise. 5043 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise. 5044 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise. 5045 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise. 5046 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise. 5047 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise. 5048 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise. 5049 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise. 5050 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise. 5051 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise. 5052 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise. 5053 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise. 5054 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise. 5055 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise. 5056 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise. 5057 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise. 5058 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise. 5059 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise. 5060 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise. 5061 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. 5062 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise. 5063 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise. 5064 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise. 5065 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise. 5066 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise. 5067 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise. 5068 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise. 5069 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise. 5070 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise. 5071 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise. 5072 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise. 5073 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise. 5074 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise. 5075 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. 5076 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise. 5077 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise. 5078 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise. 5079 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise. 5080 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise. 5081 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise. 5082 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise. 5083 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise. 5084 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise. 5085 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise. 5086 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise. 5087 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise. 5088 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise. 5089 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise. 5090 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise. 5091 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise. 5092 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise. 5093 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise. 5094 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise. 5095 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise. 5096 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise. 5097 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise. 5098 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise. 5099 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise. 5100 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise. 5101 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise. 5102 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise. 5103 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise. 5104 51052015-09-29 Nathan Sidwell <nathan@codesourcery.com> 5106 5107 * oacc-init.c (acc_on_device): Force optimization level. 5108 51092015-09-29 Nathan Sidwell <nathan@codesourcery.com> 5110 5111 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete. 5112 (cuda_errlist): Delete. 5113 (cuda_error): Reimplement. 5114 51152015-09-28 Nathan Sidwell <nathan@codesourcery.com> 5116 5117 * libgomp.h (acc_dispatch_t): Replace separate geometry args with 5118 array. 5119 * libgomp.map (GOACC_parallel_keyed): New. 5120 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust 5121 all callers. 5122 (GOACC_parallel_keyed): New interface. Lose geometry arguments 5123 and take keyed varargs list. Adjust call to exec_func. 5124 (GOACC_parallel): Force host fallback. 5125 * libgomp_g.h (GOACC_parallel): Remove. 5126 (GOACC_parallel_keyed): Declare. 5127 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct. 5128 (stuct targ_gn_descriptor): Replace name field with launch field. 5129 (nvptx_exec): Lose separate geometry args, take array. Process 5130 dynamic dimensions and adjust. 5131 (struct nvptx_tdata): Replace fn_names field with fn_descs. 5132 (GOMP_OFFLOAD_load_image): Adjust for change in function table 5133 data. 5134 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension 5135 passing. 5136 * oacc-host.c (host_openacc_exec): Adjust for change in dimension 5137 passing. 5138 51392015-09-22 Chung-Lin Tang <cltang@codesourcery.com> 5140 5141 PR libgomp/67141 5142 * oacc-int.h (goacc_host_init): Add declaration. 5143 * oacc-host.c (goacc_host_init): Remove static and constructor attribute. 5144 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end. 5145 51462015-09-08 Aditya Kumar <hiraditya@msn.com> 5147 Sebastian Pop <s.pop@samsung.com> 5148 5149 * testsuite/libgomp.graphite/bounds.c (int foo): Modifed test case to 5150 match o/p. 5151 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same. 5152 * testsuite/libgomp.graphite/force-parallel-4.c: Same. 5153 * testsuite/libgomp.graphite/force-parallel-5.c: Same. 5154 * testsuite/libgomp.graphite/force-parallel-7.c: Same. 5155 * testsuite/libgomp.graphite/force-parallel-8.c: Same. 5156 51572015-09-03 Jakub Jelinek <jakub@redhat.com> 5158 5159 * configure.tgt: Add missing ;; in between nvptx and rtems 5160 snippets. 5161 51622015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de> 5163 5164 * config/posix/pool.h (gomp_adjust_thread_attr): New. 5165 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise. 5166 (gomp_thread_pool_reservoir): Add priority member. 5167 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add 5168 priority. 5169 (parse_thread_pools): Likewise. 5170 * team.c (gomp_team_start): Call configuration provided 5171 gomp_adjust_thread_attr(). Destroy thread attributes if 5172 necessary. 5173 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS. 5174 51752015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de> 5176 5177 * config/posix/pool.h: New. 5178 * config/rtems/pool.h: Likewise. 5179 * config/rtems/proc.c: Likewise. 5180 * libgomp.h (gomp_thread_destructor): Declare. 5181 * team.c: Include configuration provided "pool.h". 5182 (gomp_get_thread_pool): Define in configuration. 5183 (gomp_team_end): Call configuration defined 5184 gomp_release_thread_pool(). 5185 51862015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de> 5187 5188 * config/rtems/bar.c: New. 5189 * config/rtems/bar.h: Likewise. 5190 * config/rtems/mutex.c: Likewise. 5191 * config/rtems/mutex.h: Likewise. 5192 * config/rtems/sem.c: Likewise. 5193 * config/rtems/sem.h: Likewise. 5194 * configure.ac (*-*-rtems*): Check that Newlib provides a proper 5195 <sys/lock.h> header file. 5196 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if 5197 supported by Newlib. 5198 * configure: Regenerate. 5199 52002015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de> 5201 5202 * team.c (gomp_new_thread_pool): Delete and move content to ... 5203 (gomp_get_thread_pool): ... new function. Allocate and 5204 initialize thread pool on demand. 5205 (get_last_team): Use gomp_get_thread_pool(). 5206 (gomp_team_start): Delete thread pool initialization. 5207 52082015-09-03 Tom de Vries <tom@codesourcery.com> 5209 5210 PR tree-optimization/65637 5211 * testsuite/libgomp.c/autopar-2.c: New test. 5212 52132015-08-29 Tom de Vries <tom@codesourcery.com> 5214 5215 PR tree-optimization/46193 5216 * testsuite/libgomp.c/pr46193.c: New test. 5217 52182015-08-24 Nathan Sidwell <nathan@codesourcery.com> 5219 5220 libgomp/ 5221 * libgomp.map: Add 4.0.2 version. 5222 * target.c (offload_image_descr): Add version field. 5223 (gomp_load_image_to_device): Add version argument. Adjust plugin 5224 call. Improve load mismatch diagnostic. 5225 (gomp_unload_image_from_device): Add version argument. Adjust plugin 5226 call. 5227 (GOMP_offload_regster): Make stub function, move bulk to ... 5228 (GOMP_offload_register_ver): ... here. Process version argument. 5229 (GOMP_offload_unregister): Make stub function, move bulk to ... 5230 (GOMP_offload_unregister_ver): ... here. Process version argument. 5231 (gomp_init_device): Process version field. 5232 (gomp_unload_device): Process version field. 5233 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT 5234 macros. Check plugin version. 5235 * libgomp.h (gomp_device_descr): Add version function field. Adjust 5236 loader and unloader types. 5237 * oacc-host.c: Include gomp-constants.h. 5238 (host_version): New. 5239 (host_load_image, host_unload_image): Adjust. 5240 (host_dispatch): Add host_version. 5241 * plugin/plugin-nvptx.c: Include gomp-constants.h. 5242 (GOMP_OFFLOAD_version): New. 5243 (GOMP_OFFLOAD_load_image): Add version arg and check it. 5244 (GOMP_OFFLOAD_unload_image): Likewise. 5245 * plugin/plugin-host.c: Include gomp-constants.h. 5246 (GOMP_OFFLOAD_version): New. 5247 (GOMP_OFFLOAD_load_image): Add version arg. 5248 (GOMP_OFFLOAD_unload_image): Likewise. 5249 52502015-08-24 Tom de Vries <tom@codesourcery.com> 5251 5252 PR tree-optimization/65468 5253 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test. 5254 52552015-08-24 Tom de Vries <tom@codesourcery.com> 5256 5257 PR tree-optimization/65468 5258 * testsuite/libgomp.c/static-chunk-size-one.c: New test. 5259 52602015-08-24 Joost VandeVondele <vondele@gnu.gcc.org> 5261 5262 PR libgomp/66761 5263 PR libgomp/67303 5264 * iter.c (gomp_iter_dynamic_next): Employ an atomic load. 5265 (gomp_iter_guided_next): Idem. 5266 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem. 5267 (gomp_iter_ull_guided_next): Idem. 5268 * config/linux/wait.h (do_spin): Idem. 5269 52702015-08-10 Thomas Schwinge <thomas@codesourcery.com> 5271 5272 * libgomp-plugin.h (enum offload_target_type): Remove 5273 OFFLOAD_TARGET_TYPE_HOST_NONSHM. 5274 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm. 5275 * openacc.h (enum acc_device_t): Likewise. 5276 * openacc_lib.h: Likewise. 5277 * oacc-init.c (name_of_acc_device_t): Don't handle it. 5278 (acc_on_device): Just use __builtin_acc_on_device. 5279 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage 5280 of acc_on_device builtin. 5281 * plugin/plugin-host.h: Remove file. 5282 * plugin/plugin-host.c: Likewise, but salvage some content into... 5283 * oacc-host.c: ... this file. 5284 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la. 5285 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm. 5286 * Makefile.in: Regenerate. 5287 * configure: Likewise. 5288 * testsuite/lib/libgomp.exp 5289 (check_effective_target_openacc_host_nonshm_selected): Remove. 5290 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle 5291 ACC_DEVICE_TYPE=host_nonshm. 5292 * testsuite/libgomp.oacc-c/c.exp: Likewise. 5293 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 5294 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise. 5295 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise. 5296 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise. 5297 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise. 5298 52992015-08-10 Thomas Schwinge <thomas@codesourcery.com> 5300 Jakub Jelinek <jakub@redhat.com> 5301 5302 * config/nvptx/affinity.c: New file. 5303 * config/nvptx/alloc.c: Likewise. 5304 * config/nvptx/bar.c: Likewise. 5305 * config/nvptx/barrier.c: Likewise. 5306 * config/nvptx/critical.c: Likewise. 5307 * config/nvptx/env.c: Likewise. 5308 * config/nvptx/error.c: Likewise. 5309 * config/nvptx/fortran.c: Likewise. 5310 * config/nvptx/iter.c: Likewise. 5311 * config/nvptx/iter_ull.c: Likewise. 5312 * config/nvptx/libgomp-plugin.c: Likewise. 5313 * config/nvptx/lock.c: Likewise. 5314 * config/nvptx/loop.c: Likewise. 5315 * config/nvptx/loop_ull.c: Likewise. 5316 * config/nvptx/mutex.c: Likewise. 5317 * config/nvptx/oacc-async.c: Likewise. 5318 * config/nvptx/oacc-cuda.c: Likewise. 5319 * config/nvptx/oacc-host.c: Likewise. 5320 * config/nvptx/oacc-init.c: Likewise. 5321 * config/nvptx/oacc-mem.c: Likewise. 5322 * config/nvptx/oacc-parallel.c: Likewise. 5323 * config/nvptx/oacc-plugin.c: Likewise. 5324 * config/nvptx/omp-lock.h: Likewise. 5325 * config/nvptx/ordered.c: Likewise. 5326 * config/nvptx/parallel.c: Likewise. 5327 * config/nvptx/proc.c: Likewise. 5328 * config/nvptx/ptrlock.c: Likewise. 5329 * config/nvptx/sections.c: Likewise. 5330 * config/nvptx/sem.c: Likewise. 5331 * config/nvptx/single.c: Likewise. 5332 * config/nvptx/splay-tree.c: Likewise. 5333 * config/nvptx/target.c: Likewise. 5334 * config/nvptx/task.c: Likewise. 5335 * config/nvptx/team.c: Likewise. 5336 * config/nvptx/time.c: Likewise. 5337 * config/nvptx/work.c: Likewise. 5338 * configure.ac: Don't probe pthreads support for host nvptx*-*-*. 5339 * configure: Regenerate. 5340 * configure.tgt (config_path): Set to "nvptx" for target 5341 nvptx*-*-*. 5342 53432015-08-10 Thomas Schwinge <thomas@codesourcery.com> 5344 5345 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file. 5346 53472015-08-03 Nathan Sidwell <nathan@codesourcery.com> 5348 5349 * plugin/plugin-nvptx.c: Don't include dlfcn.h. 5350 (cuda_errlist): Constify. 5351 (errmsg): Move into ... 5352 (cuda_error): ... here. Make smaller. 5353 (_XSTR, _STR): Delete. 5354 (cuda_synames): Delete. 5355 (verify_device_library): Delete. 5356 (nvptx_init): Don't call it. 5357 53582015-07-28 Tom de Vries <tom@codesourcery.com> 5359 5360 * testsuite/libgomp.c/uns-outer-4.c: New test. 5361 53622015-07-24 Cesar Philippidis <cesar@codesourcery.com> 5363 5364 * testsuite/libgomp.c/pr66714.c: New test. 5365 53662015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com> 5367 5368 PR libgomp/66950 5369 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45. 5370 (fib_ref): New function. 5371 (fib): Correct corner cases in the recursion. 5372 (main): Replace the non-simd loop with fib_ref call. 5373 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New 5374 subroutine. 5375 (fibonacci): Lower the parameter N to 30. Correct accordingly check 5376 for the last array element value. Replace the non-simd loop with 5377 fib_ref call. Remove redundant b_ref array. Remove the comparison 5378 of the last array element with according Fibonacci sequence element. 5379 (fib): Correct corner cases in the recursion. 5380 53812015-07-21 Nathan Sidwell <nathan@codesourcery.com> 5382 5383 * target.c (gomp_offload_image_to_device): Rename to ... 5384 (gomp_load_image_to_device): ... here. 5385 (GOMP_offload_register): Adjust call. 5386 (gomp_init_device): Likewise. 5387 (gomp_unload_image_from_device): New. Broken out of ... 5388 (GOMP_offload_unregister): ... here. Call it. 5389 (gomp_unload_device): New. 5390 * libgomp.h (gomp_unload_device): Declare. 5391 * oacc-init.c (acc_shutdown_1): Unload from device before deleting 5392 mem maps. 5393 53942015-07-20 Nathan Sidwell <nathan@codesourcery.com> 5395 5396 * oacc-parallel.c (GOACC_parallel): Move variadic handling into 5397 wait=-specific if. 5398 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits 5399 !=0 condition. 5400 (goacc_waits): Move !num_waits handling to ... 5401 (GOACC_wait): ... here, the only caller that might have zero waits. 5402 5403 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later. 5404 (struct ptx_image_data): Move earlier, add fns field. 5405 (struct ptx_device): Add images and image_lock fields. 5406 (ptx_images, ptx_image_lock): Delete. 5407 (nvptx_open_device): Initialize images and image_lock fields. 5408 (nvptx_close_device): Destroy image_lock. 5409 (GOMP_OFFLOAD_load_image): Register image to device-specific fields. 5410 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific 5411 fields. 5412 54132015-07-17 Nathan Sidwell <nathan@codesourcery.com> 5414 5415 * target.c (GOMP_offload_register): Use int for device type arg. 5416 (GOMP_offload_unregister): Likewise. 5417 5418 * target.c (struct_offload_image_descr): Constify host_table. 5419 (gomp_offload_image_to_device): Likewise. 5420 (GOMP_offload_register, GOMP_offload_unregister): Likewise. 5421 5422 * libgomp.h (gomp_device_descr): Constify target data arguments. 5423 * target.c (struct offload_image_descr): Constify target_data. 5424 (gomp_offload_image_to_device): Likewise. 5425 (GOMP_offload_register): Likewise. 5426 (GOMP_offload_unrefister): Likewise. 5427 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image, 5428 GOMP_OFFLOAD_unload_image): Constify target data. 5429 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data. 5430 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise. 5431 54322015-07-16 Nathan Sidwell <nathan@codesourcery.com> 5433 5434 * plugin/plugin-nvptx.c (link_ptx): Constify string argument. 5435 Workaround driver library const error. 5436 (struct nvptx_tdata, nvptx_tdata_t): New. 5437 (GOMP_OFFLOAD_load_image): Use struct for target_data's real 5438 type. 5439 54402015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com> 5441 5442 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type 5443 of EPS parameter from integer to real. 5444 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change 5445 type of EPS parameter from integer to real. 5446 54472015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de> 5448 5449 * team.c (get_last_team): New. 5450 (gomp_new_team): Recycle last non-nested team if possible. 5451 (gomp_team_end): Move team work share list free lock destruction 5452 to ... 5453 (free_team): ... here. 5454 54552015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com> 5456 5457 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res 5458 and ref from int to double. Replaced their comparison with 5459 an inequality of their difference and EPS. 5460 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the 5461 comparison of pri and a reference number with an inequality of their 5462 difference and EPS. 5463 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced 5464 the comparison of sum and sum_ref with an inequality of their 5465 difference and EPS. 5466 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace 5467 the comparison of pri and a reference number with an inequality of 5468 their difference and EPS. 5469 54702015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com> 5471 5472 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to... 5473 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this. 5474 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to... 5475 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this. 5476 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to... 5477 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this. 5478 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to... 5479 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this. 5480 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to... 5481 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this. 5482 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to... 5483 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this. 5484 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local 5485 variables. 5486 (vec_mult): Likewise. Add #pragma omp taskwait. 5487 (main): Adjust caller. 5488 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to... 5489 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this. 5490 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to... 5491 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this. 5492 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to... 5493 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this. 5494 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to... 5495 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this. 5496 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to... 5497 * testsuite/libgomp.c/examples-4/device-1.c: ...this. 5498 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to... 5499 * testsuite/libgomp.c/examples-4/device-2.c: ...this. 5500 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to... 5501 * testsuite/libgomp.c/examples-4/device-3.c: ...this. 5502 * testsuite/libgomp.c/examples-4/simd-1.c: New file. 5503 * testsuite/libgomp.c/examples-4/simd-2.c: New file. 5504 * testsuite/libgomp.c/examples-4/simd-3.c: New file. 5505 * testsuite/libgomp.c/examples-4/simd-4.c: New file. 5506 * testsuite/libgomp.c/examples-4/simd-5.c: New file. 5507 * testsuite/libgomp.c/examples-4/simd-6.c: New file. 5508 * testsuite/libgomp.c/examples-4/simd-7.c: New file. 5509 * testsuite/libgomp.c/examples-4/simd-8.c: New file. 5510 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to... 5511 * testsuite/libgomp.c/examples-4/target-1.c: ...this. 5512 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to... 5513 * testsuite/libgomp.c/examples-4/target-2.c: ...this. 5514 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to... 5515 * testsuite/libgomp.c/examples-4/target-3.c: ...this. 5516 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to... 5517 * testsuite/libgomp.c/examples-4/target-4.c: ...this. 5518 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to... 5519 * testsuite/libgomp.c/examples-4/target-5.c: ...this. 5520 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to... 5521 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this. 5522 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to... 5523 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this. 5524 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to... 5525 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this. 5526 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to... 5527 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this. 5528 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to... 5529 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this. 5530 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to... 5531 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this. 5532 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to... 5533 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this. 5534 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to... 5535 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this. 5536 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file. 5537 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file. 5538 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file. 5539 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file. 5540 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file. 5541 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to... 5542 * testsuite/libgomp.c/examples-4/teams-2.c: ...this. 5543 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to... 5544 * testsuite/libgomp.c/examples-4/teams-3.c: ...this. 5545 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to... 5546 * testsuite/libgomp.c/examples-4/teams-4.c: ...this. 5547 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to... 5548 * testsuite/libgomp.c/examples-4/teams-5.c: ...this. 5549 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to... 5550 * testsuite/libgomp.c/examples-4/teams-6.c: ...this. 5551 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to... 5552 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this. 5553 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to... 5554 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this. 5555 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to... 5556 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this. 5557 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to... 5558 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this. 5559 (vec_mult): Add !$omp taskwait. 5560 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to... 5561 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this. 5562 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to... 5563 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this. 5564 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to... 5565 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this. 5566 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to... 5567 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this. 5568 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to... 5569 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this. 5570 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to... 5571 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this. 5572 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to... 5573 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this. 5574 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to... 5575 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this. 5576 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file. 5577 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file. 5578 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file. 5579 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file. 5580 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file. 5581 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file. 5582 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file. 5583 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file. 5584 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to... 5585 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this. 5586 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to... 5587 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this. 5588 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to... 5589 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this. 5590 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to... 5591 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this. 5592 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to... 5593 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this. 5594 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to... 5595 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this. 5596 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to... 5597 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this. 5598 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to... 5599 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this. 5600 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to... 5601 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this. 5602 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to... 5603 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this. 5604 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to... 5605 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this. 5606 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to... 5607 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this. 5608 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to... 5609 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this. 5610 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to... 5611 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this. 5612 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file. 5613 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file. 5614 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file. 5615 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file. 5616 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file. 5617 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to... 5618 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this. 5619 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to... 5620 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this. 5621 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to... 5622 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this. 5623 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to... 5624 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this. 5625 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to... 5626 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this. 5627 56282015-07-10 Tom de Vries <tom@codesourcery.com> 5629 5630 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test. 5631 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test. 5632 56332015-07-08 Thomas Schwinge <thomas@codesourcery.com> 5634 5635 PR libgomp/65099 5636 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not 5637 in a 64-bit configuration. 5638 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia 5639 offloading testing if no such device is available. 5640 * testsuite/libgomp.oacc-c/c.exp: Likewise. 5641 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 5642 56432015-07-08 Tom de Vries <tom@codesourcery.com> 5644 5645 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix 5646 second call to f. 5647 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same. 5648 56492015-07-07 Tom de Vries <tom@codesourcery.com> 5650 5651 PR tree-optimization/66642 5652 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low 5653 iteration count case. 5654 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New 5655 function, factor out of ... 5656 (main): ... here. Test low iteration count case. 5657 56582015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de> 5659 5660 * libgomp.h (gomp_thread_pool): Comment last_team field. 5661 56622015-07-02 Uros Bizjak <ubizjak@gmail.com> 5663 5664 * testsuite/libgomp.c++/pr66702-1.C: Require 5665 vect_simd_clones effective target. 5666 * testsuite/libgomp.c++/pr66702-2.C: Ditto. 5667 56682015-06-30 Tom de Vries <tom@codesourcery.com> 5669 5670 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not 5671 already set. Use DEFAULT_CFLAGS in dg-runtest. 5672 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options 5673 "-O2". 5674 56752015-06-30 Tom de Vries <tom@codesourcery.com> 5676 5677 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not 5678 already set. Use DEFAULT_CFLAGS in dg-runtest. 5679 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp". 5680 * testsuite/libgomp.c++/pr64824.C: Same. 5681 * testsuite/libgomp.c++/pr64868.C: Same. 5682 * testsuite/libgomp.c++/pr66199-1.C: Same. 5683 * testsuite/libgomp.c++/pr66199-2.C: Same. 5684 * testsuite/libgomp.c++/target-2.C: Same. 5685 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for 5686 -std=<standard> option. 5687 * testsuite/libgomp.c++/udr-11.C: Same. 5688 * testsuite/libgomp.c++/udr-12.C: Same. 5689 * testsuite/libgomp.c++/udr-13.C: Same. 5690 * testsuite/libgomp.c++/udr-14.C: Same. 5691 * testsuite/libgomp.c++/udr-15.C: Same. 5692 * testsuite/libgomp.c++/udr-16.C: Same. 5693 * testsuite/libgomp.c++/udr-17.C: Same. 5694 * testsuite/libgomp.c++/udr-18.C: Same. 5695 * testsuite/libgomp.c++/udr-19.C: Same. 5696 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2". 5697 * testsuite/libgomp.c++/simd-1.C: Same. 5698 * testsuite/libgomp.c++/simd-2.C: Same. 5699 * testsuite/libgomp.c++/simd-3.C: Same. 5700 * testsuite/libgomp.c++/simd-4.C: Same. 5701 * testsuite/libgomp.c++/simd-5.C: Same. 5702 * testsuite/libgomp.c++/simd-6.C: Same. 5703 * testsuite/libgomp.c++/simd-7.C: Same. 5704 * testsuite/libgomp.c++/simd-8.C: Same. 5705 * testsuite/libgomp.c++/simd-9.C: Same. 5706 * testsuite/libgomp.c++/simd10.C: Same. 5707 * testsuite/libgomp.c++/simd11.C: Same. 5708 * testsuite/libgomp.c++/simd12.C: Same. 5709 * testsuite/libgomp.c++/simd13.C: Same. 5710 57112015-06-30 Jakub Jelinek <jakub@redhat.com> 5712 5713 PR middle-end/66702 5714 * testsuite/libgomp.c++/pr66702-1.C: New test. 5715 * testsuite/libgomp.c++/pr66702-2.C: New test. 5716 57172015-06-30 Tom de Vries <tom@codesourcery.com> 5718 5719 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test. 5720 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test. 5721 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test. 5722 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment. 5723 57242015-06-30 Tom de Vries <tom@codesourcery.com> 5725 5726 PR tree-optimization/66652 5727 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite 5728 using restrict pointers. 5729 (main): Add arguments to calls to f. 5730 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same. 5731 57322015-06-23 Andreas Tobler <andreast@gcc.gnu.org> 5733 5734 * configure.ac: Fix check for header <sys/sysctl.h>. 5735 * configure: Regenerate. 5736 * config.h.in: Likewise. 5737 57382015-06-23 Tom de Vries <tom@codesourcery.com> 5739 5740 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use 5741 abort. 5742 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same. 5743 57442015-06-19 Thomas Schwinge <thomas@codesourcery.com> 5745 5746 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for 5747 acc_device_nvidia. 5748 5749 PR libgomp/66518 5750 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL. 5751 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. 5752 57532015-06-15 Tom de Vries <tom@codesourcery.com> 5754 5755 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use 5756 dg-additional-options for any remaining options. 5757 * testsuite/libgomp.c/atomic-2.c: Same. 5758 * testsuite/libgomp.c/atomic-4.c: Same. 5759 * testsuite/libgomp.c/atomic-5.c: Same. 5760 * testsuite/libgomp.c/atomic-6.c: Same. 5761 * testsuite/libgomp.c/autopar-1.c: Same. 5762 * testsuite/libgomp.c/copyin-1.c: Same. 5763 * testsuite/libgomp.c/copyin-2.c: Same. 5764 * testsuite/libgomp.c/copyin-3.c: Same. 5765 * testsuite/libgomp.c/examples-4/e.53.5.c: Same. 5766 * testsuite/libgomp.c/nestedfn-5.c: Same. 5767 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same. 5768 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same. 5769 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same. 5770 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same. 5771 * testsuite/libgomp.c/pr32362-1.c: Same. 5772 * testsuite/libgomp.c/pr32362-2.c: Same. 5773 * testsuite/libgomp.c/pr32362-3.c: Same. 5774 * testsuite/libgomp.c/pr39591-1.c: Same. 5775 * testsuite/libgomp.c/pr39591-2.c: Same. 5776 * testsuite/libgomp.c/pr39591-3.c: Same. 5777 * testsuite/libgomp.c/pr58392.c: Same. 5778 * testsuite/libgomp.c/pr58756.c: Same. 5779 * testsuite/libgomp.c/simd-1.c: Same. 5780 * testsuite/libgomp.c/simd-10.c: Same. 5781 * testsuite/libgomp.c/simd-11.c: Same. 5782 * testsuite/libgomp.c/simd-12.c: Same. 5783 * testsuite/libgomp.c/simd-13.c: Same. 5784 * testsuite/libgomp.c/simd-14.c: Same. 5785 * testsuite/libgomp.c/simd-15.c: Same. 5786 * testsuite/libgomp.c/simd-2.c: Same. 5787 * testsuite/libgomp.c/simd-3.c: Same. 5788 * testsuite/libgomp.c/simd-4.c: Same. 5789 * testsuite/libgomp.c/simd-5.c: Same. 5790 * testsuite/libgomp.c/simd-6.c: Same. 5791 * testsuite/libgomp.c/simd-7.c: Same. 5792 * testsuite/libgomp.c/simd-8.c: Same. 5793 * testsuite/libgomp.c/simd-9.c: Same. 5794 57952015-06-15 Tom de Vries <tom@codesourcery.com> 5796 5797 * testsuite/libgomp.c/pr35625.c: Fix typo. 5798 57992015-06-15 Tom de Vries <tom@codesourcery.com> 5800 5801 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting 5802 in dg-options. 5803 * testsuite/libgomp.c/atomic-3.c: Same. 5804 * testsuite/libgomp.c/debug-1.c: Same. 5805 * testsuite/libgomp.c/nqueens-1.c: Same. 5806 * testsuite/libgomp.c/pr26171.c: Same. 5807 * testsuite/libgomp.c/pr48591.c: Same. 5808 * testsuite/libgomp.c/pr64824.c: Same. 5809 * testsuite/libgomp.c/pr64868.c: Same. 5810 * testsuite/libgomp.c/pr66133.c: Same. 5811 * testsuite/libgomp.c/pr66199-1.c: Same. 5812 * testsuite/libgomp.c/pr66199-2.c: Same. 5813 * testsuite/libgomp.c/target-8.c: Same. 5814 58152015-06-15 Tom de Vries <tom@codesourcery.com> 5816 5817 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for 5818 -std={gnu99,c99}. 5819 * testsuite/libgomp.c/for-1.c: Same. 5820 * testsuite/libgomp.c/for-2.c: Same. 5821 * testsuite/libgomp.c/for-3.c: Same. 5822 * testsuite/libgomp.c/pr35625.c: Same. 5823 * testsuite/libgomp.c/pr39154.c: Same. 5824 * testsuite/libgomp.c/simd-16.c: Same. 5825 * testsuite/libgomp.c/simd-17.c: Same. 5826 58272015-06-13 Tom de Vries <tom@codesourcery.com> 5828 5829 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test. 5830 58312015-06-13 Tom de Vries <tom@codesourcery.com> 5832 5833 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment. 5834 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same. 5835 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment. 5836 (N): Define. 5837 (main): Use N instead of hardcoded constants. 5838 58392015-06-05 Tom de Vries <tom@codesourcery.com> 5840 5841 merge from gomp4 branch: 5842 2015-05-28 Tom de Vries <tom@codesourcery.com> 5843 5844 PR tree-optimization/65443 5845 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test. 5846 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test. 5847 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test. 5848 58492015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> 5850 5851 * testsuite/libgomp.graphite/bounds.c: Adjust for 5852 cleanup-tree-dump removal. 5853 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise. 5854 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise. 5855 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise. 5856 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise. 5857 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise. 5858 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise. 5859 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise. 5860 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise. 5861 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise. 5862 * testsuite/libgomp.graphite/pr41118.c: Likewise. 5863 58642015-05-28 Uros Bizjak <ubizjak@gmail.com> 5865 5866 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function. 5867 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0. 5868 (futex_wake) [!__x86_64__]: Ditto. 5869 58702015-05-28 Julian Brown <julian@codesourcery.com> 5871 5872 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update 5873 function comment. Only call gomp_fatal if new argument is true. 5874 (acc_dev_num_out_of_range): New function. 5875 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call 5876 acc_dev_num_out_of_range as appropriate. 5877 (acc_get_num_devices, acc_set_device_type, acc_get_device_type) 5878 (acc_get_device_num, acc_set_device_num): Update calls to 5879 resolve_device. 5880 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test 5881 output. 5882 58832015-05-28 Julian Brown <julian@codesourcery.com> 5884 5885 PR libgomp/65742 5886 * oacc-init.c (plugin/plugin-host.h): Include. 5887 (acc_on_device): Check whether we're in an offloaded region for 5888 host_nonshm 5889 plugin. Don't use __builtin_acc_on_device. 5890 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set 5891 nonshm_exec flag in thread-local data. 5892 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local 5893 data for host_nonshm plugin. 5894 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data 5895 for host_nonshm plugin. 5896 * plugin/plugin-host.h: New. 5897 58982015-05-27 Uros Bizjak <ubizjak@gmail.com> 5899 5900 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int. 5901 59022015-05-27 Uros Bizjak <ubizjak@gmail.com> 5903 5904 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake): 5905 Declare as int. 5906 (FUTEX_PRIVATE_FLAG): Remove L suffix. 5907 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake): 5908 Declare as int. 5909 59102015-05-27 Uros Bizjak <ubizjak@gmail.com> 5911 5912 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function. 5913 59142015-05-27 Chung-Lin Tang <cltang@codesourcery.com> 5915 5916 * target.c (gomp_map_pointer): New function abstracting out 5917 GOMP_MAP_POINTER handling. 5918 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use 5919 gomp_map_pointer(). 5920 59212015-05-19 Jakub Jelinek <jakub@redhat.com> 5922 5923 PR middle-end/66199 5924 * testsuite/libgomp.c/pr66199-1.c: New test. 5925 * testsuite/libgomp.c/pr66199-2.c: New test. 5926 * testsuite/libgomp.c++/pr66199-1.C: New test. 5927 * testsuite/libgomp.c++/pr66199-2.C: New test. 5928 * testsuite/libgomp.fortran/pr66199-1.f90: New test. 5929 * testsuite/libgomp.fortran/pr66199-2.f90: New test. 5930 59312015-05-19 Julian Brown <julian@codesourcery.com> 5932 5933 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero 5934 on cuInit failure. 5935 59362015-05-13 Jakub Jelinek <jakub@redhat.com> 5937 5938 PR middle-end/66133 5939 * testsuite/libgomp.c/pr66133.c: New test. 5940 59412015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com> 5942 5943 * Makefile.in: Regenerated with automake-1.11.6. 5944 * aclocal.m4: Likewise. 5945 * config.h.in: Likewise. 5946 * configure: Likewise. 5947 * testsuite/Makefile.in: Likewise. 5948 59492015-05-08 Jason Merrill <jason@redhat.com> 5950 5951 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use 5952 _Complex. 5953 5954 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax. 5955 59562015-05-06 Julian Brown <julian@codesourcery.com> 5957 5958 * oacc-init.c (acc_device_lock): Add explanatory comment. 5959 (resolve_device): Add comment about locking requirement. 5960 (acc_init_1, acc_shutdown_1): Likewise. Add locking around 5961 gomp_init_device and gomp_fini_device calls. 5962 (acc_get_num_devices, acc_set_device_type, acc_get_device_type) 5963 (acc_get_device_num, acc_set_device_num): Add locking around 5964 resolve_device and gomp_init_device calls. 5965 59662015-05-06 Julian Brown <julian@codesourcery.com> 5967 5968 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for 5969 goacc_thread_lock on error paths. 5970 * oacc-mem.c (lookup_host): Remove locking from function. Note 5971 locking requirement for caller in function comment. 5972 (lookup_dev): Likewise. 5973 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present) 5974 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout) 5975 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer): 5976 Add locking. 5977 59782015-05-05 Thomas Schwinge <thomas@codesourcery.com> 5979 5980 PR testsuite/65205 5981 PR libgomp/65993 5982 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output, 5983 don't expect "0x" prefix for "%p" format specifier, don't expect 5984 "(nil)" for NULL pointer. 5985 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise. 5986 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise. 5987 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise. 5988 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise. 5989 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise. 5990 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise. 5991 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. 5992 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise. 5993 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise. 5994 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise. 5995 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise. 5996 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise. 5997 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise. 5998 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise. 5999 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise. 6000 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise. 6001 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise. 6002 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise. 6003 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. 6004 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise. 6005 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise. 6006 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise. 6007 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise. 6008 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise. 6009 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise. 6010 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise. 6011 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise. 6012 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise. 6013 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More 6014 accurately specify what we're looking for. 6015 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise. 6016 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise. 6017 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise. 6018 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise. 6019 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise. 6020 60212015-04-30 James Norris <jnorris@codesourcery.com> 6022 6023 PR testsuite/65205 6024 * testsuite/lib/libgomp.exp 6025 (check_effective_target_openacc_host_selected) 6026 (check_effective_target_openacc_host_nonshm_selected): New 6027 procedures. 6028 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of 6029 dg-shouldfail. 6030 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise. 6031 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise. 6032 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise. 6033 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise. 6034 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise. 6035 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise. 6036 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise. 6037 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise. 6038 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise. 6039 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. 6040 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise. 6041 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise. 6042 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise. 6043 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise. 6044 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise. 6045 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise. 6046 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise. 6047 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise. 6048 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise. 6049 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise. 6050 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise. 6051 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise. 6052 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise. 6053 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. 6054 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise. 6055 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise. 6056 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise. 6057 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise. 6058 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise. 6059 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise. 6060 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise. 6061 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise. 6062 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise. 6063 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise. 6064 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise. 6065 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise. 6066 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise. 6067 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise. 6068 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise. 6069 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise. 6070 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise. 6071 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise. 6072 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise. 6073 60742015-04-08 Julian Brown <julian@codesourcery.com> 6075 6076 * libgomp.h (target_mem_desc: Remove mem_map field. 6077 (acc_dispatch_t): Remove open_device_func, close_device_func, 6078 get_device_num_func, set_device_num_func, target_data members. 6079 Change create_thread_data_func argument to device number instead of 6080 generic pointer. 6081 * oacc-async.c (assert.h): Include. 6082 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async) 6083 (acc_wait_all, acc_wait_all_async): Use current host thread's 6084 active device, not base_dev. 6085 * oacc-cuda.c (acc_get_current_cuda_device) 6086 (acc_get_current_cuda_context, acc_get_cuda_stream) 6087 (acc_set_cuda_stream): Likewise. 6088 * oacc-host.c (host_dispatch): Don't set open_device_func, 6089 close_device_func, get_device_num_func or set_device_num_func. 6090 * oacc-init.c (base_dev, init_key): Remove. 6091 (cached_base_dev): New. 6092 (name_of_acc_device_t): New. 6093 (acc_init_1): Initialise default-numbered device, not zeroth. 6094 (acc_shutdown_1): Close all devices of a given type. 6095 (goacc_destroy_thread): Don't use base_dev. 6096 (lazy_open, lazy_init, lazy_init_and_open): Remove. 6097 (goacc_attach_host_thread_to_device): New. 6098 (acc_init): Reimplement with goacc_attach_host_thread_to_device. 6099 (acc_get_num_devices): Don't use base_dev. 6100 (acc_set_device_type): Reimplement. 6101 (acc_get_device_type): Don't use base_dev. 6102 (acc_get_device_num): Tweak logic. 6103 (acc_set_device_num): Likewise. 6104 (acc_on_device): Use acc_get_device_type. 6105 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev. 6106 (goacc_lazy_initialize): Reimplement with acc_init and 6107 goacc_attach_host_thread_to_device. 6108 * oacc-int.h (goacc_thread): Add base_dev field. 6109 (base_dev): Remove extern declaration. 6110 (goacc_attach_host_thread_to_device): Add prototype. 6111 * oacc-mem.c (acc_malloc): Use current thread's device instead of 6112 base_dev. 6113 (acc_free): Likewise. 6114 (acc_memcpy_to_device): Likewise. 6115 (acc_memcpy_from_device): Likewise. 6116 * oacc-parallel.c (select_acc_device): Remove. Replace calls with 6117 goacc_lazy_initialize (throughout). 6118 (GOACC_parallel): Use tgt_offset to locate target functions. 6119 * target.c (gomp_map_vars): Don't set tgt->mem_map. 6120 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map. 6121 (gomp_load_plugin_for_device): Remove open_device, close_device, 6122 get_device_num, set_device_num openacc hook initialisation. Don't set 6123 openacc.target_data. 6124 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device) 6125 (GOMP_OFFLOAD_openacc_close_device) 6126 (GOMP_OFFLOAD_openacc_get_device_num) 6127 (GOMP_OFFLOAD_openacc_set_device_num): Remove. 6128 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument 6129 to int. 6130 * plugin/plugin-nvptx.c (ptx_inited): Remove. 6131 (instantiated_devices, ptx_dev_lock): New. 6132 (struct ptx_image_data): New. 6133 (ptx_devices, ptx_images, ptx_image_lock): New. 6134 (fini_streams_for_device): Reorder cuStreamDestroy call. 6135 (nvptx_get_num_devices): Remove forward declaration. 6136 (nvptx_init): Change return type to bool. 6137 (nvptx_fini): Remove. 6138 (nvptx_attach_host_thread_to_device): New. 6139 (nvptx_open_device): Return struct ptx_device* instead of void*. 6140 (nvptx_close_device): Change argument type to struct ptx_device*, 6141 return type to void. 6142 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited. 6143 (kernel_target_data, kernel_host_table): Remove static globals. 6144 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove. 6145 (GOMP_OFFLOAD_init_device): Reimplement. 6146 (GOMP_OFFLOAD_fini_device): Likewise. 6147 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New. 6148 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host) 6149 (GOMP_OFFLOAD_host2dev): Use ORD argument. 6150 (GOMP_OFFLOAD_openacc_open_device) 6151 (GOMP_OFFLOAD_openacc_close_device) 6152 (GOMP_OFFLOAD_openacc_set_device_num) 6153 (GOMP_OFFLOAD_openacc_get_device_num): Remove. 6154 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int 6155 (device number). 6156 6157 testsuite/ 6158 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test. 6159 61602015-04-06 Ilya Verbin <ilya.verbin@intel.com> 6161 6162 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair. 6163 * libgomp.h (struct gomp_memory_mapping): Remove. 6164 (struct target_mem_desc): Change type of mem_map from 6165 gomp_memory_mapping * to splay_tree_s *. 6166 (struct gomp_device_descr): Remove register_image_func, get_table_func. 6167 Add load_image_func, unload_image_func. 6168 Change type of mem_map from gomp_memory_mapping to splay_tree_s. 6169 Remove offload_regions_registered. 6170 (gomp_init_tables): Remove. 6171 (gomp_free_memmap): Change type of argument from gomp_memory_mapping * 6172 to splay_tree_s *. 6173 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister. 6174 * oacc-host.c (host_dispatch): Do not initialize register_image_func, 6175 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root, 6176 offload_regions_registered. 6177 Initialize load_image_func, unload_image_func, mem_map.root. 6178 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock. 6179 * oacc-init.c (lazy_open): Don't call gomp_init_tables. 6180 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's. 6181 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of 6182 gomp_memory_mapping *. Use dev's lock and splay_tree. 6183 (lookup_dev): Use dev's lock. 6184 (acc_deviceptr): Pass dev to lookup_host instead of mem_map. 6185 (acc_is_present): Likewise. 6186 (acc_map_data): Likewise. 6187 (acc_unmap_data): Likewise. Use dev's lock. 6188 (present_create_copy): Likewise. 6189 (delete_copyout): Pass dev to lookup_host instead of mem_map. 6190 (update_dev_host): Likewise. 6191 (gomp_acc_remove_pointer): Likewise. Use dev's lock. 6192 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree. 6193 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove. 6194 (GOMP_OFFLOAD_get_table): Remove 6195 (GOMP_OFFLOAD_load_image): New function. 6196 (GOMP_OFFLOAD_unload_image): New function. 6197 * target.c (register_lock): New mutex for offload image registration. 6198 (num_devices): Do not guard with PLUGIN_SUPPORT. 6199 (gomp_realloc_unlock): New static function. 6200 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex 6201 before gomp_fatal. 6202 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's. 6203 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal. 6204 (gomp_copy_from_async): Use dev's lock and splay_tree instead of 6205 mem_map's. 6206 (gomp_unmap_vars): Likewise. 6207 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and 6208 splay_tree instead of mm's. Unlock mutex before gomp_fatal. 6209 (gomp_offload_image_to_device): New static function. 6210 (GOMP_offload_register): Add mutex lock. 6211 Call gomp_offload_image_to_device for all initialized devices. 6212 Replace gomp_realloc with gomp_realloc_unlock. 6213 (GOMP_offload_unregister): New function. 6214 (gomp_init_tables): Replace with gomp_init_device. Replace a call to 6215 get_table_func from the plugin with calls to init_device_func and 6216 gomp_offload_image_to_device. 6217 (gomp_free_memmap): Change type of argument from gomp_memory_mapping * 6218 to splay_tree_s *. 6219 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and 6220 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal. 6221 (GOMP_target_data): Do not call gomp_init_tables. 6222 (GOMP_target_update): Likewise. Remove argument from gomp_update. 6223 (gomp_load_plugin_for_device): Replace register_image and get_table 6224 with load_image and unload_image in DLSYM (). 6225 (gomp_register_images_for_device): Remove function. 6226 (gomp_target_init): Do not initialize current_device.mem_map.*, 6227 current_device.offload_regions_registered. 6228 Remove call to gomp_register_images_for_device. 6229 Do not free offload_images and num_offload_images. 6230 62312015-03-30 Jakub Jelinek <jakub@redhat.com> 6232 6233 PR fortran/65597 6234 * testsuite/libgomp.fortran/pr65597.f90: New test. 6235 62362015-03-27 Tom de Vries <tom@codesourcery.com> 6237 6238 PR testsuite/65594 6239 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare. 6240 (init, check): New function. 6241 (foo): Change return type to void. 6242 (main): Call init and check. 6243 62442015-03-27 Tom de Vries <tom@codesourcery.com> 6245 6246 PR testsuite/65594 6247 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define. 6248 (foo): Use M for non-inner loops to scale down test-case. 6249 62502015-03-25 Kai Tietz <ktietz@redhat.com> 6251 6252 PR libgomp/64972 6253 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available. 6254 (GOACC_data_start): Likewise. 6255 * target.c (gomp_map_vars): Likewise. 6256 62572015-03-21 John David Anglin <danglin@gcc.gnu.org> 6258 6259 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on 6260 hppa*-*-hpux*. 6261 62622015-03-19 Jakub Jelinek <jakub@redhat.com> 6263 6264 * testsuite/libgomp.c/target-10.c: New test. 6265 * testsuite/libgomp.c++/target-4.C: New test. 6266 62672015-03-13 Ilya Verbin <ilya.verbin@intel.com> 6268 6269 * testsuite/libgomp.fortran/declare-target-1.f90: New test. 6270 * testsuite/libgomp.fortran/declare-target-2.f90: New file. 6271 62722015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de> 6273 6274 * configure.tgt (*-*-rtems*): Use local-exec TLS model. 6275 * configure.ac (*-*-rtems*): Assume Pthread is supported. 6276 (pthread.h): Check for this header file. 6277 * configure: Regenerate. 6278 62792015-02-25 Tom de Vries <tom@codesourcery.com> 6280 6281 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA) 6282 (check_reduction_op, check_reduction_macro, max, min): 6283 Declare. 6284 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New 6285 function. 6286 (main): Use new functions. 6287 62882015-02-18 Ilya Tocar <ilya.tocar@intel.com> 6289 6290 * target.c (gomp_load_plugin_for_device): Use const char * instead of 6291 char * for variables holding dlerror return values. 6292 (DLSYM_OPT): Ditto. 6293 62942015-02-17 Thomas Schwinge <thomas@codesourcery.com> 6295 6296 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo. 6297 62982015-02-17 Thomas Schwinge <thomas@codesourcery.com> 6299 Cesar Philippidis <cesar@codesourcery.com> 6300 6301 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid, 6302 GOACC_ctaid, and GOACC_nctaid routines. 6303 63042015-02-11 Jakub Jelinek <jakub@redhat.com> 6305 6306 PR c/64824 6307 * testsuite/libgomp.c/atomic-18.c: New test. 6308 * testsuite/libgomp.c++/atomic-16.C: New test. 6309 63102015-02-04 Jakub Jelinek <jakub@redhat.com> 6311 6312 PR c/64824 6313 PR c/64868 6314 * testsuite/libgomp.c/pr64824.c: New test. 6315 * testsuite/libgomp.c/pr64868.c: New test. 6316 * testsuite/libgomp.c++/pr64824.C: New test. 6317 * testsuite/libgomp.c++/pr64868.C: New test. 6318 63192015-02-01 David Edelsohn <dje.gcc@gmail.com> 6320 6321 PR libgomp/64635 6322 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h. 6323 Link with -lpthread. 6324 * config/aix/plugin-suffix.h: Delete. 6325 63262015-01-28 Jack Howarth <howarth.at.gcc@gmail.com> 6327 6328 PR libgomp/64635 6329 * configure.tgt (*-*-aix*): Use config_path "aix posix". 6330 (*-*-darwin*): Use config_path "bsd darwin posix". 6331 (*-*-hpux*): Use config_path "hpux posix". 6332 * target.c: Add include of plugin-suffix.h and use 6333 SONAME_SUFFIX macro. 6334 * config/aix/plugin-suffix.h: New file. 6335 * config/darwin/plugin-suffix.h: New file. 6336 * config/hpux/plugin-suffix.h: New file. 6337 * config/posix/plugin-suffix.h: New file. 6338 63392015-01-23 Jakub Jelinek <jakub@redhat.com> 6340 6341 PR middle-end/64734 6342 * libgomp.c/pr64734.c: New test. 6343 63442015-01-23 Tom de Vries <tom@codesourcery.com> 6345 6346 PR libgomp/64672 6347 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test. 6348 63492015-01-23 Tom de Vries <tom@codesourcery.com> 6350 6351 PR libgomp/64707 6352 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to 6353 dg-options. 6354 63552015-01-19 Thomas Schwinge <thomas@codesourcery.com> 6356 6357 PR libgomp/64625 6358 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data) 6359 (GOACC_parallel, GOACC_update): Remove const_void *offload_table 6360 formal parameter. Update all users. 6361 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update): 6362 Document unused formal parameter. 6363 63642015-01-16 Thomas Schwinge <thomas@codesourcery.com> 6365 6366 * oacc-parallel.c: Don't include <alloca.h>. 6367 (GOACC_parallel): Use gomp_alloca instead of alloca. 6368 63692015-01-16 Gerald Pfeifer <gerald@pfeifer.com> 6370 6371 * target.c (num_devices): Guard with PLUGIN_SUPPORT. 6372 63732015-01-15 Thomas Schwinge <thomas@codesourcery.com> 6374 James Norris <jnorris@codesourcery.com> 6375 Tom de Vries <tom@codesourcery.com> 6376 Julian Brown <julian@codesourcery.com> 6377 Cesar Philippidis <cesar@codesourcery.com> 6378 Nathan Sidwell <nathan@codesourcery.com> 6379 Tobias Burnus <burnus@net-b.de> 6380 6381 * Makefile.am (search_path): Add $(top_srcdir)/../include. 6382 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c, 6383 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c, 6384 oacc-async.c, oacc-plugin.c, oacc-cuda.c. 6385 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90. 6386 Include $(top_srcdir)/plugin/Makefrag.am. 6387 (nodist_libsubinclude_HEADERS): Add openacc.h. 6388 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h, 6389 openacc.f90, openacc.mod, openacc_kinds.mod. 6390 (omp_lib.mod): Generalize into... 6391 (%.mod): ... this new rule. 6392 (openacc_kinds.mod, openacc.mod): New rules. 6393 * plugin/configfrag.ac: New file. 6394 * configure.ac: Move plugin/offloading support into it. Include 6395 it. Instantiate testsuite/libgomp-test-support.pt.exp. 6396 * plugin/Makefrag.am: New file. 6397 * testsuite/Makefile.am (OFFLOAD_TARGETS) 6398 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't 6399 export. 6400 (libgomp-test-support.exp): New rule. 6401 (all-local): Depend on it. 6402 * Makefile.in: Regenerate. 6403 * testsuite/Makefile.in: Regenerate. 6404 * config.h.in: Likewise. 6405 * configure: Likewise. 6406 * configure.tgt: Harden shell syntax. 6407 * env.c: Include "oacc-int.h". 6408 (parse_acc_device_type): New function. 6409 (gomp_debug_var, goacc_device_type, goacc_device_num): New 6410 variables. 6411 (initialize_env): Initialize those. Call 6412 goacc_runtime_initialize. 6413 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions. 6414 (gomp_fatal): Call gomp_vfatal. 6415 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>. 6416 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug) 6417 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once) 6418 (splay_tree_node, splay_tree, splay_tree_key) 6419 (struct target_mem_desc, struct splay_tree_key_s) 6420 (struct gomp_memory_mapping, struct acc_dispatch_t) 6421 (struct gomp_device_descr, gomp_acc_insert_pointer) 6422 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async) 6423 (gomp_unmap_vars, gomp_init_device, gomp_init_tables) 6424 (gomp_free_memmap, gomp_fini_device): New declarations. 6425 (gomp_vdebug, gomp_debug): New macros. 6426 Include "splay-tree.h". 6427 * libgomp.map (OACC_2.0): New symbol version. Use for 6428 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type, 6429 acc_set_device_type_h_, acc_get_device_type, 6430 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_, 6431 acc_get_device_num, acc_get_device_num_h_, acc_async_test, 6432 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_, 6433 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_, 6434 acc_wait_all, acc_wait_all_h_, acc_wait_all_async, 6435 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown, 6436 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc, 6437 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_, 6438 acc_copyin_array_h_, acc_present_or_copyin, 6439 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_, 6440 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_, 6441 acc_create_64_h_, acc_create_array_h_, acc_present_or_create, 6442 acc_present_or_create_32_h_, acc_present_or_create_64_h_, 6443 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_, 6444 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete, 6445 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_, 6446 acc_update_device, acc_update_device_32_h_, 6447 acc_update_device_64_h_, acc_update_device_array_h_, 6448 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_, 6449 acc_update_self_array_h_, acc_map_data, acc_unmap_data, 6450 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_, 6451 acc_is_present_64_h_, acc_is_present_array_h_, 6452 acc_memcpy_to_device, acc_memcpy_from_device, 6453 acc_get_current_cuda_device, acc_get_current_cuda_context, 6454 acc_get_cuda_stream, acc_set_cuda_stream. 6455 (GOACC_2.0): New symbol version. Use for GOACC_data_end, 6456 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel, 6457 GOACC_update, GOACC_wait, GOACC_get_thread_num, 6458 GOACC_get_num_threads. 6459 (GOMP_PLUGIN_1.0): New symbol version. Use for 6460 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared, 6461 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error, 6462 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars, 6463 GOMP_PLUGIN_acc_thread. 6464 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG 6465 environment variable. 6466 * libgomp_g.h (GOACC_data_start, GOACC_data_end) 6467 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait) 6468 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations. 6469 * splay-tree.h (splay_tree_lookup, splay_tree_insert) 6470 (splay_tree_remove): New declarations. 6471 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert) 6472 (splay_tree_remove, splay_tree_lookup): Move into... 6473 * splay-tree.c: ... this new file. 6474 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>. 6475 (splay_tree_node, splay_tree, splay_tree_key) 6476 (struct target_mem_desc, struct splay_tree_key_s) 6477 (struct gomp_device_descr): Don't declare. 6478 (num_devices_openmp): New variable. 6479 (gomp_get_num_devices ): Use it. 6480 (gomp_init_targets_once): New function. 6481 (gomp_get_num_devices ): Use it. 6482 (get_kind, gomp_copy_from_async, gomp_free_memmap) 6483 (gomp_fini_device, gomp_register_image_for_device): New functions. 6484 (gomp_map_vars): Add devaddrs parameter. 6485 (gomp_update): Add mm parameter. 6486 (gomp_init_device): Move most of it into... 6487 (gomp_init_tables): ... this new function. 6488 (gomp_register_images_for_device): Remove function. 6489 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device): 6490 Make them hidden instead of static. 6491 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars) 6492 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data) 6493 (GOMP_target_end_data, GOMP_target_update) 6494 (gomp_load_plugin_for_device, gomp_target_init): Update for 6495 OpenACC changes. 6496 * oacc-async.c: New file. 6497 * oacc-cuda.c: Likewise. 6498 * oacc-host.c: Likewise. 6499 * oacc-init.c: Likewise. 6500 * oacc-int.h: Likewise. 6501 * oacc-mem.c: Likewise. 6502 * oacc-parallel.c: Likewise. 6503 * oacc-plugin.c: Likewise. 6504 * oacc-plugin.h: Likewise. 6505 * oacc-ptx.h: Likewise. 6506 * openacc.f90: Likewise. 6507 * openacc.h: Likewise. 6508 * openacc_lib.h: Likewise. 6509 * plugin/plugin-host.c: Likewise. 6510 * plugin/plugin-nvptx.c: Likewise. 6511 * libgomp-plugin.c: Likewise. 6512 * libgomp-plugin.h: Likewise. 6513 * libgomp_target.h: Remove file after merging content into the 6514 former file. Update all users. 6515 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp. 6516 (offload_targets_s, offload_targets_s_openacc): New variables. 6517 (check_effective_target_openacc_nvidia_accel_present) 6518 (check_effective_target_openacc_nvidia_accel_selected): New 6519 procedures. 6520 (libgomp_init): Update for OpenACC changes. 6521 * testsuite/libgomp-test-support.exp.in: New file. 6522 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. 6523 * testsuite/libgomp.oacc-c/c.exp: Likewise. 6524 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 6525 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise. 6526 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise. 6527 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise. 6528 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise. 6529 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise. 6530 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise. 6531 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise. 6532 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise. 6533 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise. 6534 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise. 6535 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise. 6536 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise. 6537 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise. 6538 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise. 6539 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise. 6540 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise. 6541 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise. 6542 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise. 6543 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise. 6544 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise. 6545 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise. 6546 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise. 6547 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise. 6548 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise. 6549 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise. 6550 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise. 6551 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise. 6552 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise. 6553 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise. 6554 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise. 6555 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise. 6556 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise. 6557 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise. 6558 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise. 6559 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise. 6560 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise. 6561 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise. 6562 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise. 6563 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise. 6564 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise. 6565 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise. 6566 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise. 6567 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise. 6568 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise. 6569 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise. 6570 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise. 6571 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise. 6572 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. 6573 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise. 6574 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise. 6575 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise. 6576 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise. 6577 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise. 6578 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise. 6579 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise. 6580 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise. 6581 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise. 6582 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise. 6583 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise. 6584 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise. 6585 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise. 6586 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise. 6587 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise. 6588 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise. 6589 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise. 6590 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise. 6591 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise. 6592 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise. 6593 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. 6594 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise. 6595 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise. 6596 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise. 6597 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise. 6598 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise. 6599 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise. 6600 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise. 6601 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise. 6602 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise. 6603 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise. 6604 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise. 6605 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise. 6606 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise. 6607 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise. 6608 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise. 6609 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise. 6610 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise. 6611 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise. 6612 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise. 6613 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise. 6614 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise. 6615 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise. 6616 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise. 6617 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise. 6618 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise. 6619 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise. 6620 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise. 6621 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise. 6622 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise. 6623 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise. 6624 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise. 6625 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise. 6626 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise. 6627 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise. 6628 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise. 6629 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise. 6630 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise. 6631 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise. 6632 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise. 6633 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise. 6634 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise. 6635 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise. 6636 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise. 6637 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise. 6638 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise. 6639 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise. 6640 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise. 6641 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise. 6642 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise. 6643 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise. 6644 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise. 6645 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise. 6646 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise. 6647 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise. 6648 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise. 6649 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise. 6650 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise. 6651 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise. 6652 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise. 6653 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise. 6654 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise. 6655 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise. 6656 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise. 6657 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise. 6658 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise. 6659 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise. 6660 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise. 6661 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: 6662 Likewise. 6663 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise. 6664 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise. 6665 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise. 6666 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise. 6667 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise. 6668 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise. 6669 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise. 6670 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise. 6671 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise. 6672 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise. 6673 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise. 6674 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise. 6675 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise. 6676 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise. 6677 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise. 6678 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise. 6679 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise. 6680 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise. 6681 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise. 6682 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise. 6683 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise. 6684 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise. 6685 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise. 6686 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise. 6687 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise. 6688 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise. 6689 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise. 6690 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise. 6691 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise. 6692 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise. 6693 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise. 6694 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise. 6695 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise. 6696 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise. 6697 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise. 6698 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise. 6699 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise. 6700 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise. 6701 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise. 6702 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise. 6703 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise. 6704 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise. 6705 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise. 6706 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise. 6707 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise. 6708 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise. 6709 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise. 6710 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise. 6711 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise. 6712 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise. 6713 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise. 6714 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise. 6715 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise. 6716 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. 6717 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise. 6718 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise. 6719 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise. 6720 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise. 6721 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise. 6722 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise. 6723 67242015-01-10 Thomas Schwinge <thomas@codesourcery.com> 6725 Julian Brown <julian@codesourcery.com> 6726 David Malcolm <dmalcolm@redhat.com> 6727 6728 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library" 6729 to "GNU Offloading and Multi Processing Runtime Library". Change 6730 all users. 6731 * configure: Regenerate. 6732 * libgomp.texi: Update. 6733 67342015-01-08 Thomas Schwinge <thomas@codesourcery.com> 6735 6736 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add 6737 "$tgt_dir/lib32". 6738 * configure: Regenerate. 6739 6740 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match 6741 "intelmic" in $offload_targets. 6742 67432015-01-05 Jakub Jelinek <jakub@redhat.com> 6744 6745 Update copyright years. 6746 6747 * libgomp.texi: Bump @copying's copyright year. 6748 67492014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 6750 6751 * testsuite/lib/libgomp.exp: Load target-utils.exp. 6752 Move load of target-supportes.exp earlier. 6753 67542014-12-10 Ilya Verbin <ilya.verbin@intel.com> 6755 6756 * testsuite/libgomp.c/target-9.c: New test. 6757 67582014-12-09 Varvara Rainchik <varvara.rainchik@intel.com> 6759 6760 * config.h.in: Regenerate. 6761 * configure: Regenerate. 6762 * configure.ac: Add GCC_CHECK_EMUTLS. 6763 * libgomp.h: Add check for USE_EMUTLS: this case 6764 is equal to HAVE_TLS. 6765 * team.c: Likewise. 6766 67672014-12-03 Uros Bizjak <ubizjak@gmail.com> 6768 6769 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic. 6770 67712014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com> 6772 Ilya Verbin <ilya.verbin@intel.com> 6773 6774 * testsuite/libgomp.c/target-critical-1.c: New test. 6775 67762014-11-26 Jakub Jelinek <jakub@redhat.com> 6777 6778 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20 6779 to dg-options unless expensive testing is on. 6780 (TESTITERS): Define to N if not defined. 6781 (main): Use TESTITERS instead of N. 6782 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from 6783 dg-additional-options depending on whether expensive testing is on. 6784 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod): 6785 Decrease N to 100000 and CHUNKSZ to 10000. 6786 67872014-11-24 Jakub Jelinek <jakub@redhat.com> 6788 6789 PR fortran/63938 6790 * testsuite/libgomp.fortran/pr63938-1.f90: New test. 6791 * testsuite/libgomp.fortran/pr63938-2.f90: New test. 6792 67932014-11-21 Steve Ellcey <sellcey@imgtec.com> 6794 6795 * config/linux/mips/futex.h (SYS_futex): Define if not already done. 6796 67972014-11-21 H.J. Lu <hongjiu.lu@intel.com> 6798 6799 PR bootstrap/63784 6800 * configure: Regenerated. 6801 68022014-11-19 Uros Bizjak <ubizjak@gmail.com> 6803 6804 * testsuite/libgomp.c/examples-4/e.53.5.c: Require 6805 vect_simd_clones effective target. 6806 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto. 6807 68082014-11-14 Jakub Jelinek <jakub@redhat.com> 6809 6810 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead 6811 of 32 as block_size. 6812 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8 6813 instead of 32 as block_size. 6814 68152014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com> 6816 Ilya Verbin <ilya.verbin@intel.com> 6817 6818 * Makefile.in: Regenerate. 6819 * configure: Regenerate. 6820 * configure.ac: Set up offload_additional_options, 6821 offload_additional_lib_paths and offload_targets. 6822 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS, 6823 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS. 6824 * testsuite/Makefile.in: Regenerate. 6825 * testsuite/lib/libgomp.exp (libgomp_init): Append 6826 offload_additional_lib_paths to LD_LIBRARY_PATH. Append 6827 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic 6828 build directory to LD_LIBRARY_PATH for intelmic offload targets. 6829 68302014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com> 6831 Ilya Verbin <ilya.verbin@intel.com> 6832 Kirill Yukhin <kirill.yukhin@intel.com> 6833 Ilya Tocar <ilya.tocar@intel.com> 6834 6835 * testsuite/lib/libgomp.exp 6836 (check_effective_target_offload_device): New. 6837 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories. 6838 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test. 6839 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto. 6840 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto. 6841 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto. 6842 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto. 6843 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto. 6844 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto. 6845 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto. 6846 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto. 6847 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto. 6848 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto. 6849 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto. 6850 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto. 6851 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto. 6852 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto. 6853 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto. 6854 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto. 6855 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto. 6856 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto. 6857 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto. 6858 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto. 6859 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto. 6860 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto. 6861 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto. 6862 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto. 6863 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto. 6864 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto. 6865 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto. 6866 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto. 6867 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto. 6868 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto. 6869 * testsuite/libgomp.c/target-7.c: Fix test. 6870 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test. 6871 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto. 6872 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto. 6873 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto. 6874 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto. 6875 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto. 6876 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto. 6877 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto. 6878 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto. 6879 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto. 6880 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto. 6881 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto. 6882 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto. 6883 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto. 6884 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto. 6885 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto. 6886 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto. 6887 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto. 6888 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto. 6889 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto. 6890 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto. 6891 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto. 6892 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto. 6893 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto. 6894 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto. 6895 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto. 6896 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto. 6897 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto. 6898 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto. 6899 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto. 6900 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto. 6901 69022014-11-13 Jakub Jelinek <jakub@redhat.com> 6903 Ilya Verbin <ilya.verbin@intel.com> 6904 Thomas Schwinge <thomas@codesourcery.com> 6905 Andrey Turetskiy <andrey.turetskiy@intel.com> 6906 6907 * libgomp.map (GOMP_4.0.1): New symbol version. 6908 Add GOMP_offload_register. 6909 * libgomp_target.h: New file. 6910 * splay-tree.h: New file. 6911 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h. 6912 (gomp_target_init): New forward declaration. 6913 (gomp_is_initialized): New static variable. 6914 (splay_tree_node, splay_tree, splay_tree_key): New typedefs. 6915 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr): 6916 New structures. 6917 (offload_images, num_offload_images, devices, num_devices): New static 6918 variables. 6919 (splay_compare): New static function. 6920 (struct gomp_device_descr): New structure. 6921 (gomp_get_num_devices): Call gomp_target_init. 6922 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt) 6923 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions. 6924 (GOMP_offload_register): New function. 6925 (GOMP_target): Arrange for host callback to be performed in a separate 6926 initial thread and contention group, inheriting ICVs from 6927 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars. 6928 Add device initialization and lookup for target function in splay tree. 6929 (GOMP_target_data): Add device initialization and call gomp_map_vars. 6930 (GOMP_target_end_data): Call gomp_unmap_vars. 6931 (GOMP_target_update): Add device initialization and call gomp_update. 6932 (gomp_load_plugin_for_device, gomp_register_images_for_device) 6933 (gomp_target_init): New static functions. 6934 69352014-11-13 Bernd Schmidt <bernds@codesourcery.com> 6936 Thomas Schwinge <thomas@codesourcery.com> 6937 Ilya Verbin <ilya.verbin@intel.com> 6938 Andrey Turetskiy <andrey.turetskiy@intel.com> 6939 6940 * config.h.in: Regenerate. 6941 * configure: Regenerate. 6942 * configure.ac: Check for libdl, required for plugin support. 6943 (PLUGIN_SUPPORT): Define if plugins are supported. 6944 (enable_offload_targets): Support Intel MIC targets. 6945 (OFFLOAD_TARGETS): List of target names suitable for offloading. 6946 69472014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 6948 6949 PR target/63610 6950 * configure: Regenerate. 6951 69522014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 6953 6954 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600. 6955 69562014-10-06 Marek Polacek <polacek@redhat.com> 6957 6958 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>. 6959 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>. 6960 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h> 6961 * testsuite/libgomp.c/thread-limit-2.c: Likewise. 6962 69632014-10-06 Marek Polacek <polacek@redhat.com> 6964 6965 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations. 6966 * testsuite/libgomp.c/nqueens-1.c: Likewise. 6967 * testsuite/libgomp.c/pr26943-3.c: Likewise. 6968 * testsuite/libgomp.c/pr26943-4.c: Likewise. 6969 * testsuite/libgomp.c/pr36802-2.c: Likewise. 6970 * testsuite/libgomp.c/pr36802-3.c: Likewise. 6971 * testsuite/libgomp.c/thread-limit-1.c: Likewise. 6972 * testsuite/libgomp.c/thread-limit-2.c: Likewise. 6973 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>. 6974 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int. 6975 * testsuite/libgomp.c/omp-parallel-for.c: Likewise. 6976 * testsuite/libgomp.c/omp-parallel-if.c: Likewise. 6977 * testsuite/libgomp.c/omp-single-1.c: Likewise. 6978 * testsuite/libgomp.c/omp-single-2.c: Likewise. 6979 * testsuite/libgomp.c/omp_matvec.c: Likewise. 6980 * testsuite/libgomp.c/omp_workshare3.c: Likewise. 6981 * testsuite/libgomp.c/omp_workshare4.c: Likewise. 6982 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit 6983 declarations. 6984 69852014-10-03 Jakub Jelinek <jakub@redhat.com> 6986 6987 PR libgomp/61200 6988 * testsuite/libgomp.c/pr61200.c: New test. 6989 69902014-09-18 Jakub Jelinek <jakub@redhat.com> 6991 6992 PR c++/63248 6993 * testsuite/libgomp.c++/pr63248.C: New test. 6994 69952014-08-04 Jakub Jelinek <jakub@redhat.com> 6996 6997 * task.c (GOMP_taskgroup_end): If taskgroup->num_children 6998 is not zero, but taskgroup->children is NULL and there are 6999 any task->children, schedule those instead of waiting. 7000 * testsuite/libgomp.c/depend-6.c: New test. 7001 * testsuite/libgomp.c/depend-7.c: New test. 7002 * testsuite/libgomp.c/depend-8.c: New test. 7003 * testsuite/libgomp.c/depend-9.c: New test. 7004 * testsuite/libgomp.c/depend-10.c: New test. 7005 70062014-08-01 Jakub Jelinek <jakub@redhat.com> 7007 7008 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field. 7009 (struct gomp_taskwait): New type. 7010 (struct gomp_task): Add taskwait and parent_depends_on, remove 7011 in_taskwait and taskwait_sem fields. 7012 (gomp_finish_task): Don't destroy taskwait_sem. 7013 * task.c (gomp_init_task): Don't init in_taskwait, instead init 7014 taskwait and parent_depends_on. 7015 (GOMP_task): For if (0) tasks with depend clause that depend on 7016 earlier tasks don't defer them, instead call 7017 gomp_task_maybe_wait_for_dependencies to wait for the dependencies. 7018 Initialize redundant_out field, for redundant out entries just 7019 move them at the end of linked list instead of removing them 7020 completely, and set redundant_out flag instead of redundant. 7021 (gomp_task_run_pre): Update last_parent_depends_on if scheduling 7022 that task. 7023 (gomp_task_run_post_handle_dependers): If parent is in 7024 gomp_task_maybe_wait_for_dependencies and newly runnable task 7025 is not parent_depends_on, queue it in parent->children linked 7026 list after all runnable tasks with parent_depends_on set. 7027 Adjust for addition of taskwait indirection. 7028 (gomp_task_run_post_remove_parent): If parent is in 7029 gomp_task_maybe_wait_for_dependencies and task to be removed 7030 is parent_depends_on, decrement n_depend and if needed awake 7031 parent. Adjust for addition of taskwait indirection. 7032 (GOMP_taskwait): Adjust for addition of taskwait indirection. 7033 (gomp_task_maybe_wait_for_dependencies): New function. 7034 * testsuite/libgomp.c/depend-5.c: New test. 7035 70362014-07-13 Tobias Burnus <burnus@net-b.de> 7037 7038 * testsuite/libgomp.fortran/pr34020.f90: Make compile 7039 with TS 18508/Fortran 2015. 7040 70412014-07-06 Marek Polacek <polacek@redhat.com> 7042 7043 PR c/6940 7044 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings. 7045 70462014-07-03 Jakub Jelinek <jakub@redhat.com> 7047 7048 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source 7049 matches regex $lang_source_re, add $lang_include_flags to options. 7050 * testsuite/libgomp.c/c.exp: Unset lang_include_flags. 7051 * testsuite/libgomp.c++/c++.exp: Likewise. 7052 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re 7053 and lang_include_flags instead of adding -fintrinsic-modules-path= to 7054 ALWAYS_CFLAGS. 7055 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags. 7056 70572014-07-03 Thomas Schwinge <thomas@codesourcery.com> 7058 7059 * testsuite/libgomp.fortran/fortran.exp: Explain 7060 gfortran-dg-runtest usage. 7061 70622014-06-25 Jakub Jelinek <jakub@redhat.com> 7063 7064 * testsuite/libgomp.fortran/simd5.f90: New test. 7065 * testsuite/libgomp.fortran/simd6.f90: New test. 7066 * testsuite/libgomp.fortran/simd7.f90: New test. 7067 70682014-06-24 Jakub Jelinek <jakub@redhat.com> 7069 7070 * testsuite/libgomp.c/for-2.c: Define SC to static for 7071 #pragma omp for simd testing. 7072 * testsuite/libgomp.c/for-2.h (SC): Define if not defined. 7073 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use 7074 SC macro. 7075 * testsuite/libgomp.c/simd-14.c: New test. 7076 * testsuite/libgomp.c/simd-15.c: New test. 7077 * testsuite/libgomp.c/simd-16.c: New test. 7078 * testsuite/libgomp.c/simd-17.c: New test. 7079 * testsuite/libgomp.c++/for-10.C: Define SC to static for 7080 #pragma omp for simd testing. 7081 * testsuite/libgomp.c++/simd10.C: New test. 7082 * testsuite/libgomp.c++/simd11.C: New test. 7083 * testsuite/libgomp.c++/simd12.C: New test. 7084 * testsuite/libgomp.c++/simd13.C: New test. 7085 7086 * testsuite/libgomp.fortran/aligned1.f03: New test. 7087 * testsuite/libgomp.fortran/nestedfn5.f90: New test. 7088 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning 7089 tasks with !$omp parallel !$omp single. 7090 * testsuite/libgomp.fortran/target8.f90: New test. 7091 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust 7092 not to use trim in the combiner, instead call elemental function. 7093 (fn): New elemental function. 7094 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init): 7095 Make elemental. 7096 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out, 7097 omp_in): Likewise. 7098 * testsuite/libgomp.fortran/udr12.f90: New test. 7099 * testsuite/libgomp.fortran/udr13.f90: New test. 7100 * testsuite/libgomp.fortran/udr14.f90: New test. 7101 * testsuite/libgomp.fortran/udr15.f90: New test. 7102 71032014-06-18 Jakub Jelinek <jakub@redhat.com> 7104 7105 * omp_lib.f90.in (openmp_version): Set to 201307. 7106 * omp_lib.h.in (openmp_version): Likewise. 7107 * testsuite/libgomp.c/target-8.c: New test. 7108 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch 7109 and inbranch clauses. 7110 * testsuite/libgomp.fortran/depend-3.f90: New test. 7111 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new 7112 openmp_version. 7113 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise. 7114 * testsuite/libgomp.fortran/target1.f90: New test. 7115 * testsuite/libgomp.fortran/target2.f90: New test. 7116 * testsuite/libgomp.fortran/target3.f90: New test. 7117 * testsuite/libgomp.fortran/target4.f90: New test. 7118 * testsuite/libgomp.fortran/target5.f90: New test. 7119 * testsuite/libgomp.fortran/target6.f90: New test. 7120 * testsuite/libgomp.fortran/target7.f90: New test. 7121 71222014-06-10 Jakub Jelinek <jakub@redhat.com> 7123 7124 PR fortran/60928 7125 * testsuite/libgomp.fortran/allocatable9.f90: New test. 7126 * testsuite/libgomp.fortran/allocatable10.f90: New test. 7127 * testsuite/libgomp.fortran/allocatable11.f90: New test. 7128 * testsuite/libgomp.fortran/allocatable12.f90: New test. 7129 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test. 7130 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test. 7131 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test. 7132 * testsuite/libgomp.fortran/associate1.f90: New test. 7133 * testsuite/libgomp.fortran/associate2.f90: New test. 7134 * testsuite/libgomp.fortran/procptr1.f90: New test. 7135 71362014-06-06 Jakub Jelinek <jakub@redhat.com> 7137 7138 * testsuite/libgomp.fortran/simd1.f90: New test. 7139 * testsuite/libgomp.fortran/udr1.f90: New test. 7140 * testsuite/libgomp.fortran/udr2.f90: New test. 7141 * testsuite/libgomp.fortran/udr3.f90: New test. 7142 * testsuite/libgomp.fortran/udr4.f90: New test. 7143 * testsuite/libgomp.fortran/udr5.f90: New test. 7144 * testsuite/libgomp.fortran/udr6.f90: New test. 7145 * testsuite/libgomp.fortran/udr7.f90: New test. 7146 * testsuite/libgomp.fortran/udr8.f90: New test. 7147 * testsuite/libgomp.fortran/udr9.f90: New test. 7148 * testsuite/libgomp.fortran/udr10.f90: New test. 7149 * testsuite/libgomp.fortran/udr11.f90: New test. 7150 71512014-05-27 Uros Bizjak <ubizjak@gmail.com> 7152 7153 * testsuite/libgomp.fortran/declare-simd-1.f90: Require 7154 vect_simd_clones effective target. 7155 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto. 7156 71572014-05-21 Jakub Jelinek <jakub@redhat.com> 7158 7159 PR middle-end/61252 7160 * testsuite/libgomp.c++/simd-9.C: New test. 7161 71622014-05-18 Uros Bizjak <ubizjak@gmail.com> 7163 7164 * libgomp.texi (Runitme Library Routines): Remove multiple @menu. 7165 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node 7166 texts according to their @menu entry positions. 7167 71682014-05-11 Jakub Jelinek <jakub@redhat.com> 7169 7170 * testsuite/libgomp.fortran/cancel-do-1.f90: New test. 7171 * testsuite/libgomp.fortran/cancel-do-2.f90: New test. 7172 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test. 7173 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test. 7174 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test. 7175 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test. 7176 * testsuite/libgomp.fortran/declare-simd-1.f90: New test. 7177 * testsuite/libgomp.fortran/declare-simd-2.f90: New test. 7178 * testsuite/libgomp.fortran/declare-simd-3.f90: New test. 7179 * testsuite/libgomp.fortran/depend-1.f90: New test. 7180 * testsuite/libgomp.fortran/depend-2.f90: New test. 7181 * testsuite/libgomp.fortran/omp_atomic5.f90: New test. 7182 * testsuite/libgomp.fortran/simd1.f90: New test. 7183 * testsuite/libgomp.fortran/simd2.f90: New test. 7184 * testsuite/libgomp.fortran/simd3.f90: New test. 7185 * testsuite/libgomp.fortran/simd4.f90: New test. 7186 * testsuite/libgomp.fortran/taskgroup1.f90: New test. 7187 71882014-05-02 Jakub Jelinek <jakub@redhat.com> 7189 7190 * testsuite/libgomp.c/simd-10.c: New test. 7191 * testsuite/libgomp.c/simd-11.c: New test. 7192 * testsuite/libgomp.c/simd-12.c: New test. 7193 * testsuite/libgomp.c/simd-13.c: New test. 7194 71952014-04-24 Jakub Jelinek <jakub@redhat.com> 7196 7197 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and 7198 atomic type clauses in any order and optional comma in between. 7199 * testsuite/libgomp.c++/atomic-15.C: Likewise. 7200 * testsuite/libgomp.c/atomic-17.c: Likewise. 7201 7202 * testsuite/libgomp.c/simd-7.c: New test. 7203 * testsuite/libgomp.c/simd-8.c: New test. 7204 * testsuite/libgomp.c/simd-9.c: New test. 7205 * testsuite/libgomp.c/loop-16.c: New test. 7206 72072014-04-02 Richard Henderson <rth@redhat.com> 7208 7209 * config/linux/futex.h (futex_wait): Get error value from errno. 7210 (futex_wake): Likewise. 7211 72122014-03-25 Jakub Jelinek <jakub@redhat.com> 7213 7214 PR c++/60331 7215 * testsuite/libgomp.c++/udr-11.C: New test. 7216 * testsuite/libgomp.c++/udr-12.C: New test. 7217 * testsuite/libgomp.c++/udr-13.C: New test. 7218 * testsuite/libgomp.c++/udr-14.C: New test. 7219 * testsuite/libgomp.c++/udr-15.C: New test. 7220 * testsuite/libgomp.c++/udr-16.C: New test. 7221 * testsuite/libgomp.c++/udr-17.C: New test. 7222 * testsuite/libgomp.c++/udr-18.C: New test. 7223 * testsuite/libgomp.c++/udr-19.C: New test. 7224 72252014-01-02 Richard Sandiford <rdsandiford@googlemail.com> 7226 7227 Update copyright years 7228 72292014-01-02 Richard Sandiford <rdsandiford@googlemail.com> 7230 7231 * hashtab.h: Use the standard form for the copyright notice. 7232 72332014-01-02 Tobias Burnus <burnus@net-b.de> 7234 7235 * libgomp.texi: Bump @copying's copyright year. 7236 72372013-12-17 Andreas Tobler <andreast@gcc.gnu.org> 7238 7239 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h inlcude. Replace 7240 alloca () with __builtin_alloca (). 7241 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage. 7242 * testsuite/libgomp.c/lock-3.c: Likewise. 7243 * testsuite/libgomp.c/pr48591.c: Likewise. 7244 72452013-12-17 Jakub Jelinek <jakub@redhat.com> 7246 7247 PR testsuite/59534 7248 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited 7249 comparisons. 7250 72512013-12-16 Jakub Jelinek <jakub@redhat.com> 7252 7253 PR libgomp/58756 7254 * testsuite/libgomp.c/pr58756.c: New test. 7255 72562013-12-12 Jakub Jelinek <jakub@redhat.com> 7257 7258 PR libgomp/59467 7259 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to 7260 !$omp parallel. 7261 72622013-11-07 Thomas Schwinge <thomas@codesourcery.com> 7263 7264 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to 7265 ALWAYS_CFLAGS. 7266 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp. 7267 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise. 7268 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise. 7269 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS): 7270 Likewise. 7271 7272 * libgomp_g.h: Include <stddef.h> for size_t. 7273 7274 * libgomp.spec.in: Update comment about libgomp's dependencies. 7275 * configure.ac: Likewise. 7276 * configure: Regenerate. 7277 72782013-10-16 Tobias Burnus <burnus@net-b.de> 7279 7280 * libgomp.texi: (Runtime Library Routines): Update references for 7281 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device, 7282 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind, 7283 omp_get_team_num, omp_is_initial_device, omp_set_default_device. 7284 (Environment Variables): Update references for OpenMP 4.0. Add 7285 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES. 7286 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical 7287 order. 7288 72892013-10-14 Jakub Jelinek <jakub@redhat.com> 7290 7291 * env.c (parse_bind_var): Initialize value to avoid 7292 (false positive) warning. 7293 72942013-10-12 Jakub Jelinek <jakub@redhat.com> 7295 7296 PR libgomp/58691 7297 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute 7298 to check variable. 7299 (gomp_init_num_threads): Move i variable declaration into 7300 #ifdef CPU_ALLOC_SIZE block. 7301 * config/linux/affinity.c (gomp_affinity_init_level): Test 7302 gomp_places_list_len == 0 rather than gomp_places_list == 0 7303 when checking for topology reading error. 7304 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false. 7305 * env.c (parse_affinity): Add ignore argument, if true, don't populate 7306 gomp_places_list, only parse env var and always return false. 7307 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var. 7308 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env 7309 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified 7310 and either of these variables were parsed correctly into a places 7311 list. 7312 73132013-10-11 Thomas Schwinge <thomas@codesourcery.com> 7314 Jakub Jelinek <jakub@redhat.com> 7315 7316 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead 7317 of 5 loopfn matches. 7318 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise. 7319 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise. 7320 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise. 7321 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise. 7322 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise. 7323 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise. 7324 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise. 7325 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise. 7326 73272013-10-11 Thomas Schwinge <thomas@codesourcery.com> 7328 7329 * Makefile.am (omp_lib.mod): Streamline rule. 7330 * Makefile.in: Regenerate. 7331 7332 * libgomp.texi (Runtime Library Routines): C linkage, don't throw 7333 exceptions. 7334 7335 * testsuite/libgomp.c/lib-1.c (main): Add missing error check. 7336 * testsuite/libgomp.fortran/lib1.f90: Likewise. 7337 * testsuite/libgomp.fortran/lib2.f: Likewise. 7338 * testsuite/libgomp.fortran/lib3.f: Likewise. 7339 7340 * configure.ac: Typo fix. 7341 * configure: Regenerate. 7342 7343 * testsuite/libgomp.fortran/openmp_version-1.f: New file. 7344 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise. 7345 7346 * omp.h.in: Don't touch the user's namespace. 7347 73482013-10-11 Jakub Jelinek <jakub@redhat.com> 7349 Tobias Burnus <burnus@net-b.de> 7350 Richard Henderson <rth@redhat.com> 7351 7352 * target.c: New file. 7353 * Makefile.am (libgomp_la_SOURCES): Add target.c. 7354 * Makefile.in: Regenerated. 7355 * libgomp_g.h (GOMP_task): Add depend argument. 7356 (GOMP_barrier_cancel, GOMP_loop_end_cancel, 7357 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data, 7358 GOMP_target_end_data, GOMP_target_update, GOMP_teams, 7359 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic, 7360 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime, 7361 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point, 7362 GOMP_taskgroup_start, GOMP_taskgroup_end, 7363 GOMP_parallel_sections): New prototypes. 7364 * fortran.c (omp_is_initial_device): Add ialias_redirect. 7365 (omp_is_initial_device_): New function. 7366 (ULP, STR1, STR2, ialias_redirect): Removed. 7367 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_, 7368 omp_set_default_device_8_, omp_get_default_device_, 7369 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New 7370 functions. 7371 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel, 7372 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data, 7373 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export 7374 @@GOMP_4.0. 7375 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation, 7376 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_, 7377 omp_set_default_device, omp_set_default_device_, 7378 omp_set_default_device_8_, omp_get_default_device, 7379 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_, 7380 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num, 7381 omp_get_team_num_): Export @@OMP_4.0. 7382 * team.c (struct gomp_thread_start_data): Add place field. 7383 (gomp_thread_start): Clear thr->thread_pool and 7384 thr->task before returning. Use gomp_team_barrier_wait_final 7385 instead of gomp_team_barrier_wait. Initialize thr->place. 7386 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled, 7387 team_cancelled and task_queued_count fields. 7388 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task 7389 before calling pthread_exit. 7390 (gomp_free_thread): No longer static. Use 7391 gomp_managed_threads_lock instead of gomp_remaining_threads_lock. 7392 (gomp_team_start): Add flags argument. Set 7393 thr->thread_pool->threads_busy to nthreads immediately after creating 7394 new pool. Use gomp_managed_threads_lock instead of 7395 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity. 7396 (gomp_team_end): Use gomp_managed_threads_lock instead of 7397 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead 7398 of gomp_team_barrier_wait. If team->team_cancelled, call 7399 gomp_fini_worshare on ws chain starting at team->work_shares_to_free 7400 rather than thr->ts.work_share. 7401 (initialize_team): Don't call gomp_sem_init here. 7402 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start 7403 caller. 7404 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions. 7405 * env.c (gomp_global_icv): Add default_device_var, target_data and 7406 bind_var initializers. 7407 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove. 7408 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list, 7409 gomp_places_list_len): New variables. 7410 (parse_bind_var, parse_one_place, parse_places_var): New functions. 7411 (parse_affinity): Rewritten to construct OMP_PLACES list with unit 7412 sized places. 7413 (gomp_cancel_var): New global variable. 7414 (parse_int): New function. 7415 (handle_omp_display_env): New function. 7416 (initialize_env): Use it. Initialize default_device_var. 7417 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse 7418 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for 7419 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has 7420 been successfully parsed (and call gomp_init_affinity in that case). 7421 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device, 7422 omp_get_default_device, omp_get_num_devices, omp_get_num_teams, 7423 omp_get_team_num, omp_is_initial_device): New functions. 7424 * libgomp.h: Include stdlib.h. 7425 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call): 7426 Define. 7427 (struct target_mem_desc): Forward declare. 7428 (struct gomp_task_icv): Add default_device_var, target_data, bind_var 7429 and thread_limit_var fields. 7430 (gomp_get_num_devices): New prototype. 7431 (gomp_cancel_var): New extern decl. 7432 (struct gomp_team): Add work_shares_to_free, work_share_cancelled, 7433 team_cancelled and task_queued_count fields. Add comments about 7434 task_{,queued_,running_}count. 7435 (gomp_cancel_kind): New enum. 7436 (gomp_work_share_end_cancel): New prototype. 7437 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup, 7438 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees 7439 and depend fields. 7440 (struct gomp_taskgroup): New type. 7441 (struct gomp_task_depend_entry, 7442 struct gomp_dependers_vec): New types. 7443 (gomp_finish_task): Free depend_hash if non-NULL. 7444 (struct gomp_team_state): Add place_partition_off 7445 and place_partition_len fields. 7446 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list, 7447 gomp_places_list_len): New extern decls. 7448 (struct gomp_thread): Add place field. 7449 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove. 7450 (gomp_init_thread_affinity): Add place argument. 7451 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus, 7452 gomp_affinity_remove_cpu, gomp_affinity_copy_place, 7453 gomp_affinity_same_place, gomp_affinity_finalize_place_list, 7454 gomp_affinity_init_level, gomp_affinity_print_place): New 7455 prototypes. 7456 (gomp_team_start): Add flags argument. 7457 (gomp_thread_limit_var, gomp_remaining_threads_count, 7458 gomp_remaining_threads_lock): Remove. 7459 (gomp_managed_threads_lock): New variable. 7460 (struct gomp_thread_pool): Add threads_busy field. 7461 (gomp_free_thread): New prototype. 7462 * task.c: Include hashtab.h. 7463 (hash_entry_type): New typedef. 7464 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines. 7465 (gomp_init_task): Clear dependers, depend_hash, depend_count, 7466 copy_ctors_done and taskgroup fields. 7467 (GOMP_task): Add depend argument, handle depend clauses. If 7468 gomp_team_barrier_cancelled or if it's taskgroup has been 7469 cancelled, don't queue or start new tasks. Set copy_ctors_done 7470 field if needed. Initialize taskgroup field. If copy_ctors_done 7471 and already cancelled, don't discard the task. If taskgroup is 7472 non-NULL, enqueue the task into taskgroup queue. Increment 7473 num_children field in taskgroup. Increment task_queued_count. 7474 (gomp_task_run_pre, gomp_task_run_post_remove_parent, 7475 gomp_task_run_post_remove_taskgroup): New inline functions. 7476 (gomp_task_run_post_handle_depend_hash, 7477 gomp_task_run_post_handle_dependers, 7478 gomp_task_run_post_handle_depend): New functions. 7479 (GOMP_taskwait): Use them. If more than one new tasks 7480 have been queued, wake other threads if needed. 7481 (gomp_barrier_handle_tasks): Likewise. If 7482 gomp_team_barrier_cancelled, don't start any new tasks, just free 7483 all tasks. 7484 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions. 7485 * omp_lib.f90.in 7486 (omp_proc_bind_kind, omp_proc_bind_false, 7487 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close, 7488 omp_proc_bind_spread): New params. 7489 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device, 7490 omp_get_default_device, omp_get_num_devices, omp_get_num_teams, 7491 omp_get_team_num, omp_is_initial_device): New interfaces. 7492 (omp_get_dynamic, omp_get_nested, omp_in_parallel, 7493 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads, 7494 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels, 7495 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num, 7496 omp_get_team_size, omp_get_active_level, omp_in_final): Remove 7497 useless use omp_lib_kinds. 7498 * omp.h.in (omp_proc_bind_t): New typedef. 7499 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device, 7500 omp_get_default_device, omp_get_num_devices, omp_get_num_teams, 7501 omp_get_team_num, omp_is_initial_device): New prototypes. 7502 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it 7503 through to gomp_team_start. 7504 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start, 7505 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start): 7506 Adjust gomp_parallel_loop_start callers. 7507 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic, 7508 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime, 7509 GOMP_loop_end_cancel): New functions. 7510 (GOMP_parallel_end): Add ialias_redirect. 7511 * hashtab.h: New file. 7512 * libgomp.texi (Environment Variables): Minor cleanup, 7513 update section refs to OpenMP 4.0rc2. 7514 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these 7515 environment variables. 7516 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set 7517 team->work_shares_to_free to thr->ts.work_share before calling 7518 free_work_share. 7519 (gomp_work_share_end_cancel): New function. 7520 * config/linux/proc.c: Include errno.h. 7521 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables. 7522 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of 7523 sizeof (cpu_set_t) to determine number of iterations. Fix up check 7524 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if 7525 gomp_cpuset_size is sizeof (cpu_set_t). 7526 (gomp_init_num_threads): Initialize gomp_cpuset_size, 7527 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead 7528 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t) 7529 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't 7530 contain any logical CPUs. 7531 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp 7532 is NULL. Use gomp_cpusetp instead of &cpuset and pass 7533 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to 7534 pthread_getaffinity_np. Check gomp_places_list instead of 7535 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller. 7536 * config/linux/bar.c (gomp_barrier_wait_end, 7537 gomp_barrier_wait_last): Use BAR_* defines. 7538 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED 7539 from state where needed. Set work_share_cancelled to 0 on last 7540 thread. 7541 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end, 7542 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New 7543 functions. 7544 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden. 7545 Add cpusetsize argument. 7546 (gomp_cpuset_size, gomp_cpusetp): Declare. 7547 * config/linux/affinity.c: Include errno.h, stdio.h and string.h. 7548 (affinity_counter): Remove. 7549 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define 7550 if CPU_ALLOC_SIZE isn't defined. 7551 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try 7552 silently create OMP_PLACES=threads, if it is non-NULL afterwards, 7553 bind current thread to the first place. 7554 (gomp_init_thread_affinity): Rewritten. Add place argument, just 7555 pthread_setaffinity_np to gomp_places_list[place]. 7556 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus, 7557 gomp_affinity_remove_cpu, gomp_affinity_copy_place, 7558 gomp_affinity_same_place, gomp_affinity_finalize_place_list, 7559 gomp_affinity_init_level, gomp_affinity_print_place): New functions. 7560 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST, 7561 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define. 7562 (gomp_barrier_t): Add awaited_final field. 7563 (gomp_barrier_init): Initialize awaited_final field. 7564 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel, 7565 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New 7566 prototypes. 7567 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_* 7568 defines. 7569 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start, 7570 gomp_team_barrier_cancelled): New inline functions. 7571 (gomp_barrier_last_thread, 7572 gomp_team_barrier_set_task_pending, 7573 gomp_team_barrier_clear_task_pending, 7574 gomp_team_barrier_set_waiting_for_tasks, 7575 gomp_team_barrier_waiting_for_tasks, 7576 gomp_team_barrier_done): Use BAR_* defines. 7577 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field. 7578 (gomp_barrier_wait_end): Use BAR_* defines. 7579 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state. 7580 Set work_share_cancelled to 0 on last thread, use __atomic_load_n. 7581 Use BAR_* defines. 7582 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel, 7583 gomp_team_barrier_cancel): New functions. 7584 * config/posix/affinity.c (gomp_init_thread_affinity): Add place 7585 argument. 7586 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus, 7587 gomp_affinity_remove_cpu, gomp_affinity_copy_place, 7588 gomp_affinity_same_place, gomp_affinity_finalize_place_list, 7589 gomp_affinity_init_level, gomp_affinity_print_place): New stubs. 7590 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST, 7591 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define. 7592 (gomp_barrier_t): Add cancellable field. 7593 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end, 7594 gomp_team_barrier_cancel): New prototypes. 7595 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. 7596 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final, 7597 gomp_team_barrier_cancelled): New inline functions. 7598 (gomp_barrier_wait_start, gomp_barrier_last_thread, 7599 gomp_team_barrier_set_task_pending, 7600 gomp_team_barrier_clear_task_pending, 7601 gomp_team_barrier_set_waiting_for_tasks, 7602 gomp_team_barrier_waiting_for_tasks, 7603 gomp_team_barrier_done): Use BAR_* defines. 7604 * barrier.c (GOMP_barrier_cancel): New function. 7605 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false, 7606 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close, 7607 omp_proc_bind_spread): New params. 7608 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device, 7609 omp_get_default_device, omp_get_num_devices, omp_get_num_teams, 7610 omp_get_team_num, omp_is_initial_device): New externals. 7611 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point): 7612 New functions. 7613 (gomp_resolve_num_threads): Adjust for thread_limit now being in 7614 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as 7615 infinity. If not nested, just return minimum of max_num_threads 7616 and icv->thread_limit_var and if thr->thread_pool, set threads_busy 7617 to the returned value. Otherwise, don't update atomically 7618 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy. 7619 (GOMP_parallel_end): Adjust for thread_limit now being in 7620 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as 7621 infinity. Adjust threads_busy in the pool rather than 7622 gomp_remaining_threads_count. Remember team->nthreads and call 7623 gomp_team_end before adjusting threads_busy, if not nested 7624 afterwards, just set it to 1 non-atomically. Add ialias. 7625 (GOMP_parallel_start): Adjust gomp_team_start caller. 7626 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid. 7627 * testsuite/libgomp.c/affinity-1.c: New test. 7628 * testsuite/libgomp.c/atomic-15.c: New test. 7629 * testsuite/libgomp.c/atomic-16.c: New test. 7630 * testsuite/libgomp.c/atomic-17.c: New test. 7631 * testsuite/libgomp.c/cancel-for-1.c: New test. 7632 * testsuite/libgomp.c/cancel-for-2.c: New test. 7633 * testsuite/libgomp.c/cancel-parallel-1.c: New test. 7634 * testsuite/libgomp.c/cancel-parallel-2.c: New test. 7635 * testsuite/libgomp.c/cancel-parallel-3.c: New test. 7636 * testsuite/libgomp.c/cancel-sections-1.c: New test. 7637 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test. 7638 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test. 7639 * testsuite/libgomp.c/depend-1.c: New test. 7640 * testsuite/libgomp.c/depend-2.c: New test. 7641 * testsuite/libgomp.c/depend-3.c: New test. 7642 * testsuite/libgomp.c/depend-4.c: New test. 7643 * testsuite/libgomp.c/for-1.c: New test. 7644 * testsuite/libgomp.c/for-1.h: New file. 7645 * testsuite/libgomp.c/for-2.c: New test. 7646 * testsuite/libgomp.c/for-2.h: New file. 7647 * testsuite/libgomp.c/for-3.c: New test. 7648 * testsuite/libgomp.c/pr58392.c: New test. 7649 * testsuite/libgomp.c/simd-1.c: New test. 7650 * testsuite/libgomp.c/simd-2.c: New test. 7651 * testsuite/libgomp.c/simd-3.c: New test. 7652 * testsuite/libgomp.c/simd-4.c: New test. 7653 * testsuite/libgomp.c/simd-5.c: New test. 7654 * testsuite/libgomp.c/simd-6.c: New test. 7655 * testsuite/libgomp.c/target-1.c: New test. 7656 * testsuite/libgomp.c/target-2.c: New test. 7657 * testsuite/libgomp.c/target-3.c: New test. 7658 * testsuite/libgomp.c/target-4.c: New test. 7659 * testsuite/libgomp.c/target-5.c: New test. 7660 * testsuite/libgomp.c/target-6.c: New test. 7661 * testsuite/libgomp.c/target-7.c: New test. 7662 * testsuite/libgomp.c/taskgroup-1.c: New test. 7663 * testsuite/libgomp.c/thread-limit-1.c: New test. 7664 * testsuite/libgomp.c/thread-limit-2.c: New test. 7665 * testsuite/libgomp.c/thread-limit-3.c: New test. 7666 * testsuite/libgomp.c/udr-1.c: New test. 7667 * testsuite/libgomp.c/udr-2.c: New test. 7668 * testsuite/libgomp.c/udr-3.c: New test. 7669 * testsuite/libgomp.c++/affinity-1.C: New test. 7670 * testsuite/libgomp.c++/atomic-10.C: New test. 7671 * testsuite/libgomp.c++/atomic-11.C: New test. 7672 * testsuite/libgomp.c++/atomic-12.C: New test. 7673 * testsuite/libgomp.c++/atomic-13.C: New test. 7674 * testsuite/libgomp.c++/atomic-14.C: New test. 7675 * testsuite/libgomp.c++/atomic-15.C: New test. 7676 * testsuite/libgomp.c++/cancel-for-1.C: New test. 7677 * testsuite/libgomp.c++/cancel-for-2.C: New test. 7678 * testsuite/libgomp.c++/cancel-parallel-1.C: New test. 7679 * testsuite/libgomp.c++/cancel-parallel-2.C: New test. 7680 * testsuite/libgomp.c++/cancel-parallel-3.C: New test. 7681 * testsuite/libgomp.c++/cancel-sections-1.C: New test. 7682 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test. 7683 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test. 7684 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test. 7685 * testsuite/libgomp.c++/cancel-test.h: New file. 7686 * testsuite/libgomp.c++/for-9.C: New test. 7687 * testsuite/libgomp.c++/for-10.C: New test. 7688 * testsuite/libgomp.c++/for-11.C: New test. 7689 * testsuite/libgomp.c++/simd-1.C: New test. 7690 * testsuite/libgomp.c++/simd-2.C: New test. 7691 * testsuite/libgomp.c++/simd-3.C: New test. 7692 * testsuite/libgomp.c++/simd-4.C: New test. 7693 * testsuite/libgomp.c++/simd-5.C: New test. 7694 * testsuite/libgomp.c++/simd-6.C: New test. 7695 * testsuite/libgomp.c++/simd-7.C: New test. 7696 * testsuite/libgomp.c++/simd-8.C: New test. 7697 * testsuite/libgomp.c++/target-1.C: New test. 7698 * testsuite/libgomp.c++/target-2.C: New test. 7699 * testsuite/libgomp.c++/target-2-aux.cc: New file. 7700 * testsuite/libgomp.c++/target-3.C: New test. 7701 * testsuite/libgomp.c++/taskgroup-1.C: New test. 7702 * testsuite/libgomp.c++/udr-1.C: New test. 7703 * testsuite/libgomp.c++/udr-2.C: New test. 7704 * testsuite/libgomp.c++/udr-3.C: New test. 7705 * testsuite/libgomp.c++/udr-4.C: New test. 7706 * testsuite/libgomp.c++/udr-5.C: New test. 7707 * testsuite/libgomp.c++/udr-6.C: New test. 7708 * testsuite/libgomp.c++/udr-7.C: New test. 7709 * testsuite/libgomp.c++/udr-8.C: New test. 7710 * testsuite/libgomp.c++/udr-9.C: New test. 7711 77122013-09-20 Jakub Jelinek <jakub@redhat.com> 7713 7714 PR testsuite/57605 7715 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to 7716 ALWAYS_CFLAGS. 7717 77182013-09-20 Alan Modra <amodra@gmail.com> 7719 7720 * configure: Regenerate. 7721 77222013-09-19 Jakub Jelinek <jakub@redhat.com> 7723 7724 * testsuite/libgomp.c/sections-2.c: New test. 7725 77262013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com> 7727 7728 * testsuite/libgomp.fortran/strassen.f90: 7729 Add dg-skip-if aarch64_tiny. 7730 77312013-06-20 Iain Sandoe <iain@codesourcery.com> 7732 Cesar Philippidis <cesar@codesourcery.com> 7733 7734 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order. 7735 Do not load_gcc_lib gcc-dg.exp and add a comment as to why. 7736 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp. 7737 * testsuite/libgomp.fortran/fortran.exp: Likewise. 7738 * testsuite/libgomp.graphite/graphite.exp: Likewise. 7739 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp. 7740 Use dg-runtest rather than gfortran-dg-runtest. 7741 77422013-06-10 Thomas Schwinge <thomas@codesourcery.com> 7743 7744 * testsuite/libgomp.c/icv-2.c: Extend current handling of 7745 Linux-based x86 systems to cover all GNU systems. 7746 * testsuite/libgomp.c/lock-3.c: Likewise. 7747 * testsuite/libgomp.c/pr48591.c: Likewise. 7748 77492013-06-06 Thomas Schwinge <thomas@codesourcery.com> 7750 7751 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for 7752 GNU/Hurd, as done for Linux-based systems. 7753 7754 * config/posix/ptrlock.h: Fix comment. 7755 77562013-05-27 Tobias Burnus <burnus@net-b.de> 7757 7758 PR fortran/57423 7759 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested, 7760 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock, 7761 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock, 7762 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock, 7763 omp_destroy_nest_lock): Correct arguments to match the one in 7764 the OpenMP spec. 7765 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock 7766 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock, 7767 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested, 7768 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto. 7769 77702013-05-16 Jakub Jelinek <jakub@redhat.com> 7771 7772 * testsuite/libgomp.c/loop-13.c: New test. 7773 * testsuite/libgomp.c/loop-14.c: New test. 7774 * testsuite/libgomp.c/loop-15.c: New test. 7775 * testsuite/libgomp.c++/loop-13.C: New test. 7776 * testsuite/libgomp.c++/loop-14.C: New test. 7777 * testsuite/libgomp.c++/loop-15.C: New test. 7778 77792013-02-06 Jakub Jelinek <jakub@redhat.com> 7780 7781 PR middle-end/56217 7782 * testsuite/libgomp.c++/pr56217.C: New test. 7783 77842013-02-01 Alan Modra <amodra@gmail.com> 7785 7786 * task.c (GOMP_task, GOMP_taskwait): Comment. 7787 77882013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org> 7789 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch> 7790 7791 PR libgomp/55561 7792 * config/linux/wait.h (do_spin): Use atomic load for addr. 7793 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic 7794 for intptr and ptrlock. 7795 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load 7796 for ptrlock. 7797 77982013-01-22 Alan Modra <amodra@gmail.com> 7799 7800 PR libgomp/51376 7801 PR libgomp/56073 7802 * task.c (GOMP_task): Revert 2011-12-09 change. 7803 (GOMP_taskwait): Likewise. Instead use atomic load with acquire 7804 barrier to read task->children.. 7805 (gomp_barrier_handle_tasks): ..and matching atomic store with 7806 release barrier here when setting parent->children to NULL. 7807 78082013-01-16 Jakub Jelinek <jakub@redhat.com> 7809 Tobias Burnus <burnus@net-b.de> 7810 7811 PR driver/55884 7812 * testsuite/libgomp.fortran/fortran.exp: Use 7813 -fintrinsic-modules-path= instead of 7814 -fintrinsic-modules-path. 7815 78162013-01-14 Richard Sandiford <rdsandiford@googlemail.com> 7817 7818 Update copyright years. 7819 78202012-12-19 Tobias Burnus <burnus@net-b.de> 7821 7822 * testsuite/libgomp.fortran/fortran.exp: Set 7823 -fintrinsic-modules-path. 7824 78252012-12-19 Tobias Burnus <burnus@net-b.de> 7826 7827 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved 7828 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90. 7829 78302012-11-21 Jakub Jelinek <jakub@redhat.com> 7831 7832 PR libgomp/55411 7833 * team.c (gomp_free_thread): Decrease gomp_managed_threads 7834 if pool had any threads_used. 7835 78362012-11-07 Jack Howarth <howarth@bromo.med.uc.edu> 7837 7838 * testsuite/libgomp.c++/pr24455.C: Use 7839 -Wl,-undefined,dynamic_lookup on darwin. 7840 78412012-11-07 David Edelsohn <dje.gcc@gmail.com> 7842 7843 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX. 7844 78452012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr> 7846 7847 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops. 7848 78492012-10-23 Ian Bolton <ian.bolton@arm.com> 7850 Jim MacArthur <jim.macarthur@arm.com> 7851 Marcus Shawcroft <marcus.shawcroft@arm.com> 7852 Nigel Stephens <nigel.stephens@arm.com> 7853 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> 7854 Richard Earnshaw <rearnsha@arm.com> 7855 Sofiane Naci <sofiane.naci@arm.com> 7856 Stephen Thomas <stephen.thomas@arm.com> 7857 Tejas Belagod <tejas.belagod@arm.com> 7858 Yufeng Zhang <yufeng.zhang@arm.com> 7859 7860 * configure.tgt: Add AArch64. 7861 78622012-10-04 Jason Merrill <jason@redhat.com> 7863 7864 * testsuite/libgomp.c++/tls-init1.C: New. 7865 78662012-09-14 David Edelsohn <dje.gcc@gmail.com> 7867 7868 * configure: Regenerated. 7869 78702012-08-29 Chung-Lin Tang <cltang@codesourcery.com> 7871 7872 * config/linux/mips/futex.h (sys_futex0): Change to static 7873 function with noinline, nomips16 attributes under MIPS16. Adjust 7874 asm statement to place 'li v0,SYS_futex' immediately before 7875 syscall insn. 7876 78772012-07-04 Sandra Loosemore <sandra@codesourcery.com> 7878 7879 * libgomp.texi (Library Index): Renamed from "Index" to prevent 7880 conflict with index.html on case-insensitive file systems. 7881 78822012-07-03 Uros Bizjak <ubizjak@gmail.com> 7883 7884 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause. 7885 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto. 7886 78872012-07-02 Richard Guenther <rguenther@suse.de> 7888 Michael Matz <matz@suse.de> 7889 Tobias Grosser <tobias@grosser.es> 7890 Sebastian Pop <sebpop@gmail.com> 7891 7892 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust. 7893 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise. 7894 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise. 7895 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise. 7896 78972012-06-28 Andreas Schwab <schwab@linux-m68k.org> 7898 7899 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi. 7900 79012012-06-22 Richard Guenther <rguenther@suse.de> 7902 7903 Merge from graphite branch 7904 2012-01-13 Tobias Grosser <tobias@grosser.es> 7905 7906 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust. 7907 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise. 7908 79092012-06-07 Jakub Jelinek <jakub@redhat.com> 7910 7911 PR middle-end/53580 7912 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier, 7913 use GOMP_barrier () call instead. 7914 * testsuite/libgomp.c/pr26943-3.c: Likewise. 7915 * testsuite/libgomp.c/pr26943-4.c: Likewise. 7916 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier, 7917 call GOMP_barrier instead. 7918 * testsuite/libgomp.fortran/vla5.f90: Likewise. 7919 79202012-06-06 Jakub Jelinek <jakub@redhat.com> 7921 7922 PR libgomp/52993 7923 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last 7924 argument to memset call. 7925 79262012-05-16 H.J. Lu <hongjiu.lu@intel.com> 7927 7928 * configure: Regenerated. 7929 79302012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org> 7931 7932 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret. 7933 79342012-03-31 H.J. Lu <hongjiu.lu@intel.com> 7935 7936 PR bootstrap/52812 7937 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64. 7938 79392012-03-22 Jakub Jelinek <jakub@redhat.com> 7940 7941 PR middle-end/52547 7942 * testsuite/libgomp.c/pr52547.c: New test. 7943 79442012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> 7945 7946 * testsuite/lib/libgomp.exp: load fortran-modules.exp 7947 79482012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 7949 7950 * configure.tgt (mips-sgi-irix6*): Remove. 7951 79522012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 7953 7954 * configure.tgt (alpha*-dec-osf*): Remove. 7955 7956 * config/osf/sem.h: Remove. 7957 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally. 7958 79592012-02-29 Eric Botcazou <ebotcazou@adacore.com> 7960 7961 * config/linux/sparc/futex.h (cpu_relax): Read from CC register. 7962 79632012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 7964 7965 PR libstdc++/52188 7966 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming. 7967 Remove ENABLE_SYMVERS_SOL2. 7968 * configure: Regenerate. 7969 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable. 7970 (PREPROCESS): New variable. 7971 (libgomp.ver): New target. 7972 [LIBGOMP_BUILD_VERSIONED_SHLIB && 7973 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove 7974 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling. 7975 Use libgomp.ver. 7976 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun. 7977 * Makefile.in: Regenerate. 7978 79792012-02-14 Walter Lee <walt@tilera.com> 7980 7981 * configure.tgt: Handle tilegx and tilepro. 7982 * config/linux/tile/futex.h: New file. 7983 79842012-02-08 Richard Guenther <rguenther@suse.de> 7985 7986 PR tree-optimization/46886 7987 * testsuite/libgomp.c/pr46886.c: New testcase. 7988 79892012-01-25 Matthias Klose <doko@ubuntu.com> 7990 7991 * config/linux/arm: Remove empty directory. 7992 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*. 7993 79942011-12-09 Alan Modra <amodra@gmail.com> 7995 7996 PR libgomp/51376 7997 * task.c (GOMP_taskwait): Don't access task->children outside of 7998 task_lock mutex region. 7999 (GOMP_task): Likewise. 8000 80012011-12-06 Jakub Jelinek <jakub@redhat.com> 8002 8003 PR libgomp/51132 8004 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays 8005 to file scope. 8006 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise. 8007 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise. 8008 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise. 8009 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise. 8010 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise. 8011 80122011-12-02 Alan Modra <amodra@gmail.com> 8013 8014 * config/linux/affinity.c: Use atomic rather than sync builtin. 8015 * config/linux/lock.c: Likewise. 8016 * config/linux/ptrlock.h: Likewise. 8017 * config/linux/ptrlock.c: Likewise. 8018 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here.. 8019 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here. 8020 * config/linux/futex.h (atomic_write_barrier): Delete unused function. 8021 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise. 8022 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise. 8023 * config/linux/mips/futex.h (atomic_write_barrier): Likewise. 8024 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise. 8025 * config/linux/s390/futex.h (atomic_write_barrier): Likewise. 8026 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise. 8027 * config/linux/x86/futex.h (atomic_write_barrier): Likewise. 8028 80292011-11-30 Alan Modra <amodra@gmail.com> 8030 8031 PR libgomp/51298 8032 * config/linux/bar.h: Use atomic rather than sync builtins. 8033 * config/linux/bar.c: Likewise. Add missing acquire 8034 synchronisation on generation field. 8035 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not 8036 double unlock. 8037 80382011-11-30 Alan Modra <amodra@gmail.com> 8039 8040 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence. 8041 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence. 8042 * config/linux/mutex.h: Use atomic rather than sync builtins. 8043 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state. 8044 * config/linux/omp-lock.h: Comment fix. 8045 * config/linux/arm/mutex.h: Delete. 8046 * config/linux/powerpc/mutex.h: Delete. 8047 * config/linux/ia64/mutex.h: Delete. 8048 * config/linux/mips/mutex.h: Delete. 8049 80502011-11-30 Alan Modra <amodra@gmail.com> 8051 8052 PR libgomp/51249 8053 * config/linux/sem.h: Rewrite. 8054 * config/linux/sem.c: Rewrite. 8055 80562011-11-28 Richard Henderson <rth@redhat.com> 8057 8058 * libgomp.h (enum memmodel): New. 8059 80602011-11-21 Andreas Tobler <andreast@fgznet.ch> 8061 8062 * configure: Regenerate. 8063 80642011-10-10 Matthias Klose <doko@ubuntu.com> 8065 8066 * config/posix95: Remove empty directory. 8067 80682011-08-26 Jakub Jelinek <jakub@redhat.com> 8069 8070 * testsuite/libgomp.fortran/threadprivate4.f90: New test. 8071 80722011-08-19 Jakub Jelinek <jakub@redhat.com> 8073 8074 PR fortran/49792 8075 * testsuite/libgomp.fortran/pr49792-1.f90: New test. 8076 * testsuite/libgomp.fortran/pr49792-2.f90: New test. 8077 80782011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 8079 8080 * config/posix95/lock.c, posix95/omp-lock.h: Remove. 8081 80822011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 8083 8084 PR libgomp/49965 8085 * testsuite/libgomp.c++/task-8.C: Replaced err by errval. 8086 80872011-08-03 Uros Bizjak <ubizjak@gmail.com> 8088 8089 * config/linux/proc.h: New. 8090 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>. 8091 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static. 8092 (gomp_init_num_threads): Update call to cpuset_popcount. 8093 (get_num_procs): Ditto. 8094 * config/linux/affinity.c (gomp_init_affinity): Call 8095 gomp_cpuset_popcount. 8096 80972011-08-02 Jakub Jelinek <jakub@redhat.com> 8098 8099 PR fortran/42041 8100 PR fortran/46752 8101 * omp.h.in (omp_in_final): New prototype. 8102 * omp_lib.f90.in (omp_in_final): New interface. 8103 (omp_integer_kind, omp_logical_kind): Remove 8104 and replace all its uses in the module with 4. 8105 (openmp_version): Change to 201107. 8106 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic, 8107 omp_sched_guided, omp_sched_auto): Use omp_sched_kind 8108 kind for the parameters. 8109 (omp_in_final): New external. 8110 (openmp_version): Change to 201107. 8111 * task.c (omp_in_final): New function. 8112 (gomp_init_task): Initialize final_task. 8113 (GOMP_task): Remove unused attribute from flags. Handle final 8114 tasks. 8115 (GOMP_taskyield): New function. 8116 (omp_in_final): Return true if if (false) or final (true) task 8117 or descendant of final (true). 8118 * fortran.c (omp_in_final_): New function. 8119 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_. 8120 (GOMP_3.0): Export GOMP_taskyield. 8121 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New 8122 variables. 8123 (parse_unsigned_long_list): New function. 8124 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean 8125 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity 8126 even if parse_affinity returned false. 8127 * config/linux/affinity.c (gomp_init_affinity): Handle 8128 gomp_cpu_affinity_len == 0. 8129 * libgomp_g.h (GOMP_taskyield): New prototype. 8130 * libgomp.h (struct gomp_task): Add final_task field. 8131 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs. 8132 * team.c (gomp_team_start): Override new task's nthreads_var icv 8133 if list form OMP_NUM_THREADS has been used and it has value for 8134 the new nesting level. 8135 8136 * testsuite/libgomp.c/atomic-11.c: New test. 8137 * testsuite/libgomp.c/atomic-12.c: New test. 8138 * testsuite/libgomp.c/atomic-13.c: New test. 8139 * testsuite/libgomp.c/atomic-14.c: New test. 8140 * testsuite/libgomp.c/reduction-6.c: New test. 8141 * testsuite/libgomp.c/task-5.c: New test. 8142 * testsuite/libgomp.c++/atomic-2.C: New test. 8143 * testsuite/libgomp.c++/atomic-3.C: New test. 8144 * testsuite/libgomp.c++/atomic-4.C: New test. 8145 * testsuite/libgomp.c++/atomic-5.C: New test. 8146 * testsuite/libgomp.c++/atomic-6.C: New test. 8147 * testsuite/libgomp.c++/atomic-7.C: New test. 8148 * testsuite/libgomp.c++/atomic-8.C: New test. 8149 * testsuite/libgomp.c++/atomic-9.C: New test. 8150 * testsuite/libgomp.c++/task-8.C: New test. 8151 * testsuite/libgomp.c++/reduction-4.C: New test. 8152 * testsuite/libgomp.fortran/allocatable7.f90: New test. 8153 * testsuite/libgomp.fortran/allocatable8.f90: New test. 8154 * testsuite/libgomp.fortran/crayptr3.f90: New test. 8155 * testsuite/libgomp.fortran/omp_atomic3.f90: New test. 8156 * testsuite/libgomp.fortran/omp_atomic4.f90: New test. 8157 * testsuite/libgomp.fortran/pointer1.f90: New test. 8158 * testsuite/libgomp.fortran/pointer2.f90: New test. 8159 * testsuite/libgomp.fortran/task4.f90: New test. 8160 81612011-08-02 Tobias Burnus <burnus@net-b.de> 8162 8163 * libgomp.texi: Update OpenMP spec references to 3.1. 8164 (omp_in_final,OMP_PROC_BIND): New sections. 8165 (OMP_NUM_THREADS): Document that the value can be now a list. 8166 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref. 8167 81682011-08-02 H.J. Lu <hongjiu.lu@intel.com> 8169 8170 * config/linux/x86/futex.h: Check __x86_64__ instead of 8171 __LP64__. 8172 81732011-07-29 Jakub Jelinek <jakub@redhat.com> 8174 8175 PR middle-end/49897 8176 PR middle-end/49898 8177 * testsuite/libgomp.c/pr49897-1.c: New test. 8178 * testsuite/libgomp.c/pr49897-2.c: New test. 8179 * testsuite/libgomp.c/pr49898-1.c: New test. 8180 * testsuite/libgomp.c/pr49898-2.c: New test. 8181 81822011-07-28 H.J. Lu <hongjiu.lu@intel.com> 8183 8184 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486 8185 for ia32 instead of ilp32. 8186 8187 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32. 8188 * testsuite/libgomp.c/atomic-6.c: Likewise. 8189 81902011-07-23 Sebastian Pop <sebastian.pop@amd.com> 8191 8192 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail. 8193 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern. 8194 81952011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 8196 8197 PR libgomp/45351 8198 * config/osf/sem.h: New file. 8199 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path. 8200 82012011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 8202 8203 PR target/49541 8204 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to 8205 ldflags. 8206 82072011-07-15 Jakub Jelinek <jakub@redhat.com> 8208 8209 * config/linux/wait.h (do_spin): New inline, largely copied 8210 from do_wait, just don't do futex_wait here, instead return true if 8211 it should be done. 8212 (do_wait): Implement using do_spin. 8213 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument 8214 to prototype. 8215 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of 8216 __sync_bool_compare_and_swap, pass the oldval to 8217 gomp_mutex_lock_slow. 8218 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument. 8219 If all mutex contenders are just spinning and not sleeping, don't 8220 change state to 2 unnecessarily. Optimize the loop when state has 8221 already become 2 to use just one atomic operation per loop instead 8222 of two. 8223 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument 8224 to prototype. 8225 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of 8226 __sync_bool_compare_and_swap, pass the oldval to 8227 gomp_mutex_lock_slow. 8228 82292011-06-22 Jakub Jelinek <jakub@redhat.com> 8230 8231 PR libgomp/49490 8232 * iter.c (gomp_iter_static_next): For chunk size 0 8233 only use n ceil/ nthreads size for the first 8234 n % nthreads threads in the team instead of 8235 all threads except for the last few ones which 8236 get less work or none at all. 8237 * iter_ull.c (gomp_iter_ull_static_next): Likewise. 8238 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have 8239 chunk argument, set run_sched_modifier to 0 for static 8240 resp. 1 for other kinds. If chunk argument is 0 8241 and not static, set value to 1. 8242 82432011-05-19 Jakub Jelinek <jakub@redhat.com> 8244 8245 PR c++/49043 8246 * testsuite/libgomp.c++/pr49043.C: New test. 8247 8248 PR c++/48869 8249 * testsuite/libgomp.c++/pr48869.C: New test. 8250 82512011-05-06 Jakub Jelinek <jakub@redhat.com> 8252 8253 PR fortran/48894 8254 * fortran.c: Include limits.h. 8255 (TO_INT): Define. 8256 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of 8257 *set. 8258 (omp_set_num_threads_8_, omp_set_schedule_8_, 8259 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_, 8260 omp_get_team_size_8_): Use TO_INT macro. 8261 * testsuite/libgomp.fortran/pr48894.f90: New test. 8262 82632011-04-13 Jakub Jelinek <jakub@redhat.com> 8264 8265 PR middle-end/48591 8266 * testsuite/libgomp.c/pr48591.c: New test. 8267 82682011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 8269 8270 PR bootstrap/48135 8271 * acinclude.m4 (enable_symvers): Handle --disable-symvers. 8272 * configure: Regenerate. 8273 82742011-02-27 Jakub Jelinek <jakub@redhat.com> 8275 8276 PR fortran/47886 8277 * testsuite/libgomp.fortran/task3.f90: New test. 8278 82792011-02-24 Tobias Burnus <burnus@net-b.de> 8280 8281 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE. 8282 82832011-02-23 Jakub Jelinek <jakub@redhat.com> 8284 8285 PR libgomp/47854 8286 * libgomp.texi (omp_get_wtime): Don't say time in the past 8287 must be Unix Epoch. 8288 82892011-02-18 Jakub Jelinek <jakub@redhat.com> 8290 8291 PR libgomp/47804 8292 * testsuite/libgomp.fortran/fortran.exp: Check for both 8293 libquadmath.a and libquadmath.${shlib_ext}. If neither exists, 8294 but $blddir != "", still append ${blddir}/${lang_library_path} 8295 to ld_library_path. 8296 82972011-02-16 Tobias Burnus <burnus@net-b.de> 8298 8299 PR libgomp/47758 8300 * testsuite/libgomp.fortran/fortran.exp: Check for the existence 8301 of libquadmath.a before adding its libpath to ldflags. 8302 83032011-02-14 Jakub Jelinek <jakub@redhat.com> 8304 8305 PR libgomp/47731 8306 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument 8307 to FUTEX_WAIT futex syscall. 8308 * config/linux/wait.h: Include <futex.h> instead of "futex.h". 8309 83102011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 8311 8312 * configure: Regenerate. 8313 83142011-01-20 Benjamin Kosnik <bkoz@redhat.com> 8315 8316 PR libstdc++/36104 8317 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants. 8318 83192011-01-16 Gerald Pfeifer 8320 8321 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS. 8322 83232010-12-14 Jakub Jelinek <jakub@redhat.com> 8324 8325 PR fortran/46874 8326 * libgomp.fortran/allocatable6.f90: New test. 8327 83282010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 8329 8330 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no. 8331 * configure: Regenerate. 8332 83332010-12-06 Dave Korn <dave.korn.cygwin@gmail.com> 8334 8335 PR target/40125 8336 PR lto/46695 8337 * configure.ac: Invoke ACX_LT_HOST_FLAGS. 8338 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags. 8339 * aclocal.m4: Regenerate. 8340 * configure: Regenerate. 8341 * Makefile.in: Regenerate. 8342 * testsuite/Makefile.in: Regenerate. 8343 83442010-12-02 Jakub Jelinek <jakub@redhat.com> 8345 8346 PR fortran/46753 8347 * libgomp.fortran/pr46753.f90: New test. 8348 8349 PR libgomp/43706 8350 * env.c (initialize_env): Default to spin count 300000 8351 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT 8352 is specified. 8353 8354 PR libgomp/45240 8355 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock 8356 at the end if sync builtins aren't supported. 8357 83582010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 8359 8360 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS. 8361 83622010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 8363 8364 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0. 8365 83662010-11-24 Iain Sandoe <iains@gcc.gnu.org> 8367 8368 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath. 8369 83702010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 8371 Tobias Burnus <burnus@net-b.de> 8372 8373 PR fortran/32049 8374 * configure.ac: 8375 * configure: Regenerate. 8376 83772010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com> 8378 8379 * config/linux/futex.h: New. 8380 * config/linux/arm/mutex.h: New. 8381 * configure.tgt (arm*-*-linux*): Add config path. 8382 83832010-09-30 Sebastian Pop <sebastian.pop@amd.com> 8384 8385 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust. 8386 83872010-09-23 Tobias Burnus <burnus@net-b.de> 8388 8389 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic): 8390 Change Fortran datatype to LOGICAL. 8391 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock, 8392 omp_unset_nested_lock): Use intent(inout) instead of intent(out). 8393 83942010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 8395 8396 * configure: Regenerate. 8397 83982010-07-26 Jakub Jelinek <jakub@redhat.com> 8399 8400 * libgomp.texi: Add function keyword to a couple of Fortran 8401 interfaces, use integer instead of int for Fortran. 8402 84032010-07-26 Aldy Hernandez <aldyh@redhat.com> 8404 8405 * libgomp.texi: Fix spelling and pasto problems throughout. 8406 Adjust prototypes to match code. 8407 84082010-07-24 Tobias Burnus <burnus@net-b.de> 8409 8410 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to 8411 silence -fwhole-file warning. 8412 84132010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 8414 8415 * configure.tgt (*-*-solaris2.[56]*): Removed. 8416 84172010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 8418 8419 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style. 8420 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU, 8421 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals. 8422 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless 8423 targetting solaris2*. 8424 * configure: Regenerate. 8425 * config.h.in: Regenerate. 8426 8427 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect 8428 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU. 8429 Add libgomp_version_dep. 8430 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol 8431 versioning. 8432 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep. 8433 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep). 8434 * Makefile.in: Regenerate. 8435 8436 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless 8437 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT. 8438 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0 8439 to common block, protected by 8440 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT. 8441 84422010-06-10 Gerald Pfeifer <gerald@pfeifer.com> 8443 8444 * libgomp.texi: Move to GFDL version 1.3. Update copyright years. 8445 84462010-06-09 Iain Sandoe <iains@gcc.gnu.org> 8447 8448 PR bootstrap/43170 8449 * configure: Regenerate. 8450 84512010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 8452 8453 PR other/43620 8454 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist. 8455 * configure: Regenerate. 8456 * Makefile.in: Regenerate. 8457 * testsuite/Makefile.in: Regenerate. 8458 84592010-04-26 Jakub Jelinek <jakub@redhat.com> 8460 8461 PR c/43893 8462 * testsuite/libgomp.c/pr43893.c: New test. 8463 * testsuite/libgomp.c++/pr43893.C: New test. 8464 84652010-04-21 Jakub Jelinek <jakub@redhat.com> 8466 8467 PR middle-end/43570 8468 * testsuite/libgomp.fortran/vla8.f90: New test. 8469 84702010-04-20 Jakub Jelinek <jakub@redhat.com> 8471 8472 PR libgomp/43706 8473 * config/linux/affinity.c (gomp_init_affinity): Decrease 8474 gomp_available_cpus if affinity mask confines the process to fewer 8475 CPUs. 8476 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is 8477 non-NULL, just return gomp_available_cpus. 8478 8479 PR libgomp/43569 8480 * sections.c (gomp_sections_init): Initialize ws->mode. 8481 84822010-04-14 Uros Bizjak <ubizjak@gmail.com> 8483 8484 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but 8485 not unused bar variable. 8486 * configure: Regenerate. 8487 84882010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 8489 8490 * Makefile.in: Regenerate. 8491 * aclocal.m4: Regenerate. 8492 * testsuite/Makefile.in: Regenerate. 8493 84942010-03-22 Jakub Jelinek <jakub@redhat.com> 8495 8496 PR libgomp/42942 8497 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument. 8498 (initialize_env): Adjust callers. 8499 (omp_set_max_active_levels): Set gomp_max_active_levels_var even 8500 when the argument is 0. 8501 8502 * testsuite/libgomp.c/pr42942.c: New test. 8503 85042010-03-08 Tobias Grosser <grosser@fim.uni-passau.de> 8505 8506 PR middle-end/42644 8507 PR middle-end/42130 8508 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust. 8509 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust. 8510 85112010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 8512 8513 * testsuite/libgomp.c++/task-1.C: Renamed err to e. 8514 * testsuite/libgomp.c++/task-6.C: Likewise. 8515 85162010-01-28 Steve Ellcey <sje@cup.hp.com> 8517 8518 * configure.tgt (*-*-hpux*): Add -frandom-seed flag. 8519 85202010-01-26 Paolo Bonzini <bonzini@gnu.org> 8521 8522 * configure.ac: Test for executability of _the first word_ of GFORTRAN. 8523 * configure: Regenerate. 8524 85252010-01-26 Jakub Jelinek <jakub@redhat.com> 8526 8527 PR fortran/42866 8528 * testsuite/libgomp.fortran/allocatable5.f90: New test. 8529 85302010-01-20 Paolo Bonzini <bonzini@gnu.org> 8531 8532 * configure.ac: Test for executability of GFORTRAN. 8533 * configure: Regenerate. 8534 85352010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 8536 8537 * configure: Regenerate. 8538 85392010-01-04 H.J. Lu <hongjiu.lu@intel.com> 8540 8541 PR libgomp/42602 8542 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic. 8543 85442010-01-03 Richard Guenther <rguenther@suse.de> 8545 8546 * testsuite/libgomp.fortran/recursion1.f90: New testcase. 8547 85482009-12-23 Sebastian Pop <sebpop@gmail.com> 8549 8550 * testsuite/libgomp.graphite/pr4118.c: New. 8551 85522009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk> 8553 8554 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage 8555 for darwin, protect the test with require-effective-target tls_runtime. 8556 * testsuite/libgomp.fortran/pr32550.f90: Ditto. 8557 85582009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk> 8559 8560 PR target/41605 8561 * testsuite/lib/libgomp.exp: Provide -B options to allow for 8562 link spec %s substitutions for static libraries. 8563 85642009-12-18 Jack Howarth <howarth@bromo.med.uc.edu> 8565 8566 PR testsuite/42135 8567 * libgomp.graphite/force-parallel-2.c: Reduce array size. 8568 85692009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 8570 8571 * Makefile.in: Regenerate. 8572 * configure: Regenerate. 8573 * testsuite/Makefile.in: Regenerate. 8574 85752009-11-30 Dave Korn <dave.korn.cygwin@gmail.com> 8576 8577 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent 8578 settings for LC_ALL and LANG. 8579 85802009-11-25 Jakub Jelinek <jakub@redhat.com> 8581 8582 PR fortran/42162 8583 * testsuite/libgomp.fortran/pr42162.f90: New test. 8584 85852009-11-13 Jakub Jelinek <jakub@redhat.com> 8586 8587 PR middle-end/42029 8588 * testsuite/libgomp.c/pr42029.c: New test. 8589 85902009-10-26 Jakub Jelinek <jakub@redhat.com> 8591 8592 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many 8593 *s. Accept ld version without text in ()s. 8594 * configure: Regenerated. 8595 85962009-10-22 Razya Ladelsky <razya@il.ibm.com> 8597 8598 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan. 8599 86002009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 8601 8602 PR libgomp/41418 8603 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no" 8604 or a hyphen (happens with fortran language disabled). 8605 * configure: Regenerate. 8606 86072009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 8608 8609 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head', 8610 use sed script portable to Solaris /bin/sed for extracting ld 8611 version. 8612 * configure: Regenerate. 8613 86142009-09-17 Alexander Monakov <amonakov@ispras.ru> 8615 8616 * testsuite/libgomp.graphite/bounds.c: New test. 8617 86182009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 8619 8620 * Makefile.am (libgomp_la_LINK): New. 8621 * Makefile.in: Regenerate. 8622 86232009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 8624 8625 * configure.ac (AC_PREREQ): Bump to 2.64. 8626 86272009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 8628 8629 * Makefile.am (install-html, install-pdf): Remove. 8630 * Makefile.in: Regenerate. 8631 8632 * Makefile.in: Regenerate. 8633 * aclocal.m4: Regenerate. 8634 * config.h.in: Regenerate. 8635 * configure: Regenerate. 8636 * testsuite/Makefile.in: Regenerate. 8637 86382009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 8639 8640 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS). 8641 * Makefile.in: Regenerate. 8642 86432009-08-20 Dave Korn <dave.korn.cygwin@gmail.com> 8644 8645 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag. 8646 * Makefile.in: Regenerate. 8647 86482009-08-19 Tobias Burnus <burnus@net-b.de> 8649 8650 PR fortran/41102 8651 omp_lib.h.in: Fix -std=f95 errors. 8652 86532009-08-14 David Edelsohn <edelsohn@gnu.org> 8654 8655 * testsuite/libgomp.graphite: Move from gcc.dg/graphite. 8656 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete. 8657 * testsuite/libgomp.graphite/graphite.exp: New. 8658 86592009-08-05 Andreas Tobler <a.tobler@schweiz.org> 8660 8661 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared 8662 only build. 8663 86642009-08-04 David Daney <ddaney@caviumnetworks.com> 8665 8666 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about 8667 needed memory barrier semantics. 8668 * config/linux/mips/mutex.h: New file. 8669 86702009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 8671 8672 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force. 8673 86742009-07-16 Joseph Myers <joseph@codesourcery.com> 8675 8676 * configure: Regenerate. 8677 86782009-07-11 Richard Sandiford <rdsandiford@googlemail.com> 8679 8680 PR testsuite/40699 8681 PR testsuite/40707 8682 PR testsuite/40709 8683 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits. 8684 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp, 8685 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits. 8686 86872009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com> 8688 8689 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS 8690 options when choosing a multilib. 8691 86922009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com> 8693 8694 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to 8695 ld_library_path. Use add_path. Add just find_libgcc_s to 8696 ld_library_path, not every libgcc multilib directory. 8697 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call 8698 gcc-set-multilib-library-path; rely on $always_ld_library_path instead. 8699 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise. 8700 Use add_path. 8701 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise. 8702 87032009-06-09 Nathan Froyd <froydnj@codesourcery.com> 8704 8705 * Makefile.am (LTLDFLAGS): Define. 8706 (LINK): Define. 8707 * Makefile.in: Regenerate. 8708 87092009-05-27 Janne Blomqvist <jb@gcc.gnu.org> 8710 8711 PR fortran/39718 8712 * testsuite/libgomp.fortran/fortran.exp: Don't link with 8713 libgfortranbegin, check existence of libgfortran.a instead of 8714 libgfortranbegin.a. 8715 87162009-05-20 Jakub Jelinek <jakub@redhat.com> 8717 8718 PR libgomp/40174 8719 * team.c (gomp_thread_start): Destroy thr->release semaphore. 8720 (gomp_free_pool_helper): Likewise. 8721 87222009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com> 8723 Jakub Jelinek <jakub@redhat.com> 8724 8725 PR fortran/35423 8726 * testsuite/libgomp.fortran/workshare2.f90: New test. 8727 87282009-04-09 Nick Clifton <nickc@redhat.com> 8729 8730 * iter.c: Change copyright header to refer to version 3 of the 8731 GNU General Public License with version 3.1 of the GCC Runtime 8732 Library Exception and to point readers at the COPYING3 and 8733 COPYING3.RUNTIME files and the FSF's license web page. 8734 * alloc.c: Likewise. 8735 * barrier.c: Likewise. 8736 * config/bsd/proc.c: Likewise. 8737 * config/linux/affinity.c: Likewise. 8738 * config/linux/alpha/futex.h: Likewise. 8739 * config/linux/bar.c: Likewise. 8740 * config/linux/bar.h: Likewise. 8741 * config/linux/ia64/futex.h: Likewise. 8742 * config/linux/ia64/mutex.h: Likewise. 8743 * config/linux/lock.c: Likewise. 8744 * config/linux/mips/futex.h: Likewise. 8745 * config/linux/mutex.c: Likewise. 8746 * config/linux/mutex.h: Likewise. 8747 * config/linux/powerpc/futex.h: Likewise. 8748 * config/linux/proc.c: Likewise. 8749 * config/linux/ptrlock.c: Likewise. 8750 * config/linux/ptrlock.h: Likewise. 8751 * config/linux/s390/futex.h: Likewise. 8752 * config/linux/sem.c: Likewise. 8753 * config/linux/sem.h: Likewise. 8754 * config/linux/sparc/futex.h: Likewise. 8755 * config/linux/wait.h: Likewise. 8756 * config/linux/x86/futex.h: Likewise. 8757 * config/mingw32/proc.c: Likewise. 8758 * config/mingw32/time.c: Likewise. 8759 * config/posix/affinity.c: Likewise. 8760 * config/posix/bar.c: Likewise. 8761 * config/posix/bar.h: Likewise. 8762 * config/posix/lock.c: Likewise. 8763 * config/posix/mutex.h: Likewise. 8764 * config/posix/proc.c: Likewise. 8765 * config/posix/ptrlock.h: Likewise. 8766 * config/posix/sem.c: Likewise. 8767 * config/posix/sem.h: Likewise. 8768 * config/posix/time.c: Likewise. 8769 * config/posix95/lock.c: Likewise. 8770 * critical.c: Likewise. 8771 * env.c: Likewise. 8772 * error.c: Likewise. 8773 * fortran.c: Likewise. 8774 * iter_ull.c: Likewise. 8775 * libgomp.h: Likewise. 8776 * libgomp_f.h.in: Likewise. 8777 * libgomp_g.h: Likewise. 8778 * loop.c: Likewise. 8779 * loop_ull.c: Likewise. 8780 * omp.h.in: Likewise. 8781 * omp_lib.f90.in: Likewise. 8782 * omp_lib.h.in: Likewise. 8783 * ordered.c: Likewise. 8784 * parallel.c: Likewise. 8785 * sections.c: Likewise. 8786 * single.c: Likewise. 8787 * task.c: Likewise. 8788 * team.c: Likewise. 8789 * work.c: Likewise. 8790 87912009-04-09 Jakub Jelinek <jakub@redhat.com> 8792 8793 * testsuite/config/default.exp: Change copyright header to refer to 8794 version 3 of the GNU General Public License and to point readers 8795 at the COPYING3 file and the FSF's license web page. 8796 87972009-04-08 Jakub Jelinek <jakub@redhat.com> 8798 8799 PR middle-end/39573 8800 * libgomp.c++/pr39573.C: New test. 8801 88022009-04-01 Jakub Jelinek <jakub@redhat.com> 8803 8804 PR other/39591 8805 * testsuite/libgomp.c/pr39591-1.c: New test. 8806 * testsuite/libgomp.c/pr39591-2.c: New test. 8807 * testsuite/libgomp.c/pr39591-3.c: New test. 8808 88092009-03-25 Uros Bizjak <ubizjak@gmail.com> 8810 8811 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage. 8812 * testsuite/libgomp.c/atomic-6.c: Ditto. 8813 88142009-03-23 Jakub Jelinek <jakub@redhat.com> 8815 8816 PR c/39495 8817 * testsuite/libgomp.c/loop-12.c: New test. 8818 * testsuite/libgomp.c/loop-11.c: New test. 8819 * testsuite/libgomp.c++/loop-11.C: New test. 8820 * testsuite/libgomp.c++/loop-12.C: New test. 8821 * testsuite/libgomp.c++/for-8.C: New test. 8822 88232009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 8824 8825 * configure: Regenerate. 8826 88272009-02-11 Jakub Jelinek <jakub@redhat.com> 8828 8829 PR middle-end/39154 8830 * testsuite/libgomp.c/pr39154.c: New test. 8831 88322009-01-30 Ian Lance Taylor <iant@google.com> 8833 8834 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set 8835 libgomp_ld_is_gold. Get gold version number. 8836 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning. 8837 * configure: Rebuild. 8838 88392009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk> 8840 8841 * testsuite/lib/libgomp.exp: Add -B option for targets that 8842 use libgfortran.a%s in their specs. 8843 88442009-01-07 Jakub Jelinek <jakub@redhat.com> 8845 8846 PR libgomp/38086 8847 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check. 8848 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if 8849 HAVE_AS_SYMVER_DIRECTIVE is not defined. 8850 * configure: Regenerated. 8851 * config.h.in: Likewise. 8852 88532008-12-28 Jakub Jelinek <jakub@redhat.com> 8854 8855 PR c++/38650 8856 * testsuite/libgomp.c/pr38650.c: New test. 8857 * testsuite/libgomp.c++/pr38650.C: New test. 8858 88592008-12-27 Jakub Jelinek <jakub@redhat.com> 8860 8861 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause. 8862 88632008-12-26 Uros Bizjak <ubizjak@gmail.com> 8864 8865 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets. 8866 88672008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 8868 8869 * configure: Regenerate. 8870 88712008-12-08 Jakub Jelinek <jakub@redhat.com> 8872 8873 PR middle-end/36802 8874 * testsuite/libgomp.c/pr36802-1.c: New test. 8875 * testsuite/libgomp.c/pr36802-2.c: New test. 8876 * testsuite/libgomp.c/pr36802-3.c: New test. 8877 88782008-12-01 Janis Johnson <janis187@us.ibm.com> 8879 8880 PR libgomp/38270 8881 * config/linux/powerpc/mutex.h: New. 8882 88832008-12-01 Jakub Jelinek <jakub@redhat.com> 8884 8885 PR c++/38257 8886 * testsuite/libgomp.c++/for-7.C: New test. 8887 8888 PR c++/38348 8889 * testsuite/libgomp.c++/for-6.C: New test. 8890 88912008-11-26 Janis Johnson <janis187@us.ibm.com> 8892 8893 PR testsuite/28870 8894 * testsuite/lib/libgomp.exp: Include new timeout library files. 8895 (libgomp_target_compile): Set timeout value from new proc. 8896 88972008-11-13 Steve Ellcey <sje@cup.hp.com> 8898 8899 PR libgomp/37938 8900 * config/linux/ia64/mutex.h: New. 8901 89022008-11-04 Tobias Burnus <burnus@net-b.de> 8903 8904 PR libgomp/37935 8905 * libgomp.texi (Runtime library routines, environment variables): 8906 Update for OpenMP version 3.0. 8907 89082008-09-26 Peter O'Gorman <pogma@thewrittenword.com> 8909 Steve Ellcey <sje@cup.hp.com> 8910 8911 * configure: Regenerate for new libtool. 8912 * Makefile.in: Ditto. 8913 * testsuite/Makefile.in: Ditto. 8914 89152008-09-19 Jakub Jelinek <jakub@redhat.com> 8916 Andreas Tobler <a.tobler@schweiz.org> 8917 8918 * config/bsd/proc.c: New file. 8919 * configure.tgt (*-*-darwin*): Use config_path "bsd posix". 8920 * configure.ac: Check for header <sys/sysctl.h> 8921 * configure: Regenerate. 8922 * config.h.in: Likewise. 8923 89242008-09-05 Janis Johnson <janis187@us.ibm.com> 8925 8926 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists. 8927 89282008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com> 8929 8930 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined. 8931 * Makefile.in: Regenerated. 8932 * testsuite/Makefile.in: Regenerated. 8933 89342008-08-21 Nathan Froyd <froydnj@codesourcery.com> 8935 8936 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that 8937 depend on blddir if blddir exists. 8938 (libgomp_target_compile): Likewise. 8939 * testsuite/libgomp.c++/c++.exp: Likewise. 8940 * testsuite/libgomp.fortran/fortran.exp: Likewise. 8941 89422008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 8943 8944 * libgomp.texi: Update to GFDL 1.2. Update copyright years. 8945 Do not list GPL as Invariant Section. 8946 89472008-07-28 Ilie Garbacea <ilie@mips.com> 8948 Chao-ying Fu <fu@mips.com> 8949 8950 * configure.tgt: Enable futex for MIPS. 8951 * config/linux/mips/futex.h: New file. 8952 89532008-07-16 Jakub Jelinek <jakub@redhat.com> 8954 8955 * team.c (gomp_team_end): Free team immediately if it has 8956 just one thread. 8957 89582008-07-08 David Edelsohn <edelsohn@gnu.org> 8959 8960 * testsuite/libgomp.c++/c++.exp: Append multilib library path. 8961 * testsuite/libgomp.fortran/fortran.exp: Same. 8962 * testsuite/libgomp.c/c.exp: Same. 8963 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib 8964 directory to library path first. 8965 89662008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com> 8967 8968 * env.c (parse_stacksize): Add cast to avoid warning. 8969 (parse_spincount): Likewise. 8970 89712008-06-27 Jakub Jelinek <jakub@redhat.com> 8972 8973 * testsuite/libgomp.c/loop-10.c: New test. 8974 * libgomp.c/loop-3.c (main): Add lastprivate clause. 8975 * libgomp.c++/loop-6.C (main): Likewise. 8976 8977 PR debug/36617 8978 * testsuite/libgomp.c/debug-1.c: New test. 8979 89802008-06-19 Jakub Jelinek <jakub@redhat.com> 8981 8982 * testsuite/libgomp.c/nqueens-1.c: New test. 8983 8984 PR c++/36523 8985 * testsuite/libgomp.c++/task-7.C: New function. 8986 89872008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 8988 8989 * configure: Regenerate. 8990 89912008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 8992 8993 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock 8994 mutex when HAVE_SYNC_BUILTINS isn't defined. 8995 89962008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 8997 8998 * libgomp.texi (omp_test_lock): Fix typo. 8999 90002008-06-12 Tobias Burnus <burnus@net-b.de> 9001 9002 * omp_lib.f90.in: Add "implicit none". 9003 90042008-06-12 Jakub Jelinek <jakub@redhat.com> 9005 9006 PR middle-end/36506 9007 * testsuite/libgomp.c/reduction-5.c: New test. 9008 90092008-06-11 Jakub Jelinek <jakub@redhat.com> 9010 9011 * libgomp.h (struct gomp_task): Add in_tied_task field. 9012 * task.c (gomp_init_task): Initialize it. 9013 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending 9014 unconditionally. Don't call gomp_team_barrier_wake if 9015 current task is implicit or if(0) from implicit and number of 9016 running tasks is equal to nthreads - 1. 9017 9018 PR libgomp/36471 9019 * omp_lib.f90.in (omp_get_ancestor_thread_num_8, 9020 omp_get_team_size_8): Fix pastos. 9021 9022 PR libgomp/36469 9023 * configure.ac: Add AC_CHECK_FUNCS (strtoull). 9024 * configure: Regenerated. 9025 * config.h.in: Regenerated. 9026 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not 9027 defined. 9028 90292008-06-06 Andreas Tobler <a.tobler@schweiz.org> 9030 9031 PR bootstrap/36452 9032 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API. 9033 (GOMP_loop_ull_dynamic_start): Likewise. 9034 (GOMP_loop_ull_guided_start): Likewise. 9035 (GOMP_loop_ull_ordered_static_start): Likewise. 9036 (GOMP_loop_ull_ordered_dynamic_start): Likewise. 9037 (GOMP_loop_ull_ordered_guided_start): Likewise. 9038 90392008-06-06 Jakub Jelinek <jakub@redhat.com> 9040 Richard Henderson <rth@redhat.com> 9041 Ulrich Drepper <drepper@redhat.com> 9042 Jakob Blomer <jakob.blomer@ira.uka.de> 9043 9044 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE. 9045 Substitute also OMP_*LOCK_25*. 9046 * configure: Regenerated. 9047 * config.h.in: Regenerated. 9048 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c, 9049 ptrlock.c and task.c. 9050 * Makefile.in: Regenerated. 9051 * testsuite/Makefile.in: Regenerated. 9052 * task.c: New file. 9053 * loop_ull.c: New file. 9054 * iter_ull.c: New file. 9055 * libgomp.h: Include ptrlock.h. 9056 (enum gomp_task_kind): New type. 9057 (struct gomp_team): Add task_lock, task_queue, task_count, 9058 task_running_count, single_count fields. Add 9059 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS. 9060 Remove work_share_lock, generation_mask, 9061 oldest_live_gen, num_live_gen and init_work_shares fields, add 9062 work work_share_list_alloc, work_share_list_free and work_share_chunk 9063 fields. Change work_shares from pointer to pointers into an array. 9064 Change ordered_release field into gomp_sem_t ** from flexible array 9065 member. Add implicit_task and initial_work_shares fields. 9066 Move close to the end of the struct. 9067 (struct gomp_team_state): Add single_count, last_work_share, 9068 active_level and level fields, remove work_share_generation. 9069 (gomp_barrier_handle_tasks): New prototype. 9070 (gomp_finish_task): New inline function. 9071 (struct gomp_work_share): Move chunk_size, end, incr into 9072 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and 9073 next_ll fields. Reshuffle fields. Add next_alloc, 9074 next_ws, next_free and inline_ordered_team_ids fields, change 9075 ordered_team_ids into pointer from flexible array member. 9076 Add mode field. Put lock and next into a different cache line 9077 from most of the write-once fields. 9078 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked, 9079 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next, 9080 gomp_iter_ull_guided_next): New prototypes. 9081 (gomp_new_icv): New prototype. 9082 (struct gomp_thread): Add thread_pool and task fields. 9083 (struct gomp_thread_pool): New type. 9084 (gomp_new_team): New prototype. 9085 (gomp_team_start): Change type of last argument. 9086 (gomp_new_work_share): Removed. 9087 (gomp_init_work_share, gomp_fini_work_share): New prototypes. 9088 (gomp_work_share_init_done): New static inline. 9089 (gomp_throttled_spin_count_var, gomp_available_cpus, 9090 gomp_managed_threads): New extern decls. 9091 (gomp_init_task): New prototype. 9092 (gomp_spin_count_var): New extern var decl. 9093 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility 9094 or no alias support, or if not PIC. 9095 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30, 9096 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30, 9097 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30, 9098 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25, 9099 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25, 9100 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25, 9101 gomp_set_nest_lock_25, gomp_unset_nest_lock_25, 9102 gomp_test_nest_lock_25): New prototypes. 9103 (omp_lock_symver, strong_alias): Define. 9104 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New 9105 decls. 9106 (gomp_end_task): New. 9107 (struct gomp_task_icv, gomp_global_icv): New. 9108 (gomp_thread_limit_var, gomp_max_active_levels_var): New. 9109 (struct gomp_task): New. 9110 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var, 9111 gomp_run_sched_var, gomp_run_sched_chunk): Remove. 9112 (gomp_icv): New. 9113 (gomp_schedule_type): Reorder enum to match 9114 omp_sched_t. 9115 * team.c (struct gomp_thread_start_data): Add thread_pool and task 9116 fields. 9117 (gomp_thread_start): Add gomp_team_barrier_wait call. 9118 For non-nested case remove clearing of docked thread thr fields. 9119 Use pool fields instead of global gomp_* variables. Use 9120 gomp_barrier_wait_last when needed. Initialize ts.active_level. 9121 Create tasks for each member thread. 9122 (free_team): Only destroy team barrier, task_lock here and free it. 9123 (gomp_free_thread): Free last_team if non-NULL. 9124 (gomp_team_end): Call gomp_team_barrier_wait instead of 9125 gomp_barrier_wait. For nested case call one extra 9126 gomp_barrier_wait. Move here some destruction from free_team. 9127 Call free_team on pool->last_team if any, rather than freeing 9128 current team. Destroy work_share_list_free_lock ifndef 9129 HAVE_SYNC_BUILTINS. 9130 (gomp_new_icv): New function. 9131 (gomp_threads, gomp_threads_size, gomp_threads_used, 9132 gomp_threads_dock): Removed. 9133 (gomp_thread_destructor): New variable. 9134 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New 9135 functions. 9136 (gomp_team_start): Create new pool if current thread doesn't have 9137 one. Use pool fields instead of global gomp_* variables. 9138 Initialize thread_pool field for new threads. Clear single_count. 9139 Change last argument from ws to team, don't create 9140 new team, set ts.work_share to &team->work_shares[0] and clear 9141 ts.last_work_share. Don't clear ts.work_share_generation. 9142 If number of threads changed, adjust atomically gomp_managed_threads. 9143 Use gomp_init_task instead of gomp_new_task, 9144 set thr->task to the corresponding implicit_task array entry. 9145 Create tasks for each member thread. Initialize ts.level. 9146 (initialize_team): Call pthread_key_create on 9147 gomp_thread_destructor. 9148 (team_destructor): New function. 9149 (new_team): Removed. 9150 (gomp_new_team): New function. 9151 (free_team): Free gomp_work_share blocks chained through next_alloc, 9152 instead of freeing work_shares and destroying work_share_lock. 9153 (gomp_team_end): Call gomp_fini_work_share. If number of threads 9154 changed, adjust atomically gomp_managed_threads. Use gomp_end_task. 9155 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead 9156 of gomp_barrier_wait. 9157 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait 9158 instead of gomp_barrier_wait. Call gomp_work_share_init_done 9159 if gomp_work_share_start returned true. Don't unlock ws->lock. 9160 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead 9161 of gomp_barrier_wait. 9162 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call 9163 gomp_work_share_init_done if gomp_work_share_start returned true. 9164 Don't unlock ws->lock. 9165 * work.c: Include stddef.h. 9166 (free_work_share): Use work_share_list_free_lock instead 9167 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument. 9168 Call gomp_fini_work_share and then either free ws if orphaned, or 9169 put it into work_share_list_free list of the current team. 9170 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New 9171 functions. 9172 (gomp_work_share_start, gomp_work_share_end, 9173 gomp_work_share_end_nowait): Rewritten. 9174 * omp_lib.f90.in Change some tabs to spaces to prevent warnings. 9175 (openmp_version): Set to 200805. 9176 (omp_sched_kind, omp_sched_static, omp_sched_dynamic, 9177 omp_sched_guided, omp_sched_auto): New parameters. 9178 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit, 9179 omp_set_max_active_levels, omp_get_max_active_levels, 9180 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size, 9181 omp_get_active_level): New interfaces. 9182 * omp_lib.h.in (openmp_version): Set to 200805. 9183 (omp_sched_kind, omp_sched_static, omp_sched_dynamic, 9184 omp_sched_guided, omp_sched_auto): New parameters. 9185 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit, 9186 omp_set_max_active_levels, omp_get_max_active_levels, 9187 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size, 9188 omp_get_active_level): New externals. 9189 * loop.c: Include limits.h. 9190 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle 9191 GFS_AUTO. 9192 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start): 9193 Likewise. Use gomp_icv. 9194 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear 9195 ts.static_trip here. 9196 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call 9197 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock. 9198 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call 9199 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS, 9200 don't unlock ws->lock, otherwise lock it. 9201 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call 9202 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock. 9203 (gomp_parallel_loop_start): Call gomp_new_team instead of 9204 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0]. 9205 Adjust gomp_team_start caller. Pass 0 as second argument to 9206 gomp_resolve_num_threads. 9207 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr. 9208 If adding ws->chunk_size nthreads + 1 times after end won't 9209 overflow, set ws->mode to 1. 9210 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start, 9211 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start, 9212 GOMP_loop_ull_ordered_static_start, 9213 GOMP_loop_ull_ordered_dynamic_start, 9214 GOMP_loop_ull_ordered_guided_start, 9215 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next, 9216 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next, 9217 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next, 9218 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next, 9219 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New 9220 prototypes. 9221 * libgomp.map: Export lock routines also @@OMP_2.0. 9222 (GOMP_loop_ordered_dynamic_first, 9223 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first, 9224 GOMP_loop_ordered_static_first): Remove. 9225 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start, 9226 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start, 9227 GOMP_loop_ull_ordered_dynamic_next, 9228 GOMP_loop_ull_ordered_dynamic_start, 9229 GOMP_loop_ull_ordered_guided_next, 9230 GOMP_loop_ull_ordered_guided_start, 9231 GOMP_loop_ull_ordered_runtime_next, 9232 GOMP_loop_ull_ordered_runtime_start, 9233 GOMP_loop_ull_ordered_static_next, 9234 GOMP_loop_ull_ordered_static_start, 9235 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start, 9236 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start, 9237 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0. 9238 (omp_set_schedule, omp_get_schedule, 9239 omp_get_thread_limit, omp_set_max_active_levels, 9240 omp_get_max_active_levels, omp_get_level, 9241 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level, 9242 omp_set_schedule_, omp_set_schedule_8_, 9243 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_, 9244 omp_set_max_active_levels_, omp_set_max_active_levels_8_, 9245 omp_get_max_active_levels_, omp_get_level_, 9246 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_, 9247 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_): 9248 New exports @@OMP_3.0. 9249 * omp.h.in (omp_sched_t): New type. 9250 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit, 9251 omp_set_max_active_levels, omp_get_max_active_levels, 9252 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size, 9253 omp_get_active_level): New prototypes. 9254 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var, 9255 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var, 9256 gomp_thread_limit_var, gomp_remaining_threads_count, 9257 gomp_remaining_threads_lock): New variables. 9258 (parse_spincount): New function. 9259 (initialize_env): Call gomp_init_num_threads unconditionally. 9260 Initialize gomp_available_cpus. Call parse_spincount, 9261 initialize gomp_{,throttled_}spin_count_var 9262 depending on presence and value of OMP_WAIT_POLICY and 9263 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var. 9264 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS, 9265 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification 9266 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and 9267 gomp_remaining_threads_lock if needed. Use gomp_global_icv. 9268 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var, 9269 gomp_run_sched_var, gomp_run_sched_chunk): Remove. 9270 (gomp_global_icv): New. 9271 (parse_schedule): Use it. Parse "auto". 9272 (omp_set_num_threads): Use gomp_icv. 9273 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested): 9274 Likewise. 9275 (omp_get_max_threads): Move from parallel.c. 9276 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit, 9277 omp_set_max_active_levels, omp_get_max_active_levels): New functions, 9278 add ialias. 9279 (parse_stacksize, parse_wait_policy): New functions. 9280 * fortran.c: Rewrite lock wrappers, if symbol versioning provide 9281 both wrappers for compatibility and new locks. 9282 (omp_set_schedule, omp_get_schedule, 9283 omp_get_thread_limit, omp_set_max_active_levels, 9284 omp_get_max_active_levels, omp_get_level, 9285 omp_get_ancestor_thread_num, omp_get_team_size, 9286 omp_get_active_level): New ialias_redirect. 9287 (omp_set_schedule_, omp_set_schedule_8_, 9288 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_, 9289 omp_set_max_active_levels_, omp_set_max_active_levels_8_, 9290 omp_get_max_active_levels_, omp_get_level_, 9291 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_, 9292 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_): 9293 New functions. 9294 * parallel.c: Include limits.h. 9295 (gomp_resolve_num_threads): Add count argument. Rewritten. 9296 (GOMP_parallel_start): Call gomp_new_team and pass that as last 9297 argument to gomp_team_start. Pass 0 as second argument to 9298 gomp_resolve_num_threads. 9299 (GOMP_parallel_end): Decrease gomp_remaining_threads_count 9300 if gomp_thread_limit_var != ULONG_MAX. 9301 (omp_in_parallel): Implement using ts.active_level. 9302 (omp_get_max_threads): Move to env.c. 9303 (omp_get_level, omp_get_ancestor_thread_num, 9304 omp_get_team_size, omp_get_active_level): New functions, 9305 add ialias. 9306 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done 9307 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call 9308 gomp_iter_dynamic_next instead of the _locked variant and don't take 9309 lock around it, otherwise acquire it before calling 9310 gomp_iter_dynamic_next_locked. 9311 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call 9312 gomp_iter_dynamic_next instead of the _locked variant and don't take 9313 lock around it. 9314 (GOMP_parallel_sections_start): Call gomp_new_team instead of 9315 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0]. 9316 Adjust gomp_team_start caller. Pass count as second argument to 9317 gomp_resolve_num_threads, don't adjust num_threads after the call. 9318 Use gomp_icv. 9319 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply 9320 ws->chunk_size by incr. 9321 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient 9322 code. 9323 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New 9324 types. 9325 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros. 9326 (omp_check_defines): Check even the compat defines. 9327 * config/linux/ptrlock.c: New file. 9328 * config/linux/ptrlock.h: New file. 9329 * config/linux/wait.h: New file. 9330 * config/posix/ptrlock.c: New file. 9331 * config/posix/ptrlock.h: New file. 9332 * config/linux/bar.h (gomp_team_barrier_wait, 9333 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes. 9334 (gomp_team_barrier_set_task_pending, 9335 gomp_team_barrier_clear_task_pending, 9336 gomp_team_barrier_set_waiting_for_tasks, 9337 gomp_team_barrier_waiting_for_tasks, 9338 gomp_team_barrier_done): New inlines. 9339 (gomp_barrier_t): Rewritten. 9340 (gomp_barrier_state_t): New typedef. 9341 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy, 9342 gomp_barrier_wait_start): Rewritten. 9343 (gomp_barrier_wait_end): Change second argument to 9344 gomp_barrier_state_t. 9345 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static 9346 inlines. 9347 * config/linux/bar.c: Include wait.h instead of libgomp.h and 9348 futex.h. 9349 (gomp_barrier_wait_end): Rewritten. 9350 (gomp_team_barrier_wait, gomp_team_barrier_wait_end, 9351 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions. 9352 * config/posix/bar.h (gomp_barrier_t): Add generation field. 9353 (gomp_barrier_state_t): New typedef. 9354 (gomp_team_barrier_wait, 9355 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes. 9356 (gomp_barrier_wait_start): Or all but low 2 bits from generation 9357 into the return value. Return gomp_barrier_state_t. 9358 (gomp_team_barrier_set_task_pending, 9359 gomp_team_barrier_clear_task_pending, 9360 gomp_team_barrier_set_waiting_for_tasks, 9361 gomp_team_barrier_waiting_for_tasks, 9362 gomp_team_barrier_done): New inlines. 9363 (gomp_barrier_wait_end): Change second argument to 9364 gomp_barrier_state_t. 9365 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static 9366 inlines. 9367 * config/posix/bar.c (gomp_barrier_init): Clear generation field. 9368 (gomp_barrier_wait_end): Change second argument to 9369 gomp_barrier_state_t. 9370 (gomp_team_barrier_wait, gomp_team_barrier_wait_end, 9371 gomp_team_barrier_wake): New functions. 9372 * config/linux/mutex.c: Include wait.h instead of libgomp.h and 9373 futex.h. 9374 (gomp_futex_wake, gomp_futex_wait): New variables. 9375 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait. 9376 * config/linux/lock.c: Rewrite to make locks task owned, 9377 for backwards compatibility provide the old entrypoints 9378 if symbol versioning. Include wait.h instead of libgomp.h and 9379 futex.h. 9380 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait. 9381 * config/posix95/lock.c: Rewrite to make locks task owned, 9382 for backwards compatibility provide the old entrypoints 9383 if symbol versioning. 9384 * config/posix/lock.c: Rewrite to make locks task owned, 9385 for backwards compatibility provide the old entrypoints 9386 if symbol versioning. 9387 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv. 9388 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv. 9389 * config/posix/proc.c, config/mingw32/proc.c: Similarly. 9390 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove. 9391 (sys_futex0): Return error code. 9392 (futex_wake, futex_wait): If ENOSYS was returned, clear 9393 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry. 9394 (cpu_relax, atomic_write_barrier): New static inlines. 9395 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove. 9396 (futex_wake, futex_wait): If ENOSYS was returned, clear 9397 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry. 9398 (cpu_relax, atomic_write_barrier): New static inlines. 9399 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove. 9400 (sys_futex0): Return error code. 9401 (futex_wake, futex_wait): If ENOSYS was returned, clear 9402 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry. 9403 (cpu_relax, atomic_write_barrier): New static inlines. 9404 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove. 9405 (sys_futex0): Return error code. 9406 (futex_wake, futex_wait): If ENOSYS was returned, clear 9407 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry. 9408 (cpu_relax, atomic_write_barrier): New static inlines. 9409 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove. 9410 (sys_futex0): Return error code. 9411 (futex_wake, futex_wait): If ENOSYS was returned, clear 9412 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry. 9413 (cpu_relax, atomic_write_barrier): New static inlines. 9414 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove. 9415 (sys_futex0): Return error code. 9416 (futex_wake, futex_wait): If ENOSYS was returned, clear 9417 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry. 9418 (cpu_relax, atomic_write_barrier): New static inlines. 9419 * config/linux/sem.c: Include wait.h instead of libgomp.h and 9420 futex.h. 9421 (gomp_sem_wait_slow): Call do_wait instead of futex_wait. 9422 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS. 9423 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New 9424 types. 9425 (omp_nest_lock_t): Change owner into void *, add lock field. 9426 * config/posix95/omp-lock.h: Include semaphore.h. 9427 (omp_lock_25_t, omp_nest_lock_25_t): New types. 9428 (omp_lock_t): Use sem_t instead of mutex if semaphores 9429 aren't broken. 9430 (omp_nest_lock_t): Likewise. Change owner to void *. 9431 * config/posix/omp-lock.h: Include semaphore.h. 9432 (omp_lock_25_t, omp_nest_lock_25_t): New types. 9433 (omp_lock_t): Use sem_t instead of mutex if semaphores 9434 aren't broken. 9435 (omp_nest_lock_t): Likewise. Add owner field. 9436 94372008-06-06 Jakub Jelinek <jakub@redhat.com> 9438 9439 * testsuite/libgomp.c/collapse-1.c: New test. 9440 * testsuite/libgomp.c/collapse-2.c: New test. 9441 * testsuite/libgomp.c/collapse-3.c: New test. 9442 * testsuite/libgomp.c/icv-1.c: New test. 9443 * testsuite/libgomp.c/icv-2.c: New test. 9444 * testsuite/libgomp.c/lib-2.c: New test. 9445 * testsuite/libgomp.c/lock-1.c: New test. 9446 * testsuite/libgomp.c/lock-2.c: New test. 9447 * testsuite/libgomp.c/lock-3.c: New test. 9448 * testsuite/libgomp.c/loop-4.c: New test. 9449 * testsuite/libgomp.c/loop-5.c: New test. 9450 * testsuite/libgomp.c/loop-6.c: New test. 9451 * testsuite/libgomp.c/loop-7.c: New test. 9452 * testsuite/libgomp.c/loop-8.c: New test. 9453 * testsuite/libgomp.c/loop-9.c: New test. 9454 * testsuite/libgomp.c/nested-3.c: New test. 9455 * testsuite/libgomp.c/nestedfn-6.c: New test. 9456 * testsuite/libgomp.c/sort-1.c: New test. 9457 * testsuite/libgomp.c/task-1.c: New test. 9458 * testsuite/libgomp.c/task-2.c: New test. 9459 * testsuite/libgomp.c/task-3.c: New test. 9460 * testsuite/libgomp.c/task-4.c: New test. 9461 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes 9462 to C++ testsuite default compiler options. 9463 * testsuite/libgomp.c++/collapse-1.C: New test. 9464 * testsuite/libgomp.c++/collapse-2.C: New test. 9465 * testsuite/libgomp.c++/ctor-10.C: New test. 9466 * testsuite/libgomp.c++/for-1.C: New test. 9467 * testsuite/libgomp.c++/for-2.C: New test. 9468 * testsuite/libgomp.c++/for-3.C: New test. 9469 * testsuite/libgomp.c++/for-4.C: New test. 9470 * testsuite/libgomp.c++/for-5.C: New test. 9471 * testsuite/libgomp.c++/loop-8.C: New test. 9472 * testsuite/libgomp.c++/loop-9.C: New test. 9473 * testsuite/libgomp.c++/loop-10.C: New test. 9474 * testsuite/libgomp.c++/task-1.C: New test. 9475 * testsuite/libgomp.c++/task-2.C: New test. 9476 * testsuite/libgomp.c++/task-3.C: New test. 9477 * testsuite/libgomp.c++/task-4.C: New test. 9478 * testsuite/libgomp.c++/task-5.C: New test. 9479 * testsuite/libgomp.c++/task-6.C: New test. 9480 * testsuite/libgomp.fortran/allocatable1.f90: New test. 9481 * testsuite/libgomp.fortran/allocatable2.f90: New test. 9482 * testsuite/libgomp.fortran/allocatable3.f90: New test. 9483 * testsuite/libgomp.fortran/allocatable4.f90: New test. 9484 * testsuite/libgomp.fortran/collapse1.f90: New test. 9485 * testsuite/libgomp.fortran/collapse2.f90: New test. 9486 * testsuite/libgomp.fortran/collapse3.f90: New test. 9487 * testsuite/libgomp.fortran/collapse4.f90: New test. 9488 * testsuite/libgomp.fortran/lastprivate1.f90: New test. 9489 * testsuite/libgomp.fortran/lastprivate2.f90: New test. 9490 * testsuite/libgomp.fortran/lib4.f90: New test. 9491 * testsuite/libgomp.fortran/lock-1.f90: New test. 9492 * testsuite/libgomp.fortran/lock-2.f90: New test. 9493 * testsuite/libgomp.fortran/nested1.f90: New test. 9494 * testsuite/libgomp.fortran/nestedfn4.f90: New test. 9495 * testsuite/libgomp.fortran/strassen.f90: New test. 9496 * testsuite/libgomp.fortran/tabs1.f90: New test. 9497 * testsuite/libgomp.fortran/tabs2.f: New test. 9498 * testsuite/libgomp.fortran/task1.f90: New test. 9499 * testsuite/libgomp.fortran/task2.f90: New test. 9500 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning. 9501 * testsuite/libgomp.fortran/vla5.f90: Likewise. 9502 * testsuite/libgomp.c/pr26943-2.c: Likewise. 9503 * testsuite/libgomp.c/pr26943-3.c: Likewise. 9504 * testsuite/libgomp.c/pr26943-4.c: Likewise. 9505 95062008-05-23 Jakub Jelinek <jakub@redhat.com> 9507 9508 PR c++/36308 9509 * testsuite/libgomp.c++/ctor-11.C: New test. 9510 * testsuite/libgomp.c++/ctor-12.C: New test. 9511 95122008-05-15 Janis Johnson <janis187@us.ibm.com> 9513 9514 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib. 9515 95162008-05-07 Jakub Jelinek <jakub@redhat.com> 9517 9518 PR middle-end/36106 9519 * testsuite/libgomp.c/atomic-5.c: New test. 9520 * testsuite/libgomp.c/atomic-6.c: New test. 9521 * testsuite/libgomp.c/autopar-1.c: New test. 9522 95232008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 9524 9525 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS) 9526 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY) 9527 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT) 9528 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names. 9529 * configure: Regenerate. 9530 * Makefile.in, testsuite/Makefile.in: Likewise. 9531 95322008-04-18 Paolo Bonzini <bonzini@gnu.org> 9533 9534 PR bootstrap/35457 9535 * aclocal.m4: Regenerate. 9536 * configure: Regenerate. 9537 95382008-03-18 Jakub Jelinek <jakub@redhat.com> 9539 9540 PR middle-end/35611 9541 * testsuite/libgomp.c/atomic-4.c: New test. 9542 9543 PR libgomp/35625 9544 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end. 9545 (gomp_iter_guided_next): Likewise. 9546 * testsuite/libgomp.c/pr35625.c: New test. 9547 95482008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 9549 9550 * aclocal.m4: Regenerate. 9551 * configure: Likewise. 9552 * Makefile.in: Likewise. 9553 * testsuite/Makefile.in: Likewise. 9554 95552008-03-13 Jakub Jelinek <jakub@redhat.com> 9556 9557 PR middle-end/35185 9558 * testsuite/libgomp.c++/pr35185.C: New test. 9559 95602008-03-12 Jakub Jelinek <jakub@redhat.com> 9561 9562 PR middle-end/35549 9563 * testsuite/libgomp.c/pr35549.c: New test. 9564 95652008-03-06 Jakub Jelinek <jakub@redhat.com> 9566 9567 * testsuite/libgomp.c/atomic-3.c: New test. 9568 95692008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 9570 9571 PR fortran/33197 9572 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and 9573 .F08 file suffixes. 9574 95752008-03-03 Peter O'Gorman <pogma@thewrittenword.com> 9576 9577 PR libgomp/33131 9578 * configure.ac: Add ACX_HEADER_STRING. 9579 * env.c: Include strings.h. 9580 * aclocal.m4: Regenerate. 9581 * config.h.in: Regenerate. 9582 * configure: Regenerate. 9583 * Makefile.in: Regenerate. 9584 * testsuite/Makefile.in: Regenerate. 9585 95862008-02-15 Jakub Jelinek <jakub@redhat.com> 9587 9588 PR middle-end/35196 9589 * testsuite/libgomp.c/pr35196.c: New test. 9590 9591 PR middle-end/35130 9592 * testsuite/libgomp.fortran/pr35130.f90: New test. 9593 * testsuite/libgomp.c/pr35130.c: New test. 9594 95952008-01-25 Jakub Jelinek <jakub@redhat.com> 9596 9597 PR middle-end/33880 9598 * testsuite/libgomp.c/pr33880.c: New test. 9599 * testsuite/libgomp.fortran/pr33880.f90: New test. 9600 96012008-01-24 David Edelsohn <edelsohn@gnu.org> 9602 9603 * configure: Regenerate. 9604 96052008-01-08 Jakub Jelinek <jakub@redhat.com> 9606 9607 * configure.ac: Move futex checking into ../config/futex.m4. 9608 * configure: Rebuilt. 9609 * aclocal.m4: Rebuilt. 9610 * Makefile.in: Rebuilt. 9611 9612 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match 9613 2007-10-15 ../config/tls.m4 change. 9614 96152007-12-19 Jakub Jelinek <jakub@redhat.com> 9616 9617 PR c++/34513 9618 * testsuite/libgomp.c/pr34513.c: New test. 9619 * testsuite/libgomp.c++/pr34513.C: New test. 9620 96212007-12-17 Jack Howarth <howarth@bromo.med.uc.edu> 9622 9623 PR target/32765 9624 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin. 9625 96262007-12-04 Jakub Jelinek <jakub@redhat.com> 9627 9628 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes. 9629 96302007-12-03 Jakub Jelinek <jakub@redhat.com> 9631 9632 * testsuite/libgomp.c/private-1.c: New test. 9633 96342007-11-29 Andris Pavenis <andris.pavenis@iki.fi> 9635 Paolo Bonzini <bonzini@gnu.org> 9636 9637 * Makefile.am: Use space as vpath separator. Use 'vpath %' 9638 instead of 'VPATH ='. 9639 * Makefile.in: Regenerate. 9640 96412007-11-23 Matthias Klose <doko@ubuntu.com> 9642 9643 * configure.ac: Adjust makeinfo version check. 9644 * configure: Regenerate. 9645 96462007-11-10 Jakub Jelinek <jakub@redhat.com> 9647 9648 PR fortran/34020 9649 * testsuite/libgomp.fortran/pr34020.f90: New test. 9650 96512007-11-06 Jakub Jelinek <jakub@redhat.com> 9652 9653 PR c++/33894 9654 * testsuite/libgomp.c++/atomic-1.C: New test. 9655 96562007-10-25 Jakub Jelinek <jakub@redhat.com> 9657 9658 PR libgomp/33275 9659 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate): 9660 Make x and y integers rather than (implicit) reals. Add private (j) 9661 clause to the last omp parallel. 9662 96632007-10-15 Maciej W. Rozycki <macro@linux-mips.org> 9664 9665 * configure: Regenerate following changes to ../config/tls.m4. 9666 96672007-09-28 Jakub Jelinek <jakub@redhat.com> 9668 9669 * testsuite/libgomp.fortran/stack.f90: New test. 9670 96712007-09-10 Danny Smith <dannysmith@users.sourceforge.net> 9672 9673 * config/mingw32/proc.c: New file. 9674 96752007-09-05 Uros Bizjak <ubizjak@gmail.com> 9676 9677 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets. 9678 (main): Use __get_cpuid to get i386 target fetaures. 9679 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets. 9680 (main): Use __get_cpuid to get x86_64 target fetaures. 9681 96822007-08-15 Jack Howarth <howarth@bromo.med.uc.edu> 9683 9684 PR target/32765 9685 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin. 9686 * testsuite/libgomp.fortran/crayptr2.f90: Likwise. 9687 96882007-07-12 Jakub Jelinek <jakub@redhat.com> 9689 9690 PR fortran/32550 9691 * testsuite/libgomp.fortran/pr32550.f90: New test. 9692 * testsuite/libgomp.fortran/crayptr2.f90: New test. 9693 96942007-07-05 H.J. Lu <hongjiu.lu@intel.com> 9695 9696 * aclocal.m4: Regenerated. 9697 96982007-07-05 Tobias Burnus <burnus@net-b.de> 9699 9700 PR fortran/32359 9701 * testsuite/libgomp.fortran/pr32359.f90: New. 9702 97032007-07-02 Jakub Jelinek <jakub@redhat.com> 9704 9705 PR libgomp/32468 9706 * sections.c (GOMP_parallel_sections_start): Only decrease 9707 number of threads to COUNT if dyn_var is true. 9708 * testsuite/libgomp.c/pr32468.c: New test. 9709 97102007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 9711 9712 PR libgomp/26308 9713 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX. 9714 97152007-06-21 Jakub Jelinek <jakub@redhat.com> 9716 9717 PR middle-end/32362 9718 * testsuite/libgomp.c/pr32362-1.c: New test. 9719 * testsuite/libgomp.c/pr32362-2.c: New test. 9720 * testsuite/libgomp.c/pr32362-3.c: New test. 9721 97222007-06-07 Jakub Jelinek <jakub@redhat.com> 9723 9724 * team.c (gomp_team_start): Fix setting up thread_attr 9725 stack size. 9726 97272007-06-02 Paolo Bonzini <bonzini@gnu.org> 9728 9729 * configure: Regenerate. 9730 97312007-05-23 Steve Ellcey <sje@cup.hp.com> 9732 9733 * Makefile.in: Regenerate. 9734 * configure: Regenerate. 9735 * aclocal.m4: Regenerate. 9736 * testsuite/Makefile.in: Regenerate. 9737 97382007-05-04 Jakub Jelinek <jakub@redhat.com> 9739 9740 * config/linux/proc.c: New file. 9741 9742 PR libgomp/28482 9743 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux. 9744 97452007-04-19 Daniel Franke <franke.daniel@gmail.com> 9746 9747 * libgomp.texi (GOMP_CPU_AFFINITY): Updated. 9748 97492007-04-16 Matthias Klose <doko@debian.org> 9750 9751 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific 9752 flags if not building with -m64. 9753 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march 9754 flag for i?86-*-* targets, if current target matches -m64. 9755 97562007-04-14 Steve Ellcey <sje@cup.hp.com> 9757 9758 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS. 9759 * Makefile.in: Regenerate. 9760 97612007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 9762 9763 PR testsuite/31369 9764 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting 9765 ld_library_path. 9766 * testsuite/libgomp.fortran/fortran.exp: Likewise. 9767 97682007-04-04 Jakub Jelinek <jakub@redhat.com> 9769 9770 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern 9771 decls. 9772 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes. 9773 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables. 9774 (parse_affinity): New function. 9775 (initialize_env): Call it and gomp_init_affinity. 9776 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL, 9777 create new pthread_attr_t and call gomp_init_thread_affinity 9778 on it for each thread before passing the attribute to pthread_create. 9779 * config/linux/affinity.c: New file. 9780 * config/posix/affinity.c: New file. 9781 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test. 9782 * configure: Rebuilt. 9783 * config.h.in: Rebuilt. 9784 * Makefile.am (libgomp_la_SOURCES): Add affinity.c. 9785 * Makefile.in: Rebuilt. 9786 97872007-03-23 Andreas Tobler <a.tobler@schweiz.org> 9788 9789 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for 9790 *-*-darwin*. 9791 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library 9792 and use it if found. 9793 97942007-03-18 Uros Bizjak <ubizjak@gmail.com> 9795 9796 * testsuite/config/default.exp: New file. 9797 * testsuite/lib/libgomp.exp: New file. 9798 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init, 9799 libgomp_target_compile, libgomp_option_help, libgomp_option_proc, 9800 load_lib *, load_gcc_lib *): Move to libgomp.exp. 9801 (libgomp_load): Remove. 9802 * testsuite/lib/libgomp.exp (libgomp_init): Compute 9803 always_ld_library_path, not ld_library_path. Set additional_flags 9804 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets. 9805 (target_compile): Do not call libgomp_init. Append lang_library_path 9806 and lang_link_flags to options. 9807 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set 9808 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH 9809 here. 9810 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from 9811 always_ld_library_path. Set LD_LIBRARY_PATH here. 9812 * testsuite/libgomp.fortran/fortran.exp: Ditto. 9813 * testsuite/libgomp.c/atomic-1.c: Set dg-options to 9814 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for 9815 CX8 flag. 9816 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for 9817 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3. 9818 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options. 9819 * testsuite/libgomp.c/pr29947-1.c: Ditto. 9820 * testsuite/libgomp.c/atomic-10.c: Ditto. 9821 98222007-03-21 Jakub Jelinek <jakub@redhat.com> 9823 9824 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add 9825 dg-final cleanup-modules line. 9826 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise. 9827 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise. 9828 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise. 9829 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise. 9830 * testsuite/libgomp.fortran/reduction5.f90: Likewise. 9831 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise. 9832 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. 9833 98342007-03-18 Andreas Schwab <schwab@suse.de> 9835 9836 * acinclude.m4: Adjust regular expression for ld version 9837 extraction. 9838 * configure: Regenerate. 9839 98402007-03-01 Brooks Moses <brooks.moses@codesourcery.com> 9841 9842 * Makefile.am: Add install-pdf target as copied from 9843 automake v1.10 rules. 9844 * Makefile.in: Regenerate 9845 98462007-02-07 Jakub Jelinek <jakub@redhat.com> 9847 9848 PR libgomp/28486 9849 * configure: Regenerate. 9850 9851 PR c++/30703 9852 * testsuite/libgomp.c++/pr30703.C: New test. 9853 98542007-02-02 Jakub Jelinek <jakub@redhat.com> 9855 9856 Revert: 9857 2006-07-05 Eric Christopher <echristo@apple.com> 9858 * configure.ac: Depend addition of -pthread on host OS. 9859 * configure: Regenerate. 9860 98612007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 9862 9863 * libgomp.texi: Fix spacing after abbreviations. 9864 98652007-01-31 Daniel Franke <franke.daniel@gmail.com> 9866 9867 PR libgomp/30546 9868 * configure.ac: Add check for makeinfo 9869 * Makefile.am: Redefined target libgomp.info, build libgomp.info only 9870 if an appropiate version of makeinfo is found. 9871 * aclocal.m4: Regenerated. 9872 * configure: Regenerated. 9873 * Makefile.in: Regenerated. 9874 * testsuite/Makefile.in: Regenerated. 9875 98762007-01-29 Daniel Franke <franke.daniel@gmail.com> 9877 9878 PR libgomp/30540 9879 * libgomp.texi: More about implementation-dependent settings. 9880 98812007-01-26 Tobias Burnus <burnus@net-b.de> 9882 9883 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension. 9884 98852007-01-24 Jakub Jelinek <jakub@redhat.com> 9886 9887 PR middle-end/30494 9888 * testsuite/libgomp.c/pr30494.c: New test. 9889 98902007-01-15 Tom Tromey <tromey@redhat.com> 9891 9892 * configure: Rebuilt. 9893 * configure.ac: Fixed comment. 9894 98952007-01-14 Daniel Franke <franke.daniel@gmail.com> 9896 9897 * libgomp.texi: Document implementation specific default values of 9898 environment variables. 9899 99002006-12-21 Daniel Franke <franke.daniel@gmail.com> 9901 9902 PR libgomp/28209 9903 * libgomp.texi: New file. 9904 * configure.ac: Add --enable-generated-files-in-srcdir option. 9905 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy 9906 files to srcdir. 9907 * Makefile.in: Regenerated. 9908 * config.h.in: Regenerated. 9909 * testsuite/Makefile.in: Regenerated. 9910 * NOTES: Removed. 9911 99122006-12-04 Daniel Franke <franke.daniel@gmail.com> 9913 9914 PR libgomp/29949 9915 * env.c (omp_set_num_threads): Set illegal thread count to 1. 9916 99172006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr> 9918 9919 * configure: Regenerate. 9920 99212006-12-04 Jakub Jelinek <jakub@redhat.com> 9922 9923 PR libgomp/29947 9924 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to 9925 start if there shouldn't be any loop iterations. 9926 (gomp_loop_ordered_static_start): Remove start == end test. 9927 * testsuite/libgomp.c/pr29947-1.c: New test. 9928 * testsuite/libgomp.c/pr29947-2.c: New test. 9929 99302006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr> 9931 9932 * configure.tgt: Force initial-exec TLS model on Linux only. 9933 99342006-11-13 Daniel Jacobowitz <dan@codesourcery.com> 9935 9936 * configure: Regenerated. 9937 99382006-11-09 Uros Bizjak <ubizjak@gmail.com> 9939 9940 * env.c (parse_schedule): Reject out of range values. 9941 (parse_unsigned_long): Reject out of range, negative or zero values. 9942 99432006-10-29 Jakub Jelinek <jakub@redhat.com> 9944 9945 PR fortran/29629 9946 * testsuite/libgomp.fortran/pr29629.f90: New test. 9947 99482006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr> 9949 9950 PR libgomp/29494 9951 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6. 9952 * config/posix95: New directory. 9953 * config/posix95/omp-lock.h: New file. 9954 * config/posix95/lock.c: Likewise. 9955 99562006-10-14 Geoffrey Keating <geoffk@apple.com> 9957 9958 * aclocal.m4: Regenerate. 9959 * configure: Regenerate. 9960 99612006-10-05 Danny Smith <dannysmith@users.sourceforge.net> 9962 9963 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from 9964 '<' to '<='. 9965 99662006-10-05 Danny Smith <dannysmith@users.sourceforge.net> 9967 9968 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from 9969 test. 9970 * configure: Regenerate. 9971 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias. 9972 99732006-09-26 Jakub Jelinek <jakub@redhat.com> 9974 9975 PR middle-end/25261 9976 PR middle-end/28790 9977 * testsuite/libgomp.c/nestedfn-4.c: New test. 9978 * testsuite/libgomp.c/nestedfn-5.c: New test. 9979 * testsuite/libgomp.fortran/nestedfn3.f90: New test. 9980 9981 PR fortran/29097 9982 * testsuite/libgomp.fortran/condinc1.f: New test. 9983 * testsuite/libgomp.fortran/condinc2.f: New test. 9984 * testsuite/libgomp.fortran/condinc3.f90: New test. 9985 * testsuite/libgomp.fortran/condinc4.f90: New test. 9986 * testsuite/libgomp.fortran/condinc1.inc: New file. 9987 99882006-09-18 Tom Tromey <tromey@redhat.com> 9989 9990 * configure: Rebuilt. 9991 99922006-09-13 Joseph S. Myers <joseph@codesourcery.com> 9993 9994 PR c/28768 9995 PR preprocessor/14634 9996 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument 9997 to AC_DEFINE. 9998 * configure: Regenerate. 9999 100002006-09-08 Steven G. Kargl <kargl@gcc.gnu.org> 10001 10002 * testsuite/libgomp.fortran/reduction3.f90: Change 10003 -2147483648 to -huge(i)-1 to avoid overflow. 10004 * testsuite/libgomp.fortran/reduction4.f90: Change 10005 Z'ffffffff' to not(0) to avoid overflow. 10006 100072006-08-26 Joseph S. Myers <joseph@codesourcery.com> 10008 10009 PR libgomp/25938 10010 * Makefile.am (libsubincludedir): New. 10011 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS. 10012 * Makefile.in: Regenerate. 10013 100142006-08-17 Jakub Jelinek <jakub@redhat.com> 10015 10016 PR libgomp/28725 10017 * env.c: Include ctype.h. 10018 (parse_schedule, parse_unsigned_long, parse_boolean): Allow 10019 leading and/or trailing whitespace and compare strings case 10020 insensitively. 10021 100222006-07-16 Jakub Jelinek <jakub@redhat.com> 10023 10024 PR fortran/28390 10025 * testsuite/libgomp.fortran/pr28390.f: New test. 10026 100272006-07-05 Eric Christopher <echristo@apple.com> 10028 10029 * configure.ac: Depend addition of -pthread on host OS. 10030 * configure: Regenerate. 10031 100322006-06-21 Jakub Jelinek <jakub@redhat.com> 10033 10034 * critical.c (GOMP_critical_name_start): Fix *pptr initialization 10035 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is 10036 defined. 10037 100382006-06-20 Jakub Jelinek <jakub@redhat.com> 10039 10040 PR libgomp/26175 10041 PR libgomp/26477 10042 * configure.ac: If neither --enable-linux-futex nor 10043 --disable-linux-futex is passed, determine the default by checking 10044 for compiling and/or running against NPTL. With --enable-linux-futex, 10045 check if SYS_gettid and SYS_futex are defined. 10046 * configure: Rebuilt. 10047 100482006-06-14 Richard Henderson <rth@redhat.com> 10049 10050 PR libgomp/28008 10051 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when 10052 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment. 10053 100542006-06-09 Richard Henderson <rth@redhat.com> 10055 10056 * env.c (gomp_nthreads_var): Change to unsigned long. 10057 (gomp_run_sched_chunk): Likewise. 10058 (parse_unsigned_long): Rename from parse_num_threads and generalize. 10059 (initialize_env): Initialize gomp_thread_attr. 10060 * libgomp.h (gomp_nthreads_var): Update decl. 10061 (gomp_run_sched_chunk): Likewise. 10062 (gomp_thread_attr): Declare. 10063 * team.c (gomp_thread_attr): Export. 10064 (initialize_team): Don't initialize it. 10065 100662006-06-09 Jakub Jelinek <jakub@redhat.com> 10067 10068 PR fortran/27916 10069 * testsuite/libgomp.fortran/pr27916-1.f90: New test. 10070 * testsuite/libgomp.fortran/pr27916-2.f90: New test. 10071 100722006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr> 10073 10074 * config/mingw32/time.c: New file. 10075 * configure.tgt: Use it. 10076 100772006-05-23 Carlos O'Donell <carlos@codesourcery.com> 10078 10079 * Makefile.am: Add install-html target. Add install-html to .PHONY 10080 * Makefile.in: Regenerate. 10081 100822006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 10083 10084 PR libgomp/27612 10085 * testsuite/libgomp.c/sections-1.c: Require sync_int_long. 10086 * testsuite/libgomp.c/critical-1.c: Likewise. 10087 * testsuite/libgomp.c/loop-1.c: Likewise. 10088 * testsuite/libgomp.c/loop-2.c: Likewise. 10089 * testsuite/libgomp.c/single-1.c: Likewise. 10090 * testsuite/libgomp.c/ordered-1.c: Likewise. 10091 * testsuite/libgomp.c/ordered-2.c: Likewise. 10092 100932006-05-15 Jakub Jelinek <jakub@redhat.com> 10094 10095 PR middle-end/27416 10096 * libgomp.fortran/pr27416-1.f90: New test. 10097 100982006-05-03 Jakub Jelinek <jakub@redhat.com> 10099 10100 PR fortran/27395 10101 * testsuite/libgomp.fortran/pr27395-1.f90: New test. 10102 * testsuite/libgomp.fortran/pr27395-2.f90: New test. 10103 101042006-05-02 Jakub Jelinek <jakub@redhat.com> 10105 10106 PR c++/26943 10107 * testsuite/libgomp.c/pr26943-1.c: New test. 10108 * testsuite/libgomp.c/pr26943-2.c: New test. 10109 * testsuite/libgomp.c/pr26943-3.c: New test. 10110 * testsuite/libgomp.c/pr26943-4.c: New test. 10111 * testsuite/libgomp.c++/pr27337.C: Remove barrier. 10112 * testsuite/libgomp.c++/pr26943.C: New test. 10113 101142006-05-02 Jakub Jelinek <jakub@redhat.com> 10115 10116 PR middle-end/27337 10117 * testsuite/libgomp.c++/pr27337.C: New test. 10118 101192006-04-26 Jakub Jelinek <jakub@redhat.com> 10120 10121 PR c/26171 10122 * testsuite/libgomp.c/pr26171.c: New test. 10123 101242006-04-25 Richard Henderson <rth@redhat.com> 10125 10126 PR libgomp/25865 10127 * configure.ac: Use GCC_CHECK_TLS. 10128 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove. 10129 * Makefile.in, aclocal.m4, configure: Regenerate. 10130 101312006-04-10 Matthias Klose <doko@debian.org> 10132 10133 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib 10134 directory names containing underscores. 10135 101362006-03-21 Jakub Jelinek <jakub@redhat.com> 10137 10138 PR c++/26691 10139 * testsuite/libgomp.c++/pr26691.C: New test. 10140 101412006-03-13 Jakub Jelinek <jakub@redhat.com> 10142 10143 * testsuite/libgomp.fortran/retval2.f90: New test. 10144 101452006-03-09 Diego Novillo <dnovillo@redhat.com> 10146 10147 * testsuite/libgomp.c++: New directory. 10148 101492006-02-25 Shantonu Sen <ssen@opendarwin.org> 10150 10151 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions. 10152 * config/posix/sem.c: Implement the above. 10153 101542006-02-25 Andreas Tobler <a.tobler@schweiz.ch> 10155 10156 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and 10157 define HAVE_BROKEN_POSIX_SEMAPHORES. 10158 * configure: Rebuilt. 10159 * config.h.in: Rebuilt. 10160 101612006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr> 10162 10163 PR bootstrap/26161 10164 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment 10165 for the other pthread check. 10166 * configure: Regenerate. 10167 * config.h.in: Regenerate. 10168 101692006-02-15 Jakub Jelinek <jakub@redhat.com> 10170 10171 PR libgomp/25938 10172 PR libgomp/25984 10173 * Makefile.am (fincludedir): New variable. 10174 (nodist_include_HEADERS): Remove Fortran files. 10175 (nodist_finclude_HEADERS): New variable. 10176 * Makefile.in: Regenerated. 10177 101782006-02-13 Jakub Jelinek <jakub@redhat.com> 10179 10180 * testsuite/libgomp.fortran/vla7.f90: Add -w to options. 10181 Remove tests for returning assumed character length arrays. 10182 101832006-02-12 Roger Sayle <roger@eyesopen.com> 10184 John David Anglin <dave@hiauly1.hia.nrc.ca> 10185 10186 PR libgomp/25936 10187 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems. 10188 101892006-02-08 Ulrich Weigand <uweigand@de.ibm.com> 10190 10191 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library. 10192 101932006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr> 10194 10195 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related 10196 part of LD_LIBRARY_PATH manually. 10197 101982006-02-03 H.J. Lu <hongjiu.lu@intel.com> 10199 10200 PR libgomp/25852 10201 * testsuite/lib/libgomp-dg.exp (blddir): Set it in 10202 libgomp_init. 10203 102042005-01-25 Paolo Bonzini <bonzini@gnu.org> 10205 10206 PR libgomp/25884 10207 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove. 10208 * configure.ac (PERL): Don't set. 10209 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here. 10210 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE, 10211 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions. 10212 * omp.h.in: Wrap the new configure substitutions with @ characters. 10213 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise. 10214 * aclocal.m4, configure, Makefile.in: Regenerate. 10215 * mkomp_h.pl: Delete. 10216 102172005-01-24 Paolo Bonzini <bonzini@gnu.org> 10218 10219 PR libgomp/25259 10220 * configure.ac: Use GCC_HEADER_STDINT. 10221 * libgomp.h: Include gstdint.h. 10222 * libgomp_f.h.in: Don't include stdint.h or inttypes.h. 10223 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild. 10224 102252006-01-24 Richard Henderson <rth@redhat.com> 10226 10227 PR libgomp/25942 10228 * configure.ac: Add AM_MAINTAINER_MODE. 10229 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild. 10230 102312006-01-24 Diego Novillo <dnovillo@redhat.com> 10232 10233 * Makefile.in: Regenerate. 10234 * testsuite/Makefile.in: Regenerate. 10235 * aclocal.m4: Regenerate. 10236 102372006-01-23 Andreas Tobler <a.tobler@schweiz.ch> 10238 10239 * config/posix/proc.c: Conditional include of sys/loadavg.h for 10240 Solaris. 10241 * configure.ac: Add check for loadavg.h. 10242 (link_gomp): Adjust comment. 10243 * configure: Regenerate. 10244 * config.h.in: Regenerate. 10245 102462006-01-21 Steve Ellcey <sje@cup.hp.com> 10247 10248 PR libgomp/25877 10249 * configure.ac: Remove check for alloca.h. 10250 * configure: Regenerate. 10251 * config.h.in: Regenerate. 10252 * libgomp.h: define gomp_alloca to be __builtin_alloca. 10253 * team.c: Remove use of alloca.h. 10254 Call gomp_alloca instead of alloca. 10255 102562006-01-20 Steve Ellcey <sje@cup.hp.com> 10257 10258 PR libgomp/25877 10259 * team.c: Add include of alloca.h. 10260 * configure.ac: Add check for alloca.h. 10261 * configure: Regenerate. 10262 * config.h.in: Regenerate. 10263 102642006-01-17 Jakub Jelinek <jakub@redhat.com> 10265 10266 PR fortran/25219 10267 * testsuite/libgomp.fortran/pr25219.f90: New test. 10268 102692005-12-05 Uros Bizjak <uros@kss-loka.si> 10270 10271 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c, 10272 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c, 10273 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C, 10274 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C, 10275 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C, 10276 testsuite/libgomp.fortran/threadprivate1.f90, 10277 testsuite/libgomp.fortran/threadprivate2.f90, 10278 testsuite/libgomp.fortran/threadprivate3.f90, 10279 testsuite/libgomp.fortran/appendix-a/a.22.7.f9, 10280 testsuite/libgomp.fortran/appendix-a/a.22.8.f9, 10281 testsuite/libgomp.fortran/omp_parse3.f90: Change required 10282 effective-target to TLS runtime. 10283 10284 * testsuite/libgomp.fortran/pr25162.f: Require 10285 effective-target TLS runtime. 10286 102872005-12-01 Jakub Jelinek <jakub@redhat.com> 10288 10289 * testsuite/libgomp.fortran/nestedfn2.f90: New test. 10290 * testsuite/libgomp.c/nestedfn-3.c: New test. 10291 102922005-11-30 Jakub Jelinek <jakub@redhat.com> 10293 10294 PR fortran/25162 10295 * testsuite/libgomp.fortran/pr25162.f: New test. 10296 102972005-11-28 Jakub Jelinek <jakub@redhat.com> 10298 10299 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to 10300 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed. 10301 103022005-11-25 Jakub Jelinek <jakub@redhat.com> 10303 10304 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c, 10305 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in, 10306 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c, 10307 single.c, team.c, work.c, config/linux/alpha/futex.h, 10308 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h, 10309 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h, 10310 config/linux/powerpc/futex.h, config/linux/s390/futex.h, 10311 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h, 10312 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h, 10313 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c, 10314 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update 10315 FSF address. 10316 103172005-11-18 Jakub Jelinek <jakub@redhat.com> 10318 10319 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS 10320 to nodist_noinst_HEADERS. 10321 * Makefile.in: Rebuilt. 10322 10323 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct, 10324 add integer count field. 10325 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for 10326 omp_nest_lock_t type change. 10327 (omp_init_nest_lock): Likewise. Initialize count to 0. 10328 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change. 10329 Increment count. 10330 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change. 10331 Decrement count. 10332 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change. 10333 Increment count if successful and return the new nesting level. 10334 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level. 10335 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type. 10336 * testsuite/libgomp.c/lib-1.c: New test. 10337 * testsuite/libgomp.fortran/lib1.f90: New test. 10338 * testsuite/libgomp.fortran/lib2.f: New test. 10339 * testsuite/libgomp.fortran/lib3.f: New test. 10340 103412005-11-17 Richard Henderson <rth@redhat.com> 10342 10343 PR 24845 10344 * Makefile.am (nodist_toolexeclib_HEADERS): New. 10345 * configure.ac (link_gomp): New. Substitute it. 10346 (AC_CONFIG_FILES): Add libgomp.spec. 10347 * libgomp.spec.in: New file. 10348 * Makefile.in, testsuite/Makefile.in, configure: Rebuild. 10349 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags. 10350 103512005-11-18 Jakub Jelinek <jakub@redhat.com> 10352 10353 * testsuite/libgomp.fortran/reduction1.f90: Adjust for 10354 reduction(-:var) behaving the same as reduction(+:var). 10355 * testsuite/libgomp.c/reduction-4.c: New test. 10356 103572005-11-15 Uros Bizjak <uros@kss-loka.si> 10358 10359 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c, 10360 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c, 10361 testsuite/libgomp.c/copyin-3.c, 10362 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C, 10363 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C, 10364 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C, 10365 testsuite/libgomp.c++/pr24455.C, 10366 testsuite/libgomp.fortran/threadprivate1.f90, 10367 testsuite/libgomp.fortran/threadprivate2.f90, 10368 testsuite/libgomp.fortran/threadprivate3.f90, 10369 testsuite/libgomp.fortran/appendix-a/a.22.7.f9, 10370 testsuite/libgomp.fortran/appendix-a/a.22.8.f9, 10371 testsuite/libgomp.fortran/omp_parse3.f90: Require 10372 effective-target TLS. 10373 103742005-11-14 Diego Novillo <dnovillo@redhat.com> 10375 10376 * HEADER: Remove. 10377 103782005-11-13 Jakub Jelinek <jakub@redhat.com> 10379 10380 PR libgomp/24797 10381 * team.c (initialize_team): Pass NULL rather than free as 10382 pthread_key_create destructor. Initialize thread specific data 10383 pointer in initial thread to a static local variable rather than 10384 malloced memory. 10385 103862005-11-11 Uros Bizjak <uros@kss-loka.si> 10387 10388 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append 10389 its location to ld_library_path. 10390 103912005-11-10 Diego Novillo <dnovillo@redhat.com> 10392 10393 * testsuite/libgomp.c/c.exp: Rename from dg.exp. 10394 103952005-11-10 Diego Novillo <dnovillo@redhat.com> 10396 10397 * testsuite/libgomp.c: Rename from libgomp.dg. 10398 103992005-11-09 Diego Novillo <dnovillo@redhat.com> 10400 10401 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for 10402 threadprivate variable 'i'. 10403 104042005-11-09 Jakub Jelinek <jakub@redhat.com> 10405 10406 * config/linux/s390/futex.h: New file. 10407 * configure.tgt: Use it. 10408 10409 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization 10410 before the parallel. 10411 104122005-11-08 Jakub Jelinek <jakub@redhat.com> 10413 10414 PR c++/24734 10415 * testsuite/libgomp.c++/master-1.C: New test. 10416 104172005-11-07 Jakub Jelinek <jakub@redhat.com> 10418 10419 * testsuite/libgomp.dg/copyin-3.c: New test. 10420 104212005-11-07 Jakub Jelinek <jakub@redhat.com> 10422 10423 * testsuite/libgomp.fortran/retval1.f90: New test. 10424 * testsuite/libgomp.fortran/vla7.f90: New test. 10425 104262005-11-06 Jakub Jelinek <jakub@redhat.com> 10427 10428 * testsuite/libgomp.fortran/vla2.f90: New test. 10429 * testsuite/libgomp.fortran/vla3.f90: New test. 10430 * testsuite/libgomp.fortran/vla4.f90: New test. 10431 * testsuite/libgomp.fortran/vla5.f90: New test. 10432 * testsuite/libgomp.fortran/vla6.f90: New test. 10433 104342005-11-01 Jakub Jelinek <jakub@redhat.com> 10435 10436 * config/linux/sparc/futex.h: New file. 10437 * configure.tgt: Use it. 10438 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing. 10439 10440 * critical.c: Include stdlib.h. 10441 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about 10442 ignoring return value. 10443 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after 10444 LIBGOMP_CHECK_SYNC_BUILTINS check. 10445 * configure: Rebuilt. 10446 104472005-10-31 Jakub Jelinek <jakub@redhat.com> 10448 10449 * testsuite/libgomp.fortran/vla1.f90: New test. 10450 104512005-10-31 Richard Henderson <rth@redhat.com> 10452 10453 * testsuite/libgomp.fortran/character2.f90: Fix race condition 10454 setting 's' in different threads. 10455 104562005-10-31 Jakub Jelinek <jakub@redhat.com> 10457 10458 * libgomp.h (attribute_hidden, ialias): Define. 10459 * config/posix/proc.c (omp_get_num_procs): Add ialias. 10460 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise. 10461 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock, 10462 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock, 10463 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock, 10464 omp_test_lock, omp_test_nest_lock): Likewise. 10465 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock, 10466 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock, 10467 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock, 10468 omp_test_lock, omp_test_nest_lock): Likewise. 10469 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads, 10470 omp_get_dynamic, omp_get_nested): Likewise. 10471 * parallel.c (omp_get_num_threads, omp_get_max_threads, 10472 omp_get_thread_num, omp_in_parallel): Likewise. 10473 * fortran.c (ialias_redirect): Define. 10474 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock, 10475 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, 10476 omp_unset_lock, omp_unset_nest_lock, omp_test_lock, 10477 omp_test_nest_lock, omp_set_dynamic, omp_set_nested, 10478 omp_set_num_threads, omp_get_dynamic, omp_get_nested, 10479 omp_in_parallel, omp_get_max_threads, omp_get_num_procs, 10480 omp_get_num_threads, omp_get_thread_num, omp_get_wtick, 10481 omp_get_wtime): Add ialias_redirect. 10482 104832005-10-30 Jakub Jelinek <jakub@redhat.com> 10484 10485 * fortran.c: Include stdlib.h. 10486 104872005-10-29 Jakub Jelinek <jakub@redhat.com> 10488 10489 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h. 10490 * Makefile.in: Regenerated. 10491 104922005-10-28 Jakub Jelinek <jakub@redhat.com> 10493 10494 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE. 10495 * libgomp_f.h.in (omp_check_defines): New function. 10496 * env.c: Include libgomp_f.h. 10497 (initialize_env): Call omp_check_defines. 10498 10499 * testsuite/libgomp.dg/copyin-2.c: New test. 10500 * testsuite/libgomp.c++/copyin-2.C: New test. 10501 * testsuite/libgomp.fortran/threadprivate3.f90: New test. 10502 10503 * testsuite/libgomp.fortran/threadprivate2.f90: New test. 10504 * testsuite/libgomp.fortran/sharing2.f90: New test. 10505 10506 * testsuite/libgomp.dg/copyin-1.c: New test. 10507 * testsuite/libgomp.c++/copyin-1.C: New test. 10508 105092005-10-26 Jakub Jelinek <jakub@redhat.com> 10510 10511 * testsuite/libgomp.fortran/crayptr1.f90: New test. 10512 10513 * testsuite/libgomp.fortran/workshare1.f90: New test. 10514 10515 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile 10516 only test. 10517 * libgomp.fortran/sharing1.f90: New test. 10518 105192005-10-24 Jakub Jelinek <jakub@redhat.com> 10520 10521 PR c++/24502 10522 * testsuite/libgomp.c++/loop-7.C: New test. 10523 10524 * testsuite/libgomp.dg/nestedfn-2.c: New test. 10525 10526 * testsuite/libgomp.dg/nestedfn-1.c: New test. 10527 * testsuite/libgomp.fortran/reduction6.f90: New test. 10528 * testsuite/libgomp.fortran/nestedfn1.f90: New test. 10529 105302005-10-23 Richard Henderson <rth@redhat.com> 10531 10532 * testsuite/libgomp.c++/ctor-1.C: New. 10533 * testsuite/libgomp.c++/ctor-2.C: New. 10534 * testsuite/libgomp.c++/ctor-3.C: New. 10535 * testsuite/libgomp.c++/ctor-4.C: New. 10536 * testsuite/libgomp.c++/ctor-5.C: New. 10537 * testsuite/libgomp.c++/ctor-6.C: New. 10538 * testsuite/libgomp.c++/ctor-7.C: New. 10539 * testsuite/libgomp.c++/ctor-8.C: New. 10540 * testsuite/libgomp.c++/ctor-9.C: New. 10541 105422005-10-21 Diego Novillo <dnovillo@redhat.com> 10543 10544 PR 24455 10545 * testsuite/libgomp.c++/pr24455-1.C: New test. 10546 * testsuite/libgomp.c++/pr24455.C: New test. 10547 * testsuite/libgomp.dg/pr24455-1.c: New test. 10548 * testsuite/libgomp.dg/pr24455.c: New test. 10549 105502005-10-20 Richard Henderson <rth@redhat.com> 10551 10552 * testsuite/libgomp.c++/loop-6.C: New. 10553 * testsuite/libgomp.dg/loop-3.c: New. 10554 105552005-10-20 Jakub Jelinek <jakub@redhat.com> 10556 10557 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j 10558 explicitly private. 10559 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i 10560 explicitly shared. 10561 105622005-10-19 Diego Novillo <dnovillo@redhat.com> 10563 10564 * testsuite/libgomp.fortran/jacobi.f: New test. 10565 105662005-10-19 Richard Henderson <rth@redhat.com> 10567 10568 * configure.tgt (i?86-linux): Default to with_arch instead of 10569 CFLAGS. Add -mtune to match target_cpu. 10570 (x86_64-linux): Tune to i686. 10571 10572 * fortran.c (omp_test_nest_lock_): Fix typo. 10573 105742005-10-19 Jakub Jelinek <jakub@redhat.com> 10575 10576 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next, 10577 gomp_ordered_sync): Do nothing if team->nthreads == 1. 10578 * testsuite/libgomp.dg/ordered-3.c: New test. 10579 10580 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort. 10581 Remove volatile keyword. 10582 10583 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables 10584 in COMMON block to avoid warnings on 64-bit targets. 10585 105862005-10-18 Diego Novillo <dnovillo@redhat.com> 10587 10588 * testsuite/libgomp.dg/shared-3.c: New test. 10589 105902005-10-18 Jakub Jelinek <jakub@redhat.com> 10591 10592 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed. 10593 * testsuite/libgomp.fortran/reduction5.f90: New test. 10594 105952005-10-18 Jakub Jelinek <jakub@redhat.com> 10596 10597 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to 10598 dg-options. 10599 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable 10600 flush loop now that __sync_synchronize has proper memory barrier. 10601 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo. 10602 Add -ffixed-form to dg-options. 10603 106042005-10-17 Diego Novillo <dnovillo@redhat.com> 10605 10606 * testsuite/libgomp.fortran/fortran.exp: Also gather tests 10607 from subdirectories. 10608 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test. 10609 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test. 10610 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test. 10611 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test. 10612 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test. 10613 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test. 10614 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test. 10615 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test. 10616 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test. 10617 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test. 10618 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test. 10619 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test. 10620 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test. 10621 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test. 10622 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test. 10623 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test. 10624 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test. 10625 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test. 10626 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test. 10627 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test. 10628 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test. 10629 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test. 10630 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test. 10631 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test. 10632 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test. 10633 106342005-10-17 Jakub Jelinek <jakub@redhat.com> 10635 10636 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if 10637 lang_library_path exists. Use find instead of glob to gather tests. 10638 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed. 10639 106402005-10-17 Diego Novillo <dnovillo@redhat.com> 10641 10642 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test. 10643 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test. 10644 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test. 10645 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test. 10646 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test. 10647 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test. 10648 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test. 10649 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test. 10650 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test. 10651 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test. 10652 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test. 10653 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test. 10654 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file. 10655 106562005-10-15 Jakub Jelinek <jakub@redhat.com> 10657 10658 * testsuite/libgomp.dg/vla-1.c: New test. 10659 10660 * testsuite/libgomp.fortran/reference2.f90: New test. 10661 10662 * testsuite/libgomp.fortran/character2.f90: Remove explicit 10663 declaration of omp_get_thread_num. 10664 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add 10665 use omp_lib. 10666 10667 * testsuite/libgomp.fortran/reduction1.f90: New test. 10668 * testsuite/libgomp.fortran/reduction2.f90: New test. 10669 * testsuite/libgomp.fortran/reduction3.f90: New test. 10670 * testsuite/libgomp.fortran/reduction4.f90: New test. 10671 106722005-10-13 Richard Henderson <rth@redhat.com> 10673 10674 * Makefile.am (libgomp_la_SOURCES): Add bar.c. 10675 * Makefile.in: Regenerate. 10676 * barrier.c (GOMP_barrier): Use gomp_barrier_wait. 10677 * libgomp.h: Include bar.h. 10678 (struct gomp_barrier): Remove. 10679 (struct gomp_team): Add barrier. Replace master_barrier with 10680 master_release. Replace threads with ordered_release. 10681 (struct gomp_thread): Replace barrier with release. 10682 * ordered.c (gomp_ordered_first): Update for ordered_release change. 10683 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init, 10684 gomp_ordered_static_next, gomp_ordered_sync): Likewise. 10685 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait. 10686 (GOMP_single_copy_end): Likewise. 10687 * team.c (gomp_threads_dock): New. 10688 (gomp_barrier_init, gomp_barrier_destroy): Remove. 10689 (gomp_thread_start): Use gomp_barrier_wait. 10690 (new_team, free_team): Update for gomp_team changes. 10691 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit. 10692 (gomp_team_end): Use gomp_barrier_wait. 10693 (initialize_team): Update for gomp_thread changes. 10694 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start. 10695 (gomp_work_share_end_nowait): Use atomic ops when available. 10696 * config/linux/bar.c, config/linux/bar.h: New files. 10697 * config/posix/bar.c, config/posix/bar.h: New files. 10698 106992005-10-13 Jakub Jelinek <jakub@redhat.com> 10700 10701 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL. 10702 * testsuite/libgomp.dg/single-2.c: New test. 10703 10704 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file, 10705 lang_link_flags): Unset, so that they aren't inherited from previously 10706 sourced *.exp. 10707 10708 * testsuite/libgomp.fortran/threadprivate1.f90: New test. 10709 107102005-10-12 Richard Henderson <rth@redhat.com> 10711 10712 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel. 10713 (libgomp_init): Use lang_test_file, lang_library_path, and 10714 lang_link_flags, set by the subdirectory files. Add -fopenmp here. 10715 10716 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New. 10717 (lang_test_file, lang_link_flags): New. 10718 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove. 10719 10720 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C, 10721 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C, 10722 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C, 10723 testsuite/libgomp.c++/parallel-1.C, 10724 testsuite/libgomp.c++/reduction-1.C, 10725 testsuite/libgomp.c++/reduction-2.C, 10726 testsuite/libgomp.c++/reduction-3.C, 10727 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C, 10728 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C, 10729 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C: 10730 New files, largely cribbed from the C testsuite. 10731 107322005-10-12 Jakub Jelinek <jakub@redhat.com> 10733 10734 * testsuite/libgomp.fortran/character1.f90: New test. 10735 * testsuite/libgomp.fortran/character2.f90: New test. 10736 10737 * testsuite/libgomp.dg/nested-1.c: New test. 10738 * testsuite/libgomp.dg/nested-2.c: New test. 10739 * testsuite/libgomp.fortran/do1.f90: New test. 10740 * testsuite/libgomp.fortran/do2.f90: New test. 10741 10742 * testsuite/libgomp.fortran/reference1.f90: New test. 10743 107442005-10-11 Jakub Jelinek <jakub@redhat.com> 10745 10746 * testsuite/libgomp.dg/reduction-1.c: New test. 10747 * testsuite/libgomp.dg/reduction-2.c: New test. 10748 * testsuite/libgomp.dg/reduction-3.c: New test. 10749 107502005-10-10 Jakub Jelinek <jakub@redhat.com> 10751 10752 * testsuite/libgomp.dg/atomic-1.c: New test. 10753 * testsuite/libgomp.dg/atomic-2.c: New test. 10754 107552005-10-09 Richard Henderson <rth@redhat.com> 10756 10757 * critical.c (atomic_lock): New. 10758 (initialize_critical): Initialize it. 10759 (GOMP_atomic_start, GOMP_atomic_end): New. 10760 * libgomp.map: Export them. 10761 * libgomp_g.h: Declare them. 10762 10763 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite. 10764 107652005-10-02 Richard Henderson <rth@redhat.com> 10766 10767 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror 10768 to XCFLAGS instead of CFLAGS. 10769 107702005-09-30 Richard Henderson <rth@redhat.com> 10771 10772 * configure.ac: Determine whether -pthread or -lpthread is needed. 10773 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread. 10774 * Makefine.in, configure: Rebuild. 10775 107762005-09-28 Richard Henderson <rth@redhat.com> 10777 10778 * testsuite/libgomp.dg/omp-loop03.c: Fix return code. 10779 * testsuite/libgomp.dg/omp-single-3.c: New test. 10780 107812005-09-28 Diego Novillo <dnovillo@redhat.com> 10782 10783 * testsuite/libgomp.dg/omp-single-2.c: New test. 10784 * testsuite/libgomp.dg/shared-2.c: Fix return code. 10785 107862005-09-27 Richard Henderson <rth@redhat.com> 10787 10788 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier. 10789 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule. 10790 107912005-09-27 Jakub Jelinek <jakub@redhat.com> 10792 10793 * testsuite/libgomp.dg/omp-loop03.c: New test. 10794 107952005-09-27 Diego Novillo <dnovillo@redhat.com> 10796 10797 * testsuite/libgomp.dg/omp-parallel-for.c: New test. 10798 107992005-09-27 Diego Novillo <dnovillo@redhat.com> 10800 10801 * testsuite/libgomp.dg/omp-single-1.c: New test. 10802 * testsuite/libgomp.dg/shared-1.c: Return 0. 10803 Add prototype for abort. 10804 * testsuite/libgomp.dg/shared-2.c: Likewise. 10805 108062005-09-26 Jakub Jelinek <jakub@redhat.com> 10807 10808 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming 10809 constructs. 10810 108112005-09-26 Diego Novillo <dnovillo@redhat.com> 10812 10813 * testsuite/libgomp.dg/shared-1.c: New test. 10814 * testsuite/libgomp.dg/shared-2.c: New test. 10815 108162005-09-24 Richard Henderson <rth@redhat.com> 10817 10818 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error. 10819 108202005-09-24 Richard Henderson <rth@redhat.com> 10821 10822 * iter.c (gomp_iter_static_next): Round up when computing number 10823 of iterations. Don't bother distributing a remainder equally. 10824 10825 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main. 10826 Don't call srand. Zero b before testing. 10827 (main): New. 10828 108292005-09-24 Jakub Jelinek <jakub@redhat.com> 10830 10831 * testsuite/libgomp.fortran/omp_atomic1.f90: New test. 10832 * testsuite/libgomp.fortran/omp_atomic2.f90: New test. 10833 108342005-09-23 Jakub Jelinek <jakub@redhat.com> 10835 10836 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do 10837 without !$omp end do, followed immediately by subroutine end. 10838 108392005-09-23 Diego Novillo <dnovillo@redhat.com> 10840 10841 * testsuite/libgomp.dg/omp-parallel-if.c: New test. 10842 108432005-09-22 Richard Henderson <rth@redhat.com> 10844 10845 * critical.c (GOMP_critical_name_start): Change argument to void**. 10846 Reuse the pointer space if the mutex fits. 10847 (GOMP_critical_name_end): Likewise. 10848 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0. 10849 * libgomp_g.h (GOMP_critical_name_start): Update decl. 10850 (GOMP_critical_name_end): Likewise. 10851 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New. 10852 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New. 10853 108542005-09-20 Richard Henderson <rth@redhat.com> 10855 10856 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New. 10857 (create_lock_lock): New. 10858 (initialize_critical): Initialize it. 10859 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New. 10860 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare. 10861 108622005-09-20 Diego Novillo <dnovillo@redhat.com> 10863 10864 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h. 10865 108662005-09-20 Diego Novillo <dnovillo@redhat.com> 10867 10868 * testsuite/libgomp.dg/omp-loop01.c: New test. 10869 * testsuite/libgomp.dg/omp-loop02.c: New test. 10870 108712005-09-20 Jakub Jelinek <jakub@redhat.com> 10872 10873 * configure.ac (AC_PROG_FC): Add. 10874 (USE_FORTRAN): New automake conditional. 10875 * configure: Rebuilt. 10876 * Makefile.am (libgomp_la_SOURCES): Add fortran.c. 10877 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h. 10878 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod. 10879 Add rules to build them. 10880 * Makefile.in: Rebuilt. 10881 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and 10882 OMP_NEST_LOCK_KIND. 10883 * libgomp.map: Add Fortran wrappers. 10884 * libgomp_f.h.in: New file. 10885 * omp_lib.h.in: New file. 10886 * omp_lib.f90.in: New file. 10887 * fortran.c: New file. 10888 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files. 10889 Append libgfortran directory to LD_LIBRARY_PATH if it exists. 10890 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if 10891 libgfortran has been built. 10892 * testsuite/libgomp.fortran/fortran.exp: New file. 10893 * testsuite/libgomp.fortran/omp_cond1.f: New test. 10894 * testsuite/libgomp.fortran/omp_cond2.f: New test. 10895 * testsuite/libgomp.fortran/omp_cond3.F90: New test. 10896 * testsuite/libgomp.fortran/omp_cond4.F90: New test. 10897 * testsuite/libgomp.fortran/omp_hello.f: New test. 10898 * testsuite/libgomp.fortran/omp_orphan.f: New test. 10899 * testsuite/libgomp.fortran/omp_parse1.f90: New test. 10900 * testsuite/libgomp.fortran/omp_parse2.f90: New test. 10901 * testsuite/libgomp.fortran/omp_parse3.f90: New test. 10902 * testsuite/libgomp.fortran/omp_parse4.f90: New test. 10903 * testsuite/libgomp.fortran/omp_reduction.f: New test. 10904 * testsuite/libgomp.fortran/omp_workshare1.f: New test. 10905 * testsuite/libgomp.fortran/omp_workshare2.f: New test. 10906 109072005-08-30 Richard Henderson <rth@redhat.com> 10908 10909 * loop.c (GOMP_loop_static_start): Provide fallback wrapper 10910 function for when aliases are not usable. 10911 (GOMP_loop_dynamic_start, GOMP_loop_guided_start, 10912 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start, 10913 GOMP_loop_ordered_guided_start, GOMP_loop_static_next, 10914 GOMP_loop_dynamic_next, GOMP_loop_guided_next, 10915 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next, 10916 GOMP_loop_ordered_guided_next): Likewise. 10917 * ordered.c (GOMP_ordered_start): Likewise. 10918 109192005-08-01 Diego Novillo <dnovillo@redhat.com> 10920 10921 * testsuite/libgomp.dg/dg.exp: Use -O2 for now. 10922 * testsuite/libgomp.dg/omp_hello.c: Fix return code 10923 * testsuite/libgomp.dg/omp_matvec.c: Likewise. 10924 * testsuite/libgomp.dg/omp_orphan.c: Likewise 10925 * testsuite/libgomp.dg/omp_reduction.c: Likewise 10926 * testsuite/libgomp.dg/omp_workshare1.c: Likewise 10927 * testsuite/libgomp.dg/omp_workshare2.c: Likewise 10928 * testsuite/libgomp.dg/omp_workshare3.c: Likewise 10929 * testsuite/libgomp.dg/omp_workshare4.c: Likewise 10930 109312005-07-07 Eric Christopher <echristo@redhat.com> 10932 Diego Novillo <dnovillo@redhat.com> 10933 10934 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS. 10935 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix 10936 up code. 10937 * testsuite/libgomp.dg/omp_matvec.c: Ditto. 10938 * testsuite/libgomp.dg/omp_orphan.c: Ditto. 10939 * testsuite/libgomp.dg/omp_reduction.c: Ditto. 10940 * testsuite/libgomp.dg/omp_workshare1.c: Ditto. 10941 * testsuite/libgomp.dg/omp_workshare2.c: Ditto. 10942 * testsuite/libgomp.dg/omp_workshare3.c: Ditto. 10943 * testsuite/libgomp.dg/omp_workshare4.c: Ditto. 10944 109452005-06-13 Diego Novillo <dnovillo@redhat.com> 10946 10947 * TOPLEVEL.patch: Remove. 10948 109492005-05-16 Richard Henderson <rth@redhat.com> 10950 10951 * configure.ac: Test for clock_gettime. 10952 * config.h.in, configure: Rebuild. 10953 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern. 10954 (omp_get_wtime): Use clock_gettime if available. 10955 (omp_get_wtick): Use clock_getres if available. 10956 109572005-05-11 Richard Henderson <rth@redhat.com> 10958 10959 * config/linux/ia64/futex.h: New file. 10960 * configure.tgt: Use it. 10961 10962 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline. 10963 109642005-05-07 Richard Henderson <rth@redhat.com> 10965 10966 * config/linux/powerpc/futex.h: New file. 10967 * configure.tgt: Use it. 10968 10969 * config/linux/i486/futex.h: Merge ... 10970 * config/linux/x86_64/futex.h: ... into ... 10971 * config/linux/x86/futex.h: ... here. 10972 * configure.tgt: Update to match. 10973 109742005-05-06 Richard Henderson <rth@redhat.com> 10975 10976 * config/linux/alpha/futex.h: Conditionally define SYS_futex. 10977 * config/linux/i486/futex.h: Likewise. 10978 * config/linux/x86_64/futex.h: Likewise. 10979 10980 * config/linux/lock.c: New file. 10981 * config/linux/omp-lock.h: New file. 10982 10983 * critical.c, env.h: Don't include omp.h 10984 * config/posix/lock.c: Include libgomp.h instead of omp.h. 10985 * config/posix/time.c: Likewise. 10986 * config/posix/omp-lock.h: New file. 10987 * libgomp.h: Include omp-lock.h and omp.h. 10988 * Makefile.am (nodist_include_HEADERS): New. 10989 (omp.h): New rule. 10990 * configure.ac (PERL): New. 10991 * mkomp_h.pl: New file. 10992 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t 10993 with templates. 10994 * Makefile.in, configure, testsuite/Makefile.in: Rebuild. 10995 10996 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into 10997 build directory. Re-add -march=i486 hack. 10998 10999 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove. 11000 (libgomp_link_flags): Remove. 11001 (libgomp_initialized): Remove. 11002 (libgomp_init): Don't protect from reinitialization. Copy code 11003 from libstdc++ for getting the multilib set correctly. 11004 110052005-05-05 Richard Henderson <rth@redhat.com> 11006 11007 * config/linux/alpha/futex.h: New file. 11008 * configure.tgt (alpha*-*-linux*): Use it. 11009 11010 * config/posix/mutex.c: New file. 11011 * config/posix/sem.c: Use libgomp.h. 11012 11013 * configure.tgt (x86_64-linux): Also test CC for -m32. 11014 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage. 11015 11016 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add / 11017 after $gccpath. 11018 11019 * Makefile.am (SUBDIRS): New. 11020 (libgomp_la_LDFLAGS): Add -lpthread. 11021 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies. 11022 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild. 11023 11024 * libgomp_g.h: New file. 11025 * libgomp.h: Split out all public declarations to libgomp_g.h. 11026 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN. 11027 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN. 11028 * config/linux/sem.h: Likewise. 11029 * config/posix/sem.h: Likewise. 11030 11031 * Makefile.am (AM_LDFLAGS): New. 11032 (libgomp_version_script): Split out from ... 11033 (libgomp_la_LDFLAGS): ... here. 11034 (libgomp_version_info): New. 11035 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE. 11036 (LIBGOMP_ENABLE): New. 11037 (LIBGOMP_CHECK_LINKER_FEATURES): New. 11038 (LIBGOMP_ENABLE_SYMVERS): New. 11039 * configure.ac (AC_INIT): Version 1.0. 11040 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE. 11041 (enable-linux-futex): Likewise. Rename from enable-futex. 11042 (libtool_VERSION): New. 11043 (LIBGOMP_ENABLE_SYMVERS): Use it. 11044 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations. 11045 * Makefile.in, aclocal.m4, configure: Rebuild. 11046 11047 * config/linux/mutex.c: Include libgomp.h instead of mutex.h. 11048 (gomp_mutex_unlock_slow): Fix typo. 11049 * config/linux/sem.c: Similarly. 11050 (gomp_sem_post_slow): Fix typo. 11051 * config/linux/sem.h (gomp_sem_post_slow): Fix typo. 11052 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code. 11053 [__PIC__] (sys_futex0): Don't use tmp output in asm. 11054 11055 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS. 11056 (libgomp_la_LDFLAGS): Add top_srcdir to path. 11057 * acinclude.m4: Copy libtool.m4 stuff from libgfortran. 11058 * configure.ac: Check for getloadavg. Substitute XCFLAGS and 11059 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS. 11060 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and 11061 LDFLAGS. Pull enable_futex check to top-level. 11062 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN. 11063 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate. 11064 11065 First attempt at real configury. 11066 * Makefile, config.h: Remove file. 11067 * Makefile.am, Makefile.in: New file. 11068 * acinclude.m4 aclocal.m4: New file. 11069 * configure.ac, configure.tgt, configure: New file. 11070 11071 * config/posix/lock.c: Rename from sys-lock.c. 11072 * config/posix/mutex.h: Rename from sys-mutex.h. 11073 * config/posix/sem.c: Rename from sys-sem.c. 11074 * config/posix/sem.h: Rename from sys-sem.h. 11075 * config/posix/proc.c: Rename from sys-proc.c. 11076 * config/posix/time.c: Rename from sys-proc.c. 11077 11078 * config/linux/mutex.c: New file. 11079 * config/linux/mutex.h: New file. 11080 * config/linux/sem.c: New file. 11081 * config/linux/sem.h: New file. 11082 * config/linux/i486/futex.h: New file. 11083 * config/linux/x86_64/futex.h: New file. 11084 110852005-05-04 Richard Henderson <rth@redhat.com> 11086 11087 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New. 11088 * libgomp.h: Declare them. 11089 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start, 11090 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them. 11091 110922005-05-04 Richard Henderson <rth@redhat.com> 11093 11094 * libgomp-1 code drop 11095 110962005-05-04 Richard Henderson <rth@redhat.com> 11097 11098 * iter.c (gomp_iter_static_next): Return tri-state on 0. 11099 * ordered.c (gomp_ordered_static_next): Remove not_last argument. 11100 * libgomp.h (struct gomp_team_state): Make static_trip unsigned. 11101 (gomp_iter_static_next): Update. 11102 (gomp_ordered_static_next): Update. 11103 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next. 11104 (gomp_loop_ordered_static_start): Likewise. Exit early for a 11105 totally empty range. 11106 (gomp_loop_ordered_static_next): Refine test for calling 11107 gomp_ordered_static_next. 11108 * testsuite/ordered-1.c: Add case for more threads than iterations. 11109 11110 * iter.c (gomp_iter_runtime_next_locked): Remove. 11111 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start, 11112 gomp_loop_guided_start, gomp_loop_ordered_static_start, 11113 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start, 11114 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next, 11115 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next, 11116 gomp_loop_ordered_guided_next): Downcase name, make static, add 11117 an external alias with the old name. 11118 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start, 11119 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a 11120 switch and call one of the above static functions. 11121 * libgomp.h: Update. 11122 11123 * work.c (gomp_work_share_start): Lock the mutex for !first too. 11124 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start, 11125 GOMP_loop_guided_start, GOMP_loop_runtime_start, 11126 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start, 11127 GOMP_loop_ordered_guided_start): Update to match. 11128 * sections.c (GOMP_sections_start): Likewise. 11129 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise. 11130 11131 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next, 11132 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//. 11133 Use bounds check instead of modulus. 11134 (gomp_ordered_sync): Split out of GOMP_ordered_start. 11135 (gomp_ordered_last): Don't sync with ordered_owner here. 11136 (gomp_ordered_next): Likewise. 11137 (gomp_ordered_static_loop_next): Likewise. 11138 * loop.c, libgomp.h: Update to match. 11139 11140 * libgomp.h (GOMP_barrier): Declare. 11141 11142 * testsuite/barrier-1.c: New file. 11143 * testsuite/critical-1.c: New file. 11144 * testsuite/ordered-2.c: New file. 11145 * testsuite/ordered-1.c: New file. 11146 * testsuite/sections-1.c: New file. 11147 * testsuite/single-1.c: New file. 11148 * testsuite/Makefile (TESTS): Add them. 11149 111502005-05-04 Richard Henderson <rth@redhat.com> 11151 11152 * libgomp.h (struct gomp_work_share): Add ordered_owner. 11153 * loop.c (GOMP_loop_static_start): If not the startup thread, 11154 acquire the mutex to wait for initialization complete. 11155 (GOMP_loop_ordered_static_start): Likewise. 11156 (GOMP_loop_ordered_runtime_start): Likewise. 11157 (GOMP_loop_ordered_static_first): Remove. 11158 (GOMP_loop_ordered_dynamic_first): Remove. 11159 (GOMP_loop_ordered_guided_first): Remove. 11160 (GOMP_loop_ordered_runtime_first): Remove. 11161 * ordered.c (gomp_ordered_loop_first): Post to own release when 11162 we're the first thread. 11163 (gomp_ordered_loop_last): Wait on release if not owner. 11164 (gomp_ordered_loop_next): Likewise. 11165 (gomp_ordered_static_loop_init): New. 11166 (gomp_ordered_static_loop_next): Use ordered_owner. 11167 (GOMP_ordered_start): Likewise. 11168 * work.c (gomp_new_work_share): Initialize ordered_owner. 11169 111702005-05-03 Richard Henderson <rth@redhat.com> 11171 11172 * Makefile (OPT): New. 11173 (CFLAGS): Use it. 11174 11175 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New. 11176 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New. 11177 * libgomp.h, libgomp.map, NOTES: Update to match. 11178 11179 * team.c (struct gomp_thread_start_data): Remove ts, fn, data. 11180 Add initialized and thr members. 11181 (gomp_thread_start): Pause when initially spawned to wait for 11182 the whole team to be created. 11183 (gomp_team_start): Release team members at the end. 11184 11185 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100. 11186 (f_foo_1): Use GOMP_loop_end. 11187 (f_foo_2): Use GOMP_loop_end_nowait. 11188 11189 * testsuite/loop-2.c: New file. 11190 * testsuite/Makefile (TESTS): Add it. 11191 111922005-05-03 Richard Henderson <rth@redhat.com> 11193 11194 * iter.c (gomp_iter_static_next): Fix overflow check typo. 11195 (gomp_iter_dynamic_next_locked): Fix overflow check thinko. 11196 * team.c (new_team): Initialize oldest_live_gen to 1 if no 11197 initial work_share. 11198 11199 * testsuite/Makefile: New file. 11200 * testsuite/loop-1.c: New file. 11201 112022005-05-03 Richard Henderson <rth@redhat.com> 11203 11204 Initial implementation and checkin. 11205 11206Copyright (C) 2005-2019 Free Software Foundation, Inc. 11207 11208Copying and distribution of this file, with or without modification, 11209are permitted in any medium without royalty provided the copyright 11210notice and this notice are preserved. 11211