12024-06-20 Release Manager 2 3 * GCC 12.4.0 released. 4 52024-06-11 Jakub Jelinek <jakub@redhat.com> 6 7 Backported from master: 8 2024-04-05 Jakub Jelinek <jakub@redhat.com> 9 10 PR c++/114572 11 * testsuite/libgomp.c++/pr114572.C: New test. 12 132024-06-11 Jakub Jelinek <jakub@redhat.com> 14 15 Backported from master: 16 2024-01-10 Jakub Jelinek <jakub@redhat.com> 17 18 PR libgomp/113192 19 * configure.ac (FLOCK): Use $libgomp_abs_srcdir/testsuite/flock 20 instead of \$(abs_top_srcdir)/testsuite/flock. 21 * configure: Regenerated. 22 232023-09-01 Tobias Burnus <tobias@codesourcery.com> 24 25 Backported from master: 26 2023-08-19 Tobias Burnus <tobias@codesourcery.com> 27 28 PR middle-end/111017 29 * testsuite/libgomp.c-c++-common/non-rect-loop-1.c: New test. 30 312023-06-28 Thomas Schwinge <thomas@codesourcery.com> 32 33 Backported from master: 34 2023-06-02 Thomas Schwinge <thomas@codesourcery.com> 35 36 PR testsuite/66005 37 * testsuite/lib/libgomp.exp: 'flock' through stdout. 38 * testsuite/flock: New. 39 * configure.ac (FLOCK): Point to that if no 'flock' available, but 40 'perl' is. 41 * configure: Regenerate. 42 432023-06-28 Thomas Schwinge <thomas@codesourcery.com> 44 45 Backported from master: 46 2023-05-15 Thomas Schwinge <thomas@codesourcery.com> 47 48 PR testsuite/66005 49 * configure.ac: Look for 'flock'. 50 * testsuite/Makefile.am (gcc_test_parallel_slots): Enable parallel testing. 51 * testsuite/config/default.exp: Don't 'load_lib "standard.exp"' here... 52 * testsuite/lib/libgomp.exp: ... but here, instead. 53 (libgomp_load): Override for parallel testing. 54 * testsuite/libgomp-site-extra.exp.in (FLOCK): Set. 55 * configure: Regenerate. 56 * Makefile.in: Regenerate. 57 * testsuite/Makefile.in: Regenerate. 58 592023-06-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 60 61 Backported from master: 62 2023-05-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 63 Thomas Schwinge <thomas@codesourcery.com> 64 65 PR testsuite/66005 66 * testsuite/Makefile.am (PWD_COMMAND): New variable. 67 (%/site.exp): New target. 68 (check_p_numbers0, check_p_numbers1, check_p_numbers2) 69 (check_p_numbers3, check_p_numbers4, check_p_numbers5) 70 (check_p_numbers6, check_p_numbers, gcc_test_parallel_slots) 71 (check_p_subdirs) 72 (check_DEJAGNU_libgomp_targets): New variables. 73 ($(check_DEJAGNU_libgomp_targets)): New target. 74 ($(check_DEJAGNU_libgomp_targets)): New dependency. 75 (check-DEJAGNU $(check_DEJAGNU_libgomp_targets)): New targets. 76 * testsuite/Makefile.in: Regenerate. 77 * testsuite/lib/libgomp.exp: For parallel testing, 78 'load_file ../libgomp-test-support.exp'. 79 802023-06-28 Thomas Schwinge <thomas@codesourcery.com> 81 82 Backported from master: 83 2023-05-08 Thomas Schwinge <thomas@codesourcery.com> 84 85 * testsuite/libgomp.c++/c++.exp: Use 'lang_include_flags' instead 86 of 'libstdcxx_includes'. 87 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. 88 892023-05-08 Release Manager 90 91 * GCC 12.3.0 released. 92 932023-03-19 Jakub Jelinek <jakub@redhat.com> 94 95 Backported from master: 96 2023-02-16 Jakub Jelinek <jakub@redhat.com> 97 98 * libgomp.texi: Fix typos - theads -> threads. 99 1002023-03-08 Tobias Burnus <tobias@codesourcery.com> 101 102 Backported from master: 103 2023-03-01 Tobias Burnus <tobias@codesourcery.com> 104 105 PR middle-end/108546 106 * testsuite/libgomp.fortran/is_device_ptr-3.f90: New test. 107 * testsuite/libgomp.fortran/use_device_ptr-optional-4.f90: New test. 108 1092023-02-10 Jakub Jelinek <jakub@redhat.com> 110 111 Backported from master: 112 2023-01-19 Jakub Jelinek <jakub@redhat.com> 113 114 PR middle-end/108459 115 * testsuite/libgomp.c/pr108459.c: New test. 116 1172023-02-10 Jakub Jelinek <jakub@redhat.com> 118 119 Backported from master: 120 2023-01-05 Jakub Jelinek <jakub@redhat.com> 121 122 PR c++/108286 123 * testsuite/libgomp.c++/pr108286.C: New test. 124 1252023-02-10 Jakub Jelinek <jakub@redhat.com> 126 127 Backported from master: 128 2022-12-21 Jakub Jelinek <jakub@redhat.com> 129 130 PR c++/108180 131 * testsuite/libgomp.c++/pr108180.C: New test. 132 1332023-01-30 Tobias Burnus <tobias@codesourcery.com> 134 135 Backported from master: 136 2023-01-27 Tobias Burnus <tobias@codesourcery.com> 137 138 PR fortran/108558 139 * testsuite/libgomp.fortran/has_device_addr.f90: New test. 140 1412022-11-03 Jakub Jelinek <jakub@redhat.com> 142 143 Backported from master: 144 2022-10-12 Jakub Jelinek <jakub@redhat.com> 145 146 * task.c (gomp_create_artificial_team): Fix up handling of invocations 147 from within explicit task. 148 * target.c (GOMP_target_ext): Likewise. 149 * testsuite/libgomp.c/task-7.c: New test. 150 * testsuite/libgomp.c/task-8.c: New test. 151 * testsuite/libgomp.c-c++-common/task-reduction-17.c: New test. 152 * testsuite/libgomp.c-c++-common/task-reduction-18.c: New test. 153 1542022-11-03 Jakub Jelinek <jakub@redhat.com> 155 156 Backported from master: 157 2022-09-24 Jakub Jelinek <jakub@redhat.com> 158 159 PR c/106981 160 * testsuite/libgomp.c-c++-common/pr106981.c: New test. 161 1622022-10-28 Julian Brown <julian@codesourcery.com> 163 164 Backported from master: 165 2022-10-28 Julian Brown <julian@codesourcery.com> 166 Thomas Schwinge <thomas@codesourcery.com> 167 168 PR middle-end/90115 169 * testsuite/libgomp.oacc-fortran/declare-1.f90: Adjust scan output. 170 * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise. 171 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise. 172 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise. 173 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise. 174 1752022-10-21 Thomas Schwinge <thomas@codesourcery.com> 176 177 Backported from master: 178 2022-10-20 Thomas Schwinge <thomas@codesourcery.com> 179 180 PR target/105421 181 * testsuite/libgomp.oacc-c-c++-common/private-big-1.c: New. 182 1832022-08-23 Tobias Burnus <tobias@codesourcery.com> 184 185 Backported from master: 186 2022-08-17 Tobias Burnus <tobias@codesourcery.com> 187 188 PR middle-end/106548 189 * testsuite/libgomp.c/linear-2.c: New test. 190 1912022-08-19 Release Manager 192 193 * GCC 12.2.0 released. 194 1952022-08-01 Lewis Hyatt <lhyatt@gmail.com> 196 197 Backported from master: 198 2022-07-10 Lewis Hyatt <lhyatt@gmail.com> 199 200 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Adapt for 201 improved warning locations. 202 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Likewise. 203 2042022-07-30 Jakub Jelinek <jakub@redhat.com> 205 206 Backported from master: 207 2022-07-29 Jakub Jelinek <jakub@redhat.com> 208 209 PR middle-end/106449 210 * testsuite/libgomp.c-c++-common/pr106449.c: New test. 211 2122022-06-28 Jakub Jelinek <jakub@redhat.com> 213 214 Backported from master: 215 2022-06-21 Jakub Jelinek <jakub@redhat.com> 216 Paul Iannetta <piannetta@kalrayinc.com> 217 218 PR libgomp/106045 219 * testsuite/libgomp.c/target-31.c: Add private (i) clause. 220 2212022-06-28 Martin Liska <mliska@suse.cz> 222 223 Backported from master: 224 2022-06-28 Martin Liska <mliska@suse.cz> 225 226 * acinclude.m4: Fix typo in mold linker detection. 227 * Makefile.in: Regenerate. 228 * configure: Regenerate. 229 2302022-05-30 Jakub Jelinek <jakub@redhat.com> 231 232 Backported from master: 233 2022-05-28 Jakub Jelinek <jakub@redhat.com> 234 235 PR libgomp/105745 236 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Don't define for 237 defined(HAVE__ALIGNED_MALLOC) case. 238 * alloc.c (gomp_aligned_alloc): Move defined(HAVE__ALIGNED_MALLOC) 239 handling as last option before fallback instead of first. 240 (gomp_aligned_free): For defined(HAVE__ALIGNED_MALLOC) call 241 _aligned_free. 242 2432022-05-17 Jakub Jelinek <jakub@redhat.com> 244 245 Backported from master: 246 2022-05-17 Jakub Jelinek <jakub@redhat.com> 247 248 * libgomp.texi (OpenMP 5.1): Remove "Not inside target regions" 249 comment for omp_display_env feature. 250 2512022-05-06 Release Manager 252 253 * GCC 12.1.0 released. 254 2552022-04-28 Thomas Schwinge <thomas@codesourcery.com> 256 257 PR fortran/104717 258 * testsuite/libgomp.oacc-fortran/print-1.f90: Add OpenACC 259 privatization scanning. For GCN offloading compilation, raise 260 '-mgang-private-size'. 261 2622022-04-26 Jakub Jelinek <jakub@redhat.com> 263 264 PR libgomp/105358 265 * work.c (gomp_init_work_share): Don't mask of adjustment for 266 dynamic long long realignment if struct gomp_work_share has smaller 267 alignof than long long. 268 * loop.c (GOMP_loop_start): Don't use inline_ordered_team_ids if 269 struct gomp_work_share has smaller alignof than long long or if 270 sizeof (struct gomp_work_share) is smaller than 271 INLINE_ORDERED_TEAM_IDS_OFF. 272 * loop_ull.c (GOMP_loop_ull_start): Likewise. 273 * sections.c (GOMP_sections2_start): Likewise. 274 2752022-04-25 Jakub Jelinek <jakub@redhat.com> 276 Thomas Schwinge <thomas@codesourcery.com> 277 278 PR fortran/104717 279 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Adjust. 280 2812022-04-13 Jakub Jelinek <jakub@redhat.com> 282 283 * libgomp.texi: Fix a typo - mutexinouset -> mutexinoutset. 284 2852022-04-06 Thomas Schwinge <thomas@codesourcery.com> 286 287 * plugin/cuda/cuda.h: Remove file. 288 * plugin/plugin-nvptx.c [PLUGIN_NVPTX_DYNAMIC]: Include 289 "cuda/cuda.h" instead of <cuda.h>. 290 * plugin/configfrag.ac <PLUGIN_NVPTX_DYNAMIC>: Don't set 291 'PLUGIN_NVPTX_CPPFLAGS'. 292 * configure: Regenerate. 293 2942022-04-05 Chung-Lin Tang <cltang@codesourcery.com> 295 296 * testsuite/libgomp.fortran/use_device_ptr-4.f90: New testcase. 297 2982022-04-04 Tom de Vries <tdevries@suse.de> 299 300 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Use 301 on_device_arch_nvptx instead of offload_target_nvptx. 302 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same. 303 3042022-04-01 Tom de Vries <tdevries@suse.de> 305 306 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Define 307 and use REC_DEPTH. 308 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same. 309 3102022-04-01 Tom de Vries <tdevries@suse.de> 311 312 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: Fix 313 num_workers check. 314 3152022-03-29 Chenghua Xu <xuchenghua@loongson.cn> 316 Lulu Cheng <chenglulu@loongson.cn> 317 318 * configure.tgt: Add LoongArch triplet. 319 3202022-03-28 Tom de Vries <tdevries@suse.de> 321 322 * plugin/configfrag.ac: Use /$(libexecdir:\$(exec_prefix)/%=%)/ 323 instead of /libexec/. 324 * configure: Regenerate. 325 3262022-03-25 Tom de Vries <tdevries@suse.de> 327 328 PR libgomp/105042 329 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Reduce 330 execution time. 331 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Same. 332 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Same. 333 3342022-03-23 Tobias Burnus <tobias@codesourcery.com> 335 336 PR middle-end/104285 337 * testsuite/libgomp.c++/target-same-name-2-a.C: New test. 338 * testsuite/libgomp.c++/target-same-name-2-b.C: New test. 339 * testsuite/libgomp.c++/target-same-name-2.C: New test. 340 * testsuite/libgomp.c-c++-common/target-same-name-1-a.c: New test. 341 * testsuite/libgomp.c-c++-common/target-same-name-1-b.c: New test. 342 * testsuite/libgomp.c-c++-common/target-same-name-1.c: New test. 343 3442022-03-22 Tom de Vries <tdevries@suse.de> 345 346 PR target/104916 347 PR target/104783 348 * testsuite/libgomp.c/pr104783-2.c: New test. 349 3502022-03-18 Tobias Burnus <tobias@codesourcery.com> 351 352 PR fortran/103039 353 * testsuite/libgomp.fortran/associate4.f90: New test. 354 3552022-03-18 Tom de Vries <tdevries@suse.de> 356 357 PR target/104952 358 * testsuite/libgomp.c/pr104952-1.c: New test. 359 * testsuite/libgomp.c/pr104952-2.c: New test. 360 3612022-03-18 Jakub Jelinek <jakub@redhat.com> 362 363 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Move seen 364 variable next to pl variable. 365 3662022-03-17 Thomas Schwinge <thomas@codesourcery.com> 367 368 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: 369 Enhance. 370 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise. 371 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise. 372 3732022-03-17 Thomas Schwinge <thomas@codesourcery.com> 374 375 PR middle-end/90115 376 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Enhance. 377 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise. 378 3792022-03-16 Marcel Vollweiler <marcel@codesourcery.com> 380 381 * fortran.c (omp_set_num_teams_8_): Call omp_set_num_teams instead of 382 omp_set_max_active_levels. 383 * testsuite/libgomp.fortran/icv-8.f90: New test. 384 3852022-03-16 Thomas Schwinge <thomas@codesourcery.com> 386 387 PR testsuite/102841 388 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Adjust. 389 3902022-03-13 Tobias Burnus <tobias@codesourcery.com> 391 392 * libgomp.texi: Fix typo. 393 3942022-03-12 Thomas Schwinge <thomas@codesourcery.com> 395 396 PR middle-end/100280 397 PR middle-end/104892 398 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust. 399 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise. 400 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: 401 Likewise. 402 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c: 403 Likewise. 404 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise. 405 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise. 406 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: 407 Likewise. 408 4092022-03-12 Thomas Schwinge <thomas@codesourcery.com> 410 411 PR middle-end/104892 412 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Point 413 to PR104892. 414 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise, 415 enable '--param=openacc-kernels=decompose' and adjust. 416 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c: 417 Likewise. 418 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise. 419 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: 420 Likewise. 421 4222022-03-12 Thomas Schwinge <thomas@codesourcery.com> 423 424 PR middle-end/90115 425 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Enhance. 426 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c: Likewise. 427 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise. 428 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Likewise. 429 4302022-03-12 Thomas Schwinge <thomas@codesourcery.com> 431 432 PR middle-end/100280 433 PR middle-end/104086 434 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c: 435 Merge this... 436 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c: 437 ..., and this... 438 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: ... into 439 this, and adjust. 440 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: 441 Extend. 442 4432022-03-10 Hafiz Abid Qadeer <abidh@codesourcery.com> 444 445 * testsuite/libgomp.fortran/allocate-1.f90: Remove pool_size 446 trait. Test last index in w and v array. Remove redundant 447 assignment to V(1). Move alignment checks at the end of 448 parallel region. 449 4502022-03-10 Tom de Vries <tdevries@suse.de> 451 452 * testsuite/libgomp.c/pr104783.c: New test. 453 4542022-03-10 Thomas Schwinge <thomas@codesourcery.com> 455 456 PR middle-end/90115 457 PR middle-end/102330 458 PR middle-end/104774 459 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: 460 Enhance. 461 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c: 462 Adjust. 463 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c: 464 Likewise. 465 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c: 466 Likewise. 467 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c: 468 Likewise. 469 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c: 470 Likewise. 471 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c: 472 Likewise. 473 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c: 474 Likewise. 475 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c: 476 Likewise. 477 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c: 478 Likewise. 479 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c: 480 Likewise. 481 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c: 482 Likewise. 483 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c: 484 Likewise. 485 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c: 486 Likewise. 487 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise. 488 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise. 489 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise. 490 4912022-03-10 Thomas Schwinge <thomas@codesourcery.com> 492 493 PR middle-end/90115 494 * testsuite/libgomp.oacc-fortran/routine-1.f90: Enhance. 495 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise. 496 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise. 497 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise. 498 4992022-03-04 Thomas Schwinge <thomas@codesourcery.com> 500 501 PR testsuite/104791 502 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Fix 503 expected diagnostics. 504 5052022-03-04 Thomas Schwinge <thomas@codesourcery.com> 506 507 PR middle-end/104784 508 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c: 509 Test with '--param=openacc-kernels=decompose'. 510 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c: 511 Likewise. 512 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c: 513 Likewise. 514 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c: 515 Likewise. 516 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c: 517 Likewise. 518 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c: 519 Likewise. 520 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c: 521 Likewise. 522 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c: 523 Likewise. 524 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c: 525 Likewise. 526 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c: 527 Likewise. 528 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c: 529 Likewise. 530 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c: 531 Likewise. 532 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c: 533 Likewise. 534 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c: 535 Likewise. 536 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c: 537 Likewise. 538 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c: 539 Likewise. 540 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c: 541 Likewise. 542 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c: 543 Likewise. 544 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c: 545 Likewise. 546 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c: 547 Likewise. 548 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90: 549 Likewise. 550 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90: 551 Likewise. 552 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90: 553 Likewise. 554 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90: 555 Likewise. 556 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90: 557 Likewise. 558 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90: 559 Likewise. 560 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90: 561 Likewise. 562 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90: 563 Likewise. 564 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90: 565 Likewise. 566 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90: 567 Likewise. 568 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90: 569 Likewise. 570 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90: 571 Likewise. 572 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90: 573 Likewise. 574 5752022-03-04 Thomas Schwinge <thomas@codesourcery.com> 576 577 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c: 578 Test '-fopt-info-omp-all'. 579 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c: 580 Likewise. 581 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c: 582 Likewise. 583 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c: 584 Likewise. 585 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c: 586 Likewise. 587 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c: 588 Likewise. 589 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c: 590 Likewise. 591 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c: 592 Likewise. 593 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c: 594 Likewise. 595 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c: 596 Likewise. 597 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c: 598 Likewise. 599 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c: 600 Likewise. 601 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c: 602 Likewise. 603 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c: 604 Likewise. 605 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c: 606 Likewise. 607 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c: 608 Likewise. 609 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c: 610 Likewise. 611 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c: 612 Likewise. 613 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c: 614 Likewise. 615 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c: 616 Likewise. 617 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90: 618 Likewise. 619 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90: 620 Likewise. 621 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90: 622 Likewise. 623 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90: 624 Likewise. 625 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90: 626 Likewise. 627 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90: 628 Likewise. 629 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90: 630 Likewise. 631 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90: 632 Likewise. 633 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90: 634 Likewise. 635 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90: 636 Likewise. 637 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90: 638 Likewise. 639 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90: 640 Likewise. 641 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90: 642 Likewise. 643 6442022-03-04 Thomas Schwinge <thomas@codesourcery.com> 645 646 PR middle-end/100280 647 PR middle-end/104132 648 PR middle-end/104133 649 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: 650 Extend. 651 6522022-03-04 Thomas Schwinge <thomas@codesourcery.com> 653 654 PR middle-end/100280 655 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust. 656 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: 657 Likewise. 658 6592022-03-04 Thomas Schwinge <thomas@codesourcery.com> 660 661 PR middle-end/100280 662 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust. 663 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: 664 Likewise. 665 6662022-02-28 Tom de Vries <tdevries@suse.de> 667 668 * testsuite/libgomp.c/declare-variant-3-sm30.c: Add -foffload=-mptx=_. 669 * testsuite/libgomp.c/declare-variant-3-sm35.c: Same. 670 * testsuite/libgomp.c/declare-variant-3-sm53.c: Same. 671 * testsuite/libgomp.c/declare-variant-3-sm70.c: Same. 672 * testsuite/libgomp.c/declare-variant-3-sm75.c: Same. 673 * testsuite/libgomp.c/declare-variant-3-sm80.c: Same. 674 6752022-02-24 Tom de Vries <tdevries@suse.de> 676 677 * testsuite/libgomp.c/declare-variant-3-sm30.c: New test. 678 * testsuite/libgomp.c/declare-variant-3-sm35.c: New test. 679 * testsuite/libgomp.c/declare-variant-3-sm53.c: New test. 680 * testsuite/libgomp.c/declare-variant-3-sm70.c: New test. 681 * testsuite/libgomp.c/declare-variant-3-sm75.c: New test. 682 * testsuite/libgomp.c/declare-variant-3-sm80.c: New test. 683 * testsuite/libgomp.c/declare-variant-3.h: New header file. 684 6852022-02-22 Thomas Schwinge <thomas@codesourcery.com> 686 687 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Fix OpenACC 688 gang-redundant execution. 689 6902022-02-22 Tom de Vries <tdevries@suse.de> 691 692 PR target/99555 693 * config/nvptx/bar.c (generation_to_barrier): New function, copied 694 from config/rtems/bar.c. 695 (futex_wait, futex_wake): New function. 696 (do_spin, do_wait): New function, copied from config/linux/wait.h. 697 (gomp_barrier_wait_end, gomp_barrier_wait_last) 698 (gomp_team_barrier_wake, gomp_team_barrier_wait_end): 699 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): Remove 700 and replace with include of config/linux/bar.c. 701 * config/nvptx/bar.h (gomp_barrier_t): Add fields waiters and lock. 702 (gomp_barrier_init): Init new fields. 703 * testsuite/libgomp.c-c++-common/task-detach-6.c: Remove nvptx-specific 704 workarounds. 705 * testsuite/libgomp.c/pr99555-1.c: Same. 706 * testsuite/libgomp.fortran/task-detach-6.f90: Same. 707 7082022-02-22 Tom de Vries <tdevries@suse.de> 709 710 PR testsuite/104146 711 * testsuite/libgomp.c++/pr96390.C: Add additional-option 712 -foffload=-Wa,--verify for nvptx. 713 * testsuite/libgomp.c-c++-common/pr96390.c: Same. 714 7152022-02-15 Tobias Burnus <tobias@codesourcery.com> 716 717 * testsuite/libgomp.fortran/depend-4.f90: New test. 718 7192022-02-10 Tobias Burnus <tobias@codesourcery.com> 720 721 PR c++/102204 722 * testsuite/libgomp.c++/target-virtual-1.C: New test. 723 7242022-02-10 Marcel Vollweiler <marcel@codesourcery.com> 725 726 * libgomp.texi: Updated entry for HAS_DEVICE_ADDR. 727 * target.c (copy_firstprivate_data): Copy only if host address is not 728 NULL. 729 * testsuite/libgomp.c++/target-has-device-addr-2.C: New test. 730 * testsuite/libgomp.c++/target-has-device-addr-4.C: New test. 731 * testsuite/libgomp.c++/target-has-device-addr-5.C: New test. 732 * testsuite/libgomp.c++/target-has-device-addr-6.C: New test. 733 * testsuite/libgomp.c-c++-common/target-has-device-addr-1.c: New test. 734 * testsuite/libgomp.c/target-has-device-addr-3.c: New test. 735 * testsuite/libgomp.fortran/target-has-device-addr-1.f90: New test. 736 * testsuite/libgomp.fortran/target-has-device-addr-2.f90: New test. 737 * testsuite/libgomp.fortran/target-has-device-addr-3.f90: New test. 738 * testsuite/libgomp.fortran/target-has-device-addr-4.f90: New test. 739 7402022-02-08 Jakub Jelinek <jakub@redhat.com> 741 742 PR libgomp/104385 743 * task.c (gomp_task_run_post_handle_dependers): If parent is NULL, 744 clear task->parent. 745 * testsuite/libgomp.c/pr104385.c: New test. 746 7472022-02-04 Tobias Burnus <tobias@codesourcery.com> 748 749 * testsuite/libgomp.fortran/allocate-1.f90: Remove spurious 750 STOP of previous commit. 751 7522022-02-04 Tobias Burnus <tobias@codesourcery.com> 753 754 * testsuite/libgomp.fortran/allocate-1.c (is_64bit_aligned): Renamed 755 from is_64bit_aligned_. 756 * testsuite/libgomp.fortran/allocate-1.f90: Fix interface decl 757 and use it, more implicit none, remove unused argument. 758 7592022-02-03 David Seifert <soap@gentoo.org> 760 Jakub Jelinek <jakub@redhat.com> 761 762 * configure.ac: Support --disable-werror. 763 * configure: Regenerate. 764 7652022-02-01 Tom de Vries <tdevries@suse.de> 766 767 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: Remove 768 PR83812 workaround. 769 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: Same. 770 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90: Same. 771 7722022-02-01 Tom de Vries <tdevries@suse.de> 773 774 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Reduce 775 num_workers for nvidia accelerator to fix libgomp error 'insufficient 776 resources'. 777 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: 778 Same. 779 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Same. 780 7812022-02-01 Tom de Vries <tdevries@suse.de> 782 783 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce 784 recursion depth. 785 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same. 786 7872022-01-31 Martin Liska <mliska@suse.cz> 788 789 * acinclude.m4: Detect *_ld_is_mold and use it. 790 * configure: Regenerate. 791 7922022-01-27 Tobias Burnus <tobias@codesourcery.com> 793 794 * libgomp.texi (OpenMP 5.0): Update implementation status. 795 7962022-01-21 Thomas Schwinge <thomas@codesourcery.com> 797 798 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Strengthen. 799 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise. 800 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise. 801 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise. 802 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise. 803 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise. 804 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise. 805 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise. 806 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise. 807 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise. 808 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise. 809 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise. 810 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise. 811 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise. 812 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise. 813 8142022-01-19 Marcel Vollweiler <marcel@codesourcery.com> 815 816 * config/gcn/icv-device.c: Make GOMP_DEVICE_NUM_VAR public (remove 817 "static") to make the device num available in the offload image. 818 8192022-01-19 Martin Liska <mliska@suse.cz> 820 Thomas Schwinge <thomas@codesourcery.com> 821 822 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update scanning 823 patterns. 824 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise. 825 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: 826 Likewise. 827 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise. 828 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise. 829 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise. 830 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise. 831 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: 832 Likewise. 833 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: 834 Likewise. 835 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: 836 Likewise. 837 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: 838 Likewise. 839 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: 840 Likewise. 841 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: 842 Likewise. 843 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise. 844 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise. 845 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise. 846 8472022-01-18 Martin Liska <mliska@suse.cz> 848 849 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update keyword 850 in dg-warning. 851 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise. 852 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise. 853 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise. 854 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise. 855 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise. 856 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise. 857 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Likewise. 858 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: Likewise. 859 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: Likewise. 860 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: Likewise. 861 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Likewise. 862 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: Likewise. 863 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise. 864 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise. 865 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise. 866 8672022-01-17 Thomas Schwinge <thomas@codesourcery.com> 868 869 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Extend. 870 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise. 871 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise. 872 8732022-01-17 Julian Brown <julian@codesourcery.com> 874 Thomas Schwinge <thomas@codesourcery.com> 875 876 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: New test. 877 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: New test. 878 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: New test. 879 8802022-01-16 Kwok Cheung Yeung <kcy@codesourcery.com> 881 Andrew Stubbs <ams@codesourcery.com> 882 883 * plugin/plugin-gcn.c (parse_target_attributes): Automatically set 884 the number of teams and threads if necessary. 885 (gcn_exec): Automatically set the number of gangs and workers if 886 necessary. 887 8882022-01-13 Hafiz Abid Qadeer <abidh@codesourcery.com> 889 890 * testsuite/libgomp.fortran/allocate-1.c: New test. 891 * testsuite/libgomp.fortran/allocate-1.f90: New test. 892 * libgomp.texi: Remove string that says that allocate clause 893 support is for C/C++ only. 894 8952022-01-13 Thomas Schwinge <thomas@codesourcery.com> 896 897 * testsuite/libgomp.c-c++-common/on_device_arch.h 898 (any_device_arch, any_device_arch_intel_mic): New. 899 * testsuite/lib/libgomp.exp 900 (check_effective_target_offload_device_any_intel_mic): New. 901 * testsuite/libgomp.c-c++-common/target-45.c: Use it. 902 * testsuite/libgomp.fortran/target10.f90: Likewise. 903 9042022-01-13 Thomas Schwinge <thomas@codesourcery.com> 905 906 PR tree-optimization/102192 907 * testsuite/libgomp.oacc-fortran/routine-10.f90: Document current 908 '-Wuninitialized' diagnostics. 909 9102022-01-13 Thomas Schwinge <thomas@codesourcery.com> 911 912 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Document 913 current '-Wuninitialized' diagnostics. 914 * testsuite/libgomp.oacc-fortran/data-5.f90: Likewise. 915 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Likewise. 916 * testsuite/libgomp.oacc-fortran/gemm.f90: Likewise. 917 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Likewise. 918 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise. 919 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise. 920 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: Likewise. 921 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise. 922 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise. 923 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise. 924 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: 925 Likewise. 926 9272022-01-13 Thomas Schwinge <thomas@codesourcery.com> 928 929 * testsuite/libgomp.c/address-space-1.c: Remove 'dg-xfail-run-if' 930 for 'offload_device_intel_mic'. 931 9322022-01-13 Julian Brown <julian@codesourcery.com> 933 Thomas Schwinge <thomas@codesourcery.com> 934 935 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Remove GCN 936 offloading execution XFAIL. 937 9382022-01-13 Thomas Schwinge <thomas@codesourcery.com> 939 940 PR middle-end/100280 941 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c: 942 Update. 943 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise. 944 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: 945 Likewise. 946 9472022-01-13 Thomas Schwinge <thomas@codesourcery.com> 948 949 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c: 950 Enhance. 951 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c: 952 Likewise. 953 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Likewise. 954 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise. 955 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: Likewise. 956 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: Likewise. 957 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: 958 Likewise. 959 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise. 960 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise. 961 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise. 962 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise. 963 9642022-01-04 Tobias Burnus <tobias@codesourcery.com> 965 966 * testsuite/libgomp.c-c++-common/target-45.c: Iterate over all devices. 967 * testsuite/libgomp.fortran/target10.f90: Likewise. 968 9692022-01-04 Chung-Lin Tang <cltang@codesourcery.com> 970 971 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Change uses of STRINGX 972 into XSTRING when looking for GOMP_DEVICE_NUM_VAR in offload image. 973 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise. 974 9752022-01-03 Jakub Jelinek <jakub@redhat.com> 976 977 * libgomp.texi: Bump @copying's copyright year. 978 9792021-12-13 Tobias Burnus <tobias@codesourcery.com> 980 981 * libgomp.texi (OpenMP 5.1): Set Fortran support for atomic to 'Y'. 982 * testsuite/libgomp.fortran/atomic-19.f90: New test. 983 9842021-12-10 Andrew Stubbs <ams@codesourcery.com> 985 986 * plugin/plugin-gcn.c (struct gcn_image_desc): Remove global_variables. 987 (GOMP_OFFLOAD_load_image): Locate the offload variables via the 988 table, not individual symbols. 989 9902021-12-09 Chung-Lin Tang <cltang@codesourcery.com> 991 992 * testsuite/libgomp.c++/target-lambda-1.C: Only run under 993 "target offload_device_nonshared_as" 994 * testsuite/libgomp.c++/target-this-3.C: Likewise. 995 * testsuite/libgomp.c++/target-this-4.C: Likewise. 996 9972021-12-08 Chung-Lin Tang <cltang@codesourcery.com> 998 999 * target.c (gomp_map_vars_existing): Make sure attached pointer is 1000 not overwritten during cross-host/device copying. 1001 (gomp_update): Likewise. 1002 (gomp_exit_data): Likewise. 1003 * testsuite/libgomp.c++/target-11.C: Adjust testcase. 1004 * testsuite/libgomp.c++/target-12.C: Likewise. 1005 * testsuite/libgomp.c++/target-15.C: Likewise. 1006 * testsuite/libgomp.c++/target-16.C: Likewise. 1007 * testsuite/libgomp.c++/target-17.C: Likewise. 1008 * testsuite/libgomp.c++/target-21.C: Likewise. 1009 * testsuite/libgomp.c++/target-23.C: Likewise. 1010 * testsuite/libgomp.c/target-23.c: Likewise. 1011 * testsuite/libgomp.c/target-29.c: Likewise. 1012 * testsuite/libgomp.c-c++-common/target-implicit-map-2.c: New testcase. 1013 10142021-12-08 Chung-Lin Tang <cltang@codesourcery.com> 1015 1016 PR middle-end/92120 1017 * libgomp.h (gomp_attach_pointer): Add bool parameter. 1018 * oacc-mem.c (acc_attach_async): Update call to gomp_attach_pointer. 1019 (goacc_enter_data_internal): Likewise. 1020 * target.c (gomp_map_vars_existing): Update assert condition to 1021 include GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION. 1022 (gomp_map_pointer): Add 'bool allow_zero_length_array_sections' 1023 parameter, add support for mapping a pointer with NULL target. 1024 (gomp_attach_pointer): Add 'bool allow_zero_length_array_sections' 1025 parameter, add support for attaching a pointer with NULL target. 1026 (gomp_map_vars_internal): Update calls to gomp_map_pointer and 1027 gomp_attach_pointer, add handling for 1028 GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION, and 1029 GOMP_MAP_POINTER_TO_ZERO_LENGTH_ARRAY_SECTION cases. 1030 * testsuite/libgomp.c++/target-23.C: New testcase. 1031 * testsuite/libgomp.c++/target-lambda-1.C: New testcase. 1032 * testsuite/libgomp.c++/target-lambda-2.C: New testcase. 1033 * testsuite/libgomp.c++/target-this-1.C: New testcase. 1034 * testsuite/libgomp.c++/target-this-2.C: New testcase. 1035 * testsuite/libgomp.c++/target-this-3.C: New testcase. 1036 * testsuite/libgomp.c++/target-this-4.C: New testcase. 1037 * testsuite/libgomp.c++/target-this-5.C: New testcase. 1038 10392021-12-04 Tobias Burnus <tobias@codesourcery.com> 1040 1041 * libgomp.texi (OpenMP 5.1): Update status. 1042 10432021-12-04 Tobias Burnus <tobias@codesourcery.com> 1044 1045 * libgomp.texi (OMP_PLACES): Extend description for OMP 5.1 changes. 1046 10472021-12-02 Chung-Lin Tang <cltang@codesourcery.com> 1048 1049 PR fortran/90030 1050 * testsuite/libgomp.oacc-fortran/pr90030.f90: New test. 1051 * testsuite/libgomp.fortran/pr90030.f90: New test. 1052 10532021-11-30 Kwok Cheung Yeung <kcy@codesourcery.com> 1054 Thomas Schwinge <thomas@codesourcery.com> 1055 1056 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Remove 1057 temporary skip. 1058 10592021-11-30 Cesar Philippidis <cesar@codesourcery.com> 1060 Thomas Schwinge <thomas@codesourcery.com> 1061 1062 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Temporarily 1063 skip. 1064 10652021-11-29 Richard Biener <rguenther@suse.de> 1066 1067 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): Remove unreachable 1068 return. 1069 10702021-11-24 Jakub Jelinek <jakub@redhat.com> 1071 1072 PR middle-end/103384 1073 * testsuite/libgomp.c/declare-variant-2.c: New test. 1074 10752021-11-18 David Edelsohn <dje.gcc@gmail.com> 1076 1077 * alloc.c (gomp_aligned_alloc): Fix typo. 1078 10792021-11-18 Jakub Jelinek <jakub@redhat.com> 1080 1081 PR libgomp/102838 1082 * libgomp.h (GOMP_USE_ALIGNED_WORK_SHARES): Define if 1083 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined and __AMDGCN__ is not. 1084 (struct gomp_work_share): Use GOMP_USE_ALIGNED_WORK_SHARES instead of 1085 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC. 1086 * work.c (alloc_work_share, gomp_work_share_start): Likewise. 1087 * team.c (gomp_new_team): If GOMP_USE_ALIGNED_WORK_SHARES, use 1088 gomp_aligned_alloc instead of team_malloc. 1089 10902021-11-18 Jakub Jelinek <jakub@redhat.com> 1091 1092 PR libgomp/102838 1093 * alloc.c (gomp_aligned_alloc): Prefer _aligned_alloc over 1094 memalign over posix_memalign over aligned_alloc over fallback 1095 with malloc instead of aligned_alloc over _aligned_alloc over 1096 posix_memalign over memalign over fallback with malloc. For 1097 aligned_alloc, round up size up to multiple of al. 1098 10992021-11-16 Jakub Jelinek <jakub@redhat.com> 1100 1101 * libgomp.texi (OpenMP 5.1): Mark thread_limit clause to target 1102 construct as implemented. 1103 11042021-11-15 Tobias Burnus <tobias@codesourcery.com> 1105 1106 * testsuite/libgomp.fortran/thread-limit-1.f90: New test. 1107 11082021-11-15 Jakub Jelinek <jakub@redhat.com> 1109 1110 * task.c (gomp_create_target_task): Copy args array as well. 1111 * target.c (gomp_target_fallback): Add args argument. 1112 Set gomp_icv (true)->thread_limit_var if thread_limit is present. 1113 (GOMP_target): Adjust gomp_target_fallback caller. 1114 (GOMP_target_ext): Likewise. 1115 (gomp_target_task_fn): Likewise. 1116 * config/nvptx/team.c (gomp_nvptx_main): Set 1117 gomp_global_icv.thread_limit_var. 1118 * testsuite/libgomp.c-c++-common/thread-limit-1.c: New test. 1119 11202021-11-15 Jakub Jelinek <jakub@redhat.com> 1121 1122 * config/nvptx/team.c (__gomp_team_num): Define as 1123 __attribute__((shared)) var. 1124 (gomp_nvptx_main): Initialize __gomp_team_num to 0. 1125 * config/nvptx/target.c (__gomp_team_num): Declare as 1126 extern __attribute__((shared)) var. 1127 (GOMP_teams4): Use __gomp_team_num as the team number instead of 1128 %ctaid.x. If first, initialize it to %ctaid.x. If num_teams_lower 1129 is bigger than num_blocks, use num_teams_lower teams and arrange for 1130 bumping of __gomp_team_num if !first and returning false once we run 1131 out of teams. 1132 * config/nvptx/teams.c (__gomp_team_num): Declare as 1133 extern __attribute__((shared)) var. 1134 (omp_get_team_num): Return __gomp_team_num value instead of %ctaid.x. 1135 11362021-11-15 Jakub Jelinek <jakub@redhat.com> 1137 1138 * testsuite/libgomp.c/teams-5.c: New test. 1139 11402021-11-12 Jakub Jelinek <jakub@redhat.com> 1141 1142 PR target/103201 1143 * config/gcn/icv-device.c (omp_get_num_teams, omp_get_team_num): Move 1144 to ... 1145 * config/gcn/teams.c: ... here. New file. 1146 11472021-11-12 Chung-Lin Tang <cltang@codesourcery.com> 1148 1149 * target.c (gomp_map_vars_existing): Add 'bool implicit' parameter, add 1150 implicit map handling to allow a "superset" existing map as valid case. 1151 (get_kind): Adjust to filter out GOMP_MAP_IMPLICIT bits in return value. 1152 (get_implicit): New function to extract implicit status. 1153 (gomp_map_fields_existing): Adjust arguments in calls to 1154 gomp_map_vars_existing, and add uses of get_implicit. 1155 (gomp_map_vars_internal): Likewise. 1156 * testsuite/libgomp.c-c++-common/target-implicit-map-1.c: New test. 1157 11582021-11-12 Jakub Jelinek <jakub@redhat.com> 1159 1160 * libgomp_g.h (GOMP_teams4): Declare. 1161 * libgomp.map (GOMP_5.1): Export GOMP_teams4. 1162 * target.c (GOMP_teams4): New function. 1163 * config/nvptx/target.c (GOMP_teams): Remove. 1164 (GOMP_teams4): New function. 1165 * config/gcn/target.c (GOMP_teams): Remove. 1166 (GOMP_teams4): New function. 1167 * testsuite/libgomp.c/teams-4.c (main): Expect exactly 2 1168 teams instead of <= 2. 1169 * testsuite/libgomp.c-c++-common/teams-2.c: New test. 1170 11712021-11-11 Tobias Burnus <tobias@codesourcery.com> 1172 1173 * testsuite/libgomp.fortran/teams-1.f90: New test. 1174 11752021-11-11 Jakub Jelinek <jakub@redhat.com> 1176 1177 * libgomp.h (struct gomp_thread): Add num_teams and team_num members. 1178 * team.c (struct gomp_thread_start_data): Likewise. 1179 (gomp_thread_start): Initialize thr->num_teams and thr->team_num. 1180 (gomp_team_start): Initialize start_data->num_teams and 1181 start_data->team_num. Update nthr->num_teams and nthr->team_num. 1182 * teams.c (gomp_num_teams, gomp_team_num): Remove. 1183 (GOMP_teams_reg): Set and restore thr->num_teams and thr->team_num 1184 instead of gomp_num_teams and gomp_team_num. 1185 (omp_get_num_teams): Use thr->num_teams + 1 instead of gomp_num_teams. 1186 (omp_get_team_num): Use thr->team_num instead of gomp_team_num. 1187 * testsuite/libgomp.c/teams-4.c: New test. 1188 11892021-11-11 Jakub Jelinek <jakub@redhat.com> 1190 1191 * testsuite/libgomp.c-c++-common/teams-1.c: New test. 1192 11932021-11-09 Thomas Schwinge <thomas@codesourcery.com> 1194 1195 * env.c (parse_gomp_openacc_dim): Restore parsing. 1196 11972021-10-30 Tobias Burnus <tobias@codesourcery.com> 1198 1199 PR middle-end/102972 1200 * testsuite/libgomp.c-c++-common/icv-3.c: Nest API calls inside 1201 parallel construct. 1202 * testsuite/libgomp.c-c++-common/icv-4.c: Likewise. 1203 * testsuite/libgomp.c/target-3.c: Likewise. 1204 * testsuite/libgomp.c/target-5.c: Likewise. 1205 * testsuite/libgomp.c/target-6.c: Likewise. 1206 * testsuite/libgomp.c/target-teams-1.c: Likewise. 1207 * testsuite/libgomp.c/teams-1.c: Likewise. 1208 * testsuite/libgomp.c/thread-limit-2.c: Likewise. 1209 * testsuite/libgomp.c/thread-limit-3.c: Likewise. 1210 * testsuite/libgomp.c/thread-limit-4.c: Likewise. 1211 * testsuite/libgomp.c/thread-limit-5.c: Likewise. 1212 * testsuite/libgomp.fortran/icv-3.f90: Likewise. 1213 * testsuite/libgomp.fortran/icv-4.f90: Likewise. 1214 * testsuite/libgomp.fortran/teams1.f90: Likewise. 1215 12162021-10-29 Aldy Hernandez <aldyh@redhat.com> 1217 1218 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for threading changes. 1219 * testsuite/libgomp.graphite/force-parallel-8.c: Same. 1220 12212021-10-27 Jakub Jelinek <jakub@redhat.com> 1222 1223 * libgomp.texi (OpenMP 5.0): Mention that Non-rectangular loop nests 1224 aren't implemented for Fortran yet. 1225 12262021-10-27 Jakub Jelinek <jakub@redhat.com> 1227 1228 * testsuite/libgomp.c/loop-26.c: New test. 1229 * testsuite/libgomp.c/loop-27.c: New test. 1230 12312021-10-25 Tobias Burnus <tobias@codesourcery.com> 1232 1233 PR testsuite/102910 1234 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Use __builtin_alloca 1235 instead of #include <alloca.h> + alloca. 1236 12372021-10-21 Chung-Lin Tang <cltang@codesourcery.com> 1238 1239 * libgomp.texi (Support of strictly structured blocks in Fortran): 1240 Adjust to 'Y'. 1241 * testsuite/libgomp.fortran/task-reduction-16.f90: Adjust testcase. 1242 12432021-10-20 Chung-Lin Tang <cltang@codesourcery.com> 1244 1245 * testsuite/libgomp.fortran/target-in-reduction-1.f90: New test. 1246 * testsuite/libgomp.fortran/target-in-reduction-2.f90: New test. 1247 12482021-10-20 Jakub Jelinek <jakub@redhat.com> 1249 1250 PR libgomp/102838 1251 * libgomp.h (struct gomp_work_share_1st_cacheline): New type. 1252 (struct gomp_work_share): Only use aligned(64) attribute if 1253 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined, otherwise just 1254 add padding before lock to ensure lock is at offset 64 bytes 1255 into the structure. 1256 (gomp_workshare_struct_check1, gomp_workshare_struct_check2): 1257 New poor man's static assertions. 1258 * work.c (gomp_work_share_start): Use gomp_aligned_alloc instead of 1259 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC. 1260 12612021-10-20 Aldy Hernandez <aldyh@redhat.com> 1262 Richard Biener <rguenther@suse.de> 1263 1264 * testsuite/libgomp.graphite/force-parallel-5.c: Remove xfail. 1265 12662021-10-18 Jakub Jelinek <jakub@redhat.com> 1267 1268 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Add 1269 && gomp_places_list_len < count after nfirst <= nlast loop condition. 1270 12712021-10-18 Tobias Burnus <tobias@codesourcery.com> 1272 1273 PR fortran/102086 1274 PR fortran/92189 1275 PR fortran/92621 1276 PR fortran/101308 1277 PR fortran/101309 1278 PR fortran/101635 1279 PR fortran/92482 1280 * testsuite/libgomp.fortran/optional-bind-c.f90: New test. 1281 12822021-10-15 Jakub Jelinek <jakub@redhat.com> 1283 1284 * testsuite/libgomp.c/affinity-1.c (struct places): Change name field 1285 type from char [50] to const char *. 1286 (places_array): Add a testcase for simplified syntax place followed 1287 by length or length and stride. 1288 12892021-10-15 Jakub Jelinek <jakub@redhat.com> 1290 1291 * env.c (parse_one_place): Handle non-negative-number the same 1292 as { non-negative-number }. Reject even !number:1 and 1293 !number:1:stride or !place:1 or !place:1:stride instead of just 1294 length other than 1. 1295 * libgomp.texi (OpenMP 5.1): Document OMP_PLACES syntax extensions 1296 and OMP_NUM_TEAMS/OMP_TEAMS_THREAD_LIMIT and 1297 omp_{set_num,get_max}_teams/omp_{s,g}et_teams_thread_limit features 1298 as implemented. 1299 * testsuite/libgomp.c/affinity-1.c: Add a test for the 5.1 place 1300 simplified syntax. 1301 13022021-10-15 Jakub Jelinek <jakub@redhat.com> 1303 1304 * env.c (parse_schedule): For strtoul or strtoull calls which don't 1305 clearly reject return value 0 as invalid handle the case where end 1306 pointer is the same as first argument as invalid. 1307 (parse_unsigned_long_1): Likewise. 1308 (parse_one_place): Likewise. 1309 (parse_places_var): Likewise. 1310 (parse_stacksize): Likewise. 1311 (parse_spincount): Likewise. 1312 (parse_affinity): Likewise. 1313 (parse_gomp_openacc_dim): Likewise. Avoid strict aliasing violation. 1314 Make code valid C89. 1315 * config/linux/affinity.c (gomp_affinity_find_last_cache_level): 1316 For strtoul calls which don't clearly reject return value 0 as 1317 invalid handle the case where end pointer is the same as first 1318 argument as invalid. 1319 (gomp_affinity_init_level_1): Likewise. 1320 (gomp_affinity_init_numa_domains): Likewise. 1321 * config/rtems/proc.c (parse_thread_pools): Likewise. 1322 13232021-10-15 Jakub Jelinek <jakub@redhat.com> 1324 1325 * config/linux/affinity.c (gomp_affinity_init_level_1): For level 1 1326 after creating count places clean up and return immediately. 1327 * testsuite/libgomp.c/places-6.c: New test. 1328 * testsuite/libgomp.c/places-7.c: New test. 1329 * testsuite/libgomp.c/places-8.c: New test. 1330 * testsuite/libgomp.c/places-9.c: New test. 1331 * testsuite/libgomp.c/places-10.c: New test. 1332 13332021-10-15 Jakub Jelinek <jakub@redhat.com> 1334 1335 * env.c (parse_places_var): Handle numa_domains as level 5. 1336 * config/linux/affinity.c (gomp_affinity_init_numa_domains): New 1337 function. 1338 (gomp_affinity_init_level): Use it instead of 1339 gomp_affinity_init_level_1 for level == 5. 1340 * testsuite/libgomp.c/places-5.c: New test. 1341 13422021-10-15 Jakub Jelinek <jakub@redhat.com> 1343 1344 * env.c (parse_places_var): Handle ll_caches as level 4. 1345 * config/linux/affinity.c (gomp_affinity_find_last_cache_level): New 1346 function. 1347 (gomp_affinity_init_level_1): Handle level 4 as logical cpus sharing 1348 last level cache. 1349 (gomp_affinity_init_level): Likewise. 1350 * testsuite/libgomp.c/places-1.c: New test. 1351 * testsuite/libgomp.c/places-2.c: New test. 1352 * testsuite/libgomp.c/places-3.c: New test. 1353 * testsuite/libgomp.c/places-4.c: New test. 1354 13552021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com> 1356 1357 * libgomp.texi (OpenMP 5.0): Update entry for declare variant 1358 directive. 1359 13602021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com> 1361 1362 * testsuite/libgomp.fortran/declare-variant-1.f90: New test. 1363 13642021-10-12 Julian Brown <julian@codesourcery.com> 1365 1366 * target.c (gomp_copy_host2dev): Release device lock on cbuf 1367 error path. 1368 13692021-10-12 Tobias Burnus <tobias@codesourcery.com> 1370 1371 * testsuite/libgomp.fortran/icv-3.f90: New. 1372 * testsuite/libgomp.fortran/icv-4.f90: New. 1373 13742021-10-12 Jakub Jelinek <jakub@redhat.com> 1375 1376 * libgomp.texi (omp_get_max_teams, omp_get_teams_thread_limit, 1377 omp_set_num_teams, omp_set_teams_thread_limit, OMP_NUM_TEAMS, 1378 OMP_TEAMS_THREAD_LIMIT): Document. 1379 13802021-10-12 Jakub Jelinek <jakub@redhat.com> 1381 1382 * libgomp.texi (omp_get_device_num): Move @node before omp_get_dynamic 1383 to avoid makeinfo warnings. 1384 13852021-10-12 Jakub Jelinek <jakub@redhat.com> 1386 1387 * testsuite/libgomp.c-c++-common/icv-3.c: New test. 1388 * testsuite/libgomp.c-c++-common/icv-4.c: New test. 1389 13902021-10-12 Jakub Jelinek <jakub@redhat.com> 1391 1392 PR libgomp/102628 1393 PR libgomp/102668 1394 * testsuite/libgomp.c-c++-common/alloc-9.c (main): Decrease 1395 allocation sizes from 420 to 320 and from 768 to 568. 1396 * testsuite/libgomp.fortran/alloc-11.f90: Likewise. 1397 * testsuite/libgomp.fortran/alloc-1.F90: Change expected alignment 1398 for cr from 16 to 4. 1399 14002021-10-12 Jakub Jelinek <jakub@redhat.com> 1401 1402 * testsuite/libgomp.c/scan-11.c: Remove option -fvect-cost-model=cheap. 1403 * testsuite/libgomp.c/scan-12.c: Likewise. 1404 * testsuite/libgomp.c/scan-13.c: Likewise. 1405 * testsuite/libgomp.c/scan-14.c: Likewise. 1406 * testsuite/libgomp.c/scan-15.c: Likewise. 1407 * testsuite/libgomp.c/scan-16.c: Likewise. 1408 * testsuite/libgomp.c/scan-17.c: Likewise. 1409 * testsuite/libgomp.c/scan-18.c: Likewise. 1410 * testsuite/libgomp.c/scan-19.c: Likewise. 1411 * testsuite/libgomp.c/scan-20.c: Likewise. 1412 * testsuite/libgomp.c/scan-21.c: Likewise. 1413 * testsuite/libgomp.c/scan-22.c: Likewise. 1414 * testsuite/libgomp.c++/scan-9.C: Likewise. 1415 * testsuite/libgomp.c++/scan-10.C: Likewise. 1416 * testsuite/libgomp.c++/scan-11.C: Likewise. 1417 * testsuite/libgomp.c++/scan-12.C: Likewise. 1418 * testsuite/libgomp.c++/scan-13.C: Likewise. 1419 * testsuite/libgomp.c++/scan-14.C: Likewise. 1420 * testsuite/libgomp.c++/scan-15.C: Likewise. 1421 * testsuite/libgomp.c++/scan-16.C: Likewise. 1422 14232021-10-12 Kewen Lin <linkw@linux.ibm.com> 1424 1425 * testsuite/libgomp.graphite/force-parallel-8.c: Add --param max-stores-to-sink=0. 1426 14272021-10-11 Marcel Vollweiler <marcel@codesourcery.com> 1428 1429 * allocator.c (omp_init_allocator): Replace omp_atv_sequential with 1430 omp_atv_serialized. 1431 * omp.h.in: Add deprecated flag for omp_atv_sequential. 1432 * omp_lib.f90.in: Add deprecated flag for omp_atv_sequential. 1433 * testsuite/libgomp.c-c++-common/alloc-10.c: New test. 1434 * testsuite/libgomp.fortran/alloc-12.f90: New test. 1435 14362021-10-11 Jakub Jelinek <jakub@redhat.com> 1437 1438 * omp.h.in (omp_set_num_teams, omp_get_max_teams, 1439 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare. 1440 * omp_lib.f90.in (omp_set_num_teams, omp_get_max_teams, 1441 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare. 1442 * omp_lib.h.in (omp_set_num_teams, omp_get_max_teams, 1443 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare. 1444 * libgomp.h (gomp_nteams_var, gomp_teams_thread_limit_var): Declare. 1445 * libgomp.map (OMP_5.1): Export omp_get_max_teams{,_}, 1446 omp_get_teams_thread_limit{,_}, omp_set_num_teams{,_,_8_} and 1447 omp_set_teams_thread_limit{,_,_8_}. 1448 * icv.c (omp_set_num_teams, omp_get_max_teams, 1449 omp_set_teams_thread_limit, omp_get_teams_thread_limit): New 1450 functions. 1451 * env.c (gomp_nteams_var, gomp_teams_thread_limit_var): Define. 1452 (omp_display_env): Print OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT. 1453 (initialize_env): Handle OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT env 1454 vars. 1455 * teams.c (GOMP_teams_reg): If thread_limit is not specified, use 1456 gomp_teams_thread_limit_var as fallback if not zero. If num_teams 1457 is not specified, use gomp_nteams_var. 1458 * fortran.c (omp_set_num_teams, omp_get_max_teams, 1459 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Add 1460 ialias_redirect. 1461 (omp_set_num_teams_, omp_set_num_teams_8_, omp_get_max_teams_, 1462 omp_set_teams_thread_limit_, omp_set_teams_thread_limit_8_, 1463 omp_get_teams_thread_limit_): New functions. 1464 14652021-10-09 liuhongt <hongtao.liu@intel.com> 1466 1467 * testsuite/libgomp.c++/scan-10.C: Add option -fvect-cost-model=cheap. 1468 * testsuite/libgomp.c++/scan-11.C: Ditto. 1469 * testsuite/libgomp.c++/scan-12.C: Ditto. 1470 * testsuite/libgomp.c++/scan-13.C: Ditto. 1471 * testsuite/libgomp.c++/scan-14.C: Ditto. 1472 * testsuite/libgomp.c++/scan-15.C: Ditto. 1473 * testsuite/libgomp.c++/scan-16.C: Ditto. 1474 * testsuite/libgomp.c++/scan-9.C: Ditto. 1475 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: Ditto. 1476 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: Ditto. 1477 * testsuite/libgomp.c/scan-11.c: Ditto. 1478 * testsuite/libgomp.c/scan-12.c: Ditto. 1479 * testsuite/libgomp.c/scan-13.c: Ditto. 1480 * testsuite/libgomp.c/scan-14.c: Ditto. 1481 * testsuite/libgomp.c/scan-15.c: Ditto. 1482 * testsuite/libgomp.c/scan-16.c: Ditto. 1483 * testsuite/libgomp.c/scan-17.c: Ditto. 1484 * testsuite/libgomp.c/scan-18.c: Ditto. 1485 * testsuite/libgomp.c/scan-19.c: Ditto. 1486 * testsuite/libgomp.c/scan-20.c: Ditto. 1487 * testsuite/libgomp.c/scan-21.c: Ditto. 1488 * testsuite/libgomp.c/scan-22.c: Ditto. 1489 14902021-10-09 Jakub Jelinek <jakub@redhat.com> 1491 1492 * libgomp.texi (OpenMP 5.1): Mention implemented support for 1493 structured block sequences in C/C++. Mention support for 1494 unconstrained/reproducible modifiers on order clause. 1495 Mention partial (C/C++ only) support of extentensions to atomics 1496 construct. Mention partial (C/C++ on clause only) support of 1497 align/allocator modifiers on allocate clause. 1498 14992021-10-02 Tobias Burnus <tobias@codesourcery.com> 1500 1501 * testsuite/libgomp.fortran/order-reproducible-1.f90: New test 1502 based on libgomp.c-c++-common/order-reproducible-1.c. 1503 * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise. 1504 * testsuite/libgomp.fortran/my-usleep.c: New test. 1505 15062021-10-01 Tobias Burnus <tobias@codesourcery.com> 1507 1508 * testsuite/libgomp.fortran/alloc-10.f90: Fix alignment check. 1509 * testsuite/libgomp.fortran/alloc-7.f90: Fix array access. 1510 * testsuite/libgomp.fortran/alloc-8.f90: Likewise. 1511 * testsuite/libgomp.fortran/alloc-11.f90: New test for omp_realloc, 1512 based on libgomp.c-c++-common/alloc-9.c. 1513 15142021-10-01 Jakub Jelinek <jakub@redhat.com> 1515 1516 * testsuite/libgomp.c-c++-common/order-reproducible-1.c: New test. 1517 * testsuite/libgomp.c-c++-common/order-reproducible-2.c: New test. 1518 15192021-10-01 Jakub Jelinek <jakub@redhat.com> 1520 1521 * affinity-fmt.c (omp_get_team_num, omp_get_num_teams): Add 1522 ialias_redirect. 1523 * env.c (handle_omp_display_env): Use ialias_call. 1524 * icv-device.c: Move ialias right below each function. 1525 (omp_get_device_num): Use ialias_call. 1526 * fortran.c (omp_fulfill_event): Add ialias_redirect. 1527 * icv.c (omp_get_active_level): Add ialias_redirect. 1528 15292021-10-01 Jakub Jelinek <jakub@redhat.com> 1530 1531 * omp.h.in (omp_aligned_alloc, omp_aligned_calloc): Add 1532 __alloc_align__ (1) attribute. 1533 * testsuite/libgomp.c-c++-common/alloc-9.c: New test. 1534 15352021-09-30 Tobias Burnus <tobias@codesourcery.com> 1536 1537 * testsuite/libgomp.fortran/alloc-7.f90: Add dg-prune-output 1538 for -fintrinsic-modules-path= warning of the C compiler. 1539 * testsuite/libgomp.fortran/alloc-9.f90: Likewise. 1540 * testsuite/libgomp.fortran/alloc-10.f90: Likewise. 1541 15422021-09-30 Tobias Burnus <tobias@codesourcery.com> 1543 1544 * libgomp.texi (OpenMP 5.1): Set implementation status to Y for 1545 omp_aligned_{,c}alloc and omp_{c,re}alloc routines. 1546 * omp_lib.f90.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc, 1547 omp_realloc): Add. 1548 * omp_lib.h.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc, 1549 omp_realloc): Add. 1550 * testsuite/libgomp.fortran/alloc-10.f90: New test. 1551 * testsuite/libgomp.fortran/alloc-6.f90: New test. 1552 * testsuite/libgomp.fortran/alloc-7.c: New test. 1553 * testsuite/libgomp.fortran/alloc-7.f90: New test. 1554 * testsuite/libgomp.fortran/alloc-8.f90: New test. 1555 * testsuite/libgomp.fortran/alloc-9.f90: New test. 1556 15572021-09-30 Jakub Jelinek <jakub@redhat.com> 1558 1559 * omp.h.in (omp_aligned_alloc, omp_calloc, omp_aligned_calloc, 1560 omp_realloc): New prototypes. 1561 (omp_alloc): Move after omp_free prototype, add __malloc__ (omp_free) 1562 attribute. 1563 * allocator.c: Include string.h. 1564 (omp_aligned_alloc): No longer static, add ialias. Add new_alignment 1565 variable and use it instead of alignment so that when retrying the old 1566 alignment is used again. Don't retry if new alignment is the same 1567 as old alignment, unless allocator had pool size. 1568 (omp_alloc, GOMP_alloc, GOMP_free): Use ialias_call. 1569 (omp_aligned_calloc, omp_calloc, omp_realloc): New functions. 1570 * libgomp.map (OMP_5.0.2): Export omp_aligned_alloc, omp_calloc, 1571 omp_aligned_calloc and omp_realloc. 1572 * testsuite/libgomp.c-c++-common/alloc-4.c (main): Add 1573 omp_aligned_alloc, omp_calloc and omp_aligned_calloc tests. 1574 * testsuite/libgomp.c-c++-common/alloc-5.c: New test. 1575 * testsuite/libgomp.c-c++-common/alloc-6.c: New test. 1576 * testsuite/libgomp.c-c++-common/alloc-7.c: New test. 1577 * testsuite/libgomp.c-c++-common/alloc-8.c: New test. 1578 15792021-09-28 Tobias Burnus <tobias@codesourcery.com> 1580 1581 PR libgomp/96661 1582 * configure.ac: Only check for int-type = 2*size_t support when 1583 building with Fortran support. 1584 * configure: Regenerate. 1585 15862021-09-28 Thomas Schwinge <thomas@codesourcery.com> 1587 1588 * testsuite/libgomp.oacc-fortran/if-1.f90: Adjust. 1589 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise. 1590 15912021-09-27 Aldy Hernandez <aldyh@redhat.com> 1592 1593 * team.c: Initialize start_data. 1594 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust. 1595 * testsuite/libgomp.graphite/force-parallel-8.c: Adjust. 1596 15972021-09-27 Tobias Burnus <tobias@codesourcery.com> 1598 1599 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Change 1600 dg-message back to dg-note. 1601 16022021-09-27 Tobias Burnus <tobias@codesourcery.com> 1603 1604 PR fortran/94070 1605 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Update 1606 expected dg-note output. 1607 16082021-09-22 Tobias Burnus <tobias@codesourcery.com> 1609 1610 PR fortran/55534 1611 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Revert 1612 r12-3722 by removing -Wno-missing-include-dirs. 1613 * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS): Likewise. 1614 16152021-09-22 Jakub Jelinek <jakub@redhat.com> 1616 1617 * testsuite/libgomp.c-c++-common/allocate-2.c: New test. 1618 * testsuite/libgomp.c-c++-common/allocate-3.c: New test. 1619 16202021-09-21 Tobias Burnus <tobias@codesourcery.com> 1621 1622 PR fortran/55534 1623 * testsuite/libgomp.fortran/fortran.exp: Add -Wno-missing-include-dirs 1624 to ALWAYS_CFLAGS. 1625 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 1626 16272021-09-18 Jakub Jelinek <jakub@redhat.com> 1628 1629 * testsuite/libgomp.c++/default-1.C: New test. 1630 * testsuite/libgomp.c-c++-common/default-1.c: New test. 1631 * libgomp.texi (OpenMP 5.1): Mark "private and firstprivate argument 1632 to default clause in C and C++" as implemented. 1633 16342021-09-17 Julian Brown <julian@codesourcery.com> 1635 1636 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Update. 1637 16382021-09-17 Julian Brown <julian@codesourcery.com> 1639 1640 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: New test. 1641 16422021-09-17 Jakub Jelinek <jakub@redhat.com> 1643 1644 * libgomp.texi (OpenMP 5.1): Spelling fix, 1645 declare variante -> declare variant. 1646 16472021-09-17 Jakub Jelinek <jakub@redhat.com> 1648 1649 * testsuite/libgomp.c-c++-common/atomic-19.c: Drop c effective target. 1650 Use /* */ comments instead of //. 1651 * testsuite/libgomp.c-c++-common/atomic-20.c: Likewise. 1652 * testsuite/libgomp.c-c++-common/atomic-21.c: Likewise. 1653 * testsuite/libgomp.c++/atomic-16.C: New test. 1654 * testsuite/libgomp.c++/atomic-17.C: New test. 1655 16562021-09-10 Jakub Jelinek <jakub@redhat.com> 1657 1658 * testsuite/libgomp.c-c++-common/atomic-19.c: New test. 1659 * testsuite/libgomp.c-c++-common/atomic-20.c: New test. 1660 * testsuite/libgomp.c-c++-common/atomic-21.c: New test. 1661 16622021-09-07 Tobias Burnus <tobias@codesourcery.com> 1663 1664 * libgomp.texi (OpenMP Implementation Status): Extend 1665 OpenMP 5.0 section. 1666 (OpenACC Profiling Interface): Fix typo. 1667 16682021-09-07 Tobias Burnus <tobias@codesourcery.com> 1669 1670 * libgomp.texi (Enabling OpenMP): Refer to OMP spec in general 1671 not to 4.5; link to new section. 1672 (OpenMP Implementation Status): New. 1673 16742021-09-06 Thomas Schwinge <thomas@codesourcery.com> 1675 1676 * testsuite/libgomp.c/target-43.c: '-latomic' for nvptx offloading. 1677 16782021-09-03 Tobias Burnus <tobias@codesourcery.com> 1679 1680 * testsuite/libgomp.c-c++-common/error-1.c: Use \r\n not \n\r in 1681 dg-output. 1682 * testsuite/libgomp.fortran/error-1.f90: Likewise. 1683 16842021-08-23 Thomas Schwinge <thomas@codesourcery.com> 1685 Jakub Jelinek <jakub@redhat.com> 1686 1687 * testsuite/libgomp.c/address-space-1.c: New file. 1688 16892021-08-23 Thomas Schwinge <thomas@codesourcery.com> 1690 1691 * testsuite/lib/libgomp.exp 1692 (check_effective_target_offload_target_intelmic): Remove 'proc'. 1693 (check_effective_target_offload_device_intel_mic): New 'proc'. 1694 * testsuite/libgomp.c-c++-common/on_device_arch.h 1695 (device_arch_intel_mic, on_device_arch_intel_mic): New. 1696 * testsuite/libgomp.c-c++-common/target-45.c: Use that for 1697 'dg-xfail-run-if'. 1698 * testsuite/libgomp.fortran/target10.f90: Likewise. 1699 17002021-08-23 Tobias Burnus <tobias@codesourcery.com> 1701 1702 * testsuite/libgomp.fortran/taskloop-4-a.f90: New test. 1703 * testsuite/libgomp.fortran/taskloop-4.f90: New test. 1704 * testsuite/libgomp.fortran/taskloop-5-a.f90: New test. 1705 * testsuite/libgomp.fortran/taskloop-5.f90: New test. 1706 17072021-08-23 Jakub Jelinek <jakub@redhat.com> 1708 1709 * taskloop.c (GOMP_taskloop): Handle GOMP_TASK_FLAG_STRICT. 1710 * testsuite/libgomp.c-c++-common/taskloop-4.c (main): Fix up comment. 1711 * testsuite/libgomp.c-c++-common/taskloop-5.c: New test. 1712 17132021-08-22 Thomas Schwinge <thomas@codesourcery.com> 1714 1715 * config/nvptx/error.c (fwrite, exit): Override, too. 1716 * testsuite/libgomp.c-c++-common/error-1.c: Add a minimum amount 1717 of offloading testing. 1718 * testsuite/libgomp.fortran/error-1.f90: Likewise. 1719 17202021-08-20 Tobias Burnus <tobias@codesourcery.com> 1721 1722 * testsuite/libgomp.fortran/error-1.f90: New test. 1723 17242021-08-20 Jakub Jelinek <jakub@redhat.com> 1725 1726 * libgomp.map (GOMP_5.1): Add GOMP_error and GOMP_warning. 1727 * libgomp_g.h (GOMP_warning, GOMP_error): Declare. 1728 * error.c (GOMP_warning, GOMP_error): New functions. 1729 * testsuite/libgomp.c-c++-common/error-1.c: New test. 1730 17312021-08-18 Tobias Burnus <tobias@codesourcery.com> 1732 1733 * omp_lib.f90.in (omp_alloc, omp_free, omp_target_alloc, 1734 omp_target_free. omp_target_is_present, omp_target_memcpy, 1735 omp_target_memcpy_rect, omp_target_associate_ptr, 1736 omp_target_disassociate_ptr): Add interface. 1737 * omp_lib.h.in (omp_alloc, omp_free, omp_target_alloc, 1738 omp_target_free. omp_target_is_present, omp_target_memcpy, 1739 omp_target_memcpy_rect, omp_target_associate_ptr, 1740 omp_target_disassociate_ptr): Add interface. 1741 * testsuite/libgomp.fortran/alloc-1.F90: Remove local 1742 interface block for omp_alloc + omp_free. 1743 * testsuite/libgomp.fortran/alloc-4.f90: Likewise. 1744 * testsuite/libgomp.fortran/refcount-1.f90: New test. 1745 * testsuite/libgomp.fortran/target-12.f90: New test. 1746 17472021-08-18 Jakub Jelinek <jakub@redhat.com> 1748 1749 * testsuite/libgomp.c-c++-common/nothing-1.c: New test. 1750 17512021-08-17 Tobias Burnus <tobias@codesourcery.com> 1752 1753 * testsuite/libgomp.fortran/scope-1.f90: New test. 1754 * testsuite/libgomp.fortran/task-reduction-16.f90: New test. 1755 17562021-08-17 Jakub Jelinek <jakub@redhat.com> 1757 1758 * Makefile.am (libgomp_la_SOURCES): Add scope.c 1759 * Makefile.in: Regenerated. 1760 * libgomp_g.h (GOMP_scope_start): Declare. 1761 * libgomp.map: Add GOMP_scope_start@@GOMP_5.1. 1762 * scope.c: New file. 1763 * testsuite/libgomp.c-c++-common/scope-1.c: New test. 1764 * testsuite/libgomp.c-c++-common/task-reduction-16.c: New test. 1765 17662021-08-16 Thomas Schwinge <thomas@codesourcery.com> 1767 1768 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Address 1769 '?:' issues. 1770 17712021-08-16 Tobias Burnus <tobias@codesourcery.com> 1772 1773 * testsuite/libgomp.fortran/masked-1.f90: New test. 1774 17752021-08-13 Thomas Schwinge <thomas@codesourcery.com> 1776 1777 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Adjust. 1778 17792021-08-12 Jakub Jelinek <jakub@redhat.com> 1780 1781 * testsuite/libgomp.c-c++-common/masked-1.c: New test. 1782 17832021-08-12 Tobias Burnus <tobias@codesourcery.com> 1784 1785 * env.c (parse_bind_var): Accept 'primary' as alias for 1786 'master'. 1787 (omp_display_env): Add TODO comment to 1788 change 'master' to 'primary' in proc_bind for OpenMP 5.1. 1789 * libgomp.texi: Change 'master thread' to 'primary thread' 1790 in line with OpenMP 5.1. 1791 (omp_get_proc_bind): Add omp_proc_bind_primary and note that 1792 omp_proc_bind_master is an alias of it. 1793 (OMP_PROC_BIND): Mention 'PRIMARY'. 1794 * omp.h.in (__GOMP_DEPRECATED_5_1): Define. 1795 (omp_proc_bind_primary): Add. 1796 (omp_proc_bind_master): Deprecate for OpenMP 5.1. 1797 * omp_lib.f90.in (omp_proc_bind_primary): Add. 1798 (omp_proc_bind_master): Deprecate for OpenMP 5.1. 1799 * omp_lib.h.in (omp_proc_bind_primary): Add. 1800 * testsuite/libgomp.c/affinity-1.c: Check that 1801 'primary' works and is identical to 'master'. 1802 18032021-08-09 Julian Brown <julian@codesourcery.com> 1804 Kwok Cheung Yeung <kcy@codesourcery.com> 1805 Thomas Schwinge <thomas@codesourcery.com> 1806 1807 * plugin/plugin-gcn.c (gcn_exec): Change default number of workers to 1808 16. 1809 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c 1810 [acc_device_radeon]: Update. 1811 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c 1812 [ACC_DEVICE_TYPE_radeon]: Likewise. 1813 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c 1814 [acc_device_radeon]: Likewise. 1815 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c 1816 [ACC_DEVICE_TYPE_radeon]: Likewise. 1817 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: XFAIL for 1818 'openacc_radeon_accel_selected' and '-O0'. 1819 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise. 1820 18212021-08-05 Chung-Lin Tang <cltang@codesourcery.com> 1822 1823 * icv-device.c (omp_get_device_num): New API function, host side. 1824 * fortran.c (omp_get_device_num_): New interface function. 1825 * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Define macro symbol. 1826 * libgomp.map (OMP_5.0.2): New version space with omp_get_device_num, 1827 omp_get_device_num_. 1828 * libgomp.texi (omp_get_device_num): Add documentation for new API 1829 function. 1830 * omp.h.in (omp_get_device_num): Add declaration. 1831 * omp_lib.f90.in (omp_get_device_num): Likewise. 1832 * omp_lib.h.in (omp_get_device_num): Likewise. 1833 * target.c (gomp_load_image_to_device): If additional entry for device 1834 number exists at end of returned entries from 'load_image_func' hook, 1835 copy the assigned device number over to the device variable. 1836 * config/gcn/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global. 1837 (omp_get_device_num): New API function, device side. 1838 * plugin/plugin-gcn.c ("symcat.h"): Add include. 1839 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR 1840 at end of returned 'target_table' entries. 1841 * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global. 1842 (omp_get_device_num): New API function, device side. 1843 * plugin/plugin-nvptx.c ("symcat.h"): Add include. 1844 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR 1845 at end of returned 'target_table' entries. 1846 * testsuite/lib/libgomp.exp 1847 (check_effective_target_offload_target_intelmic): New function for 1848 testing for intelmic offloading. 1849 * testsuite/libgomp.c-c++-common/target-45.c: New test. 1850 * testsuite/libgomp.fortran/target10.f90: New test. 1851 18522021-07-30 Thomas Schwinge <thomas@codesourcery.com> 1853 Ulrich Drepper <drepper@redhat.com> 1854 1855 * fortran.c (omp_display_env_, omp_display_env_8_): Only 1856 '#ifndef LIBGOMP_OFFLOADED_ONLY'. 1857 18582021-07-29 Thomas Schwinge <thomas@codesourcery.com> 1859 Julian Brown <julian@codesourcery.com> 1860 Kwok Cheung Yeung <kcy@codesourcery.com> 1861 1862 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: 1863 's%oaccdevlow%oaccloops%g'. 1864 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise. 1865 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise. 1866 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c: 1867 Likewise. 1868 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: 1869 Likewise. 1870 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: 1871 Likewise. 1872 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: 1873 Likewise. 1874 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: 1875 Likewise. 1876 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: 1877 Likewise. 1878 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: 1879 Likewise. 1880 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: 1881 Likewise. 1882 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise. 1883 18842021-07-29 Aldy Hernandez <aldyh@redhat.com> 1885 1886 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for 1887 threader. 1888 * testsuite/libgomp.graphite/force-parallel-8.c: Same. 1889 18902021-07-27 Ulrich Drepper <drepper@gmail.com> 1891 1892 * env.c (wait_policy, stacksize): New static variables, 1893 move out of handle_omp_display_env. 1894 (omp_display_env): New function. The meat of the old 1895 handle_omp_display_env function. 1896 (handle_omp_display_env): Change to not take parameters 1897 and instead use the global variables. Only perform 1898 parsing, defer to omp_display_env for the implementation. 1899 (initialize_env): Remove local variables wait_policy and 1900 stacksize. Don't pass parameters to handle_omp_display_env. 1901 * fortran.c: Add ialias_redirect for omp_display_env. 1902 (omp_display_env_, omp_display_env_8_): New functions. 1903 * libgomp.map (OMP_5.1): New version. Add omp_display_env, 1904 omp_display_env_, and omp_display_env_8_. 1905 * omp.h.in: Declare omp_display_env. 1906 * omp_lib.f90.in: Likewise. 1907 * omp_lib.h.in: Likewise. 1908 19092021-07-27 Thomas Schwinge <thomas@codesourcery.com> 1910 Julian Brown <julian@codesourcery.com> 1911 1912 * target.c (gomp_coalesce_buf_add): Update comment. 1913 (gomp_copy_host2dev, gomp_map_vars_internal): Don't expect to see 1914 'aq && cbuf'. 1915 (gomp_map_vars_internal): Only 'if (!aq)', do 1916 'gomp_coalesce_buf_add'. 1917 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Remove 1918 XFAIL. 1919 19202021-07-27 Julian Brown <julian@codesourcery.com> 1921 Thomas Schwinge <thomas@codesourcery.com> 1922 1923 * libgomp.h (gomp_copy_host2dev): Update prototype. 1924 * oacc-mem.c (memcpy_tofrom_device, update_dev_host): Add new 1925 argument to gomp_copy_host2dev (false). 1926 * plugin/plugin-gcn.c (struct copy_data): Remove free_src field. 1927 (copy_data): Don't free src. 1928 (queue_push_copy): Remove free_src handling. 1929 (GOMP_OFFLOAD_dev2dev): Update call to queue_push_copy. 1930 (GOMP_OFFLOAD_openacc_async_host2dev): Remove source-data 1931 snapshotting. 1932 (GOMP_OFFLOAD_openacc_async_dev2host): Update call to 1933 queue_push_copy. 1934 * target.c (goacc_device_copy_async): Add SRCADDR_ORIG parameter. 1935 (gomp_copy_host2dev): Add EPHEMERAL parameter. Snapshot source 1936 data when true, and set up deferred freeing of temporary buffer. 1937 (gomp_copy_dev2host): Update call to goacc_device_copy_async. 1938 (gomp_map_vars_existing, gomp_map_pointer, gomp_attach_pointer) 1939 (gomp_detach_pointer, gomp_map_vars_internal, gomp_update): Update 1940 calls to gomp_copy_host2dev with appropriate ephemeral argument. 1941 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: Remove 1942 XFAIL. 1943 19442021-07-27 Thomas Schwinge <thomas@codesourcery.com> 1945 Tom de Vries <tom@codesourcery.com> 1946 1947 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: New file. 1948 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Likewise. 1949 19502021-07-27 Thomas Schwinge <thomas@codesourcery.com> 1951 1952 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Clarify 1953 sequencing of 'async' data copying vs. profiling events. 1954 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: 1955 Likewise. 1956 19572021-07-27 Thomas Schwinge <thomas@codesourcery.com> 1958 Julian Brown <julian@codesourcery.com> 1959 1960 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: Fix OpenACC 1961 'async'/'wait' issue. 1962 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: Likewise. 1963 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: Likewise. 1964 * testsuite/libgomp.oacc-fortran/lib-16.f90: Likewise. 1965 19662021-07-21 Thomas Schwinge <thomas@codesourcery.com> 1967 Joseph Myers <joseph@codesourcery.com> 1968 Cesar Philippidis <cesar@codesourcery.com> 1969 1970 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c: New 1971 file. 1972 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: 1973 Likewise. 1974 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2_2.c: 1975 Likewise. 1976 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise. 1977 19782021-07-20 Thomas Schwinge <thomas@codesourcery.com> 1979 1980 PR target/101484 1981 * configure.tgt [amdgcn*-*-*] (XCFLAGS): Add 1982 '-Wno-error=array-bounds'. 1983 * config/gcn/team.c: Remove '-Werror=array-bounds' work-around. 1984 * libgomp.h [__AMDGCN__]: Likewise. 1985 19862021-07-19 Thomas Schwinge <thomas@codesourcery.com> 1987 1988 PR target/101484 1989 * config/gcn/team.c: Apply '-Werror=array-bounds' work-around. 1990 * libgomp.h [__AMDGCN__]: Likewise. 1991 19922021-07-13 Jakub Jelinek <jakub@redhat.com> 1993 Florian Weimer <fweimer@redhat.com> 1994 1995 * config/linux/sem.h: Don't include limits.h. 1996 (SEM_WAIT): Define to -__INT_MAX__ - 1 instead of INT_MIN. 1997 * config/linux/affinity.c: Include limits.h. 1998 19992021-07-01 Jakub Jelinek <jakub@redhat.com> 2000 2001 PR middle-end/94366 2002 * testsuite/libgomp.c-c++-common/pr94366.c: New test. 2003 20042021-06-29 Tobias Burnus <tobias@codesourcery.com> 2005 2006 PR other/67300 2007 * testsuite/libgomp.c-c++-common/reduction-16.c: Replace 2008 -foffload=nvptx-none= by -foffload-options=nvptx-none= to 2009 avoid disabling other offload targets. 2010 * testsuite/libgomp.c-c++-common/reduction-5.c: Likewise. 2011 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise. 2012 * testsuite/libgomp.c/target-44.c: Likewise. 2013 20142021-06-29 Tobias Burnus <tobias@codesourcery.com> 2015 2016 * testsuite/libgomp.fortran/defaultmap-8.f90 (bar): Determine whether 2017 target has shared memory and disable some scalar pointer/allocatable 2018 checks if not as firstprivate does not work. 2019 20202021-06-25 Chung-Lin Tang <cltang@codesourcery.com> 2021 2022 PR testsuite/101114 2023 * testsuite/libgomp.c-c++-common/struct-elem-5.c: 2024 Add "target offload_device_nonshared_as" condition for enabling test. 2025 20262021-06-24 Jakub Jelinek <jakub@redhat.com> 2027 2028 * testsuite/libgomp.c-c++-common/target-in-reduction-1.c: New test. 2029 * testsuite/libgomp.c-c++-common/target-in-reduction-2.c: New test. 2030 * testsuite/libgomp.c++/target-in-reduction-1.C: New test. 2031 * testsuite/libgomp.c++/target-in-reduction-2.C: New test. 2032 20332021-06-23 Jakub Jelinek <jakub@redhat.com> 2034 2035 PR middle-end/101167 2036 * testsuite/libgomp.c-c++-common/task-reduction-15.c: New test. 2037 20382021-06-17 Chung-Lin Tang <cltang@codesourcery.com> 2039 2040 * hashtab.h (htab_clear): New function with initialization code 2041 factored out from... 2042 (htab_create): ...here, adjust to use htab_clear function. 2043 * libgomp.h (REFCOUNT_SPECIAL): New symbol to denote range of 2044 special refcount values, add comments. 2045 (REFCOUNT_INFINITY): Adjust definition to use REFCOUNT_SPECIAL. 2046 (REFCOUNT_LINK): Likewise. 2047 (REFCOUNT_STRUCTELEM): New special refcount range for structure 2048 element siblings. 2049 (REFCOUNT_STRUCTELEM_P): Macro for testing for structure element 2050 sibling maps. 2051 (REFCOUNT_STRUCTELEM_FLAG_FIRST): Flag to indicate first sibling. 2052 (REFCOUNT_STRUCTELEM_FLAG_LAST): Flag to indicate last sibling. 2053 (REFCOUNT_STRUCTELEM_FIRST_P): Macro to test _FIRST flag. 2054 (REFCOUNT_STRUCTELEM_LAST_P): Macro to test _LAST flag. 2055 (struct splay_tree_key_s): Add structelem_refcount and 2056 structelem_refcount_ptr fields into a union with dynamic_refcount. 2057 Add comments. 2058 (gomp_map_vars): Delete declaration. 2059 (gomp_map_vars_async): Likewise. 2060 (gomp_unmap_vars): Likewise. 2061 (gomp_unmap_vars_async): Likewise. 2062 (goacc_map_vars): New declaration. 2063 (goacc_unmap_vars): Likewise. 2064 * oacc-mem.c (acc_map_data): Adjust to use goacc_map_vars. 2065 (goacc_enter_datum): Likewise. 2066 (goacc_enter_data_internal): Likewise. 2067 * oacc-parallel.c (GOACC_parallel_keyed): Adjust to use goacc_map_vars 2068 and goacc_unmap_vars. 2069 (GOACC_data_start): Adjust to use goacc_map_vars. 2070 (GOACC_data_end): Adjust to use goacc_unmap_vars. 2071 * target.c (hash_entry_type): New typedef. 2072 (htab_alloc): New function hook for hashtab.h. 2073 (htab_free): Likewise. 2074 (htab_hash): Likewise. 2075 (htab_eq): Likewise. 2076 (hashtab.h): Add file include. 2077 (gomp_increment_refcount): New function. 2078 (gomp_decrement_refcount): Likewise. 2079 (gomp_map_vars_existing): Add refcount_set parameter, adjust to use 2080 gomp_increment_refcount. 2081 (gomp_map_fields_existing): Add refcount_set parameter, adjust calls 2082 to gomp_map_vars_existing. 2083 (gomp_map_vars_internal): Add refcount_set parameter, add local openmp_p 2084 variable to guard OpenMP specific paths, adjust calls to 2085 gomp_map_vars_existing, add structure element sibling splay_tree_key 2086 sequence creation code, adjust Fortran map case to avoid increment 2087 under OpenMP. 2088 (gomp_map_vars): Adjust to static, add refcount_set parameter, manage 2089 local refcount_set if caller passed in NULL, adjust call to 2090 gomp_map_vars_internal. 2091 (gomp_map_vars_async): Adjust and rename into... 2092 (goacc_map_vars): ...this new function, adjust call to 2093 gomp_map_vars_internal. 2094 (gomp_remove_splay_tree_key): New function with code factored out from 2095 gomp_remove_var_internal. 2096 (gomp_remove_var_internal): Add code to handle removing multiple 2097 splay_tree_key sequence for structure elements, adjust code to use 2098 gomp_remove_splay_tree_key for splay-tree key removal. 2099 (gomp_unmap_vars_internal): Add refcount_set parameter, adjust to use 2100 gomp_decrement_refcount. 2101 (gomp_unmap_vars): Adjust to static, add refcount_set parameter, manage 2102 local refcount_set if caller passed in NULL, adjust call to 2103 gomp_unmap_vars_internal. 2104 (gomp_unmap_vars_async): Adjust and rename into... 2105 (goacc_unmap_vars): ...this new function, adjust call to 2106 gomp_unmap_vars_internal. 2107 (GOMP_target): Manage refcount_set and adjust calls to gomp_map_vars and 2108 gomp_unmap_vars. 2109 (GOMP_target_ext): Likewise. 2110 (gomp_target_data_fallback): Adjust call to gomp_map_vars. 2111 (GOMP_target_data): Likewise. 2112 (GOMP_target_data_ext): Likewise. 2113 (GOMP_target_end_data): Adjust call to gomp_unmap_vars. 2114 (gomp_exit_data): Add refcount_set parameter, adjust to use 2115 gomp_decrement_refcount, adjust to queue splay-tree keys for removal 2116 after main loop. 2117 (GOMP_target_enter_exit_data): Manage refcount_set and adjust calls to 2118 gomp_map_vars and gomp_exit_data. 2119 (gomp_target_task_fn): Likewise. 2120 * testsuite/libgomp.c-c++-common/refcount-1.c: New testcase. 2121 * testsuite/libgomp.c-c++-common/struct-elem-1.c: New testcase. 2122 * testsuite/libgomp.c-c++-common/struct-elem-2.c: New testcase. 2123 * testsuite/libgomp.c-c++-common/struct-elem-3.c: New testcase. 2124 * testsuite/libgomp.c-c++-common/struct-elem-4.c: New testcase. 2125 * testsuite/libgomp.c-c++-common/struct-elem-5.c: New testcase. 2126 21272021-06-15 Tobias Burnus <tobias@codesourcery.com> 2128 2129 PR fortran/92568 2130 * testsuite/libgomp.fortran/defaultmap-8.f90: New test. 2131 21322021-06-10 Andrew Stubbs <ams@codesourcery.com> 2133 Thomas Schwinge <thomas@codesourcery.com> 2134 2135 * libgomp.map (GOACC_2.0.2): New symbol version. 2136 * libgomp_g.h (GOACC_enter_data, GOACC_exit_data) New prototypes. 2137 * oacc-mem.c (GOACC_enter_data, GOACC_exit_data) New functions. 2138 21392021-06-10 Thomas Schwinge <thomas@codesourcery.com> 2140 Andrew Stubbs <ams@codesourcery.com> 2141 2142 * oacc-mem.c (goacc_enter_exit_data_internal): New function, 2143 extracted from... 2144 (GOACC_enter_exit_data): ... here. 2145 (GOACC_declare): Use it. 2146 21472021-06-10 Thomas Schwinge <thomas@codesourcery.com> 2148 2149 * oacc-parallel.c (GOACC_declare): Move... 2150 * oacc-mem.c: ... here. 2151 * libgomp_g.h: Adjust. 2152 21532021-06-10 Andrew Stubbs <ams@codesourcery.com> 2154 Thomas Schwinge <thomas@codesourcery.com> 2155 2156 * oacc-parallel.c (GOACC_declare): Clean up 'GOMP_MAP_POINTER' 2157 handling. 2158 21592021-06-10 Jakub Jelinek <jakub@redhat.com> 2160 2161 PR tree-optimization/100981 2162 * testsuite/libgomp.fortran/pr100981-2.f90 (cdcdot): Initialize 2163 dsdotr and dsdoti to 0. 2164 21652021-06-09 H.J. Lu <hjl.tools@gmail.com> 2166 2167 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -march=i486 2168 if atomic compare-and-swap is supported on 'int'. 2169 21702021-06-09 Richard Biener <rguenther@suse.de> 2171 2172 PR tree-optimization/100981 2173 * testsuite/libgomp.fortran/pr100981-2.f90: New testcase. 2174 21752021-06-08 Thomas Schwinge <thomas@codesourcery.com> 2176 2177 * plugin/plugin-gcn.c (gcn_exec): Force 'num_workers (1)' 2178 unconditionally. 2179 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: 2180 Update. 2181 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise. 2182 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise. 2183 21842021-06-08 Thomas Schwinge <thomas@codesourcery.com> 2185 2186 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Enable for all but 2187 '-DACC_MEM_SHARED=0'. 2188 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise. 2189 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise. 2190 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise. 2191 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise. 2192 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. 2193 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise. 2194 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise. 2195 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. 2196 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise. 2197 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise. 2198 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise. 2199 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise. 2200 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise. 2201 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise. 2202 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Add 2203 'acc_device_radeon' testing. 2204 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise. 2205 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise. 2206 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise. 2207 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Enable for all. 2208 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise. 2209 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise. 2210 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise. 2211 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise. 2212 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise. 2213 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise. 2214 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Improve checking 2215 for non-'openacc_nvidia_accel_selected'. 2216 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise. 2217 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Clarify that "Not 2218 all implement this checking". 2219 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise. 2220 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise. 2221 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise. 2222 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise. 2223 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise. 2224 22252021-06-08 Thomas Schwinge <thomas@codesourcery.com> 2226 2227 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Simplify. 2228 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: Update. 2229 22302021-06-08 Thomas Schwinge <thomas@codesourcery.com> 2231 2232 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Fix 2233 for 'acc_device_radeon'. 2234 22352021-06-08 Thomas Schwinge <thomas@codesourcery.com> 2236 2237 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Enhance 2238 for non-'acc_device_nvidia'. 2239 22402021-06-08 Thomas Schwinge <thomas@codesourcery.com> 2241 2242 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Add 2243 'acc_device_radeon' testing. 2244 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise. 2245 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise. 2246 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise. 2247 22482021-06-08 Thomas Schwinge <thomas@codesourcery.com> 2249 2250 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Don't 2251 require 'openacc_nvidia_accel_selected'. Fix up for 2252 'ACC_DEVICE_TYPE_radeon'. 2253 22542021-06-08 Thomas Schwinge <thomas@codesourcery.com> 2255 2256 * testsuite/libgomp.oacc-c++/declare-1.C: Don't require 2257 'openacc_nvidia_accel_selected'. 2258 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise. 2259 22602021-06-08 Thomas Schwinge <thomas@codesourcery.com> 2261 2262 * testsuite/lib/libgomp.exp 2263 (check_effective_target_openacc_radeon_accel_selected): 2264 Streamline. 2265 22662021-06-08 Thomas Schwinge <thomas@codesourcery.com> 2267 2268 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Revert 2269 PR80547 workaround. 2270 22712021-06-08 Thomas Schwinge <thomas@codesourcery.com> 2272 2273 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c 2274 <acc_device_nvidia>: Update comment. 2275 22762021-05-28 Tobias Burnus <tobias@codesourcery.com> 2277 2278 * testsuite/libgomp.fortran/depend-iterator-2.f90: New test. 2279 22802021-05-27 Jakub Jelinek <jakub@redhat.com> 2281 2282 * testsuite/lib/libgomp.exp (check_effective_target_openacc_cuda, 2283 check_effective_target_openacc_cublas, 2284 check_effective_target_openacc_cudart): New. 2285 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Require effective 2286 target openacc_cublas. 2287 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise. 2288 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise. 2289 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Require effective 2290 target openacc_cuda. 2291 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise. 2292 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise. 2293 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise. 2294 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise. 2295 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise. 2296 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise. 2297 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise. 2298 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise. 2299 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Likewise. 2300 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise. 2301 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise. 2302 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise. 2303 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise. 2304 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise. 2305 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise. 2306 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise. 2307 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Require effective 2308 targets openacc_cublas and openacc_cudart. 2309 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise. 2310 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise. 2311 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise. 2312 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise. 2313 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: 2314 Require effective target openacc_cudart. 2315 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Add -DUSE_CUDA_H 2316 for effective target openacc_cuda and add && defined USE_CUDA_H to 2317 preprocessor conditionals. Guard -lcuda also on openacc_cuda 2318 effective target. 2319 23202021-05-26 Jakub Jelinek <jakub@redhat.com> 2321 2322 PR libgomp/100573 2323 * config/nvptx/target.c (GOMP_target_ext, GOMP_target_data_ext, 2324 GOMP_target_end_data, GOMP_target_update_ext, 2325 GOMP_target_enter_exit_data): New dummy entrypoints. 2326 * config/gcn/target.c (GOMP_target_ext, GOMP_target_data_ext, 2327 GOMP_target_end_data, GOMP_target_update_ext, 2328 GOMP_target_enter_exit_data): Likewise. 2329 * testsuite/libgomp.c-c++-common/for-3.c (DO_PRAGMA, OMPTEAMS, 2330 OMPFROM, OMPTO): Define. 2331 (main): Remove #pragma omp target teams around all the tests. 2332 * testsuite/libgomp.c-c++-common/target-41.c: New test. 2333 * testsuite/libgomp.c-c++-common/target-42.c: New test. 2334 23352021-05-25 Jakub Jelinek <jakub@redhat.com> 2336 2337 PR middle-end/99928 2338 * testsuite/libgomp.c-c++-common/reduction-17.c: New test. 2339 23402021-05-24 Tobias Burnus <tobias@codesourcery.com> 2341 2342 PR fortran/86470 2343 * testsuite/libgomp.fortran/class-firstprivate-1.f90: New test. 2344 * testsuite/libgomp.fortran/class-firstprivate-2.f90: New test. 2345 * testsuite/libgomp.fortran/class-firstprivate-3.f90: New test. 2346 23472021-05-22 Thomas Schwinge <thomas@codesourcery.com> 2348 2349 PR testsuite/90115 2350 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Prune 2351 uninteresting/varying diagnostics. 2352 23532021-05-21 Thomas Schwinge <thomas@codesourcery.com> 2354 2355 PR middle-end/90115 2356 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Update. 2357 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise. 2358 23592021-05-21 Thomas Schwinge <thomas@codesourcery.com> 2360 2361 PR middle-end/90115 2362 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: New 2363 file. 2364 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update. 2365 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Likewise. 2366 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: 2367 Likewise. 2368 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c: 2369 Likewise. 2370 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c: 2371 Likewise. 2372 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c: 2373 Likewise. 2374 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c: 2375 Likewise. 2376 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c: 2377 Likewise. 2378 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c: 2379 Likewise. 2380 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c: 2381 Likewise. 2382 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c: 2383 Likewise. 2384 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c: 2385 Likewise. 2386 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c: 2387 Likewise. 2388 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c: 2389 Likewise. 2390 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c: 2391 Likewise. 2392 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c: 2393 Likewise. 2394 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c: 2395 Likewise. 2396 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c: 2397 Likewise. 2398 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c: 2399 Likewise. 2400 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c: 2401 Likewise. 2402 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c: 2403 Likewise. 2404 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c: 2405 Likewise. 2406 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c: 2407 Likewise. 2408 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise. 2409 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise. 2410 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise. 2411 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise. 2412 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise. 2413 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise. 2414 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise. 2415 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise. 2416 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise. 2417 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise. 2418 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise. 2419 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise. 2420 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise. 2421 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise. 2422 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: 2423 Likewise. 2424 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c: 2425 Likewise. 2426 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: 2427 Likewise. 2428 * testsuite/libgomp.oacc-c-c++-common/private-variables.c: 2429 Likewise. 2430 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise. 2431 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: 2432 Likewise. 2433 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise. 2434 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise. 2435 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise. 2436 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise. 2437 * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise. 2438 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise. 2439 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90: 2440 Likewise. 2441 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90: 2442 Likewise. 2443 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90: 2444 Likewise. 2445 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90: 2446 Likewise. 2447 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90: 2448 Likewise. 2449 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90: 2450 Likewise. 2451 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90: 2452 Likewise. 2453 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90: 2454 Likewise. 2455 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90: 2456 Likewise. 2457 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90: 2458 Likewise. 2459 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90: 2460 Likewise. 2461 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90: 2462 Likewise. 2463 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90: 2464 Likewise. 2465 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise. 2466 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise. 2467 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90: 2468 Likewise. 2469 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90: 2470 Likewise. 2471 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise. 2472 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise. 2473 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise. 2474 24752021-05-21 Julian Brown <julian@codesourcery.com> 2476 Chung-Lin Tang <cltang@codesourcery.com> 2477 Thomas Schwinge <thomas@codesourcery.com> 2478 2479 PR middle-end/90115 2480 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c: New 2481 test. 2482 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90: 2483 Likewise. 2484 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90: 2485 Likewise. 2486 24872021-05-21 Thomas Schwinge <thomas@codesourcery.com> 2488 2489 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Don't skip 2490 for nvptx offloading. 2491 24922021-05-21 Tobias Burnus <tobias@codesourcery.com> 2493 2494 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: New. 2495 24962021-05-19 Thomas Schwinge <thomas@codesourcery.com> 2497 2498 PR target/83812 2499 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: New. 2500 25012021-05-19 Julian Brown <julian@codesourcery.com> 2502 2503 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: New. 2504 25052021-05-18 Thomas Schwinge <thomas@codesourcery.com> 2506 2507 * testsuite/lib/libgomp.exp 2508 (check_effective_target_offload_target_nvptx): Don't shadow global 2509 'offload_targets' variable. 2510 25112021-05-18 Thomas Schwinge <thomas@codesourcery.com> 2512 2513 * testsuite/libgomp.c-c++-common/reduction-5.c: Restrict 2514 '-latomic' to nvptx offloading compilation. 2515 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise. 2516 25172021-05-18 Thomas Schwinge <thomas@codesourcery.com> 2518 2519 * testsuite/libgomp.c/target-44.c: Restrict '-latomic' to nvptx 2520 offloading compilation. 2521 25222021-05-17 Kwok Cheung Yeung <kcy@codesourcery.com> 2523 2524 * task.c (omp_fulfill_event): Call gomp_team_barrier_set_task_pending 2525 if new tasks generated. 2526 * testsuite/libgomp.c-c++-common/task-detach-13.c: New. 2527 25282021-05-14 Tobias Burnus <tobias@codesourcery.com> 2529 2530 * testsuite/libgomp.fortran/parallel-master.f90: New test. 2531 25322021-05-13 Martin Liska <mliska@suse.cz> 2533 2534 PR testsuite/100569 2535 * testsuite/libgomp.c/omp-nested-3.c: Prune new LTO warning. 2536 * testsuite/libgomp.c/pr46032-2.c: Likewise. 2537 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c: Likewise. 2538 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c: Likewise. 2539 25402021-05-12 Tobias Burnus <tobias@codesourcery.com> 2541 2542 * testsuite/libgomp.c-c++-common/task-detach-12.c: New test. 2543 * testsuite/libgomp.fortran/task-detach-12.f90: New test. 2544 25452021-05-11 Jakub Jelinek <jakub@redhat.com> 2546 2547 PR middle-end/100471 2548 * taskloop.c (GOMP_taskloop): If GOMP_TASK_FLAG_REDUCTION and not 2549 GOMP_TASK_FLAG_NOGROUP, when doing early return clear the task 2550 reduction pointer. 2551 * testsuite/libgomp.c/task-reduction-4.c: New test. 2552 25532021-05-07 Tobias Burnus <tobias@codesourcery.com> 2554 Tom de Vries <tdevries@suse.de> 2555 2556 * testsuite/libgomp.c-c++-common/reduction-5.c: New test, testing 2557 complex/floating-point || + && reduction with 'omp target'. 2558 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise. 2559 25602021-05-04 Tobias Burnus <tobias@codesourcery.com> 2561 2562 * testsuite/libgomp.c-c++-common/reduction-1.c: New test. 2563 * testsuite/libgomp.c-c++-common/reduction-2.c: New test. 2564 * testsuite/libgomp.c-c++-common/reduction-3.c: New test. 2565 * testsuite/libgomp.c-c++-common/reduction-4.c: New file. 2566 25672021-05-04 Tobias Burnus <tobias@codesourcery.com> 2568 2569 PR testsuite/100397 2570 * testsuite/libgomp.fortran/depobj-1.f90 (dep2, dep3): Move var 2571 declaration to scope of non-'depend'-guarded assignment to avoid races. 2572 25732021-05-03 Tom de Vries <tdevries@suse.de> 2574 2575 PR target/100321 2576 * testsuite/libgomp.c/target-44.c: New test. 2577 25782021-04-30 Roman Zhuykov <zhroma@ispras.ru> 2579 2580 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-3.c: New test. 2581 25822021-04-29 Tom de Vries <tdevries@suse.de> 2583 2584 * testsuite/libgomp.c/pr81778.c: New test. 2585 25862021-04-29 Tom de Vries <tdevries@suse.de> 2587 2588 PR target/100232 2589 * testsuite/libgomp.c/target-43.c: New file. 2590 25912021-04-28 Jakub Jelinek <jakub@redhat.com> 2592 Tobias Burnus <tobias@codesourcery.com> 2593 2594 * configure.ac (OFFLOAD_DEFAULTED): AC_DEFINE if offload-defaulted. 2595 * target.c (gomp_load_plugin_for_device): If set and if a plugin 2596 can't be dlopened, silently assume it has no devices. 2597 * Makefile.in: Regenerate. 2598 * config.h.in: Regenerate. 2599 * configure: Regenerate. 2600 26012021-04-26 Tobias Burnus <tobias@codesourcery.com> 2602 2603 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: 2604 Use [Ww]arning in dg-bogus as FE diagnostic and default 2605 diagnostic differ and the result depends on ENABLE_OFFLOAD. 2606 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise. 2607 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise. 2608 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise. 2609 26102021-04-26 Tobias Burnus <tobias@codesourcery.com> 2611 2612 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: 2613 Correct spelling in dg-bogus to match -Wopenacc-parallelism. 2614 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise. 2615 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise. 2616 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise. 2617 26182021-04-26 Thomas Schwinge <thomas@codesourcery.com> 2619 Nathan Sidwell <nathan@codesourcery.com> 2620 Tom de Vries <vries@codesourcery.com> 2621 Julian Brown <julian@codesourcery.com> 2622 Kwok Cheung Yeung <kcy@codesourcery.com> 2623 2624 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Specify 2625 '-Wopenacc-parallelism', and match diagnostics, as appropriate. 2626 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise. 2627 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise. 2628 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise. 2629 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise. 2630 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: 2631 Likewise. 2632 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise. 2633 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise. 2634 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise. 2635 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: 2636 Likewise. 2637 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise. 2638 * testsuite/libgomp.oacc-c-c++-common/private-variables.c: 2639 Likewise. 2640 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise. 2641 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise. 2642 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise. 2643 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise. 2644 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise. 2645 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: 2646 Likewise. 2647 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise. 2648 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise. 2649 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise. 2650 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise. 2651 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise. 2652 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise. 2653 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise. 2654 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise. 2655 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise. 2656 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. 2657 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise. 2658 26592021-04-26 Thomas Schwinge <thomas@codesourcery.com> 2660 2661 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Don't 2662 compile with '-w'. 2663 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise. 2664 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: 2665 Likewise. 2666 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise. 2667 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: Likewise. 2668 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise. 2669 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise. 2670 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise. 2671 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. 2672 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise. 2673 26742021-04-22 Richard Biener <rguenther@suse.de> 2675 2676 * testsuite/libgomp.c-c++-common/reduction-16.c: Use -latomic 2677 only on nvptx-none. 2678 26792021-04-21 Tobias Burnus <tobias@codesourcery.com> 2680 2681 * testsuite/libgomp.fortran/depobj-1.f90: Use omp_lib's 2682 omp_depend_kind instead of defining it as 16. 2683 26842021-04-21 Tobias Burnus <tobias@codesourcery.com> 2685 2686 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type): 2687 New, based on check_effective_target_offload_target_nvptx. 2688 (check_effective_target_offload_target_nvptx): Call it. 2689 (check_effective_target_offload_target_amdgcn): New. 2690 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: 2691 Require target offload_target_nvptx || offload_target_amdgcn. 2692 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: Likewise. 2693 * testsuite/libgomp.c/pr86416-1.c: Likewise. 2694 * testsuite/libgomp.c/pr86416-2.c: Likewise. 2695 26962021-04-21 Tobias Burnus <tobias@codesourcery.com> 2697 2698 * testsuite/libgomp.fortran/depobj-1.f90: New test. 2699 27002021-04-19 Thomas Schwinge <thomas@codesourcery.com> 2701 2702 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c: 2703 '-fopenacc-kernels=[...]' -> '--param=openacc-kernels=[...]'. 2704 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c: 2705 Likewise. 2706 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: 2707 Likewise. 2708 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise. 2709 27102021-04-15 Thomas Schwinge <thomas@codesourcery.com> 2711 2712 PR target/99555 2713 * testsuite/lib/libgomp.exp 2714 (check_effective_target_offload_device_nvptx): New. 2715 * testsuite/libgomp.c/pr99555-1.c <nvptx offload device>: Until 2716 resolved, make sure that we exit quickly, with error status, 2717 XFAILed. 2718 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise. 2719 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise. 2720 27212021-04-14 Jakub Jelinek <jakub@redhat.com> 2722 2723 PR testsuite/100071 2724 * testsuite/libgomp.fortran/alloc-1.F90: Call c_f_pointer after last 2725 cp = omp_alloc with cp, p arguments instead of cq, q and call 2726 c_f_pointer after last cq = omp_alloc with cq, q. 2727 27282021-04-11 Hafiz Abid Qadeer <abidh@codesourcery.com> 2729 2730 PR middle-end/98088 2731 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Add check 2732 for loop with GT/GE condition. 2733 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise. 2734 27352021-04-09 Thomas Schwinge <thomas@codesourcery.com> 2736 2737 PR middle-end/84991 2738 PR middle-end/84992 2739 PR middle-end/90779 2740 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: New. 2741 27422021-04-09 Jakub Jelinek <jakub@redhat.com> 2743 2744 PR libgomp/99984 2745 * team.c (gomp_thread_start): Call pthread_setspecific for 2746 !(defined HAVE_TLS || defined USE_EMUTLS) only after local_thr 2747 has been initialized to avoid false positive warning. 2748 27492021-03-29 Tobias Burnus <tobias@codesourcery.com> 2750 2751 PR target/99555 2752 * testsuite/lib/on_device_arch.c: Move to ... 2753 * testsuite/libgomp.c-c++-common/on_device_arch.h: ... here. 2754 * testsuite/libgomp.fortran/on_device_arch.c: New file; 2755 #include on_device_arch.h. 2756 * testsuite/libgomp.c-c++-common/task-detach-6.c: #include 2757 on_device_arch.h instead of using dg-additional-source. 2758 * testsuite/libgomp.c/pr99555-1.c: Likewise. 2759 * testsuite/libgomp.fortran/task-detach-6.f90: Update to use 2760 on_device_arch.c without relative paths. 2761 27622021-03-25 Thomas Schwinge <thomas@codesourcery.com> 2763 2764 * plugin/plugin-gcn.c (init_environment_variables): Don't prepend 2765 the 'HSA_RUNTIME_LIB' path to 'libhsa-runtime64.so'. 2766 * plugin/configfrag.ac (HSA_RUNTIME_LIB): Clean up. 2767 * config.h.in: Regenerate. 2768 * configure: Likewise. 2769 27702021-03-25 Thomas Schwinge <thomas@codesourcery.com> 2771 2772 PR target/99555 2773 * testsuite/lib/on_device_arch.c: New file. 2774 * testsuite/libgomp.c/pr99555-1.c: Likewise. 2775 * testsuite/libgomp.c-c++-common/task-detach-6.c: Until resolved, 2776 skip for nvptx offloading, with error status. 2777 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise. 2778 27792021-03-25 Thomas Schwinge <thomas@codesourcery.com> 2780 2781 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: 2782 OpenACC 'serial' construct diagnostic for nvptx offloading. 2783 27842021-03-15 Tobias Burnus <tobias@codesourcery.com> 2785 2786 PR c++/99509 2787 * testsuite/libgomp.c-c++-common/declare_target-1.c: New test. 2788 27892021-03-12 Tobias Burnus <tobias@codesourcery.com> 2790 2791 PR fortran/98858 2792 * testsuite/libgomp.fortran/use_device_ptr-3.f90: New test. 2793 27942021-03-04 Jakub Jelinek <jakub@redhat.com> 2795 2796 * configure.ac: Add AC_CHECK_SIZEOF([void *]). 2797 * plugin/configfrag.ac: Check $ac_cv_sizeof_void_p value instead of 2798 checking of -m32 or -mx32 options on the command line. 2799 * config.h.in: Regenerated. 2800 * configure: Regenerated. 2801 28022021-02-27 Iain Sandoe <iain@sandoe.co.uk> 2803 2804 * testsuite/libgomp.c-c++-common/pr96390.c: Require alias 2805 support from the target. 2806 28072021-02-25 Kwok Cheung Yeung <kcy@codesourcery.com> 2808 Jakub Jelinek <jakub@redhat.com> 2809 2810 PR libgomp/98738 2811 * libgomp.h (enum gomp_task_kind): Add GOMP_TASK_DETACHED. 2812 (struct gomp_task): Replace detach and completion_sem fields with 2813 union containing completion_sem and detach_team. Add deferred_p 2814 field. 2815 (struct gomp_team): Remove task_detach_queue. 2816 * task.c: Include assert.h. 2817 (gomp_init_task): Initialize deferred_p and completion_sem fields. 2818 Rearrange initialization order of fields. 2819 (task_fulfilled_p): Delete. 2820 (GOMP_task): Use address of task as the event handle. Remove 2821 initialization of detach field. Initialize deferred_p field. 2822 Use automatic local for completion_sem. Initialize detach_team field 2823 for deferred tasks. 2824 (gomp_barrier_handle_tasks): Remove handling of task_detach_queue. 2825 Set kind of suspended detach task to GOMP_TASK_DETACHED and 2826 decrement task_running_count. Move finish_cancelled block out of 2827 else branch. Relocate call to gomp_team_barrier_done. 2828 (GOMP_taskwait): Handle tasks with completion events that have not 2829 been fulfilled. 2830 (GOMP_taskgroup_end): Likewise. 2831 (omp_fulfill_event): Use address of task as event handle. Post to 2832 completion_sem for undeferred tasks. Clear detach_team if task 2833 has not finished. For finished tasks, handle post-execution tasks, 2834 call gomp_team_barrier_wake if necessary, and free task. 2835 * team.c (gomp_new_team): Remove initialization of task_detach_queue. 2836 (free_team): Remove free of task_detach_queue. 2837 * testsuite/libgomp.c-c++-common/task-detach-1.c: Fix formatting. 2838 * testsuite/libgomp.c-c++-common/task-detach-2.c: Fix formatting. 2839 * testsuite/libgomp.c-c++-common/task-detach-3.c: Fix formatting. 2840 * testsuite/libgomp.c-c++-common/task-detach-4.c: Fix formatting. 2841 * testsuite/libgomp.c-c++-common/task-detach-5.c: Fix formatting. 2842 Change data-sharing of detach events on enclosing parallel to private. 2843 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise. Remove 2844 taskwait directive. 2845 * testsuite/libgomp.c-c++-common/task-detach-7.c: New. 2846 * testsuite/libgomp.c-c++-common/task-detach-8.c: New. 2847 * testsuite/libgomp.c-c++-common/task-detach-9.c: New. 2848 * testsuite/libgomp.c-c++-common/task-detach-10.c: New. 2849 * testsuite/libgomp.c-c++-common/task-detach-11.c: New. 2850 * testsuite/libgomp.fortran/task-detach-1.f90: Fix formatting. 2851 * testsuite/libgomp.fortran/task-detach-2.f90: Fix formatting. 2852 * testsuite/libgomp.fortran/task-detach-3.f90: Fix formatting. 2853 * testsuite/libgomp.fortran/task-detach-4.f90: Fix formatting. 2854 * testsuite/libgomp.fortran/task-detach-5.f90: Fix formatting. 2855 Change data-sharing of detach events on enclosing parallel to private. 2856 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise. Remove 2857 taskwait directive. 2858 * testsuite/libgomp.fortran/task-detach-7.f90: New. 2859 * testsuite/libgomp.fortran/task-detach-8.f90: New. 2860 * testsuite/libgomp.fortran/task-detach-9.f90: New. 2861 * testsuite/libgomp.fortran/task-detach-10.f90: New. 2862 * testsuite/libgomp.fortran/task-detach-11.f90: New. 2863 28642021-02-22 Tobias Burnus <tobias@codesourcery.com> 2865 2866 PR fortran/99171 2867 * testsuite/libgomp.fortran/dummy-procs-1.f90: New test. 2868 28692021-02-17 Julian Brown <julian@codesourcery.com> 2870 2871 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Remove 2872 expected errors. 2873 28742021-02-17 Julian Brown <julian@codesourcery.com> 2875 2876 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: New test. 2877 * testsuite/libgomp.oacc-fortran/update-dt-array.f90: Likewise. 2878 28792021-02-11 Uro�� Bizjak <ubizjak@gmail.com> 2880 2881 * config/linux/x86/futex.h (__futex_wait): 2882 Revert output type back to long. 2883 (__futex_wake): Ditto. 2884 (futex_wait): Update for revert. 2885 (futex_wake): Ditto. 2886 28872021-02-11 Uro�� Bizjak <ubizjak@gmail.com> 2888 2889 * config/linux/x86/futex.h (__futex_wait): New static inline 2890 wrapper function. Correct output type to int and 2891 timeout type to void *. 2892 (__futex_wake): New static inline wrapper function. 2893 Correct output type to int. 2894 (futex_wait): Use __futex_wait. 2895 (futex_wake): Use __futex_wake. 2896 28972021-02-10 Julian Brown <julian@codesourcery.com> 2898 2899 PR fortran/98979 2900 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Add expected 2901 errors. 2902 29032021-02-04 Julian Brown <julian@codesourcery.com> 2904 2905 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: New test. 2906 29072021-02-03 Andrew Stubbs <ams@codesourcery.com> 2908 2909 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add 2910 EF_AMDGPU_MACH_AMDGCN_GFX908. 2911 (gcn_gfx908_s): New constant string. 2912 (isa_hsa_name): Add gfx908. 2913 (isa_code): Add gfx908. 2914 29152021-01-25 Kwok Cheung Yeung <kcy@codesourcery.com> 2916 2917 * libgomp.texi (omp_fulfill_event): New entry. 2918 29192021-01-20 Jakub Jelinek <jakub@redhat.com> 2920 2921 * task.c (GOMP_task): Rename priority argument to priority_arg, 2922 add priority automatic variable and modify that variable. Instead of 2923 clearing detach argument when GOMP_TASK_FLAG_DETACH bit is not set, 2924 check flags for that bit. 2925 29262021-01-19 Tobias Burnus <tobias@codesourcery.com> 2927 2928 PR fortran/98476 2929 * testsuite/libgomp.fortran/is_device_ptr-1.f90: New test. 2930 29312021-01-18 Andreas Schwab <schwab@suse.de> 2932 2933 * configure.tgt (riscv64*-*-linux*): Add linux to config_path. 2934 29352021-01-18 Sebastian Huber <sebastian.huber@embedded-brains.de> 2936 2937 * config/rtems/sem.h (gomp_sem_getcount): New function. 2938 29392021-01-18 Jakub Jelinek <jakub@redhat.com> 2940 2941 * config/linux/sem.h (gomp_sem_getcount): New function. 2942 * config/posix/sem.h (gomp_sem_getcount): New function. 2943 * config/posix/sem.c (gomp_sem_getcount): New function. 2944 * config/accel/sem.h (gomp_sem_getcount): New function. 2945 * task.c (task_fulfilled_p): Use gomp_sem_getcount. 2946 (omp_fulfill_event): Likewise. 2947 29482021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com> 2949 2950 * fortran.c (omp_fulfill_event_): New. 2951 * libgomp.h (struct gomp_task): Add detach and completion_sem fields. 2952 (struct gomp_team): Add task_detach_queue and task_detach_count 2953 fields. 2954 * libgomp.map (OMP_5.0.1): Add omp_fulfill_event and omp_fulfill_event_. 2955 * libgomp_g.h (GOMP_task): Add extra argument. 2956 * omp.h.in (enum omp_event_handle_t): New. 2957 (omp_fulfill_event): New. 2958 * omp_lib.f90.in (omp_event_handle_kind): New. 2959 (omp_fulfill_event): New. 2960 * omp_lib.h.in (omp_event_handle_kind): New. 2961 (omp_fulfill_event): Declare. 2962 * priority_queue.c (priority_tree_find): New. 2963 (priority_list_find): New. 2964 (priority_queue_find): New. 2965 * priority_queue.h (priority_queue_predicate): New. 2966 (priority_queue_find): New. 2967 * task.c (gomp_init_task): Initialize detach field. 2968 (task_fulfilled_p): New. 2969 (GOMP_task): Add detach argument. Ignore detach argument if 2970 GOMP_TASK_FLAG_DETACH not set in flags. Initialize completion_sem 2971 field. Copy address of completion_sem into detach argument and 2972 into the start of the data record. Wait for detach event if task 2973 not deferred. 2974 (gomp_barrier_handle_tasks): Queue tasks with unfulfilled events. 2975 Remove completed tasks and requeue dependent tasks. 2976 (omp_fulfill_event): New. 2977 * team.c (gomp_new_team): Initialize task_detach_queue and 2978 task_detach_count fields. 2979 (free_team): Free task_detach_queue field. 2980 * testsuite/libgomp.c-c++-common/task-detach-1.c: New testcase. 2981 * testsuite/libgomp.c-c++-common/task-detach-2.c: New testcase. 2982 * testsuite/libgomp.c-c++-common/task-detach-3.c: New testcase. 2983 * testsuite/libgomp.c-c++-common/task-detach-4.c: New testcase. 2984 * testsuite/libgomp.c-c++-common/task-detach-5.c: New testcase. 2985 * testsuite/libgomp.c-c++-common/task-detach-6.c: New testcase. 2986 * testsuite/libgomp.fortran/task-detach-1.f90: New testcase. 2987 * testsuite/libgomp.fortran/task-detach-2.f90: New testcase. 2988 * testsuite/libgomp.fortran/task-detach-3.f90: New testcase. 2989 * testsuite/libgomp.fortran/task-detach-4.f90: New testcase. 2990 * testsuite/libgomp.fortran/task-detach-5.f90: New testcase. 2991 * testsuite/libgomp.fortran/task-detach-6.f90: New testcase. 2992 29932021-01-15 Jakub Jelinek <jakub@redhat.com> 2994 2995 PR target/70454 2996 * configure.tgt: For i?86 and x86_64 determine if -march=i486 needs to 2997 be added through preprocessor check on 2998 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4. 2999 30002021-01-14 Thomas Schwinge <thomas@codesourcery.com> 3001 3002 PR libgomp/65099 3003 * plugin/configfrag.ac (PLUGIN_NVPTX): Restrict to supported 3004 configurations. 3005 * configure: Regenerate. 3006 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Remove 64-bit 3007 check. 3008 30092021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org> 3010 3011 * configure: Re-generate. 3012 30132021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org> 3014 3015 * configure: Re-generate. 3016 30172021-01-05 Julian Brown <julian@codesourcery.com> 3018 3019 * plugin/plugin-nvptx.c (SOFTSTACK_CACHE_LIMIT): New define. 3020 (struct ptx_device): Add omp_stacks struct. 3021 (nvptx_open_device): Initialise cached-stacks housekeeping info. 3022 (nvptx_close_device): Free cached stacks block and mutex. 3023 (nvptx_stacks_free): New function. 3024 (nvptx_alloc): Add SUPPRESS_ERRORS parameter. 3025 (GOMP_OFFLOAD_alloc): Add strategies for freeing soft-stacks block. 3026 (nvptx_stacks_alloc): Rename to... 3027 (nvptx_stacks_acquire): This. Cache stacks block between runs if same 3028 size or smaller is required. 3029 (nvptx_stacks_free): Remove. 3030 (GOMP_OFFLOAD_run): Call nvptx_stacks_acquire and lock stacks block 3031 during kernel execution. 3032 30332021-01-01 Jakub Jelinek <jakub@redhat.com> 3034 3035 * libgomp.texi: Bump @copying's copyright year. 3036 30372020-12-28 Gerald Pfeifer <gerald@pfeifer.com> 3038 3039 * libgomp.texi (Top): Avoid bad "up" link. 3040 30412020-12-18 Jakub Jelinek <jakub@redhat.com> 3042 3043 * testsuite/libgomp.c/task-6.c: New test. 3044 30452020-12-09 Andrew Stubbs <ams@codesourcery.com> 3046 3047 * plugin/plugin-gcn.c: Include hsa_ext_amd.h. 3048 (HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT): Delete redundant definition. 3049 30502020-12-08 Tobias Burnus <tobias@codesourcery.com> 3051 3052 * testsuite/libgomp.fortran/scan-1.f90: New test. 3053 30542020-12-05 Iain Sandoe <iain@sandoe.co.uk> 3055 3056 PR target/97865 3057 * configure: Regenerate. 3058 30592020-11-29 John David Anglin <danglin@gcc.gnu.org> 3060 3061 * configure: Regenerate. 3062 30632020-11-25 Thomas Schwinge <thomas@codesourcery.com> 3064 3065 * testsuite/libgomp.oacc-c++/cache-1.C: New. 3066 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Update. 3067 30682020-11-25 Andrew Stubbs <ams@codesourcery.com> 3069 3070 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Adjust 3071 expected results. 3072 30732020-11-24 Andrew Stubbs <ams@codesourcery.com> 3074 3075 * plugin/plugin-gcn.c: Don't redefine relocations if elf.h has them. 3076 (reserved): Delete unused define. 3077 30782020-11-24 Thomas Schwinge <thomas@codesourcery.com> 3079 3080 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Avoid 3081 Tcl 8.5-specific behavior. 3082 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise. 3083 30842020-11-18 Kwok Cheung Yeung <kcy@codesourcery.com> 3085 3086 * env.c (gomp_global_icv): Remove nest_var field. Add 3087 max_active_levels_var field. 3088 (gomp_max_active_levels_var): Remove. 3089 (parse_boolean): Return true on success. 3090 (handle_omp_display_env): Express OMP_NESTED in terms of 3091 max_active_levels_var. Change format specifier for 3092 max_active_levels_var. 3093 (initialize_env): Set max_active_levels_var from 3094 OMP_MAX_ACTIVE_LEVELS, OMP_NESTED, OMP_NUM_THREADS and 3095 OMP_PROC_BIND. 3096 * icv.c (omp_set_nested): Express in terms of 3097 max_active_levels_var. 3098 (omp_get_nested): Likewise. 3099 (omp_set_max_active_levels): Use max_active_levels_var field instead 3100 of gomp_max_active_levels_var. 3101 (omp_get_max_active_levels): Likewise. 3102 * libgomp.h (struct gomp_task_icv): Remove nest_var field. Add 3103 max_active_levels_var field. 3104 (gomp_supported_active_levels): Set to UCHAR_MAX. 3105 (gomp_max_active_levels_var): Delete. 3106 * libgomp.texi (omp_get_nested): Update documentation. 3107 (omp_set_nested): Likewise. 3108 (OMP_MAX_ACTIVE_LEVELS): Likewise. 3109 (OMP_NESTED): Likewise. 3110 (OMP_NUM_THREADS): Likewise. 3111 (OMP_PROC_BIND): Likewise. 3112 * parallel.c (gomp_resolve_num_threads): Replace reference 3113 to nest_var with max_active_levels_var. Use max_active_levels_var 3114 field instead of gomp_max_active_levels_var. 3115 31162020-11-18 Tobias Burnus <tobias@codesourcery.com> 3117 3118 * testsuite/libgomp.c/usleep.h (fallback_usleep): Renamed from 3119 nvptx_usleep; use also for device={arch(gcn)}. 3120 31212020-11-14 Jakub Jelinek <jakub@redhat.com> 3122 3123 * testsuite/libgomp.c-c++-common/allocate-1.c (struct S): New type. 3124 (foo): Add tests for non-VLA private and firstprivate clauses on 3125 omp task. 3126 (bar): Likewise. Remove taking of address from private/firstprivate 3127 variables. 3128 * testsuite/libgomp.c++/allocate-1.C (struct S): New type. 3129 (foo): Add p, q, px and s arguments. Add tests for array reductions 3130 and for non-VLA private and firstprivate clauses on omp task. 3131 (bar): Removed. 3132 (main): Adjust foo caller. Don't call bar. 3133 31342020-11-13 Gerg�� Barany <gergo@codesourcery.com> 3135 Thomas Schwinge <thomas@codesourcery.com> 3136 3137 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c: 3138 New. 3139 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c: 3140 Likewise. 3141 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: 3142 Likewise. 3143 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust. 3144 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise. 3145 31462020-11-13 Gerg�� Barany <gergo@codesourcery.com> 3147 Thomas Schwinge <thomas@codesourcery.com> 3148 3149 PR fortran/94358 3150 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: New. 3151 31522020-11-13 Jakub Jelinek <jakub@redhat.com> 3153 3154 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add tests 3155 for array reductions. 3156 (main): Adjust foo callers. 3157 31582020-11-12 Jakub Jelinek <jakub@redhat.com> 3159 3160 * libgomp.map (GOMP_alloc, GOMP_free): Export at GOMP_5.0.1. 3161 * omp.h.in (omp_alloc): Add malloc and alloc_size attributes. 3162 * libgomp_g.h (GOMP_alloc, GOMP_free): Declare. 3163 * allocator.c (omp_aligned_alloc): New for now static function, 3164 add alignment argument and handle it. 3165 (omp_alloc): Reimplement using omp_aligned_alloc. 3166 (GOMP_alloc, GOMP_free): New functions. 3167 (omp_free): Add ialias. 3168 * testsuite/libgomp.c-c++-common/allocate-1.c: New test. 3169 * testsuite/libgomp.c++/allocate-1.C: New test. 3170 31712020-11-12 Thomas Schwinge <thomas@codesourcery.com> 3172 3173 PR fortran/97782 3174 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Adjust. 3175 31762020-11-10 Chung-Lin Tang <cltang@codesourcery.com> 3177 3178 * libgomp.h (enum gomp_map_vars_kind): Adjust enum values to be bit-flag 3179 usable. 3180 * oacc-mem.c (acc_map_data): Adjust gomp_map_vars argument flags to 3181 'GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_ENTER_DATA'. 3182 (goacc_enter_datum): Likewise for call to gomp_map_vars_async. 3183 (goacc_enter_data_internal): Likewise. 3184 * target.c (gomp_map_vars_internal): 3185 Change checks of GOMP_MAP_VARS_ENTER_DATA to use bit-and (&). Adjust use 3186 of gomp_attach_pointer for OpenMP cases. 3187 (gomp_exit_data): Add handling of GOMP_MAP_DETACH. 3188 (GOMP_target_enter_exit_data): Add handling of GOMP_MAP_ATTACH. 3189 * testsuite/libgomp.c-c++-common/ptr-attach-1.c: New testcase. 3190 31912020-11-05 Ulrich Drepper <drepper@redhat.com> 3192 Kwok Cheung Yeung <kcy@codesourcery.com> 3193 3194 * Makefile.am (%.mod): Add -cpp and -fopenmp to compile flags. 3195 * Makefile.in: Regenerate. 3196 * fortran.c: Wrap uses of omp_set_nested and omp_get_nested with 3197 pragmas to ignore -Wdeprecated-declarations warnings. 3198 * icv.c: Likewise. 3199 * omp.h.in (__GOMP_DEPRECATED_5_0): Define. 3200 Mark omp_lock_hint_* enum values, omp_lock_hint_t, omp_set_nested, 3201 and omp_get_nested with __GOMP_DEPRECATED_5_0. 3202 * omp_lib.f90.in: Mark omp_get_nested and omp_set_nested as 3203 deprecated. 3204 * testsuite/libgomp.c++/affinity-1.C: Add -Wno-deprecated-declarations 3205 to test options. 3206 * testsuite/libgomp.c/affinity-1.c: Likewise. 3207 * testsuite/libgomp.c/affinity-2.c: Likewise. 3208 * testsuite/libgomp.c/appendix-a/a.15.1.c: Likewise. 3209 * testsuite/libgomp.c/lib-1.c: Likewise. 3210 * testsuite/libgomp.c/nested-1.c: Likewise. 3211 * testsuite/libgomp.c/nested-2.c: Likewise. 3212 * testsuite/libgomp.c/nested-3.c: Likewise. 3213 * testsuite/libgomp.c/pr32362-1.c: Likewise. 3214 * testsuite/libgomp.c/pr32362-2.c: Likewise. 3215 * testsuite/libgomp.c/pr32362-3.c: Likewise. 3216 * testsuite/libgomp.c/pr35549.c: Likewise. 3217 * testsuite/libgomp.c/pr42942.c: Likewise. 3218 * testsuite/libgomp.c/pr61200.c: Likewise. 3219 * testsuite/libgomp.c/sort-1.c: Likewise. 3220 * testsuite/libgomp.c/target-5.c: Likewise. 3221 * testsuite/libgomp.c/target-6.c: Likewise. 3222 * testsuite/libgomp.c/teams-1.c: Likewise. 3223 * testsuite/libgomp.c/thread-limit-1.c: Likewise. 3224 * testsuite/libgomp.c/thread-limit-2.c: Likewise. 3225 * testsuite/libgomp.c/thread-limit-4.c: Likewise. 3226 * testsuite/libgomp.fortran/affinity1.f90: Likewise. 3227 * testsuite/libgomp.fortran/lib1.f90: Likewise. 3228 * testsuite/libgomp.fortran/lib2.f: Likewise. 3229 * testsuite/libgomp.fortran/nested1.f90: Likewise. 3230 * testsuite/libgomp.fortran/teams1.f90: Likewise. 3231 32322020-11-02 Thomas Schwinge <thomas@codesourcery.com> 3233 3234 PR target/85486 3235 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Simplify and enhance. 3236 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise. 3237 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise. 3238 32392020-11-02 Thomas Schwinge <thomas@codesourcery.com> 3240 3241 PR testsuite/80219 3242 PR testsuite/85303 3243 * testsuite/lib/libgomp.exp (libgomp_init): Set 3244 'gcc_warning_prefix', 'gcc_error_prefix'. 3245 32462020-10-30 Jakub Jelinek <jakub@redhat.com> 3247 3248 * target.c (gomp_map_vars_internal): Use FIELD_TGT_EMPTY macro 3249 even in field_tgt_clear initializer. 3250 32512020-10-28 Jakub Jelinek <jakub@redhat.com> 3252 3253 * testsuite/libgomp.c/target-42.c: New test. 3254 32552020-10-28 Jakub Jelinek <jakub@redhat.com> 3256 Tom de Vries <tdevries@suse.de> 3257 3258 PR testsuite/81690 3259 * testsuite/libgomp.c/usleep.h: New file. 3260 * testsuite/libgomp.c/target-32.c: Include usleep.h. 3261 (main): Use tgt_usleep instead of usleep. 3262 * testsuite/libgomp.c/thread-limit-2.c: Include usleep.h. 3263 (main): Use tgt_usleep instead of usleep. 3264 32652020-10-28 Jakub Jelinek <jakub@redhat.com> 3266 3267 PR lto/96680 3268 * testsuite/libgomp.c/declare-variant-1.c: New test. 3269 32702020-10-22 Jakub Jelinek <jakub@redhat.com> 3271 3272 * testsuite/libgomp.c/target-41.c: New test. 3273 32742020-10-22 Jakub Jelinek <jakub@redhat.com> 3275 3276 * icv.c (omp_get_initial_device): Remove including corresponding 3277 ialias. 3278 * icv-device.c (omp_get_initial_device): New function. Return 3279 gomp_get_num_devices (). Add ialias. 3280 * target.c (resolve_device): Don't fail with 3281 OMP_TARGET_OFFLOAD=mandatory if device_id is equal to 3282 gomp_get_num_devices (). 3283 (omp_target_alloc, omp_target_free, omp_target_is_present, 3284 omp_target_memcpy, omp_target_memcpy_rect, omp_target_associate_ptr, 3285 omp_target_disassociate_ptr, omp_pause_resource): Use 3286 gomp_get_num_devices () instead of GOMP_DEVICE_HOST_FALLBACK on the 3287 first use in the functions, in uses dominated by the 3288 gomp_get_num_devices call use num_devices_openmp instead. 3289 * libgomp.texi (omp_get_initial_device): Document. 3290 * config/gcn/icv-device.c (omp_get_initial_device): New function. 3291 Add ialias. 3292 * config/nvptx/icv-device.c (omp_get_initial_device): Likewise. 3293 * testsuite/libgomp.c/target-40.c: New test. 3294 32952020-10-21 Jakub Jelinek <jakub@redhat.com> 3296 3297 * env.c (parse_target_offload): Change new_offload var type to int, 3298 preinitialize to -1, remove found var and test new_offload != -1 3299 instead of found. 3300 33012020-10-20 Jakub Jelinek <jakub@redhat.com> 3302 3303 * target.c (gomp_target_init): Inside of the function, use automatic 3304 variables corresponding to num_devices, num_devices_openmp and devices 3305 global variables and update the globals only at the end of the 3306 function. 3307 33082020-10-20 Kwok Cheung Yeung <kcy@codesourcery.com> 3309 3310 * env.c (gomp_target_offload_var): New. 3311 (parse_target_offload): New. 3312 (handle_omp_display_env): Print value of OMP_TARGET_OFFLOAD. 3313 (initialize_env): Parse OMP_TARGET_OFFLOAD. 3314 * libgomp.h (gomp_target_offload_t): New. 3315 (gomp_target_offload_var): New. 3316 * libgomp.texi (OMP_TARGET_OFFLOAD): New section. 3317 * target.c (resolve_device): Generate error if device not found and 3318 offloading is mandatory. 3319 (gomp_target_fallback): Generate error if offloading is mandatory. 3320 (GOMP_target): Add argument in call to gomp_target_fallback. 3321 (GOMP_target_ext): Likewise. 3322 (gomp_target_data_fallback): Generate error if offloading is mandatory. 3323 (GOMP_target_data): Add argument in call to gomp_target_data_fallback. 3324 (GOMP_target_data_ext): Likewise. 3325 (gomp_target_task_fn): Add argument in call to gomp_target_fallback. 3326 (gomp_target_init): Return early if offloading is disabled. 3327 33282020-10-15 Kwok Cheung Yeung <kcy@codesourcery.com> 3329 3330 * libgomp.texi (omp_get_max_active_levels): Modify description. 3331 (omp_get_supported_active_levels): Make descriptions consistent. 3332 33332020-10-14 Jakub Jelinek <jakub@redhat.com> 3334 3335 * libgomp.texi (omp_get_supported_active_levels): Fix a typo. 3336 33372020-10-13 Kwok Cheung Yeung <kcy@codesourcery.com> 3338 3339 * env.c (gomp_max_active_levels_var): Initialize to 3340 gomp_supported_active_levels. 3341 (initialize_env): Limit gomp_max_active_levels_var to be at most 3342 equal to gomp_supported_active_levels. 3343 * fortran.c (omp_get_supported_active_levels): Add ialias_redirect. 3344 (omp_get_supported_active_levels_): New. 3345 * icv.c (omp_set_max_active_levels): Limit gomp_max_active_levels_var 3346 to at most equal to gomp_supported_active_levels. 3347 (omp_get_supported_active_levels): New. 3348 * libgomp.h (gomp_supported_active_levels): New. 3349 * libgomp.map (OMP_5.0.1): Add omp_get_supported_active_levels and 3350 omp_get_supported_active_levels_. 3351 * libgomp.texi (omp_get_supported_active_levels): New. 3352 (omp_set_max_active_levels): Update. Add reference to 3353 omp_get_supported_active_levels. 3354 * omp.h.in (omp_get_supported_active_levels): New. 3355 * omp_lib.f90.in (omp_get_supported_active_levels): New. 3356 * omp_lib.h.in (omp_get_supported_active_levels): New. 3357 * testsuite/libgomp.c/lib-2.c (main): Check omp_get_max_active_levels 3358 against omp_get_supported_active_levels. 3359 * testsuite/libgomp.fortran/lib4.f90 (lib4): Likewise. 3360 33612020-10-11 Clement Chigot <clement.chigot@atos.net> 3362 3363 * config/t-aix: Delete and recreate libgomp before creating 3364 FAT library. 3365 33662020-10-08 Tom de Vries <tdevries@suse.de> 3367 3368 PR libgomp/81802 3369 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_run): Report launch 3370 dimensions. 3371 33722020-10-06 Tom de Vries <tdevries@suse.de> 3373 3374 * testsuite/libgomp.oacc-fortran/declare-5.f90: Add xfail for PR92790. 3375 33762020-10-06 Tom de Vries <tdevries@suse.de> 3377 3378 PR middle-end/90861 3379 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Remove xfail. 3380 33812020-10-05 Tom de Vries <tdevries@suse.de> 3382 3383 PR fortran/95654 3384 * testsuite/libgomp.fortran/pr95654.f90: New test. 3385 33862020-10-02 Tobias Burnus <tobias@codesourcery.com> 3387 3388 * Makefile.in: Regenerate with automake 1.15.1. 3389 * aclocal.m4: Likewise. 3390 * configure: Likewise. 3391 * testsuite/Makefile.in: Likewise. 3392 33932020-09-30 Andrew Stubbs <ams@codesourcery.com> 3394 3395 * parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx 3396 and amdgcn targets. 3397 33982020-09-30 Tobias Burnus <tobias@codesourcery.com> 3399 3400 * testsuite/libgomp.fortran/declare-target-3.f90: New test. 3401 34022020-09-29 Andrew Stubbs <ams@codesourcery.com> 3403 3404 * config/gcn/bar.c (gomp_barrier_wait_end): Skip the barrier if the 3405 total number of threads is one. 3406 (gomp_team_barrier_wake): Likewise. 3407 (gomp_team_barrier_wait_end): Likewise. 3408 (gomp_team_barrier_wait_cancel_end): Likewise. 3409 * config/nvptx/bar.c (gomp_barrier_wait_end): Likewise. 3410 (gomp_team_barrier_wake): Likewise. 3411 (gomp_team_barrier_wait_end): Likewise. 3412 (gomp_team_barrier_wait_cancel_end): Likewise. 3413 * testsuite/libgomp.c-c++-common/nested-parallel-unbalanced.c: New test. 3414 34152020-09-28 Tobias Burnus <tobias@codesourcery.com> 3416 3417 PR middle-end/96390 3418 * testsuite/libgomp.c++/pr96390.C: New test. 3419 * testsuite/libgomp.c-c++-common/pr96390.c: New test. 3420 34212020-09-27 Clement Chigot <clement.chigot@atos.net> 3422 3423 * config/t-aix: Use $(AR) without -X32_64. 3424 34252020-09-25 Jakub Jelinek <jakub@redhat.com> 3426 3427 * testsuite/libgomp.c/loop-25.c: New test. 3428 34292020-09-22 Tobias Burnus <tobias@codesourcery.com> 3430 3431 PR fortran/95654 3432 * testsuite/libgomp.fortran/pr66199-5.f90: Make stop codes unique. 3433 34342020-09-22 Tom de Vries <tdevries@suse.de> 3435 3436 * plugin/plugin-nvptx.c (link_ptx): Print elog if cuLinkComplete call 3437 fails. 3438 34392020-09-16 Nathan Sidwell <nathan@acm.org> 3440 3441 * testsuite/libgomp.c++/udr-3.C: Add missing ctor. 3442 34432020-09-15 Tobias Burnus <tobias@codesourcery.com> 3444 3445 PR fortran/96668 3446 * target.c (gomp_map_vars_internal): Initialize has_nullptr. 3447 34482020-09-15 Tobias Burnus <tobias@codesourcery.com> 3449 3450 PR fortran/96668 3451 * libgomp.h (struct target_var_desc): Add has_null_ptr_assoc member. 3452 * target.c (gomp_map_vars_existing): Add always_to_flag flag. 3453 (gomp_map_vars_existing): Update call to it. 3454 (gomp_map_fields_existing): Likewise 3455 (gomp_map_vars_internal): Update PSET handling such that if a nullptr is 3456 now allocated or if GOMP_MAP_POINTER is used PSET is updated and pointer 3457 remapped. 3458 (GOMP_target_enter_exit_data): Hanlde GOMP_MAP_ALWAYS_POINTER like 3459 GOMP_MAP_POINTER. 3460 * testsuite/libgomp.fortran/map-alloc-ptr-1.f90: New test. 3461 * testsuite/libgomp.fortran/map-alloc-ptr-2.f90: New test. 3462 34632020-09-14 Tom de Vries <tdevries@suse.de> 3464 3465 * config/nvptx/atomic.c: New file. Add 3466 __sync_val_compare_and_swap_16. 3467 * testsuite/libgomp.c-c++-common/reduction-16.c: Add -latomic for 3468 target offload_target_nvptx. 3469 34702020-09-08 Julian Brown <julian@codesourcery.com> 3471 3472 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: Remove 3473 iteration-ordering assumptions. 3474 34752020-09-08 Julian Brown <julian@codesourcery.com> 3476 3477 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Fix race condition. 3478 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise. 3479 34802020-08-20 Chung-Lin Tang <cltang@codesourcery.com> 3481 3482 * plugin/plugin-nvptx.c (nvptx_free): 3483 Change "GOMP_PLUGIN_acc_thread () == NULL" test into check of 3484 CUDA_ERROR_NOT_PERMITTED status for cuMemGetAddressRange. Adjust 3485 comments. 3486 34872020-08-20 Tobias Burnus <tobias@codesourcery.com> 3488 3489 * testsuite/libgomp.fortran/lastprivate-conditional-10.f90: New test. 3490 34912020-08-13 Kwok Cheung Yeung <kcy@codesourcery.com> 3492 3493 * testsuite/libgomp.c-c++-common/reduction-16.c: New. 3494 34952020-08-13 Jakub Jelinek <jakub@redhat.com> 3496 3497 * testsuite/libgomp.c/loop-22.c (main): Add some further tests. 3498 * testsuite/libgomp.c/loop-23.c (main): Likewise. 3499 * testsuite/libgomp.c/loop-24.c: New test. 3500 35012020-08-08 Jakub Jelinek <jakub@redhat.com> 3502 Tobias Burnus <tobias@codesourcery.com> 3503 3504 PR fortran/93553 3505 * testsuite/libgomp.fortran/pr93553.f90: New test. 3506 35072020-08-05 Jakub Jelinek <jakub@redhat.com> 3508 3509 * testsuite/libgomp.c/loop-22.c: New test. 3510 * testsuite/libgomp.c/loop-23.c: New test. 3511 35122020-08-05 Jakub Jelinek <jakub@redhat.com> 3513 3514 PR middle-end/96459 3515 * testsuite/libgomp.c/teams-3.c: New test. 3516 * testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing 3517 if not defined yet. 3518 (N(test)): Use it before all N(f*) calls. 3519 * testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define. 3520 (main): Don't call all test_* functions from within 3521 #pragma omp teams reduction(|:err), call them directly. 3522 35232020-08-04 Tom de Vries <tdevries@suse.de> 3524 3525 PR target/96428 3526 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test. 3527 * testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test. 3528 35292020-08-03 Julian Brown <julian@codesourcery.com> 3530 Thomas Schwinge <thomas@codesourcery.com> 3531 3532 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Don't run for 3533 shared-memory devices. Extend with further checking. 3534 35352020-08-03 Martin Jambor <mjambor@suse.cz> 3536 3537 * plugin/Makefrag.am: Remove configuration of HSA plugin. 3538 * aclocal.m4: Regenerated. 3539 * Makefile.in: Regenerated. 3540 * config.h.in: Regenerated. 3541 * configure: Regenerated. 3542 * plugin/configfrag.ac: Likewise. 3543 * plugin/hsa_ext_finalize.h: Removed. 3544 * plugin/plugin-hsa.c: Likewise. 3545 * testsuite/Makefile.in: Regenerated. 3546 * testsuite/lib/libgomp.exp 3547 (offload_target_to_openacc_device_type): Remove hsa case. 3548 (check_effective_target_hsa_offloading_selected_nocache): Removed 3549 (check_effective_target_hsa_offloading_selected): Likewise. 3550 (libgomp_init): Do not add -Wno-hsa to additional_flags. 3551 * testsuite/libgomp.hsa.c/alloca-1.c: Removed test. 3552 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise. 3553 * testsuite/libgomp.hsa.c/bits-insns.c: Likewise. 3554 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise. 3555 * testsuite/libgomp.hsa.c/c.exp: Likewise. 3556 * testsuite/libgomp.hsa.c/complex-1.c: Likewise. 3557 * testsuite/libgomp.hsa.c/complex-align-2.c: Likewise. 3558 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise. 3559 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise. 3560 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise. 3561 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise. 3562 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise. 3563 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise. 3564 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise. 3565 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise. 3566 * testsuite/libgomp.hsa.c/pr69568.c: Likewise. 3567 * testsuite/libgomp.hsa.c/pr82416.c: Likewise. 3568 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise. 3569 * testsuite/libgomp.hsa.c/staticvar.c: Likewise. 3570 * testsuite/libgomp.hsa.c/switch-1.c: Likewise. 3571 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise. 3572 * testsuite/libgomp.hsa.c/switch-sbr-2.c: Likewise. 3573 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise. 3574 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise. 3575 35762020-07-27 Julian Brown <julian@codesourcery.com> 3577 Thomas Schwinge <thomas@codesourcery.com> 3578 3579 * libgomp.h (struct target_var_desc): Rename do_detach field to 3580 is_attach. 3581 * oacc-mem.c (goacc_exit_datum_1): Add assert. Don't set finalize for 3582 GOMP_MAP_FORCE_DETACH. Update checking to use is_attach field. 3583 (goacc_enter_data_internal): Don't affect reference counts 3584 for attach mappings. 3585 (goacc_exit_data_internal): Don't affect reference counts for detach 3586 mappings. 3587 * target.c (gomp_map_vars_existing): Don't affect reference counts for 3588 attach mappings. 3589 (gomp_map_vars_internal): Set renamed is_attach flag unconditionally to 3590 mark attach mappings. 3591 (gomp_unmap_vars_internal): Use is_attach flag to prevent affecting 3592 reference count for attach mappings. 3593 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-1.c: New test. 3594 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test. 3595 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test. 3596 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Mark 3597 test as shouldfail. 3598 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust to fail 3599 gracefully in no-finalize mode. 3600 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-3.c: New file. 3601 36022020-07-24 Thomas Schwinge <thomas@codesourcery.com> 3603 3604 * testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after 3605 use. 3606 * testsuite/libgomp.oacc-c/c.exp: Likewise. 3607 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 3608 36092020-07-23 Julian Brown <julian@codesourcery.com> 3610 Thomas Schwinge <thomas@codesourcery.com> 3611 3612 * target.c (gomp_unmap_vars_internal): Remove unnecessary forcing of 3613 finalization for detach operation. 3614 * testsuite/libgomp.oacc-c-c++-common/structured-detach-underflow.c: 3615 New test. 3616 36172020-07-23 Tobias Burnus <tobias@codesourcery.com> 3618 3619 * configure.ac: Add OMP_DEPEND_KIND and OMP_INT128_SIZE. 3620 * libgomp_f.h.in (omp_check_defines): Check whether 3621 sizeof of determined Fortran kind and C typedef match. 3622 * omp_lib.f90.in: Add omp_depened_kind. 3623 * omp_lib.h.in: Likewise; fix omp_alloctrait_key_kind. 3624 * configure: Regenerate. 3625 * Makefile.in: Regenerate. 3626 * testsuite/Makefile.in: Regenerate. 3627 36282020-07-22 Tobias Burnus <tobias@codesourcery.com> 3629 3630 * testsuite/libgomp.c-c++-common/critical-hint-1.c: New; moved from 3631 gcc/testsuite/c-c++-common/gomp/. 3632 * testsuite/libgomp.c-c++-common/critical-hint-2.c: Likewise. 3633 * testsuite/libgomp.fortran/critical-hint-1.f90: New; moved 3634 from gcc/testsuite/gfortran.dg/gomp/. 3635 * testsuite/libgomp.fortran/critical-hint-2.f90: Likewise. 3636 36372020-07-22 Tobias Burnus <tobias@codesourcery.com> 3638 3639 * omp_lib.f90.in: Add omp_sync_hint_* and omp_sync_hint_kind. 3640 * omp_lib.h.in: Likewise. 3641 36422020-07-18 H.J. Lu <hjl.tools@gmail.com> 3643 3644 PR target/95620 3645 * testsuite/libgomp.c/pr95620.c: New test. 3646 36472020-07-16 Julian Brown <julian@codesourcery.com> 3648 Thomas Schwinge <thomas@codesourcery.com> 3649 3650 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test. 3651 * testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test. 3652 36532020-07-15 Tobias Burnus <tobias@codesourcery.com> 3654 3655 * testsuite/libgomp.fortran/alloc-1.F90: Use c_size_t to 3656 avoid conversion on 32bit systems from 32bit to 64bit due 3657 to -fdefault-integer-8. 3658 36592020-07-15 Tobias Burnus <tobias@codesourcery.com> 3660 3661 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused 3662 variables; add character(kind=4) tests; update TODO comment. 3663 36642020-07-15 Tobias Burnus <tobias@codesourcery.com> 3665 3666 * allocator.c: Add ialias for omp_init_allocator and 3667 omp_destroy_allocator. 3668 * configure.ac: Set INTPTR_T_KIND. 3669 * configure: Regenerate. 3670 * Makefile.in: Regenerate. 3671 * testsuite/Makefile.in: Regenerate. 3672 * fortran.c (omp_init_allocator_, omp_destroy_allocator_, 3673 omp_set_default_allocator_, omp_get_default_allocator_): New 3674 functions and ialias_redirect. 3675 * icv.c: Add ialias for omp_set_default_allocator and 3676 omp_get_default_allocator. 3677 * libgomp.map (OMP_5.0.1): Add omp_init_allocator_, 3678 omp_destroy_allocator_, omp_set_default_allocator_ and 3679 omp_get_default_allocator_. 3680 * omp_lib.f90.in: Add allocator traits parameters, declare 3681 allocator routines and add related kind parameters. 3682 * omp_lib.h.in: Likewise. 3683 * testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof. 3684 * testsuite/libgomp.fortran/alloc-1.F90: New test. 3685 * testsuite/libgomp.fortran/alloc-2.F90: New test. 3686 * testsuite/libgomp.fortran/alloc-3.F: New test. 3687 * testsuite/libgomp.fortran/alloc-4.f90: New test. 3688 * testsuite/libgomp.fortran/alloc-5.f90: New test. 3689 36902020-07-14 Tom de Vries <tom@codesourcery.com> 3691 Cesar Philippidis <cesar@codesourcery.com> 3692 Thomas Schwinge <thomas@codesourcery.com> 3693 Kwok Cheung Yeung <kcy@codesourcery.com> 3694 3695 * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread): 3696 New variable. 3697 (acc_init_1): Set acc_init_thread to pthread_self (). Set 3698 acc_init_state to initializing at the start, and to initialized at the 3699 end. 3700 (self_initializing_p): New function. 3701 (acc_get_device_type): Return acc_device_none if called by thread that 3702 is currently executing acc_init_1. 3703 * libgomp.texi (acc_get_device_type): Update documentation. 3704 (Implementation Status and Implementation-Defined Behavior): Likewise. 3705 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New. 3706 37072020-07-14 David Edelsohn <dje.gcc@gmail.com> 3708 3709 * config/t-aix: Set BITS from compiler cpp macro. 3710 37112020-07-14 Tobias Burnus <tobias@codesourcery.com> 3712 3713 * testsuite/libgomp.fortran/struct-elem-map-1.f90: New test. 3714 37152020-07-14 Tobias Burnus <tobias@codesourcery.com> 3716 3717 PR fortran/67311 3718 * testsuite/libgomp.fortran/target-map-1.f90: New test. 3719 37202020-07-14 Jakub Jelinek <jakub@redhat.com> 3721 3722 * testsuite/libgomp.c/loop-21.c: New test. 3723 37242020-07-13 Julian Brown <julian@codesourcery.com> 3725 Thomas Schwinge <thomas@codesourcery.com> 3726 3727 * testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test. 3728 37292020-07-10 Julian Brown <julian@codesourcery.com> 3730 Thomas Schwinge <thomas@codesourcery.com> 3731 3732 * libgomp.h (struct splay_tree_key_s): Change virtual_refcount to 3733 dynamic_refcount. 3734 (struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA. 3735 * oacc-mem.c (acc_map_data): Substitute virtual_refcount for 3736 dynamic_refcount. 3737 (acc_unmap_data): Update comment. 3738 (goacc_map_var_existing, goacc_enter_datum): Adjust for 3739 dynamic_refcount semantics. 3740 (goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking. 3741 Adjust for dynamic_refcount semantics. 3742 (goacc_enter_data_internal): Implement "present" case of dynamic 3743 memory-map handling here. Update "non-present" case for 3744 dynamic_refcount semantics. 3745 (goacc_exit_data_internal): Use goacc_exit_datum_1. 3746 * target.c (gomp_map_vars_internal): Remove 3747 GOMP_MAP_VARS_OPENACC_ENTER_DATA handling. Update for dynamic_refcount 3748 handling. 3749 (gomp_unmap_vars_internal): Remove virtual_refcount handling. 3750 (gomp_load_image_to_device): Substitute dynamic_refcount for 3751 virtual_refcount. 3752 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs. 3753 * testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test. 3754 * testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test. 3755 * testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test. 3756 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and 3757 trace output. 3758 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove 3759 trace output. 3760 * testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New 3761 test. 3762 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c: 3763 Remove stale comment. 3764 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs. 3765 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise. 3766 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise. 3767 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise. 3768 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise. 3769 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL. 3770 37712020-07-10 Julian Brown <julian@codesourcery.com> 3772 Thomas Schwinge <thomas@codesourcery.com> 3773 3774 * oacc-mem.c (goacc_map_var_existing): New function. 3775 (goacc_enter_datum): Use above function. 3776 (goacc_exit_datum_1): New function. 3777 (goacc_exit_datum): Use above function. 3778 37792020-07-09 Julian Brown <julian@codesourcery.com> 3780 Thomas Schwinge <thomas@codesourcery.com> 3781 3782 PR middle-end/95270 3783 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test. 3784 * testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test. 3785 37862020-07-09 Julian Brown <julian@codesourcery.com> 3787 3788 * oacc-mem.c (find_group_last): Group data-movement clauses 3789 (GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent 3790 GOMP_MAP_ATTACH. Allow standalone GOMP_MAP_ATTACH also. 3791 37922020-07-09 Jakub Jelinek <jakub@redhat.com> 3793 3794 * testsuite/libgomp.c/loop-19.c: New test. 3795 * testsuite/libgomp.c/loop-20.c: New test. 3796 37972020-07-09 Jakub Jelinek <jakub@redhat.com> 3798 3799 * omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from 3800 2 to -1. Add omp_atv_serialized and define omp_atv_sequential using 3801 it. Remove __omp_alloctrait_value_max__. 3802 * allocator.c (omp_init_allocator): Handle omp_atv_default for 3803 omp_atk_alignment and omp_atk_pool_size. 3804 38052020-07-03 Thomas Schwinge <thomas@codesourcery.com> 3806 3807 * oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom 3808 behavior for 'GOMP_MAP_FORCE_FROM'. 3809 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL. 3810 38112020-07-03 Thomas Schwinge <thomas@codesourcery.com> 3812 3813 * oacc-mem.c (goacc_exit_data_internal): Remove 3814 'GOMP_MAP_ALWAYS_FROM' handling. 3815 38162020-06-30 Thomas Schwinge <thomas@codesourcery.com> 3817 3818 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile 3819 'scan-assembler' with 'scan-offload-rtl'. 3820 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise. 3821 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise. 3822 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise. 3823 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise. 3824 38252020-06-30 Thomas Schwinge <thomas@codesourcery.com> 3826 3827 * target.c (gomp_map_vars_existing): Assert 'kind != 3828 GOMP_MAP_ATTACH'. 3829 (gomp_map_vars_internal): Clean up. 3830 38312020-06-27 Jakub Jelinek <jakub@redhat.com> 3832 3833 * testsuite/libgomp.c/loop-17.c: New test. 3834 * testsuite/libgomp.c/loop-18.c: New test. 3835 38362020-06-26 Marek Polacek <polacek@redhat.com> 3837 3838 * testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14. 3839 38402020-06-23 Alexandre Oliva <oliva@adacore.com> 3841 3842 * testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp. 3843 * testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps. 3844 38452020-06-22 David Edelsohn <dje.gcc@gmail.com> 3846 3847 * Makefile.am: Use -include. 3848 * Makefile.in: Regenerate. 3849 38502020-06-21 David Edelsohn <dje.gcc@gmail.com> 3851 3852 * Makefile.am (tmake_file): Build and install AIX-style FAT libraries. 3853 * Makefile.in: Regenerate 3854 * configure.ac (tmake_file): Substitute. 3855 * configure: Regenerate. 3856 * configure.tgt (powerpc-ibm-aix*): Define tmake_file. 3857 * config/t-aix: New file. 3858 38592020-06-17 Thomas Schwinge <thomas@codesourcery.com> 3860 3861 PR lto/94848 3862 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add 3863 'dg-do run'. 3864 38652020-06-17 Andrew Stubbs <ams@codesourcery.com> 3866 3867 * plugin/plugin-gcn.c (init_environment_variables): Use ".so.1" 3868 variant for HSA_RUNTIME_LIB name. 3869 (find_executable_symbol_1): Delete. 3870 (find_executable_symbol): Delete. 3871 (init_kernel_properties): Add ".kd" suffix to symbol names. 3872 (find_load_offset): Delete. 3873 (create_and_finalize_hsa_program): Remove relocation handling. 3874 38752020-06-16 Tobias Burnus <tobias@codesourcery.com> 3876 3877 * testsuite/libgomp.oacc-fortran/routine-10.f90: New test. 3878 38792020-06-08 Tobias Burnus <tobias@codesourcery.com> 3880 3881 PR lto/94848 3882 PR middle-end/95551 3883 * testsuite/libgomp.fortran/target-var.f90: New test. 3884 38852020-06-05 Thomas Schwinge <thomas@codesourcery.com> 3886 Julian Brown <julian@codesourcery.com> 3887 3888 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain 3889 special handling. 3890 38912020-06-05 Thomas Schwinge <thomas@codesourcery.com> 3892 Julian Brown <julian@codesourcery.com> 3893 3894 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: 3895 Simplify. 3896 38972020-06-05 Julian Brown <julian@codesourcery.com> 3898 3899 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test. 3900 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test. 3901 39022020-06-04 Thomas Schwinge <thomas@codesourcery.com> 3903 3904 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: 3905 Evaluate 'copyfrom' individually for each entry. 3906 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update. 3907 39082020-06-04 Thomas Schwinge <thomas@codesourcery.com> 3909 3910 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: 3911 Evaluate 'finalize' individually for each entry. 3912 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file. 3913 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove 3914 file. 3915 39162020-06-04 Thomas Schwinge <thomas@codesourcery.com> 3917 3918 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof' 3919 usage. 3920 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise. 3921 39222020-06-04 Thomas Schwinge <thomas@codesourcery.com> 3923 Julian Brown <julian@codesourcery.com> 3924 3925 * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped' 3926 checking. 3927 (acc_unmap_data, goacc_exit_data_internal): Restore 3928 'is_tgt_unmapped' checking. 3929 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New 3930 file. 3931 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust. 3932 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise. 3933 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise. 3934 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise. 3935 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise. 3936 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise. 3937 39382020-06-04 Thomas Schwinge <thomas@codesourcery.com> 3939 Julian Brown <julian@codesourcery.com> 3940 3941 * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'. 3942 39432020-06-04 Thomas Schwinge <thomas@codesourcery.com> 3944 3945 PR libgomp/92854 3946 * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting. 3947 39482020-06-04 Thomas Schwinge <thomas@codesourcery.com> 3949 3950 PR libgomp/92854 3951 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some 3952 more. 3953 39542020-06-04 Thomas Schwinge <thomas@codesourcery.com> 3955 Julian Brown <julian@codesourcery.com> 3956 3957 * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from 3958 'gomp_map_vars'. 3959 (acc_map_data): Clean up accordingly. 3960 39612020-06-04 Thomas Schwinge <thomas@codesourcery.com> 3962 3963 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior 3964 of over-eager 'finalize' clause. 3965 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New 3966 file. 3967 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise. 3968 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise. 3969 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise. 3970 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise. 3971 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise. 3972 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise. 3973 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise. 3974 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise. 3975 39762020-06-04 Thomas Schwinge <thomas@codesourcery.com> 3977 3978 * oacc-mem.c (goacc_exit_data_internal): Unlock on error path. 3979 39802020-06-04 Julian Brown <julian@codesourcery.com> 3981 3982 * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on 3983 error path. 3984 (goacc_detach_internal): Likewise. 3985 39862020-06-04 Thomas Schwinge <thomas@codesourcery.com> 3987 3988 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before 3989 the checkpoint. 3990 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise. 3991 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise. 3992 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise. 3993 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise. 3994 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise. 3995 39962020-06-02 Jakub Jelinek <jakub@redhat.com> 3997 3998 * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not 3999 defined. 4000 40012020-05-30 Jakub Jelinek <jakub@redhat.com> 4002 4003 * testsuite/libgomp.c-c++-common/alloc-4.c: New test. 4004 40052020-05-30 Jakub Jelinek <jakub@redhat.com> 4006 4007 * allocator.c (omp_alloc): For size == 0, return NULL early. 4008 40092020-05-29 H.J. Lu <hjl.tools@gmail.com> 4010 4011 PR bootstrap/95413 4012 * configure: Regenerated. 4013 40142020-05-23 Thomas Koenig <tkoenig@gcc.gnu.org> 4015 4016 PR libfortran/95191 4017 * testsuite/libgomp.fortran/async_io_9.f90: New test. 4018 40192020-05-19 Jakub Jelinek <jakub@redhat.com> 4020 4021 * omp.h.in (omp_uintptr_t): New typedef. 4022 (__GOMP_UINTPTR_T_ENUM): Define. 4023 (omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t, 4024 omp_alloctrait_value_t, omp_alloctrait_t): New typedefs. 4025 (__GOMP_DEFAULT_NULL_ALLOCATOR): Define. 4026 (omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator, 4027 omp_get_default_allocator, omp_alloc, omp_free): Declare. 4028 * libgomp.h (struct gomp_team_state): Add def_allocator field. 4029 (gomp_def_allocator): Declare. 4030 * libgomp.map (OMP_5.0.1): Export omp_set_default_allocator, 4031 omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator, 4032 omp_alloc and omp_free. 4033 * team.c (gomp_team_start): Copy over ts.def_allocator. 4034 * env.c (gomp_def_allocator): New variable. 4035 (parse_wait_policy): Adjust function comment. 4036 (parse_allocator): New function. 4037 (handle_omp_display_env): Print OMP_ALLOCATOR. 4038 (initialize_env): Call parse_allocator. 4039 * Makefile.am (libgomp_la_SOURCES): Add allocator.c. 4040 * allocator.c: New file. 4041 * icv.c (omp_set_default_allocator, omp_get_default_allocator): New 4042 functions. 4043 * testsuite/libgomp.c-c++-common/alloc-1.c: New test. 4044 * testsuite/libgomp.c-c++-common/alloc-2.c: New test. 4045 * testsuite/libgomp.c-c++-common/alloc-3.c: New test. 4046 * Makefile.in: Regenerated. 4047 40482020-05-15 H.J. Lu <hongjiu.lu@intel.com> 4049 4050 PR bootstrap/95147 4051 * configure: Regenerated. 4052 40532020-05-14 Thomas Koenig <tkoenig@gcc.gnu.org> 4054 4055 PR libfortran/95119 4056 * testsuite/libgomp.fortran/close_errors_1.f90: New test. 4057 40582020-05-14 H.J. Lu <hongjiu.lu@intel.com> 4059 4060 * configure: Regenerated. 4061 40622020-05-14 Jakub Jelinek <jakub@redhat.com> 4063 4064 * testsuite/libgomp.c-c++-common/target-40.c: New test. 4065 40662020-05-13 Tobias Burnus <tobias@codesourcery.com> 4067 4068 PR fortran/94690 4069 * testsuite/libgomp.fortran/pr66199-3.f90: New. 4070 * testsuite/libgomp.fortran/pr66199-4.f90: New. 4071 * testsuite/libgomp.fortran/pr66199-5.f90: New. 4072 * testsuite/libgomp.fortran/pr66199-6.f90: New. 4073 * testsuite/libgomp.fortran/pr66199-7.f90: New. 4074 * testsuite/libgomp.fortran/pr66199-8.f90: New. 4075 * testsuite/libgomp.fortran/pr66199-9.f90: New. 4076 40772020-05-12 Jakub Jelinek <jakub@redhat.com> 4078 4079 * testsuite/libgomp.c/target-39.c: New test. 4080 40812020-04-29 Thomas Schwinge <thomas@codesourcery.com> 4082 4083 * config/accel/openacc.f90 (acc_device_current): Set to '-1'. 4084 * openacc.f90 (acc_device_current): Likewise. 4085 * openacc.h (acc_device_current): Likewise. 4086 * openacc_lib.h (acc_device_current): Likewise. 4087 4088 PR target/94282 4089 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove 4090 'dg-allow-blank-lines-in-output'. 4091 4092 * oacc-init.c (get_openacc_name): Handle 'gcn'. 4093 * testsuite/lib/libgomp.exp 4094 (offload_target_to_openacc_device_type) [amdgcn*]: Return 4095 'radeon'. Adjust all users. 4096 (check_effective_target_openacc_amdgcn_accel_present): Rename 4097 to... 4098 (check_effective_target_openacc_radeon_accel_present): ... this. 4099 Adjust all users. 4100 (check_effective_target_openacc_amdgcn_accel_selected): Rename to... 4101 (check_effective_target_openacc_radeon_accel_selected): ... this. 4102 Adjust all users. 4103 4104 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add 4105 'dg-do run'. 4106 41072020-04-23 Andrew Stubbs <ams@codesourcery.com> 4108 4109 PR other/94629 4110 4111 * plugin/plugin-gcn.c (init_hsa_context): Check return value from 4112 hsa_iterate_agents. 4113 (GOMP_OFFLOAD_init_device): Check return values from both calls to 4114 hsa_agent_iterate_regions. 4115 41162020-04-20 Thomas Schwinge <thomas@codesourcery.com> 4117 4118 PR middle-end/94635 4119 * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do 4120 run'. 4121 41222020-04-20 Tobias Burnus <tobias@codesourcery.com> 4123 4124 PR middle-end/94120 4125 * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)' 4126 test case. 4127 41282020-04-17 Tobias Burnus <tobias@codesourcery.com> 4129 4130 PR middle-end/94635 4131 * testsuite/libgomp.fortran/target-enter-data-2.F90: New. 4132 41332020-04-13 Thomas Schwinge <thomas@codesourcery.com> 4134 4135 PR libgomp/92843 4136 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c: 4137 Rename to... 4138 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c: 4139 ... this. 4140 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c: 4141 Rename to... 4142 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c: 4143 ... this. 4144 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c: 4145 Rename to... 4146 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c: 4147 ... this. 4148 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c: 4149 Rename to... 4150 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c: 4151 ... this. 4152 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c: 4153 Rename to... 4154 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c: 4155 ... this. 4156 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c: 4157 Rename to... 4158 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c: 4159 ... this. 4160 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c: 4161 Rename to... 4162 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c: 4163 ... this. 4164 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c: 4165 Rename to... 4166 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c: 4167 ... this. 4168 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c: 4169 Rename to... 4170 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c: 4171 ... this. 4172 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c: 4173 Rename to... 4174 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c: 4175 ... this. 4176 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c: 4177 Rename to... 4178 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c: 4179 ... this. 4180 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c: 4181 Rename to... 4182 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c: 4183 ... this. 4184 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c: 4185 Rename to... 4186 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c: 4187 ... this. 4188 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c: 4189 Rename to... 4190 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c: 4191 ... this. 4192 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c: 4193 Rename to... 4194 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c: 4195 ... this. 4196 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:: 4197 Rename to... 4198 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c: 4199 ... this. 4200 42012020-04-10 Julian Brown <julian@codesourcery.com> 4202 Thomas Schwinge <thomas@codesourcery.com> 4203 4204 PR libgomp/92843 4205 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c: 4206 New file. 4207 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c: 4208 Likewise. 4209 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c: 4210 Likewise. 4211 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c: 4212 Likewise. 4213 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c: 4214 Likewise. 4215 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c: 4216 Likewise. 4217 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c: 4218 Likewise. 4219 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c: 4220 Likewise. 4221 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c: 4222 Likewise. 4223 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c: 4224 Likewise. 4225 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c: 4226 Likewise. 4227 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c: 4228 Likewise. 4229 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c: 4230 Likewise. 4231 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c: 4232 Likewise. 4233 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c: 4234 Likewise. 4235 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c: 4236 Likewise. 4237 42382020-04-10 Thomas Schwinge <thomas@codesourcery.com> 4239 4240 * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do 4241 run'. 4242 42432020-04-08 Tobias Burnus <tobias@codesourcery.com> 4244 4245 PR middle-end/94120 4246 * libgomp.oacc-c++/declare-pr94120.C: New. 4247 42482020-04-06 Maciej W. Rozycki <macro@wdc.com> 4249 4250 * configure.ac: Add testsuite/libgomp-site-extra.exp to output 4251 files. 4252 * configure: Regenerate. 4253 * testsuite/libgomp-site-extra.exp.in: New file. 4254 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove 4255 variable. 4256 * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New 4257 variable. 4258 * testsuite/Makefile.in: Regenerate. 4259 42602020-04-03 Thomas Schwinge <thomas@codesourcery.com> 4261 4262 PR tree-optimization/89713 4263 PR c/94392 4264 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect 4265 'bar.sync'. 4266 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise. 4267 42682020-03-31 Tobias Burnus <tobias@codesourcery.com> 4269 4270 * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER. 4271 * testsuite/libgomp.fortran/target-enter-data-1.f90: New. 4272 42732020-03-24 Tobias Burnus <tobias@codesourcery.com> 4274 4275 PR libgomp/81689 4276 * testsuite/libgomp.c/target-link-1.c: Remove xfail. 4277 42782020-03-20 Tobias Burnus <tobias@codesourcery.com> 4279 4280 PR libgomp/94251 4281 * target.c (gomp_load_image_to_device): Fix link 4282 variable handling. 4283 42842020-03-19 Jakub Jelinek <jakub@redhat.com> 4285 4286 PR c++/93931 4287 * testsuite/libgomp.c++/pr93931.C: New test. 4288 42892020-03-19 Tobias Burnus <tobias@codesourcery.com> 4290 4291 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add 4292 dg-allow-blank-lines-in-output. 4293 42942020-03-18 Julian Brown <julian@codesourcery.com> 4295 Tobias Burnus <tobias@codesourcery.com> 4296 4297 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make 4298 it work concurrently. 4299 43002020-03-18 Tobias Burnus <tobias@codesourcery.com> 4301 4302 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add 4303 #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn. 4304 * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise. 4305 43062020-03-14 Jakub Jelinek <jakub@redhat.com> 4307 4308 PR middle-end/93566 4309 * testsuite/libgomp.c/pr93566.c: New test. 4310 43112020-02-21 Frederik Harwath <frederik@codesourcery.com> 4312 4313 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to 4314 changes from 2020-02-19, i.e. use integer(c_size_t) instead of 4315 integer(acc_device_property) for the type of the return value of 4316 acc_get_property. 4317 43182020-02-19 Tobias Burnus <tobias@codesourcery.com> 4319 4320 * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h. 4321 * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current. 4322 (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup. 4323 * libgomp.texi (Enabling OpenACC): No longer mark as experimental. 4324 (acc_set_device_num): Fix Fortran argument name, use same name for C. 4325 (acc_get_property): Update Fortran interface to post-OpenACC 3.0 4326 corrections; add note about the previous interface and named constant. 4327 (OpenACC library and environment variables): Fix two typos. 4328 * openacc.f90: Use for all procedures the argument names from the spec 4329 as for ���_h they are user visible. 4330 (openacc_kinds): Rename acc_device_property to 4331 acc_device_property_kinds and change value to int32 ; and update users. 4332 Re-add acc_device_property for for backward compatibility. 4333 (acc_get_property_string_h): Clean up as acc_device_property_kind 4334 changed. 4335 (acc_get_property_h): Likewise and return c_size_t instead of 4336 acc_device_property. 4337 (openacc): Also export acc_device_property_kinds. 4338 (acc_async_test_h, acc_async_test_all_h, acc_on_device_h, 4339 acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value 4340 handling; check against /= 0 instead of == 1 to match C. 4341 * openacc_lib.h: Use for all procedures the argument names from the spec 4342 as for ���_h they are user visible. Place !GCC$ into the first column to 4343 be active also for fixed-form souce form. 4344 (acc_device_current, acc_device_property_kind, acc_device_property, 4345 acc_property_memory, acc_property_free_memory, acc_property_name, 4346 acc_property_vendor, acc_property_driver): New named constants. 4347 (acc_get_property, acc_get_property_string): New generic interface. 4348 43492020-02-13 Frederik Harwath <frederik@codesourcery.com> 4350 4351 PR libgomp/93481 4352 * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub. 4353 * target.c (gomp_load_plugin_for_device): Make "async_run" loading 4354 optional. 4355 (gomp_target_task_fn): Assert "devicep->async_run_func". 4356 (clear_unsupported_flags): New function to remove unsupported flags 4357 (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored. 4358 (GOMP_target_ext): Apply clear_unsupported_flags to flags. 4359 * testsuite/libgomp.c/target-33.c: 4360 Remove xfail for offload_target_nvptx. 4361 * testsuite/libgomp.c/target-34.c: Likewise. 4362 43632020-02-10 Frederik Harwath <frederik@codesourcery.com> 4364 4365 * testsuite/libgomp.c/target-33.c: Add xfail for execution on 4366 offload_target_nvptx, cf. https://gcc.gnu.org/PR81688. 4367 * testsuite/libgomp.c/target-34.c: Likewise. 4368 * testsuite/libgomp.c/target-link-1.c: Add xfail for 4369 offload_target_nvptx, cf. https://gcc.gnu.org/PR81689. 4370 43712020-02-09 Jakub Jelinek <jakub@redhat.com> 4372 4373 * testsuite/libgomp.c/target-38.c: New test. 4374 43752020-02-06 Jakub Jelinek <jakub@redhat.com> 4376 4377 PR libgomp/93515 4378 * testsuite/libgomp.c-c++-common/pr93515.c: New test. 4379 43802020-02-05 Tobias Burnus <tobias@codesourcery.com> 4381 4382 * testsuite/lib/libgomp.exp 4383 (check_effective_target_offload_target_nvptx): Pass flags as 'options' 4384 and not as 'source' argument to libgomp_target_compile. 4385 43862020-02-03 Andrew Stubbs <ams@codesourcery.com> 4387 4388 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove. 4389 (gcn_gfx801_s): Remove. 4390 (isa_hsa_name): Remove gfx801. 4391 (isa_gcc_name): Remove gfx801/carizzo. 4392 (isa_code): Remove gfx801. 4393 43942020-02-03 Julian Brown <julian@codesourcery.com> 4395 Tobias Burnus <tobias@codesourcery.com> 4396 4397 * libgomp.texi (OpenACC Runtime Library Routines): Document *_async 4398 and *_finalize variants; document acc_attach and acc_detach; update 4399 references from OpenACC 2.0 to 2.6. 4400 * openacc.f90 (openacc_version): Update to 201711. 4401 * openacc_lib.h (openacc_version): Update to 201711. 4402 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected 4403 openacc_version to 201711. 4404 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise. 4405 44062020-01-31 Kwok Cheung Yeung <kcy@codesourcery.com> 4407 4408 * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count 4409 and vgpr_count fields. 4410 (struct kernel_info): Add a field for a hsa_kernel_description. 4411 (run_kernel): Reduce the number of threads/workers if the requested 4412 number would require too many VGPRs. 4413 (init_basic_kernel_info): Initialize description field with 4414 the hsa_kernel_description entry for the kernel. 4415 44162020-01-29 Tobias Burnus <tobias@codesourcery.com> 4417 4418 PR bootstrap/93409 4419 * plugin/configfrag.ac (enable_offload_targets): Skip 4420 HSA and GCN plugin besides -m32 also for -mx32. 4421 * configure: Regenerate. 4422 44232020-01-29 Frederik Harwath <frederik@codesourcery.com> 4424 4425 * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon. 4426 44272020-01-29 Frederik Harwath <frederik@codesourcery.com> 4428 4429 * plugin-gcn.c (struct agent_info): Add fields "name" and 4430 "vendor_name" ... 4431 (GOMP_OFFLOAD_init_device): ... and init from here. 4432 (struct hsa_context_info): Add field "driver_version_s" ... 4433 (init_hsa_contest): ... and init from here. 4434 (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper 4435 implementation. 4436 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: 4437 Enable test execution for amdgcn and host offloading targets. 4438 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise. 4439 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c 4440 (expect_device_properties): Split function into ... 4441 (expect_device_string_properties): ... this new function ... 4442 (expect_device_memory): ... and this new function. 4443 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c: 4444 Add test. 4445 44462020-01-28 Julian Brown <julian@codesourcery.com> 4447 4448 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here. 4449 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed 4450 component/non-component variable refs in a single directive. 4451 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise. 4452 44532020-01-24 Maciej W. Rozycki <macro@wdc.com> 4454 4455 * configure.ac: Handle `--with-toolexeclibdir='. 4456 * Makefile.in: Regenerate. 4457 * aclocal.m4: Regenerate. 4458 * configure: Regenerate. 4459 * testsuite/Makefile.in: Regenerate. 4460 44612020-01-24 Frederik Harwath <frederik@codesourcery.com> 4462 4463 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c 4464 (expect_device_properties): Remove "expected_free_mem" argument, 4465 change "expected_total_mem" argument type to size_t; 4466 change types of acc_get_property results to size_t, 4467 adapt format strings. 4468 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: 4469 Use %zu instead of %zd to print size_t values. 4470 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and 4471 rename to ... 4472 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this. 4473 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and 4474 rename to ... 4475 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this. 4476 44772020-01-23 Andrew Stubbs <ams@codesourcery.com> 4478 4479 * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for 4480 the device id. 4481 44822020-01-20 Andrew Stubbs <ams@codesourcery.com> 4483 4484 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn. 4485 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main): 4486 Adjust test dimensions for amdgcn. 4487 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust 4488 gang/worker/vector expectations dynamically. 4489 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c 4490 (main): Likewise. 4491 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise. 4492 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise. 4493 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise. 4494 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise. 4495 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise. 4496 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise. 4497 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise. 4498 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise. 4499 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c 4500 (acc_gang): Recognise acc_device_radeon. 4501 (acc_worker): Likewise. 4502 (acc_vector): Likewise. 4503 (main): Set expectations for amdgcn. 4504 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c 4505 (main): Adjust gang/worker/vector expectations dynamically. 4506 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise. 4507 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise. 4508 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise. 4509 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations 4510 for amdgcn. 4511 45122020-01-17 Andrew Stubbs <ams@codesourcery.com> 4513 4514 * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to 4515 acc_device_radeon. 4516 (openacc): Likewise. 4517 * openacc.f90 (openacc_kinds): Likewise. 4518 (openacc): Likewise. 4519 * openacc.h (acc_device_t): Likewise. 4520 * openacc_lib.h: Likewise. 4521 * testsuite/lib/libgomp.exp 4522 (check_effective_target_openacc_amdgcn_accel_present): Likewise. 4523 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c 4524 (cb_compute_construct_end): Likewise. 4525 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c 4526 (cb_enqueue_launch_start): Likewise. 4527 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c 4528 (cb_enter_data_end): Likewise. 4529 (cb_exit_data_start): Likewise. 4530 (cb_exit_data_end): Likewise. 4531 (cb_compute_construct_end): Likewise. 4532 (cb_enqueue_launch_start): Likewise. 4533 (cb_enqueue_launch_end): Likewise. 4534 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c 4535 (main): Likewise. 4536 45372020-01-10 Thomas Schwinge <thomas@codesourcery.com> 4538 4539 * libgomp-plugin.h (enum goacc_property): New. Adjust all users 4540 to use this instead of 'enum gomp_device_property'. 4541 (GOMP_OFFLOAD_get_property): Rename to... 4542 (GOMP_OFFLOAD_openacc_get_property): ... this. Adjust all users. 4543 * libgomp.h (struct gomp_device_descr): Move 4544 'GOMP_OFFLOAD_openacc_get_property'... 4545 (struct acc_dispatch_t): ... here. Adjust all users. 4546 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove. 4547 4548 * target.c (gomp_map_vars_internal) 4549 <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code 4550 paths. 4551 45522020-01-10 Jakub Jelinek <jakub@redhat.com> 4553 4554 PR libgomp/93219 4555 * libgomp.h (gomp_print_string): Change return type from void to int. 4556 * affinity-fmt.c (gomp_print_string): Likewise. Return true if 4557 not all characters have been written. 4558 45592020-01-08 Tobias Burnus <tobias@codesourcery.com> 4560 4561 * libgomp.texi: Fix typos, use https. 4562 45632020-01-03 Tobias Burnus <tobias@codesourcery.com> 4564 4565 * testsuite/libgomp.fortran/optional-map.f90: Add test for 4566 unallocated/disassociated actual arguments to nonallocatable/nonpointer 4567 dummy arguments; those are/shall be regarded as absent arguments. 4568 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto. 4569 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New. 4570 45712020-01-01 Jakub Jelinek <jakub@redhat.com> 4572 4573 Update copyright years. 4574 4575 * libgomp.texi: Bump @copying's copyright year. 4576 45772019-12-31 Ayush Mittal <ayush.m@samsung.com> 4578 4579 PR libgomp/93065 4580 * oacc-init.c (goacc_runtime_deinitialize): New function. 4581 45822019-12-28 Jakub Jelinek <jakub@redhat.com> 4583 4584 PR bootstrap/93074 4585 * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare. 4586 (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2. 4587 45882019-12-22 Maciej W. Rozycki <macro@codesourcery.com> 4589 Frederik Harwath <frederik@codesourcery.com> 4590 Thomas Schwinge <tschwinge@codesourcery.com> 4591 4592 * libgomp.h (gomp_device_descr): Add `get_property_func' member. 4593 * libgomp-plugin.h (gomp_device_property_value): New union. 4594 (gomp_device_property_value): New prototype. 4595 * openacc.h (acc_device_t): Add `acc_device_current' enumeration 4596 constant. 4597 (acc_device_property_t): New enum. 4598 (acc_get_property, acc_get_property_string): New prototypes. 4599 * oacc-init.c (acc_get_device_type): Also assert that result 4600 is not `acc_device_current'. 4601 (get_property_any, acc_get_property, acc_get_property_string): 4602 New functions. 4603 * openacc.f90 (openacc_kinds): Add `acc_device_current' and 4604 `acc_property_memory', `acc_property_free_memory', 4605 `acc_property_name', `acc_property_vendor' and 4606 `acc_property_driver' constants. Add `acc_device_property' data 4607 type. 4608 (openacc_internal): Add `acc_get_property' and 4609 `acc_get_property_string' interfaces. Add `acc_get_property_h', 4610 `acc_get_property_string_h', `acc_get_property_l' and 4611 `acc_get_property_string_l'. 4612 * oacc-host.c (host_get_property): New function. 4613 (host_dispatch): Wire it. 4614 * target.c (gomp_load_plugin_for_device): Handle `get_property'. 4615 * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_', 4616 `acc_get_property_string' and `acc_get_property_string_h_' symbols. 4617 * libgomp.texi (OpenACC Runtime Library Routines): Add 4618 `acc_get_property'. 4619 (acc_get_property): New node. 4620 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New 4621 function (stub). 4622 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function. 4623 * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName', 4624 `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo' 4625 calls. 4626 (GOMP_OFFLOAD_get_property): New function. 4627 (struct ptx_device): Add new field "name". 4628 (cuda_driver_version_s): Add new static variable ... 4629 (nvptx_init): ... and init from here. 4630 4631 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test. 4632 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test. 4633 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test. 4634 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file 4635 with test helper functions. 4636 4637 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test. 4638 46392019-12-22 Maciej W. Rozycki <macro@wdc.com> 4640 4641 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New 4642 variable. 4643 46442019-12-21 Thomas Schwinge <thomas@codesourcery.com> 4645 4646 * target.c (gomp_map_vars_internal): Restore 'omp declare target 4647 link' handling. 4648 46492019-12-19 Julian Brown <julian@codesourcery.com> 4650 4651 * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test. 4652 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test. 4653 * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test. 4654 46552019-12-19 Julian Brown <julian@codesourcery.com> 4656 Cesar Philippidis <cesar@codesourcery.com> 4657 4658 * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test. 4659 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test. 4660 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test. 4661 * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test. 4662 * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test. 4663 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test. 4664 * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test. 4665 * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test. 4666 * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test. 4667 * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test. 4668 * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test. 4669 * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test. 4670 * testsuite/libgomp.oacc-fortran/update-2.f90: New test. 4671 46722019-12-19 Julian Brown <julian@codesourcery.com> 4673 4674 * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test. 4675 * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test. 4676 * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test. 4677 * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test. 4678 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test. 4679 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test. 4680 * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test. 4681 * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test. 4682 * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test. 4683 * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test. 4684 * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test. 4685 * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test. 4686 46872019-12-19 Julian Brown <julian@codesourcery.com> 4688 4689 * libgomp.h (struct target_var_desc): Add do_detach flag. 4690 * oacc-init.c (acc_shutdown_1): Free aux block if present. 4691 * oacc-mem.c (find_group_last): Add SIZES parameter. Support 4692 struct components. Tidy up and add some new checks. 4693 (goacc_enter_data_internal): Update call to find_group_last. 4694 (goacc_exit_data_internal): Support detach operations and 4695 GOMP_MAP_STRUCT. 4696 (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or 4697 GOMP_MAP_FORCE_PRESENT in finalization detection code. Handle 4698 attach/detach in enter/exit data detection code. 4699 * target.c (gomp_map_vars_existing): Initialise do_detach field of 4700 tgt_var_desc. 4701 (gomp_map_vars_internal): Support attach. 4702 (gomp_unmap_vars_internal): Support detach. 4703 47042019-12-19 Julian Brown <julian@codesourcery.com> 4705 Thomas Schwinge <thomas@codesourcery.com> 4706 4707 * libgomp.h (struct splay_tree_aux): Add attach_count field. 4708 (gomp_attach_pointer, gomp_detach_pointer): Add prototypes. 4709 * libgomp.map (OACC_2.6): New section. Add acc_attach, 4710 acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize, 4711 acc_detach_finalize_async. 4712 * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal, 4713 acc_detach, acc_detach_async, acc_detach_finalize, 4714 acc_detach_finalize_async): New functions. 4715 * openacc.h (acc_attach, acc_attach_async, acc_detach, 4716 (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add 4717 prototypes. 4718 * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions. 4719 (gomp_remove_var_internal): Free attachment counts if present. 4720 * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test. 4721 * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test. 4722 47232019-12-19 Julian Brown <julian@codesourcery.com> 4724 Cesar Philippidis <cesar@codesourcery.com> 4725 4726 * libgomp.h (gomp_map_val): Add prototype. 4727 * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of 4728 open-coding device-address calculation. 4729 * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in 4730 non-present case. 4731 47322019-12-19 Julian Brown <julian@codesourcery.com> 4733 4734 * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount 4735 field for virtual_refcount. 4736 (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA. 4737 (gomp_free_memmap): Remove prototype. 4738 * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var 4739 instead of calling gomp_free_memmap. 4740 * oacc-mem.c (acc_map_data): Use virtual_refcount instead of 4741 dynamic_refcount. 4742 (acc_unmap_data): Open code instead of forcing target_mem_desc's 4743 to_free field to NULL then calling gomp_unmap_vars. Handle 4744 REFCOUNT_INFINITY on target blocks. 4745 (goacc_enter_data): Rename to... 4746 (goacc_enter_datum): ...this. Remove MAPNUM parameter and special 4747 handling for mapping groups. Use virtual_refcount instead of 4748 dynamic_refcount. Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for 4749 map_map_vars_async call. Re-do lookup for target pointer return value. 4750 (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call 4751 renamed goacc_enter_datum function. 4752 (goacc_exit_data): Rename to... 4753 (goacc_exit_datum): ...this. Update for virtual_refcount semantics. 4754 (acc_delete, acc_delete_async, acc_delete_finalize, 4755 acc_delete_finalize_async, acc_copyout, acc_copyout_async, 4756 acc_copyout_finalize, acc_copyout_finalize_async): Call renamed 4757 goacc_exit_datum function. 4758 (gomp_acc_remove_pointer, find_pointer): Remove functions. 4759 (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal): 4760 New functions. 4761 (GOACC_enter_exit_data): Use goacc_enter_data_internal and 4762 goacc_exit_data_internal helper functions. 4763 * target.c (gomp_map_vars_internal): Handle 4764 GOMP_MAP_VARS_OPENACC_ENTER_DATA. Update for virtual_refcount 4765 semantics. 4766 (gomp_unmap_vars_internal): Update for virtual_refcount semantics. 4767 (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise 4768 virtual_refcount field instead of dynamic_refcount. 4769 (gomp_free_memmap): Remove function. 4770 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test. 4771 * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test. 4772 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL. 4773 47742019-12-19 Julian Brown <julian@codesourcery.com> 4775 Thomas Schwinge <thomas@codesourcery.com> 4776 4777 * libgomp.h (struct splay_tree_aux): New. 4778 (struct splay_tree_key_s): Replace link_key field with aux pointer. 4779 * target.c (gomp_map_vars_internal): Adjust for link_key being moved 4780 to aux struct. 4781 (gomp_remove_var_internal): Free aux block if present. 4782 (gomp_load_image_to_device): Zero-initialise aux field instead of 4783 link_key field. 4784 (omp_target_associate_pointer): Zero-initialise aux field. 4785 47862019-12-18 Jakub Jelinek <jakub@redhat.com> 4787 4788 PR middle-end/86416 4789 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than 4790 q or none. 4791 * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than 4792 L or none. 4793 47942019-12-19 Julian Brown <julian@codesourcery.com> 4795 Maciej W. Rozycki <macro@codesourcery.com> 4796 Tobias Burnus <tobias@codesourcery.com> 4797 Thomas Schwinge <thomas@codesourcery.com> 4798 4799 * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC. 4800 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test. 4801 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test. 4802 * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test. 4803 * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test. 4804 * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test. 4805 * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test. 4806 * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test. 4807 * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test. 4808 48092019-12-18 Thomas Schwinge <thomas@codesourcery.com> 4810 4811 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be 4812 called... 4813 (goacc_insert_pointer): ... from here, "present" case. 4814 (goacc_insert_pointer): Inline function into... 4815 (GOACC_enter_exit_data): ... here, and simplify. 4816 4817 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be 4818 called... 4819 (goacc_insert_pointer): ... from here, "not present" case. 4820 4821 * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust 4822 all users. 4823 4824 * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call 4825 'goacc_enter_data', 'goacc_exit_data'. 4826 4827 * oacc-mem.c (delete_copyout): Refactor into... 4828 (goacc_exit_data): ... this. Adjust all users. 4829 4830 * oacc-mem.c (present_create_copy): Refactor into... 4831 (goacc_enter_data): ... this. Adjust all users. 4832 4833 * target.c (gomp_unmap_vars_internal): Add a safeguard to 4834 'gomp_remove_var'. 4835 4836 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM' 4837 like 'GOMP_MAP_FROM'. 4838 4839 PR libgomp/92726 4840 PR libgomp/92970 4841 PR libgomp/92984 4842 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host' 4843 fails. 4844 (GOACC_enter_exit_data): Simplify accordingly. 4845 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file, 4846 subsuming... 4847 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file... 4848 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this 4849 file. 4850 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file, 4851 subsuming... 4852 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file... 4853 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this 4854 file. 4855 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file, 4856 subsuming... 4857 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file. 4858 4859 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data' 4860 'finalize' handling. 4861 4862 PR libgomp/92848 4863 * oacc-mem.c (acc_map_data, present_create_copy) 4864 (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'. 4865 (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust. 4866 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove. 4867 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file 4868 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise. 4869 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise. 4870 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise. 4871 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c: 4872 Remove "XFAIL"s. 4873 4874 * target.c (gomp_unmap_tgt): Make it 'static'. 4875 * libgomp.h (gomp_unmap_tgt): Remove. 4876 48772019-12-18 Tobias Burnus <tobias@codesourcery.com> 4878 4879 PR middle-end/86416 4880 * testsuite/libgomp.c/pr86416-1.c: New. 4881 * testsuite/libgomp.c/pr86416-2.c: New. 4882 48832019-12-17 Tobias Burnus <tobias@codesourcery.com> 4884 4885 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark 4886 all symbols as public except for the 'use ���, only' imported symbol, 4887 which is private. 4888 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark 4889 all symbols from module openacc_kinds as PUBLIC 4890 * openacc.f90: Add comment with crossref to that file and openmp_lib.h; 4891 fix comment typo. 4892 * openacc_lib.h (acc_device_gcn): Add this PARAMETER. 4893 48942019-12-13 Julian Brown <julian@codesourcery.com> 4895 4896 PR libgomp/92881 4897 4898 * libgomp.h (gomp_remove_var_async): Add prototype. 4899 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of 4900 gomp_remove_var. 4901 * target.c (gomp_unref_tgt): Change return type to bool, indicating 4902 whether target_mem_desc was unmapped. 4903 (gomp_unref_tgt_void): New. 4904 (gomp_remove_var): Reimplement in terms of... 4905 (gomp_remove_var_internal): ...this new helper function. 4906 (gomp_remove_var_async): New, implemented using above helper function. 4907 (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of 4908 gomp_unref_tgt. 4909 49102019-12-13 Andrew Stubbs <ams@codesourcery.com> 4911 4912 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn. 4913 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise. 4914 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise. 4915 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise. 4916 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: 4917 Likewise. 4918 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN. 4919 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise. 4920 49212019-12-13 Tobias Burnus <tobias@codesourcery.com> 4922 4923 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols 4924 as public except for the 'use ���, only' imported symbol, which is 4925 private. 4926 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark 4927 all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC 4928 attributes for acc_copyout_finalize and acc_delete_finalize. 4929 49302019-12-11 Jakub Jelinek <jakub@redhat.com> 4931 4932 PR fortran/92899 4933 * testsuite/libgomp.fortran/atomic1.f90: New test. 4934 49352019-12-11 Thomas Schwinge <thomas@codesourcery.com> 4936 4937 PR libgomp/92843 4938 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic 4939 reference counting for structured 'REFCOUNT_INFINITY'. Add some 4940 assertions. 4941 (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly. 4942 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file. 4943 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC. 4944 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise. 4945 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise. 4946 4947 * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move... 4948 * oacc-mem.c: ... here. 4949 (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to 4950 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'. 4951 * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer): 4952 Remove. 4953 * libgomp_g.h: Update. 4954 4955 * oacc-parallel.c (GOACC_wait, goacc_wait): Move... 4956 * oacc-async.c: ... here. 4957 * oacc-int.h (goacc_wait): Declare. 4958 * libgomp_g.h: Update 4959 4960 PR libgomp/92854 4961 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c: 4962 New file. 4963 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c: 4964 Likewise. 4965 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c: 4966 Likewise. 4967 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c: 4968 Likewise. 4969 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c: 4970 Likewise. 4971 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c: 4972 Likewise. 4973 49742019-12-11 Thomas Schwinge <thomas@codesourcery.com> 4975 Julian Brown <julian@codesourcery.com> 4976 4977 * target.c (gomp_load_image_to_device, omp_target_associate_ptr): 4978 Initialize 'dynamic_refcount' whenever we initialize 'refcount'. 4979 49802019-12-11 Tobias Burnus <tobias@codesourcery.com> 4981 4982 * omp_lib.h.in: Fix spelling of function declaration 4983 omp_get_cancell(l)ation. 4984 * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all): 4985 Fix typos. 4986 * env.c: Fix comment typos. 4987 * oacc-host.c: Likewise. 4988 * ordered.c: Likewise. 4989 * task.c: Likewise. 4990 * team.c: Likewise. 4991 * config/gcn/task.c: Likewise. 4992 * config/gcn/team.c: Likewise. 4993 * config/nvptx/task.c: Likewise. 4994 * config/nvptx/team.c: Likewise. 4995 * plugin/plugin-gcn.c: Likewise. 4996 * testsuite/libgomp.fortran/jacobi.f: Likewise. 4997 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise. 4998 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise. 4999 50002019-12-11 Tobias Burnus <tobias@codesourcery.com> 5001 5002 * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'. 5003 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove 5004 unnecessary 'dg-additional-options "-w"'. 5005 50062019-12-09 Thomas Schwinge <thomas@codesourcery.com> 5007 Julian Brown <julian@codesourcery.com> 5008 5009 PR libgomp/92116 5010 PR libgomp/92877 5011 5012 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users. 5013 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member. 5014 Adjust all users. 5015 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c: 5016 Remove XFAIL. 5017 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c: 5018 Likewise. 5019 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file. 5020 50212019-12-09 Thomas Schwinge <thomas@codesourcery.com> 5022 5023 PR libgomp/92503 5024 * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'. 5025 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New 5026 file. 5027 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c: 5028 Likewise. 5029 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c: 5030 Likewise. 5031 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c: 5032 Likewise. 5033 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c: 5034 Likewise. 5035 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c: 5036 Likewise. 5037 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust. 5038 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise. 5039 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise. 5040 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise. 5041 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise. 5042 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise. 5043 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise. 5044 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise. 5045 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise. 5046 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise. 5047 5048 PR libgomp/92840 5049 * oacc-mem.c (acc_map_data): Clarify reference counting behavior. 5050 (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'. 5051 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c: 5052 New file. 5053 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c: 5054 Likewise. 5055 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c: 5056 Likewise. 5057 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust. 5058 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust. 5059 5060 PR libgomp/92511 5061 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove 5062 this file... 5063 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and 5064 this file... 5065 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this 5066 file... 5067 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this 5068 file... 5069 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c: 5070 ... with their content moved into, and extended in this new file. 5071 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c: 5072 New file. 5073 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c: 5074 Likewise. 5075 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c: 5076 Likewise. 5077 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c: 5078 Likewise. 5079 5080 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file. 5081 5082 PR libgomp/92854 5083 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file. 5084 5085 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file. 5086 5087 * target.c (gomp_exit_data): Use 'gomp_remove_var'. 5088 50892019-12-09 Tobias Burnus <tobias@codesourcery.com> 5090 5091 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes 5092 unique. 5093 * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto. 5094 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto. 5095 * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto. 5096 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: 5097 Ditto. 5098 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto. 5099 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto. 5100 51012019-12-06 Kwok Cheung Yeung <kcy@codesourcery.com> 5102 5103 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro. 5104 51052019-12-06 Tobias Burnus <tobias@codesourcery.com> 5106 Kwok Cheung Yeung <kcy@codesourcery.com> 5107 5108 * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return 5109 if input it a NULL pointer. 5110 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on 5111 diagnostic of NULL pointer. 5112 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto. 5113 * testsuite/libgomp.fortran/optional-map.f90: New. 5114 * testsuite/libgomp.fortran/use_device_addr-1.f90 5115 (test_dummy_opt_callee_1_absent): New. 5116 (test_dummy_opt_call_1): Call it. 5117 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise. 5118 * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise. 5119 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise. 5120 * testsuite/libgomp.oacc-fortran/optional-cache.f95: New. 5121 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New. 5122 * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New. 5123 * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New. 5124 * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New. 5125 * testsuite/libgomp.oacc-fortran/optional-declare.f90: New. 5126 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New. 5127 * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New. 5128 * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New. 5129 * testsuite/libgomp.oacc-fortran/optional-private.f90: New. 5130 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New. 5131 * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New. 5132 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New. 5133 51342019-12-05 Tobias Burnus <tobias@codesourcery.com> 5135 5136 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't 5137 expect dg-output of 'Error termination.' for GCN. 5138 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise. 5139 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise. 5140 51412019-12-04 Jakub Jelinek <jakub@redhat.com> 5142 5143 PR fortran/92756 5144 * testsuite/libgomp.fortran/teams1.f90: New test. 5145 * testsuite/libgomp.fortran/teams2.f90: New test. 5146 51472019-12-03 Frederik Harwath <frederik@codesourcery.com> 5148 5149 * oacc-init.c (acc_known_device_type): Add function. 5150 (unknown_device_type_error): Add function. 5151 (name_of_acc_device_t): Change to call unknown_device_type_error 5152 on unknown type. 5153 (resolve_device): Use acc_known_device_type. 5154 (acc_init): Fail if acc_device_t argument is not valid. 5155 (acc_shutdown): Likewise. 5156 (acc_get_num_devices): Likewise. 5157 (acc_set_device_type): Likewise. 5158 (acc_get_device_num): Likewise. 5159 (acc_set_device_num): Likewise. 5160 (acc_on_device): Add comment that argument validity is not checked. 5161 51622019-12-03 Andrew Stubbs <ams@codesourcery.com> 5163 5164 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type): 5165 Recognize amdgcn. 5166 (check_effective_target_openacc_amdgcn_accel_present): New proc. 5167 (check_effective_target_openacc_amdgcn_accel_selected): New proc. 5168 * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn. 5169 * testsuite/libgomp.oacc-c/c.exp: Likewise. 5170 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 5171 51722019-12-03 Szabolcs Nagy <szabolcs.nagy@arm.com> 5173 5174 PR libgomp/91938 5175 * configure.tgt: Avoid IE tls on *-*-musl*. 5176 51772019-11-29 Tobias Burnus <tobias@codesourcery.com> 5178 5179 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by 5180 adding a common-block test case. 5181 51822019-11-29 Jakub Jelinek <jakub@redhat.com> 5183 5184 PR c++/60228 5185 * testsuite/libgomp.c++/udr-20.C: New test. 5186 * testsuite/libgomp.c++/udr-21.C: New test. 5187 51882019-11-27 Thomas Schwinge <thomas@codesourcery.com> 5189 5190 * testsuite/lib/libgomp.exp 5191 (check_effective_target_offload_target_nvptx): New proc. 5192 * testsuite/libgomp.fortran/target-print-1.f90: Use it with 5193 'dg-skip-if'. 5194 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise. 5195 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file. 5196 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise. 5197 51982019-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 5199 5200 * testsuite/libgomp.c/pr39591-1.c: Rename err to e. 5201 * testsuite/libgomp.c/pr39591-2.c: Likewise. 5202 * testsuite/libgomp.c/pr39591-3.c: Likewise. 5203 * testsuite/libgomp.c/private-1.c: Likewise. 5204 * testsuite/libgomp.c/task-1.c: Likewise. 5205 * testsuite/libgomp.c/task-5.c: Renamed err to serr. 5206 52072019-11-20 Julian Brown <julian@codesourcery.com> 5208 5209 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock 5210 aq->mutex here. 5211 (queue_push_launch): Lock aq->mutex before calling 5212 wait_for_queue_nonfull. 5213 (queue_push_callback): Likewise. 5214 (queue_push_asyncwait): Likewise. 5215 (queue_push_placeholder): Likewise. 5216 52172019-11-20 Julian Brown <julian@codesourcery.com> 5218 5219 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New. 5220 (copy_data, GOMP_OFFLOAD_host2dev): Use above function. 5221 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy 5222 return code. 5223 52242019-11-20 Julian Brown <julian@codesourcery.com> 5225 5226 PR libgomp/92511 5227 5228 * oacc-mem.c (present_create_copy): Fix device pointer return value in 5229 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free 5230 in non-present/create case. 5231 (delete_copyout): Change error condition to fail only on copies outside 5232 of mapped block. Adjust error message accordingly. 5233 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test. 5234 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test. 5235 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error 5236 message. 5237 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. 5238 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now. 5239 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise. 5240 52412019-11-20 Maciej W. Rozycki <macro@wdc.com> 5242 5243 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find 5244 libatomic in build-tree testing. 5245 52462019-11-18 Maciej W. Rozycki <macro@wdc.com> 5247 5248 * testsuite/Makefile.in: Regenerate. 5249 52502019-11-15 Andrew Stubbs <ams@codesourcery.com> 5251 5252 * testsuite/libgomp.c/target-print-1.c: New file. 5253 * testsuite/libgomp.fortran/target-print-1.f90: New file. 5254 * testsuite/libgomp.oacc-c/print-1.c: New file. 5255 * testsuite/libgomp.oacc-fortran/print-1.f90: New file. 5256 52572019-11-13 Andrew Stubbs <ams@codesourcery.com> 5258 Kwok Cheung Yeung <kcy@codesourcery.com> 5259 Julian Brown <julian@codesourcery.com> 5260 Tom de Vries <tom@codesourcery.com> 5261 5262 * plugin/Makefrag.am: Add amdgcn plugin support. 5263 * plugin/configfrag.ac: Likewise. 5264 * plugin/plugin-gcn.c: New file. 5265 * configure: Regenerate. 5266 * Makefile.in: Regenerate. 5267 * testsuite/Makefile.in: Regenerate. 5268 52692019-11-13 Andrew Stubbs <ams@codesourcery.com> 5270 5271 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena 5272 and use team_malloc variants. 5273 (gomp_gcn_exit_kernel): Use team_free. 5274 * libgomp.h (TEAM_ARENA_SIZE): Define. 5275 (TEAM_ARENA_START): Define. 5276 (TEAM_ARENA_FREE): Define. 5277 (TEAM_ARENA_END): Define. 5278 (team_malloc): New function. 5279 (team_malloc_cleared): New function. 5280 (team_free): New function. 5281 * team.c (gomp_new_team): Initialize and use team_malloc. 5282 (free_team): Use team_free. 5283 (gomp_free_thread): Use team_free. 5284 (gomp_pause_host): Use team_free. 5285 * work.c (gomp_init_work_share): Use team_malloc. 5286 (gomp_fini_work_share): Use team_free. 5287 52882019-11-13 Andrew Stubbs <ams@codesourcery.com> 5289 Kwok Cheung Yeung <kcy@codesourcery.com> 5290 Julian Brown <julian@codesourcery.com> 5291 Tom de Vries <tom@codesourcery.com> 5292 5293 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c. 5294 * Makefile.in: Regenerate. 5295 * config.h.in (PLUGIN_GCN): Add new undef. 5296 * config/accel/openacc.f90 (acc_device_gcn): New parameter. 5297 * config/gcn/affinity-fmt.c: New file. 5298 * config/gcn/bar.c: New file. 5299 * config/gcn/bar.h: New file. 5300 * config/gcn/doacross.h: New file. 5301 * config/gcn/icv-device.c: New file. 5302 * config/gcn/oacc-target.c: New file. 5303 * config/gcn/simple-bar.h: New file. 5304 * config/gcn/target.c: New file. 5305 * config/gcn/task.c: New file. 5306 * config/gcn/team.c: New file. 5307 * config/gcn/time.c: New file. 5308 * configure.ac: Add amdgcn*-*-*. 5309 * configure: Regenerate. 5310 * configure.tgt: Add amdgcn*-*-*. 5311 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN. 5312 * libgomp.h (gcn_thrs): Add amdgcn variant. 5313 (set_gcn_thrs): Likewise. 5314 (gomp_thread): Likewise. 5315 * oacc-int.h (goacc_thread): Likewise. 5316 * oacc-target.c: New file. 5317 * openacc.f90 (acc_device_gcn): New parameter. 5318 * openacc.h (acc_device_t): Add acc_device_gcn. 5319 * team.c (gomp_free_pool_helper): Add amdgcn support. 5320 53212019-11-13 Andrew Stubbs <ams@codesourcery.com> 5322 Julian Brown <julian@codesourcery.com> 5323 5324 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int 5325 parameter. 5326 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the 5327 queue constructor. 5328 * oacc-host.c (host_openacc_async_construct): Add device parameter. 5329 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add 5330 device parameter. 5331 53322019-11-13 Andrew Stubbs <ams@codesourcery.com> 5333 5334 * configure.tgt (nvptx*-*-*): Add "accel" directory. 5335 * config/nvptx/libgomp-plugin.c: Move ... 5336 * config/accel/libgomp-plugin.c: ... to here. 5337 * config/nvptx/lock.c: Move ... 5338 * config/accel/lock.c: ... to here. 5339 * config/nvptx/mutex.c: Move ... 5340 * config/accel/mutex.c: ... to here. 5341 * config/nvptx/mutex.h: Move ... 5342 * config/accel/mutex.h: ... to here. 5343 * config/nvptx/oacc-async.c: Move ... 5344 * config/accel/oacc-async.c: ... to here. 5345 * config/nvptx/oacc-cuda.c: Move ... 5346 * config/accel/oacc-cuda.c: ... to here. 5347 * config/nvptx/oacc-host.c: Move ... 5348 * config/accel/oacc-host.c: ... to here. 5349 * config/nvptx/oacc-init.c: Move ... 5350 * config/accel/oacc-init.c: ... to here. 5351 * config/nvptx/oacc-mem.c: Move ... 5352 * config/accel/oacc-mem.c: ... to here. 5353 * config/nvptx/oacc-plugin.c: Move ... 5354 * config/accel/oacc-plugin.c: ... to here. 5355 * config/nvptx/omp-lock.h: Move ... 5356 * config/accel/omp-lock.h: ... to here. 5357 * config/nvptx/openacc.f90: Move ... 5358 * config/accel/openacc.f90: ... to here. 5359 * config/nvptx/pool.h: Move ... 5360 * config/accel/pool.h: ... to here. 5361 * config/nvptx/proc.c: Move ... 5362 * config/accel/proc.c: ... to here. 5363 * config/nvptx/ptrlock.c: Move ... 5364 * config/accel/ptrlock.c: ... to here. 5365 * config/nvptx/ptrlock.h: Move ... 5366 * config/accel/ptrlock.h: ... to here. 5367 * config/nvptx/sem.c: Move ... 5368 * config/accel/sem.c: ... to here. 5369 * config/nvptx/sem.h: Move ... 5370 * config/accel/sem.h: ... to here. 5371 * config/nvptx/thread-stacksize.h: Move ... 5372 * config/accel/thread-stacksize.h: ... to here. 5373 53742019-11-12 Maciej W. Rozycki <macro@codesourcery.com> 5375 Tobias Burnus <tobias@codesourcery.com> 5376 Frederik Harwath <frederik@codesourcery.com> 5377 Thomas Schwinge <thomas@codesourcery.com> 5378 5379 libgomp/ 5380 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test. 5381 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test. 5382 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test. 5383 53842019-11-11 Tobias Burnus <tobias@codesourcery.com> 5385 Kwok Cheung Yeung <kcy@codesourcery.com> 5386 5387 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend. 5388 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New. 5389 53902019-11-11 Thomas Schwinge <thomas@codesourcery.com> 5391 5392 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'. 5393 5394 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do 5395 run'. 5396 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise. 5397 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise. 5398 53992019-11-06 Thomas Schwinge <thomas@codesourcery.com> 5400 5401 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: 5402 Add expected warnings about missing reduction clauses. 5403 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: 5404 Likewise. 5405 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: 5406 Likewise. 5407 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: 5408 Likewise. 5409 54102019-11-04 Tobias Burnus <tobias@codesourcery.com> 5411 5412 * testsuite/libgomp.fortran/pr66199-1.f90: Remove 5413 'dg-do run' (implies torture test) as 'dg-options "O2"' is used. 5414 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto. 5415 * testsuite/libgomp.fortran/taskloop2.f90: Ditto. 5416 * testsuite/libgomp.fortran/taskloop3.f90: Ditto. 5417 * testsuite/libgomp.fortran/taskloop4.f90: Ditto. 5418 54192019-11-04 Tobias Burnus <tobias@codesourcery.com> 5420 5421 PR fortran/92305 5422 * testsuite/libgomp.fortran/allocatable2.f90: Use 5423 unique numbers with 'stop'. 5424 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto. 5425 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto. 5426 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto. 5427 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto. 5428 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto. 5429 54302019-11-01 Tobias Burnus <tobias@codesourcery.com> 5431 5432 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1, 5433 test_dummy_opt_nullptr_callee_1): Add present but unallocated test. 5434 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise. 5435 * testsuite/libgomp.fortran/use_device_addr-3.f90: New. 5436 * testsuite/libgomp.fortran/use_device_addr-4.f90: New. 5437 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New. 5438 54392019-10-30 Tobias Burnus <tobias@codesourcery.com> 5440 5441 * testsuite/libgomp.fortran/target9.f90: New. 5442 54432019-10-30 Tobias Burnus <tobias@codesourcery.com> 5444 5445 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'. 5446 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto. 5447 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto. 5448 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto. 5449 * testsuite/libgomp.fortran/allocatable1.f90: Ditto. 5450 * testsuite/libgomp.fortran/allocatable10.f90: Ditto. 5451 * testsuite/libgomp.fortran/allocatable11.f90: Ditto. 5452 * testsuite/libgomp.fortran/allocatable12.f90: Ditto. 5453 * testsuite/libgomp.fortran/allocatable2.f90: Ditto. 5454 * testsuite/libgomp.fortran/allocatable3.f90: Ditto. 5455 * testsuite/libgomp.fortran/allocatable4.f90: Ditto. 5456 * testsuite/libgomp.fortran/allocatable5.f90: Ditto. 5457 * testsuite/libgomp.fortran/allocatable6.f90: Ditto. 5458 * testsuite/libgomp.fortran/allocatable7.f90: Ditto. 5459 * testsuite/libgomp.fortran/allocatable8.f90: Ditto. 5460 * testsuite/libgomp.fortran/allocatable9.f90: Ditto. 5461 * testsuite/libgomp.fortran/associate1.f90: Ditto. 5462 * testsuite/libgomp.fortran/associate2.f90: Ditto. 5463 * testsuite/libgomp.fortran/associate3.f90: Ditto. 5464 * testsuite/libgomp.fortran/async_io_4.f90: Ditto. 5465 * testsuite/libgomp.fortran/async_io_5.f90: Ditto. 5466 * testsuite/libgomp.fortran/async_io_6.f90: Ditto. 5467 * testsuite/libgomp.fortran/async_io_7.f90: Ditto. 5468 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto. 5469 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto. 5470 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto. 5471 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto. 5472 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto. 5473 * testsuite/libgomp.fortran/character1.f90: Ditto. 5474 * testsuite/libgomp.fortran/character2.f90: Ditto. 5475 * testsuite/libgomp.fortran/collapse1.f90: Ditto. 5476 * testsuite/libgomp.fortran/collapse2.f90: Ditto. 5477 * testsuite/libgomp.fortran/collapse3.f90: Ditto. 5478 * testsuite/libgomp.fortran/collapse4.f90: Ditto. 5479 * testsuite/libgomp.fortran/crayptr1.f90: Ditto. 5480 * testsuite/libgomp.fortran/crayptr2.f90: Ditto. 5481 * testsuite/libgomp.fortran/crayptr3.f90: Ditto. 5482 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto. 5483 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto. 5484 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto. 5485 * testsuite/libgomp.fortran/depend-1.f90: Ditto. 5486 * testsuite/libgomp.fortran/depend-2.f90: Ditto. 5487 * testsuite/libgomp.fortran/depend-3.f90: Ditto. 5488 * testsuite/libgomp.fortran/do1.f90: Ditto. 5489 * testsuite/libgomp.fortran/do2.f90: Ditto. 5490 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto. 5491 * testsuite/libgomp.fortran/doacross1.f90: Ditto. 5492 * testsuite/libgomp.fortran/doacross2.f90: Ditto. 5493 * testsuite/libgomp.fortran/doacross3.f90: Ditto. 5494 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto. 5495 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto. 5496 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto. 5497 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto. 5498 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto. 5499 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto. 5500 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto. 5501 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto. 5502 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto. 5503 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto. 5504 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto. 5505 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto. 5506 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto. 5507 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto. 5508 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto. 5509 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto. 5510 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto. 5511 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto. 5512 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto. 5513 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto. 5514 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto. 5515 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto. 5516 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto. 5517 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto. 5518 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto. 5519 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto. 5520 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto. 5521 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto. 5522 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto. 5523 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto. 5524 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto. 5525 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto. 5526 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto. 5527 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto. 5528 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto. 5529 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto. 5530 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto. 5531 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto. 5532 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto. 5533 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto. 5534 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto. 5535 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto. 5536 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto. 5537 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto. 5538 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto. 5539 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto. 5540 * testsuite/libgomp.fortran/lib1.f90: Ditto. 5541 * testsuite/libgomp.fortran/lib4.f90: Ditto. 5542 * testsuite/libgomp.fortran/lock-1.f90: Ditto. 5543 * testsuite/libgomp.fortran/lock-2.f90: Ditto. 5544 * testsuite/libgomp.fortran/nested1.f90: Ditto. 5545 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto. 5546 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto. 5547 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto. 5548 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto. 5549 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto. 5550 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto. 5551 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto. 5552 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto. 5553 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto. 5554 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto. 5555 * testsuite/libgomp.fortran/omp_cond1.f: Ditto. 5556 * testsuite/libgomp.fortran/omp_cond2.f: Ditto. 5557 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto. 5558 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto. 5559 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto. 5560 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto. 5561 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto. 5562 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto. 5563 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto. 5564 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto. 5565 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto. 5566 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto. 5567 * testsuite/libgomp.fortran/pointer1.f90: Ditto. 5568 * testsuite/libgomp.fortran/pointer2.f90: Ditto. 5569 * testsuite/libgomp.fortran/pr25219.f90: Ditto. 5570 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto. 5571 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto. 5572 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto. 5573 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto. 5574 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto. 5575 * testsuite/libgomp.fortran/pr28390.f: Ditto. 5576 * testsuite/libgomp.fortran/pr29629.f90: Ditto. 5577 * testsuite/libgomp.fortran/pr32550.f90: Ditto. 5578 * testsuite/libgomp.fortran/pr33880.f90: Ditto. 5579 * testsuite/libgomp.fortran/pr34020.f90: Ditto. 5580 * testsuite/libgomp.fortran/pr35130.f90: Ditto. 5581 * testsuite/libgomp.fortran/pr42162.f90: Ditto. 5582 * testsuite/libgomp.fortran/pr46753.f90: Ditto. 5583 * testsuite/libgomp.fortran/pr48894.f90: Ditto. 5584 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto. 5585 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto. 5586 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto. 5587 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto. 5588 * testsuite/libgomp.fortran/pr65597.f90: Ditto. 5589 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto. 5590 * testsuite/libgomp.fortran/pr71014.f90: Ditto. 5591 * testsuite/libgomp.fortran/pr81304.f90: Ditto. 5592 * testsuite/libgomp.fortran/pr81841.f90: Ditto. 5593 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto. 5594 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto. 5595 * testsuite/libgomp.fortran/procptr1.f90: Ditto. 5596 * testsuite/libgomp.fortran/recursion1.f90: Ditto. 5597 * testsuite/libgomp.fortran/reduction1.f90: Ditto. 5598 * testsuite/libgomp.fortran/reduction2.f90: Ditto. 5599 * testsuite/libgomp.fortran/reduction3.f90: Ditto. 5600 * testsuite/libgomp.fortran/reduction4.f90: Ditto. 5601 * testsuite/libgomp.fortran/reduction5.f90: Ditto. 5602 * testsuite/libgomp.fortran/reduction6.f90: Ditto. 5603 * testsuite/libgomp.fortran/reference1.f90: Ditto. 5604 * testsuite/libgomp.fortran/reference2.f90: Ditto. 5605 * testsuite/libgomp.fortran/retval1.f90: Ditto. 5606 * testsuite/libgomp.fortran/retval2.f90: Ditto. 5607 * testsuite/libgomp.fortran/sharing1.f90: Ditto. 5608 * testsuite/libgomp.fortran/sharing2.f90: Ditto. 5609 * testsuite/libgomp.fortran/simd1.f90: Ditto. 5610 * testsuite/libgomp.fortran/simd2.f90: Ditto. 5611 * testsuite/libgomp.fortran/simd3.f90: Ditto. 5612 * testsuite/libgomp.fortran/simd4.f90: Ditto. 5613 * testsuite/libgomp.fortran/simd5.f90: Ditto. 5614 * testsuite/libgomp.fortran/simd6.f90: Ditto. 5615 * testsuite/libgomp.fortran/simd7.f90: Ditto. 5616 * testsuite/libgomp.fortran/stack.f90: Ditto. 5617 * testsuite/libgomp.fortran/strassen.f90: Ditto. 5618 * testsuite/libgomp.fortran/tabs1.f90: Ditto. 5619 * testsuite/libgomp.fortran/tabs2.f: Ditto. 5620 * testsuite/libgomp.fortran/target1.f90: Ditto. 5621 * testsuite/libgomp.fortran/target2.f90: Ditto. 5622 * testsuite/libgomp.fortran/target3.f90: Ditto. 5623 * testsuite/libgomp.fortran/target4.f90: Ditto. 5624 * testsuite/libgomp.fortran/target5.f90: Ditto. 5625 * testsuite/libgomp.fortran/target6.f90: Ditto. 5626 * testsuite/libgomp.fortran/target7.f90: Ditto. 5627 * testsuite/libgomp.fortran/target8.f90: Ditto. 5628 * testsuite/libgomp.fortran/task1.f90: Ditto. 5629 * testsuite/libgomp.fortran/task2.f90: Ditto. 5630 * testsuite/libgomp.fortran/task3.f90: Ditto. 5631 * testsuite/libgomp.fortran/task4.f90: Ditto. 5632 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto. 5633 * testsuite/libgomp.fortran/taskloop1.f90: Ditto. 5634 * testsuite/libgomp.fortran/taskloop2.f90: Ditto. 5635 * testsuite/libgomp.fortran/taskloop3.f90: Ditto. 5636 * testsuite/libgomp.fortran/taskloop4.f90: Ditto. 5637 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto. 5638 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto. 5639 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto. 5640 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto. 5641 * testsuite/libgomp.fortran/udr1.f90: Ditto. 5642 * testsuite/libgomp.fortran/udr10.f90: Ditto. 5643 * testsuite/libgomp.fortran/udr11.f90: Ditto. 5644 * testsuite/libgomp.fortran/udr12.f90: Ditto. 5645 * testsuite/libgomp.fortran/udr13.f90: Ditto. 5646 * testsuite/libgomp.fortran/udr14.f90: Ditto. 5647 * testsuite/libgomp.fortran/udr15.f90: Ditto. 5648 * testsuite/libgomp.fortran/udr2.f90: Ditto. 5649 * testsuite/libgomp.fortran/udr3.f90: Ditto. 5650 * testsuite/libgomp.fortran/udr4.f90: Ditto. 5651 * testsuite/libgomp.fortran/udr5.f90: Ditto. 5652 * testsuite/libgomp.fortran/udr6.f90: Ditto. 5653 * testsuite/libgomp.fortran/udr7.f90: Ditto. 5654 * testsuite/libgomp.fortran/udr8.f90: Ditto. 5655 * testsuite/libgomp.fortran/udr9.f90: Ditto. 5656 * testsuite/libgomp.fortran/vla1.f90: Ditto. 5657 * testsuite/libgomp.fortran/vla2.f90: Ditto. 5658 * testsuite/libgomp.fortran/vla3.f90: Ditto. 5659 * testsuite/libgomp.fortran/vla4.f90: Ditto. 5660 * testsuite/libgomp.fortran/vla5.f90: Ditto. 5661 * testsuite/libgomp.fortran/vla6.f90: Ditto. 5662 * testsuite/libgomp.fortran/vla7.f90: Ditto. 5663 * testsuite/libgomp.fortran/vla8.f90: Ditto. 5664 * testsuite/libgomp.fortran/workshare1.f90: Ditto. 5665 * testsuite/libgomp.fortran/workshare2.f90: Ditto. 5666 56672019-10-30 Tobias Burnus <tobias@codesourcery.com> 5668 5669 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort. 5670 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: 5671 Ditto; add 'dg-do run' for torture testing. 5672 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'. 5673 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto. 5674 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto. 5675 * testsuite/libgomp.fortran/pr25219.f90: Ditto. 5676 * testsuite/libgomp.fortran/pr28390.f: Ditto. 5677 * testsuite/libgomp.fortran/pr35130.f90: Ditto. 5678 * testsuite/libgomp.fortran/pr90779.f90: Ditto. 5679 * testsuite/libgomp.fortran/task2.f90: Ditto. 5680 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto. 5681 * testsuite/libgomp.fortran/taskloop1.f90: Ditto. 5682 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto. 5683 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto. 5684 * testsuite/libgomp.fortran/workshare1.f90: Ditto. 5685 * testsuite/libgomp.fortran/workshare2.f90: Ditto. 5686 56872019-10-28 Tobias Burnus <tobias@codesourcery.com> 5688 5689 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'. 5690 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto. 5691 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto. 5692 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto. 5693 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto. 5694 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto. 5695 * testsuite/libgomp.oacc-fortran/common-block-1.f90: 5696 Use 'stop' not abort(). 5697 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto. 5698 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto. 5699 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto. 5700 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto. 5701 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto. 5702 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto. 5703 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto. 5704 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto. 5705 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto. 5706 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto. 5707 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto. 5708 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto. 5709 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto. 5710 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto. 5711 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto. 5712 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto. 5713 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95: 5714 Ditto. 5715 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90: 5716 Ditto. 5717 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90: 5718 Ditto. 5719 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90: 5720 Ditto. 5721 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90: 5722 Ditto. 5723 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90: 5724 Ditto. 5725 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90: 5726 Ditto. 5727 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90: 5728 Ditto. 5729 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90: 5730 Ditto. 5731 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90: 5732 Ditto. 5733 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90: 5734 Ditto. 5735 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90: 5736 Ditto. 5737 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90: 5738 Ditto. 5739 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90: 5740 Ditto. 5741 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto. 5742 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto. 5743 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto. 5744 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto. 5745 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90: 5746 Likewise and also add 'dg-do run'. 5747 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90: 5748 Ditto. 5749 57502019-10-25 Cesar Philippidis <cesar@codesourcery.com> 5751 Tobias Burnus <tobias@codesourcery.com> 5752 5753 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test. 5754 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test. 5755 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test. 5756 57572019-10-14 Jakub Jelinek <jakub@redhat.com> 5758 5759 PR libgomp/92081 5760 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather 5761 than 0. 5762 57632019-10-11 Tobias Burnus <tobias@codesourcery.com> 5764 5765 * testsuite/libgomp.fortran/use_device_addr-1.f90: New. 5766 * testsuite/libgomp.fortran/use_device_addr-2.f90: New. 5767 57682019-10-09 Thomas Schwinge <thomas@codesourcery.com> 5769 5770 PR middle-end/92036 5771 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New 5772 file. 5773 57742019-10-09 Tobias Burnus <tobias@codesourcery.com> 5775 5776 PR testsuite/91884 5777 * testsuite/libgomp.fortran/fortran.exp: Conditionally 5778 add -lquadmath. 5779 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto. 5780 57812019-10-09 Jakub Jelinek <jakub@redhat.com> 5782 5783 PR libgomp/92028 5784 * target.c (gomp_map_vars_internal): Readd the previous 5785 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop, 5786 though do that just in the !not_found_cnt case. 5787 57882019-10-08 Tobias Burnus <tobias@codesourcery.com> 5789 5790 * gfortran.dg/gomp/target-simd.f90: New. 5791 57922019-10-02 Julian Brown <julian@codesourcery.com> 5793 Cesar Philippidis <cesar@codesourcery.com> 5794 5795 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define. 5796 * target.c (FIELD_TGT_EMPTY): Define. 5797 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write 5798 as switch instead of list of ifs. 5799 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros. 5800 58012019-10-02 Andreas Tobler <andreast@gcc.gnu.org> 5802 5803 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h 5804 include. Replace alloca () with __builtin_alloca (). 5805 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise. 5806 58072019-10-01 Jakub Jelinek <jakub@redhat.com> 5808 5809 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h). 5810 * libgomp.h: Include <stdint.h> instead of "gstdint.h". 5811 * oacc-parallel.c: Don't include "libgomp_g.h". 5812 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h". 5813 * plugin/plugin-nvptx.c: Don't include "gstdint.h". 5814 * aclocal.m4: Regenerated. 5815 * config.h.in: Regenerated. 5816 * configure: Regenerated. 5817 * Makefile.in: Regenerated. 5818 58192019-09-30 Kwok Cheung Yeung <kcy@codesourcery.com> 5820 5821 * libgomp_g.h: Include stdint.h instead of gstdint.h. 5822 58232019-09-27 Maciej W. Rozycki <macro@wdc.com> 5824 5825 * configure: Regenerate. 5826 58272019-09-13 Tobias Burnus <tobias@codesourcery.com> 5828 5829 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure 5830 string is initialized. 5831 58322019-09-06 Florian Weimer <fweimer@redhat.com> 5833 5834 * configure: Regenerate. 5835 58362019-09-03 Chung-Lin Tang <cltang@codesourcery.com> 5837 5838 PR other/79543 5839 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version 5840 scanning to conform to the GNU Coding Standards. 5841 * configure: Regenerate. 5842 58432019-08-28 Jakub Jelinek <jakub@redhat.com> 5844 5845 PR libgomp/91530 5846 * testsuite/libgomp.c/scan-21.c: New test. 5847 * testsuite/libgomp.c/scan-22.c: New test. 5848 58492019-08-27 Jakub Jelinek <jakub@redhat.com> 5850 5851 PR libgomp/91530 5852 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime 5853 targets. 5854 * testsuite/libgomp.c/scan-12.c: Likewise. 5855 * testsuite/libgomp.c/scan-13.c: Likewise. 5856 * testsuite/libgomp.c/scan-14.c: Likewise. 5857 * testsuite/libgomp.c/scan-15.c: Likewise. 5858 * testsuite/libgomp.c/scan-16.c: Likewise. 5859 * testsuite/libgomp.c/scan-17.c: Likewise. 5860 * testsuite/libgomp.c/scan-18.c: Likewise. 5861 * testsuite/libgomp.c/scan-19.c: Likewise. 5862 * testsuite/libgomp.c/scan-20.c: Likewise. 5863 * testsuite/libgomp.c++/scan-9.C: Likewise. 5864 * testsuite/libgomp.c++/scan-10.C: Likewise. 5865 * testsuite/libgomp.c++/scan-11.C: Likewise. 5866 * testsuite/libgomp.c++/scan-12.C: Likewise. 5867 * testsuite/libgomp.c++/scan-14.C: Likewise. 5868 * testsuite/libgomp.c++/scan-15.C: Likewise. 5869 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime 5870 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times. 5871 * testsuite/libgomp.c++/scan-16.C: Likewise. 5872 58732019-08-17 Thomas Koenig <tkoenig@gcc.gnu.org> 5874 5875 PR fortran/91473 5876 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add 5877 -std=legacy so invalid code in the test case is accepted. 5878 58792019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org> 5880 5881 PR fortran/91422 5882 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array 5883 dimension. 5884 58852019-08-08 Jakub Jelinek <jakub@redhat.com> 5886 5887 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR 5888 perform the lookup in the first loop only if !not_found_cnt, otherwise 5889 perform lookups for it in the second loop guarded with 5890 if (not_found_cnt || has_firstprivate). 5891 * testsuite/libgomp.c/target-37.c: New test. 5892 * testsuite/libgomp.c++/target-22.C: New test. 5893 58942019-08-07 Jakub Jelinek <jakub@redhat.com> 5895 5896 * testsuite/libgomp.c/target-18.c (struct S): New type. 5897 (foo): Use use_device_addr clause instead of use_device_ptr clause 5898 where required by OpenMP 5.0, add further tests for both use_device_ptr 5899 and use_device_addr clauses. 5900 * testsuite/libgomp.c++/target-9.C (struct S): New type. 5901 (foo): Use use_device_addr clause instead of use_device_ptr clause 5902 where required by OpenMP 5.0, add further tests for both use_device_ptr 5903 and use_device_addr clauses. Add t and u arguments. 5904 (main): Adjust caller. 5905 59062019-08-06 Jakub Jelinek <jakub@redhat.com> 5907 5908 * testsuite/libgomp.c++/loop-13.C: New test. 5909 * testsuite/libgomp.c++/loop-14.C: New test. 5910 * testsuite/libgomp.c++/loop-15.C: New test. 5911 59122019-07-31 Jakub Jelinek <jakub@redhat.com> 5913 5914 PR middle-end/91301 5915 * testsuite/libgomp.c++/for-27.C: New test. 5916 59172019-07-23 Steven G. Kargl <kargl@gcc.gnu.org> 5918 5919 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage. 5920 * testsuite/libgomp.fortran/reduction5.f90: Ditto. 5921 59222019-07-20 Jakub Jelinek <jakub@redhat.com> 5923 5924 * testsuite/libgomp.c-c++-common/loop-1.c: New test. 5925 59262019-07-08 Jakub Jelinek <jakub@redhat.com> 5927 5928 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86. 5929 * testsuite/libgomp.c++/scan-16.C: Likewise. 5930 59312019-07-06 Jakub Jelinek <jakub@redhat.com> 5932 5933 * testsuite/libgomp.c/scan-19.c: New test. 5934 * testsuite/libgomp.c/scan-20.c: New test. 5935 5936 * testsuite/libgomp.c/scan-11.c: New test. 5937 * testsuite/libgomp.c/scan-12.c: New test. 5938 * testsuite/libgomp.c/scan-13.c: New test. 5939 * testsuite/libgomp.c/scan-14.c: New test. 5940 * testsuite/libgomp.c/scan-15.c: New test. 5941 * testsuite/libgomp.c/scan-16.c: New test. 5942 * testsuite/libgomp.c/scan-17.c: New test. 5943 * testsuite/libgomp.c/scan-18.c: New test. 5944 * testsuite/libgomp.c++/scan-9.C: New test. 5945 * testsuite/libgomp.c++/scan-10.C: New test. 5946 * testsuite/libgomp.c++/scan-11.C: New test. 5947 * testsuite/libgomp.c++/scan-12.C: New test. 5948 * testsuite/libgomp.c++/scan-13.C: New test. 5949 * testsuite/libgomp.c++/scan-14.C: New test. 5950 * testsuite/libgomp.c++/scan-15.C: New test. 5951 * testsuite/libgomp.c++/scan-16.C: New test. 5952 59532019-07-04 Jakub Jelinek <jakub@redhat.com> 5954 5955 * testsuite/libgomp.c/scan-9.c: New test. 5956 * testsuite/libgomp.c/scan-10.c: New test. 5957 59582019-07-03 Jakub Jelinek <jakub@redhat.com> 5959 5960 * testsuite/libgomp.c++/scan-1.C: New test. 5961 * testsuite/libgomp.c++/scan-2.C: New test. 5962 * testsuite/libgomp.c++/scan-3.C: New test. 5963 * testsuite/libgomp.c++/scan-4.C: New test. 5964 * testsuite/libgomp.c++/scan-5.C: New test. 5965 * testsuite/libgomp.c++/scan-6.C: New test. 5966 * testsuite/libgomp.c++/scan-7.C: New test. 5967 * testsuite/libgomp.c++/scan-8.C: New test. 5968 * testsuite/libgomp.c/scan-1.c: New test. 5969 * testsuite/libgomp.c/scan-2.c: New test. 5970 * testsuite/libgomp.c/scan-3.c: New test. 5971 * testsuite/libgomp.c/scan-4.c: New test. 5972 * testsuite/libgomp.c/scan-5.c: New test. 5973 * testsuite/libgomp.c/scan-6.c: New test. 5974 * testsuite/libgomp.c/scan-7.c: New test. 5975 * testsuite/libgomp.c/scan-8.c: New test. 5976 59772019-06-18 Thomas Schwinge <thomas@codesourcery.com> 5978 5979 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file. 5980 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: 5981 Likewise. 5982 5983 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results 5984 check. 5985 59862019-06-18 Cesar Philippidis <cesar@codesourcery.com> 5987 5988 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New 5989 file. 5990 59912019-06-18 Thomas Schwinge <thomas@codesourcery.com> 5992 5993 PR fortran/90743 5994 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping 5995 case. 5996 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file. 5997 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise. 5998 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise. 5999 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise. 6000 6001 PR testsuite/90861 6002 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update. 6003 6004 PR middle-end/90862 6005 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update. 6006 60072019-06-16 Tom de Vries <tdevries@suse.de> 6008 6009 PR tree-optimization/89376 6010 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test. 6011 60122019-06-15 Tom de Vries <tdevries@suse.de> 6013 6014 PR tree-optimization/89713 6015 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync. 6016 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same. 6017 60182019-06-15 Jakub Jelinek <jakub@redhat.com> 6019 6020 PR middle-end/90779 6021 * testsuite/libgomp.c/pr90779.c: New test. 6022 * testsuite/libgomp.fortran/pr90779.f90: New test. 6023 60242019-06-15 Tom de Vries <tdevries@suse.de> 6025 6026 PR tree-optimization/90009 6027 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test. 6028 60292019-06-13 Feng Xue <fxue@os.amperecomputing.com> 6030 6031 PR tree-optimization/89713 6032 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test. 6033 60342019-06-11 Jakub Jelinek <jakub@redhat.com> 6035 6036 PR target/90811 6037 * testsuite/libgomp.c/pr90811.c: New test. 6038 60392019-06-05 Jakub Jelinek <jakub@redhat.com> 6040 6041 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test. 6042 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test. 6043 60442019-06-04 Jakub Jelinek <jakub@redhat.com> 6045 6046 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test. 6047 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test. 6048 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test. 6049 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test. 6050 60512019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 6052 6053 * configure.ac: Call AX_COUNT_CPUS. 6054 Substitute CPU_COUNT. 6055 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor 6056 count fallback. 6057 * aclocal.m4: Regenerate. 6058 * configure: Regenerate. 6059 * Makefile.in, testsuite/Makefile.in: Regenerate. 6060 60612019-05-29 Jakub Jelinek <jakub@redhat.com> 6062 6063 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename 6064 to ... 6065 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this. 6066 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test. 6067 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test. 6068 60692019-05-27 Jakub Jelinek <jakub@redhat.com> 6070 6071 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test. 6072 6073 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test. 6074 6075 PR libgomp/90641 6076 * work.c (gomp_init_work_share): Instead of aligning final ordered 6077 value to multiples of long long alignment, align to that the 6078 first part (ordered team ids) and if inline_ordered_team_ids 6079 is not on a long long alignment boundary within the structure, 6080 use __alignof__ (long long) - 1 pad size always. 6081 * loop.c (GOMP_loop_start): Fix *mem computation if 6082 inline_ordered_team_ids is not aligned on long long alignment boundary 6083 within the structure. 6084 * loop-ull.c (GOMP_loop_ull_start): Likewise. 6085 * sections.c (GOMP_sections2_start): Likewise. 6086 60872019-05-24 Jakub Jelinek <jakub@redhat.com> 6088 6089 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test. 6090 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test. 6091 6092 PR libgomp/90585 6093 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if 6094 HAVE_INTTYPES_H is defined. 6095 (print_uint64_t): New typedef. 6096 (PRIu64): Define if HAVE_INTTYPES_H is not defined. 6097 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of 6098 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t. 6099 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t 6100 before casting to void *. 6101 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h. 6102 * oacc-mem.c: Don't include config.h nor stdint.h. 6103 * target.c: Don't include config.h. 6104 * oacc-cuda.c: Likewise. 6105 * oacc-host.c: Don't include stdint.h. 6106 61072019-05-20 Jakub Jelinek <jakub@redhat.com> 6108 6109 PR libgomp/90527 6110 * alloc.c (_GNU_SOURCE): Define. 6111 61122019-05-17 Thomas Schwinge <thomas@codesourcery.com> 6113 6114 * acc_prof.h: New file. 6115 * oacc-profiling.c: Likewise. 6116 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES): 6117 Add these, respectively. 6118 * Makefile.in: Regenerate. 6119 * env.c (initialize_env): Call goacc_profiling_initialize. 6120 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread) 6121 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions. 6122 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread) 6123 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare. 6124 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup, 6125 acc_prof_register, acc_prof_unregister, and acc_register_library. 6126 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and 6127 GOMP_PLUGIN_goacc_thread. 6128 * oacc-int.h (struct goacc_thread): Add prof_info, api_info, 6129 prof_callbacks_enabled members. 6130 (goacc_prof_enabled, goacc_profiling_initialize) 6131 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p) 6132 (goacc_profiling_dispatch): Declare. 6133 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P) 6134 (GOACC_PROFILING_SETUP_P): Define. 6135 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait) 6136 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for 6137 OpenACC Profiling Interface. 6138 * oacc-cuda.c (acc_get_current_cuda_device) 6139 (acc_get_current_cuda_context, acc_get_cuda_stream) 6140 (acc_set_cuda_stream): Likewise. 6141 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device) 6142 (acc_init, acc_set_device_type, acc_get_device_type) 6143 (acc_get_device_num, goacc_lazy_initialize): Likewise. 6144 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device) 6145 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data) 6146 (acc_unmap_data, present_create_copy, delete_copyout) 6147 (update_dev_host): Likewise. 6148 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start) 6149 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait): 6150 Likewise. 6151 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free) 6152 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec): 6153 Likewise. 6154 * libgomp.texi: Update. 6155 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New 6156 file. 6157 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise. 6158 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: 6159 Likewise. 6160 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: 6161 Likewise. 6162 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c: 6163 Likewise. 6164 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c: 6165 Likewise. 6166 61672019-05-13 Chung-Lin Tang <cltang@codesourcery.com> 6168 6169 * libgomp-plugin.h (struct goacc_asyncqueue): Declare. 6170 (struct goacc_asyncqueue_list): Likewise. 6171 (goacc_aq): Likewise. 6172 (goacc_aq_list): Likewise. 6173 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove. 6174 (GOMP_OFFLOAD_openacc_async_test): Remove. 6175 (GOMP_OFFLOAD_openacc_async_test_all): Remove. 6176 (GOMP_OFFLOAD_openacc_async_wait): Remove. 6177 (GOMP_OFFLOAD_openacc_async_wait_async): Remove. 6178 (GOMP_OFFLOAD_openacc_async_wait_all): Remove. 6179 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove. 6180 (GOMP_OFFLOAD_openacc_async_set_async): Remove. 6181 (GOMP_OFFLOAD_openacc_exec): Adjust declaration. 6182 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise. 6183 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise. 6184 (GOMP_OFFLOAD_openacc_async_exec): Declare. 6185 (GOMP_OFFLOAD_openacc_async_construct): Declare. 6186 (GOMP_OFFLOAD_openacc_async_destruct): Declare. 6187 (GOMP_OFFLOAD_openacc_async_test): Declare. 6188 (GOMP_OFFLOAD_openacc_async_synchronize): Declare. 6189 (GOMP_OFFLOAD_openacc_async_serialize): Declare. 6190 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare. 6191 (GOMP_OFFLOAD_openacc_async_host2dev): Declare. 6192 (GOMP_OFFLOAD_openacc_async_dev2host): Declare. 6193 6194 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct. 6195 (gomp_acc_insert_pointer): Adjust declaration. 6196 (gomp_copy_host2dev): New declaration. 6197 (gomp_copy_dev2host): Likewise. 6198 (gomp_map_vars_async): Likewise. 6199 (gomp_unmap_tgt): Likewise. 6200 (gomp_unmap_vars_async): Likewise. 6201 (gomp_fini_device): Likewise. 6202 6203 * oacc-async.c (get_goacc_thread): New function. 6204 (get_goacc_thread_device): New function. 6205 (lookup_goacc_asyncqueue): New function. 6206 (get_goacc_asyncqueue): New function. 6207 (acc_async_test): Adjust code to use new async design. 6208 (acc_async_test_all): Likewise. 6209 (acc_wait): Likewise. 6210 (acc_wait_async): Likewise. 6211 (acc_wait_all): Likewise. 6212 (acc_wait_all_async): Likewise. 6213 (goacc_async_free): New function. 6214 (goacc_init_asyncqueues): Likewise. 6215 (goacc_fini_asyncqueues): Likewise. 6216 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async 6217 design. 6218 (acc_set_cuda_stream): Likewise. 6219 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'. 6220 (host_openacc_register_async_cleanup): Remove. 6221 (host_openacc_async_exec): New function. 6222 (host_openacc_async_test): Adjust parameters. 6223 (host_openacc_async_test_all): Remove. 6224 (host_openacc_async_wait): Remove. 6225 (host_openacc_async_wait_async): Remove. 6226 (host_openacc_async_wait_all): Remove. 6227 (host_openacc_async_wait_all_async): Remove. 6228 (host_openacc_async_set_async): Remove. 6229 (host_openacc_async_synchronize): New function. 6230 (host_openacc_async_serialize): New function. 6231 (host_openacc_async_host2dev): New function. 6232 (host_openacc_async_dev2host): New function. 6233 (host_openacc_async_queue_callback): New function. 6234 (host_openacc_async_construct): New function. 6235 (host_openacc_async_destruct): New function. 6236 (struct gomp_device_descr host_dispatch): Remove initialization of old 6237 interface, add initialization of new async sub-struct. 6238 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device. 6239 (goacc_attach_host_thread_to_device): Remove old async code usage. 6240 * oacc-int.h (goacc_init_asyncqueues): New declaration. 6241 (goacc_fini_asyncqueues): Likewise. 6242 (goacc_async_copyout_unmap_vars): Likewise. 6243 (goacc_async_free): Likewise. 6244 (get_goacc_asyncqueue): Likewise. 6245 (lookup_goacc_asyncqueue): Likewise. 6246 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async 6247 design. 6248 (present_create_copy): Adjust code to use new async design. 6249 (delete_copyout): Likewise. 6250 (update_dev_host): Likewise. 6251 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new 6252 async design. 6253 (gomp_acc_remove_pointer): Adjust code to use new async design. 6254 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async 6255 design. 6256 (GOACC_enter_exit_data): Likewise. 6257 (goacc_wait): Likewise. 6258 (GOACC_update): Likewise. 6259 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail 6260 when called, warn as obsolete in comment. 6261 * target.c (goacc_device_copy_async): New function. 6262 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter, 6263 add goacc_device_copy_async case. 6264 (gomp_copy_dev2host): Likewise. 6265 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code. 6266 (gomp_map_pointer): Likewise. 6267 (gomp_map_fields_existing): Likewise. 6268 (gomp_map_vars_internal): New always_inline function, renamed from 6269 gomp_map_vars. 6270 (gomp_map_vars): Implement by calling gomp_map_vars_internal. 6271 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal, 6272 passing goacc_asyncqueue argument. 6273 (gomp_unmap_tgt): Remove static, add attribute_hidden. 6274 (gomp_unref_tgt): New function. 6275 (gomp_unmap_vars_internal): New always_inline function, renamed from 6276 gomp_unmap_vars. 6277 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal. 6278 (gomp_unmap_vars_async): Implement by calling 6279 gomp_unmap_vars_internal, passing goacc_asyncqueue argument. 6280 (gomp_fini_device): New function. 6281 (gomp_exit_data): Adjust gomp_copy_dev2host call. 6282 (gomp_load_plugin_for_device): Remove old interface, adjust to load 6283 new async interface. 6284 (gomp_target_fini): Adjust code to call gomp_fini_device. 6285 6286 * plugin/plugin-nvptx.c (struct cuda_map): Remove. 6287 (struct ptx_stream): Remove. 6288 (struct nvptx_thread): Remove current_stream field. 6289 (cuda_map_create): Remove. 6290 (cuda_map_destroy): Remove. 6291 (map_init): Remove. 6292 (map_fini): Remove. 6293 (map_pop): Remove. 6294 (map_push): Remove. 6295 (struct goacc_asyncqueue): Define. 6296 (struct nvptx_callback): Define. 6297 (struct ptx_free_block): Define. 6298 (struct ptx_device): Remove null_stream, active_streams, async_streams, 6299 stream_lock, and next fields. 6300 (enum ptx_event_type): Remove. 6301 (struct ptx_event): Remove. 6302 (ptx_event_lock): Remove. 6303 (ptx_events): Remove. 6304 (init_streams_for_device): Remove. 6305 (fini_streams_for_device): Remove. 6306 (select_stream_for_async): Remove. 6307 (nvptx_init): Remove ptx_events and ptx_event_lock references. 6308 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED 6309 case. 6310 (nvptx_open_device): Add free_blocks initialization, remove 6311 init_streams_for_device call. 6312 (nvptx_close_device): Remove fini_streams_for_device call, add 6313 free_blocks destruct code. 6314 (event_gc): Remove. 6315 (event_add): Remove. 6316 (nvptx_exec): Adjust parameters and code. 6317 (nvptx_free): Likewise. 6318 (nvptx_host2dev): Remove. 6319 (nvptx_dev2host): Remove. 6320 (nvptx_set_async): Remove. 6321 (nvptx_async_test): Remove. 6322 (nvptx_async_test_all): Remove. 6323 (nvptx_wait): Remove. 6324 (nvptx_wait_async): Remove. 6325 (nvptx_wait_all): Remove. 6326 (nvptx_wait_all_async): Remove. 6327 (nvptx_get_cuda_stream): Remove. 6328 (nvptx_set_cuda_stream): Remove. 6329 (GOMP_OFFLOAD_alloc): Adjust code. 6330 (GOMP_OFFLOAD_free): Likewise. 6331 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove. 6332 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code. 6333 (GOMP_OFFLOAD_openacc_async_test_all): Remove. 6334 (GOMP_OFFLOAD_openacc_async_wait): Remove. 6335 (GOMP_OFFLOAD_openacc_async_wait_async): Remove. 6336 (GOMP_OFFLOAD_openacc_async_wait_all): Remove. 6337 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove. 6338 (GOMP_OFFLOAD_openacc_async_set_async): Remove. 6339 (cuda_free_argmem): New function. 6340 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function. 6341 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code. 6342 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code. 6343 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code. 6344 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function. 6345 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function. 6346 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement. 6347 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function. 6348 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function. 6349 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function. 6350 (cuda_callback_wrapper): New function. 6351 (cuda_memcpy_sanity_check): New function. 6352 (GOMP_OFFLOAD_host2dev): Remove and re-implement. 6353 (GOMP_OFFLOAD_dev2host): Remove and re-implement. 6354 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function. 6355 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function. 6356 63572019-05-07 Thomas Schwinge <thomas@codesourcery.com> 6358 6359 PR target/87835 6360 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update. 6361 63622019-05-06 Thomas Schwinge <thomas@codesourcery.com> 6363 6364 * oacc-parallel.c: Add comments to legacy entry points (GCC 5). 6365 63662019-03-27 Kevin Buettner <kevinb@redhat.com> 6367 6368 * team.c (gomp_team_start): Initialize pool->threads[0]. 6369 63702019-02-22 Thomas Schwinge <thomas@codesourcery.com> 6371 6372 * testsuite/libgomp.oacc-c++/c++.exp: Specify 6373 "-foffload=$offload_target". 6374 * testsuite/libgomp.oacc-c/c.exp: Likewise. 6375 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 6376 * testsuite/lib/libgomp.exp 6377 (check_effective_target_openacc_nvidia_accel_configured): Remove, 6378 as (conceptually) merged into 6379 check_effective_target_openacc_nvidia_accel_selected. Adjust all 6380 users. 6381 6382 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets. 6383 * testsuite/libgomp-test-support.exp.in: Adjust. 6384 * testsuite/lib/libgomp.exp: Likewise. Don't populate 6385 openacc_device_types_s. 6386 (offload_target_to_openacc_device_type): New proc. 6387 * testsuite/libgomp.oacc-c++/c++.exp: Adjust. 6388 * testsuite/libgomp.oacc-c/c.exp: Likewise. 6389 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 6390 * Makefile.in: Regenerate. 6391 * configure: Likewise. 6392 * testsuite/Makefile.in: Likewise. 6393 6394 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins 6395 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS 6396 instead of OFFLOAD_TARGETS. 6397 * target.c (gomp_target_init): Adjust. 6398 * testsuite/libgomp-test-support.exp.in: Likewise. 6399 * testsuite/lib/libgomp.exp: Likewise. Populate 6400 openacc_device_types_s instead of offload_targets_s_openacc. 6401 (check_effective_target_openacc_nvidia_accel_selected) 6402 (check_effective_target_openacc_host_selected): Adjust. 6403 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. 6404 * testsuite/libgomp.oacc-c/c.exp: Likewise. 6405 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 6406 * Makefile.in: Regenerate. 6407 * config.h.in: Likewise. 6408 * configure: Likewise. 6409 * testsuite/Makefile.in: Likewise. 6410 6411 * testsuite/lib/libgomp.exp: Error out for unknown offload target. 6412 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if 6413 "offloading: supported, but hardware not accessible". 6414 * testsuite/libgomp.oacc-c/c.exp: Likewise. 6415 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 6416 64172019-02-19 Chung-Lin Tang <cltang@codesourcery.com> 6418 6419 PR c/87924 6420 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to 6421 goacc_wait(). 6422 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call 6423 and related adjustment. 6424 64252019-01-30 Jakub Jelinek <jakub@redhat.com> 6426 6427 PR c++/88988 6428 * testsuite/libgomp.c++/pr88988.C: New test. 6429 64302019-01-28 Jakub Jelinek <jakub@redhat.com> 6431 6432 PR middle-end/89002 6433 * testsuite/libgomp.c/pr89002.c: New test. 6434 64352019-01-28 Richard Biener <rguenther@suse.de> 6436 6437 PR testsuite/89064 6438 PR tree-optimization/86865 6439 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL. 6440 64412019-01-24 Tom de Vries <tdevries@suse.de> 6442 6443 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices 6444 once instantiated_devices drops to 0. 6445 64462019-01-23 Tom de Vries <tdevries@suse.de> 6447 6448 PR target/PR88946 6449 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for 6450 cuMemFree. 6451 (nvptx_exec): Don't call map_push if mapnum == 0. 6452 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test. 6453 64542019-01-23 Tom de Vries <tdevries@suse.de> 6455 6456 PR target/88941 6457 PR target/88939 6458 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case. 6459 (map_fini): Remove "assert (!s->map->active)". 6460 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test. 6461 64622019-01-23 Tom de Vries <tdevries@suse.de> 6463 6464 PR target/87835 6465 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element. 6466 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test. 6467 64682019-01-15 Tom de Vries <tdevries@suse.de> 6469 6470 PR target/80547 6471 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c: 6472 New test. 6473 64742019-01-12 Tom de Vries <tdevries@suse.de> 6475 6476 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test. 6477 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test. 6478 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test. 6479 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test. 6480 64812019-01-12 Tom de Vries <tdevries@suse.de> 6482 6483 * plugin/plugin-nvptx.c (nvptx_exec): Update error message. 6484 64852019-01-12 Tom de Vries <tdevries@suse.de> 6486 6487 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test. 6488 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test. 6489 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test. 6490 64912019-01-12 Tom de Vries <tdevries@suse.de> 6492 6493 PR target/85486 6494 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test. 6495 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test. 6496 64972019-01-12 Tom de Vries <tdevries@suse.de> 6498 6499 PR target/85381 6500 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test. 6501 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test. 6502 65032019-01-12 Tom de Vries <tdevries@suse.de> 6504 6505 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test. 6506 * testsuite/libgomp.oacc-fortran/gemm.f90: New test. 6507 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test. 6508 65092019-01-12 Tom de Vries <tdevries@suse.de> 6510 6511 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test. 6512 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test. 6513 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test. 6514 65152019-01-12 Tom de Vries <tdevries@suse.de> 6516 6517 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware 6518 resources diagnostic. 6519 65202019-01-12 Tom de Vries <tdevries@suse.de> 6521 6522 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect 6523 vector length to be 128. 6524 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector 6525 length 2097152 to be reduced to 1024 instead of 32. 6526 65272019-01-11 Thomas Schwinge <thomas@codesourcery.com> 6528 James Norris <jnorris@codesourcery.com> 6529 6530 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime 6531 Library Routines", and "Environment Variables". 6532 65332019-01-11 Tom de Vries <tdevries@suse.de> 6534 6535 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and 6536 num_workers 16. 6537 65382019-01-11 Tom de Vries <tdevries@suse.de> 6539 6540 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove 6541 -foffload=-w. 6542 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same. 6543 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same. 6544 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same. 6545 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same. 6546 65472019-01-11 Tom de Vries <tdevries@suse.de> 6548 6549 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New 6550 test. 6551 65522019-01-10 Nathan Sidwell <nathan@acm.org> 6553 Julian Brown <julian@codesourcery.com> 6554 6555 PR lto/71959 6556 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New. 6557 * testsuite/libgomp.oacc-c++/pr71959.C: New. 6558 65592019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de> 6560 6561 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy 6562 and paste code. 6563 65642019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de> 6565 6566 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c, 6567 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to 6568 write. 6569 65702019-01-09 Tom de Vries <tdevries@suse.de> 6571 6572 PR target/88756 6573 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use 6574 #define instead of "const int". 6575 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same. 6576 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same. 6577 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same. 6578 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same. 6579 65802019-01-09 Tom de Vries <tdevries@suse.de> 6581 6582 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least 6583 one worker. 6584 65852019-01-07 Tom de Vries <tdevries@suse.de> 6586 6587 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix 6588 GOMP_OPENACC_DIM argument. 6589 65902019-01-03 Tom de Vries <tdevries@suse.de> 6591 6592 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test. 6593 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test. 6594 65952019-01-01 Jakub Jelinek <jakub@redhat.com> 6596 6597 Update copyright years. 6598 65992019-01-01 Jakub Jelinek <jakub@redhat.com> 6600 6601 * libgomp.texi: Bump @copying's copyright year. 6602 66032018-12-28 Thomas Schwinge <thomas@codesourcery.com> 6604 6605 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel) 6606 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update) 6607 (GOACC_declare): Redefine the "device" argument to "flags". 6608 66092018-12-28 Thomas Schwinge <thomas@codesourcery.com> 6610 Cesar Philippidis <cesar@codesourcery.com> 6611 6612 * target.c (struct gomp_coalesce_chunk): New structure. 6613 (struct gomp_coalesce_buf): Update the chunks member to use that 6614 type. Adjust all users. 6615 66162018-12-19 Tom de Vries <tdevries@suse.de> 6617 6618 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test. 6619 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test. 6620 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test. 6621 66222018-12-19 Tom de Vries <tdevries@suse.de> 6623 6624 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp. 6625 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from 6626 gcc/testsuite/gcc.dg/goacc. 6627 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same. 6628 66292018-12-14 Thomas Schwinge <thomas@codesourcery.com> 6630 Chung-Lin Tang <cltang@codesourcery.com> 6631 6632 * oacc-mem.c (acc_present_or_create): Remove definition and change 6633 to alias of acc_create. 6634 (acc_present_or_copyin): Remove definition and change to alias of 6635 acc_copyin. 6636 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead 6637 of acc_present_or_create. 6638 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove. 6639 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise. 6640 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise. 6641 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise. 6642 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise. 6643 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise. 6644 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise. 6645 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise. 6646 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise. 6647 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise. 6648 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise. 6649 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise. 6650 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise. 6651 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise. 6652 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise. 6653 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise. 6654 66552018-12-14 Thomas Schwinge <thomas@codesourcery.com> 6656 6657 PR libgomp/88495 6658 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse 6659 "identical parameters". 6660 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update. 6661 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove. 6662 6663 PR libgomp/88484 6664 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0". 6665 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file. 6666 6667 PR libgomp/88407 6668 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait) 6669 (nvptx_wait_async): Unseen async-argument is a no-op. 6670 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update. 6671 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise. 6672 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise. 6673 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise. 6674 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise. 6675 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into... 6676 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update. 6677 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into... 6678 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update 6679 6680 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise. 6681 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise. 6682 66832018-12-14 Chung-Lin Tang <cltang@codesourcery.com> 6684 6685 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust. 6686 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise. 6687 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise. 6688 66892018-12-14 Thomas Schwinge <thomas@codesourcery.com> 6690 6691 PR libgomp/88370 6692 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream) 6693 (acc_set_cuda_stream): Clarify. 6694 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use 6695 "async_valid_p". 6696 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async == 6697 acc_async_sync". 6698 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file. 6699 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise. 6700 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update. 6701 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise. 6702 67032018-12-14 Tom de Vries <tdevries@suse.de> 6704 6705 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test. 6706 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test. 6707 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test. 6708 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test. 6709 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test. 6710 67112018-12-13 Tom de Vries <tdevries@suse.de> 6712 6713 * affinity-fmt.c (gomp_print_string): New function, factored out of ... 6714 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ... 6715 * fortran.c (omp_display_affinity_): ... here. 6716 * libgomp.h (gomp_print_string): Declare. 6717 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c, 6718 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to 6719 write. 6720 67212018-12-13 Jakub Jelinek <jakub@redhat.com> 6722 6723 PR libgomp/88460 6724 * testsuite/libgomp.c++/for-24.C (results): Include it in 6725 omp declare target region. 6726 (main): Use map (always, tofrom: results) instead of 6727 map (tofrom: results). 6728 67292018-12-12 Jakub Jelinek <jakub@redhat.com> 6730 6731 PR fortran/88463 6732 * testsuite/libgomp.fortran/pr88463-1.f90: New test. 6733 * testsuite/libgomp.fortran/pr88463-2.f90: New test. 6734 6735 * testsuite/libgomp.c-c++-common/for-16.c: New test. 6736 67372018-12-12 Andreas Schwab <schwab@suse.de> 6738 6739 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as 6740 clobbered. 6741 67422018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org> 6743 6744 PR fortran/88411 6745 * testsuite/libgomp.fortran/async_io_8.f90: New test. 6746 67472018-12-09 Thomas Schwinge <thomas@codesourcery.com> 6748 Jakub Jelinek <jakub@redhat.com> 6749 6750 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of 6751 devicep->host2dev_func. 6752 67532018-12-08 Jakub Jelinek <jakub@redhat.com> 6754 6755 PR libgomp/87995 6756 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require 6757 tls_runtime effective target. 6758 (t): New threadprivate variable. 6759 (main): Set t in threads which execute iterations of the worksharing 6760 loop. Propagate that to the task after the loop and don't abort 6761 if the current taskgroup hasn't been cancelled. 6762 67632018-12-02 Jakub Jelinek <jakub@redhat.com> 6764 6765 * testsuite/libgomp.c/task-reduction-3.c: New test. 6766 6767 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test. 6768 67692018-11-30 Cesar Philippidis <cesar@codesourcery.com> 6770 6771 PR libgomp/88288 6772 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs. 6773 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test. 6774 67752018-11-30 Thomas Schwinge <thomas@codesourcery.com> 6776 6777 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file. 6778 67792018-10-19 Richard Biener <rguenther@suse.de> 6780 6781 PR tree-optimization/88182 6782 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp. 6783 67842018-11-26 Jakub Jelinek <jakub@redhat.com> 6785 6786 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu. 6787 (RUNTEST): Don't define. 6788 (RUNTESTDEFAULTFLAGS): Add. 6789 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals. 6790 (distclean-am): Depend on distclean-DEJAGNU. 6791 (check-am): If -j% option is present in MFLAGS and if 6792 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8. 6793 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU. 6794 * testsuite/Makefile.in: Regenerated. 6795 67962018-11-26 Richard Biener <rguenther@suse.de> 6797 6798 PR tree-optimization/88182 6799 * testsuite/libgomp.c++/pr88182.C: New testcase. 6800 68012018-11-20 Jakub Jelinek <jakub@redhat.com> 6802 6803 PR bootstrap/88106 6804 * config/mingw32/affinity-fmt.c: New file. 6805 68062018-11-09 Jakub Jelinek <jakub@redhat.com> 6807 6808 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H. 6809 (gomp_display_affinity): Use __builtin_choose_expr to handle 6810 properly handle argument having integral, or pointer or some other 6811 type. If inttypes.h is available and PRIx64 is defined, use PRIx64 6812 with uint64_t type instead of %llx and unsigned long long. 6813 6814 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test. 6815 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test. 6816 68172018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 6818 6819 * affinity.c: Include <string.h>, <stdio.h>. 6820 (gomp_display_affinity_place): Remove cpusetp. 6821 * teams.c: Include <limits.h>. 6822 68232018-11-08 Jakub Jelinek <jakub@redhat.com> 6824 6825 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add 6826 in_reduction clause for s[0]. 6827 6828 * affinity.c (gomp_display_affinity_place): New function. 6829 * affinity-fmt.c: New file. 6830 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions. 6831 * config/linux/affinity.c (gomp_display_affinity_place): New function. 6832 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num): 6833 Move these functions to ... 6834 * config/nvptx/teams.c: ... here. New file. 6835 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all): 6836 New functions. 6837 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New 6838 functions. 6839 * configure.ac: Check for aligned_alloc, posix_memalign, memalign 6840 and _aligned_malloc. 6841 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests. 6842 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux. 6843 * env.c (gomp_display_affinity_var, gomp_affinity_format_var, 6844 gomp_affinity_format_len): New variables. 6845 (parse_schedule): Parse monotonic and nonmonotonic modifiers in 6846 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules. 6847 (handle_omp_display_env): Display monotonic/nonmonotonic schedule 6848 modifiers. Display (non-default) chunk sizes. Print 6849 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT. 6850 (initialize_env): Don't call pthread_attr_setdetachstate. Handle 6851 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars. 6852 * fortran.c: Include stdio.h and string.h. 6853 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect. 6854 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit. 6855 (omp_set_affinity_format_, omp_get_affinity_format_, 6856 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_, 6857 omp_pause_resource_all_): New functions. 6858 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in 6859 switch. 6860 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these 6861 functions to ... 6862 * teams.c: ... here. New file. 6863 * libgomp_g.h: Include gstdint.h. 6864 (GOMP_loop_nonmonotonic_runtime_start, 6865 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start, 6866 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next, 6867 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start, 6868 GOMP_parallel_loop_nonmonotonic_runtime, 6869 GOMP_parallel_loop_maybe_nonmonotonic_runtime, 6870 GOMP_loop_ull_nonmonotonic_runtime_start, 6871 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start, 6872 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next, 6873 GOMP_loop_ull_maybe_nonmonotonic_runtime_next, 6874 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions, 6875 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register, 6876 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap, 6877 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start, 6878 GOMP_teams_reg): Declare. 6879 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless 6880 gomp_aligned_alloc uses fallback implementation. 6881 (gomp_aligned_alloc, gomp_aligned_free): Declare. 6882 (enum gomp_schedule_type): Add GFS_MONOTONIC. 6883 (struct gomp_doacross_work_share): Add extra field. 6884 (struct gomp_work_share): Add task_reductions field. 6885 (struct gomp_taskgroup): Add workshare and reductions fields. 6886 (GOMP_NEEDS_THREAD_HANDLE): Define if needed. 6887 (gomp_thread_handle): New typedef. 6888 (gomp_display_affinity_place, gomp_set_affinity_format, 6889 gomp_display_string, gomp_display_affinity, 6890 gomp_display_affinity_thread): Declare. 6891 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument. 6892 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start, 6893 gomp_workshare_task_reduction_register): Declare. 6894 (gomp_team_start): Add taskgroup argument. 6895 (gomp_pause_host): Declare. 6896 (gomp_init_work_share, gomp_work_share_start): Change bool argument 6897 to size_t. 6898 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions. 6899 * libgomp.map (GOMP_5.0): Export GOMP_loop_start, 6900 GOMP_loop_ordered_start, GOMP_loop_doacross_start, 6901 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start, 6902 GOMP_loop_ull_doacross_start, 6903 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start, 6904 GOMP_loop_maybe_nonmonotonic_runtime_next, 6905 GOMP_loop_maybe_nonmonotonic_runtime_start, 6906 GOMP_loop_nonmonotonic_runtime_next, 6907 GOMP_loop_nonmonotonic_runtime_start, 6908 GOMP_loop_ull_maybe_nonmonotonic_runtime_next, 6909 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, 6910 GOMP_loop_ull_nonmonotonic_runtime_next, 6911 GOMP_loop_ull_nonmonotonic_runtime_start, 6912 GOMP_parallel_loop_maybe_nonmonotonic_runtime, 6913 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions, 6914 GOMP_taskgroup_reduction_register, 6915 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap, 6916 GOMP_teams_reg and GOMP_taskwait_depend. 6917 (OMP_5.0): Export omp_pause_resource{,_all}{,_}, 6918 omp_{capture,display}_affinity{,_}, and 6919 omp_[gs]et_affinity_format{,_}. 6920 * loop.c: Include string.h. 6921 (GOMP_loop_runtime_next): Add ialias. 6922 (GOMP_taskgroup_reduction_register): Add ialias_redirect. 6923 (gomp_loop_static_start, gomp_loop_dynamic_start, 6924 gomp_loop_guided_start, gomp_loop_ordered_static_start, 6925 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start, 6926 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start, 6927 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start 6928 or gomp_doacross_init callers. 6929 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start, 6930 GOMP_loop_doacross_start): New functions. 6931 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start, 6932 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start): 6933 Mask off GFS_MONOTONIC bit. 6934 (GOMP_loop_maybe_nonmonotonic_runtime_next, 6935 GOMP_loop_maybe_nonmonotonic_runtime_start, 6936 GOMP_loop_nonmonotonic_runtime_next, 6937 GOMP_loop_nonmonotonic_runtime_start, 6938 GOMP_parallel_loop_maybe_nonmonotonic_runtime, 6939 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper 6940 functions. 6941 (gomp_parallel_loop_start): Pass NULL as taskgroup to 6942 gomp_team_start. 6943 * loop_ull.c: Include string.h. 6944 (GOMP_loop_ull_runtime_next): Add ialias. 6945 (GOMP_taskgroup_reduction_register): Add ialias_redirect. 6946 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start, 6947 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start, 6948 gomp_loop_ull_ordered_dynamic_start, 6949 gomp_loop_ull_ordered_guided_start, 6950 gomp_loop_ull_doacross_static_start, 6951 gomp_loop_ull_doacross_dynamic_start, 6952 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start 6953 and gomp_doacross_ull_init callers. 6954 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start, 6955 GOMP_loop_ull_doacross_start): New functions. 6956 (GOMP_loop_ull_runtime_start, 6957 GOMP_loop_ull_ordered_runtime_start, 6958 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit. 6959 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next, 6960 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, 6961 GOMP_loop_ull_nonmonotonic_runtime_next, 6962 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise. 6963 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c. 6964 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic. 6965 (omp_pause_resource_t, omp_depend_t): New typedefs. 6966 (enum omp_lock_hint_t): Renamed to ... 6967 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_* 6968 enumerators using numbers and omp_lock_hint_* as their aliases. 6969 (omp_lock_hint_t): New typedef. Rename to ... 6970 (omp_sync_hint_t): ... this. 6971 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use 6972 omp_sync_hint_t instead of omp_lock_hint_t. 6973 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format, 6974 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity): 6975 Declare. 6976 (omp_target_is_present, omp_target_disassociate_ptr): 6977 Change first argument from void * to const void *. 6978 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument 6979 from void * to const void *. 6980 (omp_target_associate_ptr): Change first and second arguments from 6981 void * to const void *. 6982 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft, 6983 omp_pause_hard): New parameters. 6984 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format, 6985 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity): 6986 New interfaces. 6987 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft, 6988 omp_pause_hard): New parameters. 6989 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format, 6990 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity): 6991 New externals. 6992 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add 6993 EXTRA argument. If not needed to prepare array, if extra is 0, 6994 clear ws->doacross, otherwise allocate just doacross structure and 6995 extra payload. If array is needed, allocate also extra payload. 6996 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post, 6997 GOMP_doacross_ull_wait): Handle doacross->array == NULL like 6998 doacross == NULL. 6999 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to 7000 gomp_team_start. 7001 (GOMP_parallel): Likewise. Formatting fix. 7002 (GOMP_parallel_reductions): New function. 7003 (GOMP_cancellation_point): If taskgroup has workshare 7004 flag set, check cancelled of prev taskgroup if any. 7005 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled 7006 on prev taskgroup if any. 7007 * sections.c: Include string.h. 7008 (GOMP_taskgroup_reduction_register): Add ialias_redirect. 7009 (GOMP_sections_start): Adjust gomp_work_share_start caller. 7010 (GOMP_sections2_start): New function. 7011 (GOMP_parallel_sections_start, GOMP_parallel_sections): 7012 Pass NULL as taskgroup to gomp_team_start. 7013 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust 7014 gomp_work_share_start callers. 7015 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data): 7016 If taskgroup has workshare flag set, check cancelled on prev 7017 taskgroup if any. Guard all cancellation tests with 7018 gomp_cancel_var test. 7019 (omp_target_is_present, omp_target_disassociate_ptr): 7020 Change ptr argument from void * to const void *. 7021 (omp_target_memcpy): Change src argument from void * to const void *. 7022 (omp_target_memcpy_rect): Likewise. 7023 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts 7024 instead of char * where needed. 7025 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments 7026 from void * to const void *. 7027 (omp_pause_resource, omp_pause_resource_all): New functions. 7028 * task.c (gomp_task_handle_depend): Handle new depend array format 7029 in addition to the old. Handle mutexinoutset kinds the same as 7030 inout for now, handle unspecified kinds. 7031 (gomp_create_target_task): If taskgroup has workshare flag set, check 7032 cancelled on prev taskgroup if any. Guard all cancellation tests with 7033 gomp_cancel_var test. Handle new depend array format count in 7034 addition to the old. 7035 (GOMP_task): Likewise. Adjust function comment. 7036 (gomp_task_run_pre): If taskgroup has workshare flag set, check 7037 cancelled on prev taskgroup if any. Guard all cancellation tests with 7038 gomp_cancel_var test. 7039 (GOMP_taskwait_depend): New function. 7040 (gomp_task_maybe_wait_for_dependencies): Handle new depend array 7041 format in addition to the old. Handle mutexinoutset kinds the same as 7042 inout for now, handle unspecified kinds. Fix a function comment typo. 7043 (gomp_taskgroup_init): New function. 7044 (GOMP_taskgroup_start): Use it. 7045 (gomp_reduction_register, gomp_create_artificial_team, 7046 GOMP_taskgroup_reduction_register, 7047 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap, 7048 gomp_parallel_reduction_register, 7049 gomp_workshare_task_reduction_register, 7050 gomp_workshare_taskgroup_start, 7051 GOMP_workshare_task_reduction_unregister): New functions. 7052 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set, 7053 check cancelled on prev taskgroup if any. Guard all cancellation 7054 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag 7055 by calling GOMP_taskgroup_reduction_register. 7056 * team.c (gomp_thread_attr): Remove comment. 7057 (struct gomp_thread_start_data): Add handle field. 7058 (gomp_thread_start): Call pthread_detach. 7059 (gomp_new_team): Adjust gomp_init_work_share caller. 7060 (gomp_free_pool_helper): Call pthread_detach. 7061 (gomp_team_start): Add taskgroup argument, initialize implicit 7062 tasks' taskgroup field to that. Don't call 7063 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var. 7064 (gomp_team_end): Determine nesting by thr->ts.level != 0 7065 rather than thr->ts.team != NULL. 7066 (gomp_pause_pool_helper, gomp_pause_host): New functions. 7067 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of 7068 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined. 7069 (gomp_init_work_share): Change ORDERED argument from bool to size_t, 7070 if more than 1 allocate also extra payload at the end of array. Never 7071 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead. 7072 (gomp_work_share_start): Change ORDERED argument from bool to size_t, 7073 return true instead of ws. 7074 * Makefile.in: Regenerated. 7075 * configure: Regenerated. 7076 * config.h.in: Regenerated. 7077 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier 7078 in some cases. 7079 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test. 7080 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test. 7081 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test. 7082 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test. 7083 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test. 7084 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test. 7085 * testsuite/libgomp.c-c++-common/depobj-1.c: New test. 7086 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test. 7087 * testsuite/libgomp.c-c++-common/for-10.c: New test. 7088 * testsuite/libgomp.c-c++-common/for-11.c: New test. 7089 * testsuite/libgomp.c-c++-common/for-12.c: New test. 7090 * testsuite/libgomp.c-c++-common/for-13.c: New test. 7091 * testsuite/libgomp.c-c++-common/for-14.c: New test. 7092 * testsuite/libgomp.c-c++-common/for-15.c: New test. 7093 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined, 7094 define a different N(test), don't define N(f0) to N(f14), but instead 7095 define N(f20) to N(f34) using != comparisons. 7096 * testsuite/libgomp.c-c++-common/for-7.c: New test. 7097 * testsuite/libgomp.c-c++-common/for-8.c: New test. 7098 * testsuite/libgomp.c-c++-common/for-9.c: New test. 7099 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test. 7100 * testsuite/libgomp.c-c++-common/pause-1.c: New test. 7101 * testsuite/libgomp.c-c++-common/pause-2.c: New test. 7102 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test. 7103 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test. 7104 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test. 7105 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test. 7106 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test. 7107 * testsuite/libgomp.c-c++-common/simd-1.c: New test. 7108 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test. 7109 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test. 7110 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test. 7111 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test. 7112 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test. 7113 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test. 7114 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test. 7115 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test. 7116 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test. 7117 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test. 7118 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test. 7119 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test. 7120 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test. 7121 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test. 7122 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test. 7123 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test. 7124 * testsuite/libgomp.c++/depend-1.C: New test. 7125 * testsuite/libgomp.c++/depend-iterator-1.C: New test. 7126 * testsuite/libgomp.c++/depobj-1.C: New test. 7127 * testsuite/libgomp.c++/for-16.C: New test. 7128 * testsuite/libgomp.c++/for-21.C: New test. 7129 * testsuite/libgomp.c++/for-22.C: New test. 7130 * testsuite/libgomp.c++/for-23.C: New test. 7131 * testsuite/libgomp.c++/for-24.C: New test. 7132 * testsuite/libgomp.c++/for-25.C: New test. 7133 * testsuite/libgomp.c++/for-26.C: New test. 7134 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test. 7135 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test. 7136 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test. 7137 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test. 7138 * testsuite/libgomp.c++/task-reduction-10.C: New test. 7139 * testsuite/libgomp.c++/task-reduction-11.C: New test. 7140 * testsuite/libgomp.c++/task-reduction-12.C: New test. 7141 * testsuite/libgomp.c++/task-reduction-13.C: New test. 7142 * testsuite/libgomp.c++/task-reduction-14.C: New test. 7143 * testsuite/libgomp.c++/task-reduction-15.C: New test. 7144 * testsuite/libgomp.c++/task-reduction-16.C: New test. 7145 * testsuite/libgomp.c++/task-reduction-17.C: New test. 7146 * testsuite/libgomp.c++/task-reduction-18.C: New test. 7147 * testsuite/libgomp.c++/task-reduction-19.C: New test. 7148 * testsuite/libgomp.c/task-reduction-1.c: New test. 7149 * testsuite/libgomp.c++/task-reduction-1.C: New test. 7150 * testsuite/libgomp.c/task-reduction-2.c: New test. 7151 * testsuite/libgomp.c++/task-reduction-2.C: New test. 7152 * testsuite/libgomp.c++/task-reduction-3.C: New test. 7153 * testsuite/libgomp.c++/task-reduction-4.C: New test. 7154 * testsuite/libgomp.c++/task-reduction-5.C: New test. 7155 * testsuite/libgomp.c++/task-reduction-6.C: New test. 7156 * testsuite/libgomp.c++/task-reduction-7.C: New test. 7157 * testsuite/libgomp.c++/task-reduction-8.C: New test. 7158 * testsuite/libgomp.c++/task-reduction-9.C: New test. 7159 * testsuite/libgomp.c/teams-1.c: New test. 7160 * testsuite/libgomp.c/teams-2.c: New test. 7161 * testsuite/libgomp.c/thread-limit-4.c: New test. 7162 * testsuite/libgomp.c/thread-limit-5.c: New test. 7163 * testsuite/libgomp.fortran/display-affinity-1.f90: New test. 7164 71652018-11-06 Chung-Lin Tang <cltang@codesourcery.com> 7166 7167 * oacc-mem.c (memcpy_tofrom_device): New function, combined from 7168 acc_memcpy_to/from_device functions, now with async parameter. 7169 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device. 7170 (acc_memcpy_from_device): Likewise. 7171 (acc_memcpy_to_device_async): New API function. 7172 (acc_memcpy_from_device_async): Likewise. 7173 (present_create_copy): Add async parameter and async setting/unsetting. 7174 (acc_create): Adjust present_create_copy call. 7175 (acc_copyin): Likewise. 7176 (acc_present_or_create): Likewise. 7177 (acc_present_or_copyin): Likewise. 7178 (acc_create_async): New API function. 7179 (acc_copyin_async): New API function. 7180 (delete_copyout): Add async parameter and async setting/unsetting. 7181 (acc_delete): Adjust delete_copyout call. 7182 (acc_copyout): Likewise. 7183 (acc_delete_async): New API function. 7184 (acc_copyout_async): Likewise. 7185 (update_dev_host): Add async parameter and async setting/unsetting. 7186 (acc_update_device): Adjust update_dev_host call. 7187 (acc_update_self): Likewise. 7188 (acc_update_device_async): New API function. 7189 (acc_update_self_async): Likewise. 7190 * openacc.h (acc_copyin_async): Declare new API function. 7191 (acc_create_async): Likewise. 7192 (acc_copyout_async): Likewise. 7193 (acc_delete_async): Likewise. 7194 (acc_update_device_async): Likewise. 7195 (acc_update_self_async): Likewise. 7196 (acc_memcpy_to_device_async): Likewise. 7197 (acc_memcpy_from_device_async): Likewise. 7198 * openacc_lib.h (acc_copyin_async_32_h): New subroutine. 7199 (acc_copyin_async_64_h): New subroutine. 7200 (acc_copyin_async_array_h): New subroutine. 7201 (acc_create_async_32_h): New subroutine. 7202 (acc_create_async_64_h): New subroutine. 7203 (acc_create_async_array_h): New subroutine. 7204 (acc_copyout_async_32_h): New subroutine. 7205 (acc_copyout_async_64_h): New subroutine. 7206 (acc_copyout_async_array_h): New subroutine. 7207 (acc_delete_async_32_h): New subroutine. 7208 (acc_delete_async_64_h): New subroutine. 7209 (acc_delete_async_array_h): New subroutine. 7210 (acc_update_device_async_32_h): New subroutine. 7211 (acc_update_device_async_64_h): New subroutine. 7212 (acc_update_device_async_array_h): New subroutine. 7213 (acc_update_self_async_32_h): New subroutine. 7214 (acc_update_self_async_64_h): New subroutine. 7215 (acc_update_self_async_array_h): New subroutine. 7216 * openacc.f90 (acc_copyin_async_32_h): New subroutine. 7217 (acc_copyin_async_64_h): New subroutine. 7218 (acc_copyin_async_array_h): New subroutine. 7219 (acc_create_async_32_h): New subroutine. 7220 (acc_create_async_64_h): New subroutine. 7221 (acc_create_async_array_h): New subroutine. 7222 (acc_copyout_async_32_h): New subroutine. 7223 (acc_copyout_async_64_h): New subroutine. 7224 (acc_copyout_async_array_h): New subroutine. 7225 (acc_delete_async_32_h): New subroutine. 7226 (acc_delete_async_64_h): New subroutine. 7227 (acc_delete_async_array_h): New subroutine. 7228 (acc_update_device_async_32_h): New subroutine. 7229 (acc_update_device_async_64_h): New subroutine. 7230 (acc_update_device_async_array_h): New subroutine. 7231 (acc_update_self_async_32_h): New subroutine. 7232 (acc_update_self_async_64_h): New subroutine. 7233 (acc_update_self_async_array_h): New subroutine. 7234 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*, 7235 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*, 7236 acc_delete_finalize_async*, acc_memcpy_from_device_async*, 7237 acc_memcpy_to_device_async*, acc_update_device_async*, and 7238 acc_update_self_async* entries. 7239 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test. 7240 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test. 7241 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test. 7242 72432018-10-31 Joseph Myers <joseph@codesourcery.com> 7244 7245 PR bootstrap/82856 7246 * Makefile.am: Include multilib.am 7247 (AUTOMAKE_OPTIONS): Add info-in-builddir. 7248 (CLEANFILES): Remove libgomp.info. 7249 * configure.ac: Remove AC_PREREQ. 7250 * testsuite/Makefile.am (RUNTEST): Remove quotes. 7251 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: 7252 Regenerate. 7253 72542018-10-29 Joseph Myers <joseph@codesourcery.com> 7255 Julian Brown <julian@codesourcery.com> 7256 7257 * testsuite/libgomp.oacc-c++/this.C: New. 7258 72592018-09-18 Cesar Philippidis <cesar@codesourcery.com> 7260 7261 * plugin/plugin-nvptx.c (struct cuda_map): New. 7262 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev, 7263 h_tail with (cuda_map *) map. 7264 (cuda_map_create): New function. 7265 (cuda_map_destroy): New function. 7266 (map_init): Update to use a linked list of cuda_map objects. 7267 (map_fini): Likewise. 7268 (map_pop): Likewise. 7269 (map_push): Likewise. Return CUdeviceptr instead of void. 7270 (init_streams_for_device): Remove stales references to ptx_stream 7271 members. 7272 (select_stream_for_async): Likewise. 7273 (nvptx_exec): Update call to map_init. 7274 72752018-09-09 Cesar Philippidis <cesar@codesourcery.com> 7276 Julian Brown <julian@codesourcery.com> 7277 7278 PR middle-end/86336 7279 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL. 7280 72812018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org> 7282 Thomas Koenig <tkoenig@gcc.gnu.org> 7283 7284 PR fortran/25829 7285 * testsuite/libgomp.fortran/async_io_1.f90: New test. 7286 * testsuite/libgomp.fortran/async_io_2.f90: New test. 7287 * testsuite/libgomp.fortran/async_io_3.f90: New test. 7288 * testsuite/libgomp.fortran/async_io_4.f90: New test. 7289 * testsuite/libgomp.fortran/async_io_5.f90: New test. 7290 * testsuite/libgomp.fortran/async_io_6.f90: New test. 7291 * testsuite/libgomp.fortran/async_io_7.f90: New test. 7292 72932018-08-13 Cesar Philippidis <cesar@codesourcery.com> 7294 Tom de Vries <tdevries@suse.de> 7295 7296 PR target/85590 7297 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef. 7298 (cuOccupancyMaxPotentialBlockSize): Declare. 7299 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New 7300 CUDA_ONE_CALL_MAYBE_NULL. 7301 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define 7302 CUoccupancyB2DSize and declare 7303 cuOccupancyMaxPotentialBlockSize. 7304 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the 7305 default num_gangs and num_workers when the driver supports it. 7306 73072018-08-08 Tom de Vries <tdevries@suse.de> 7308 7309 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using 7310 CUDA_ONE_CALL_MAYBE_NULL. 7311 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare. 7312 (cuLinkAddData_v2, cuLinkCreate_v2): Declare. 7313 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions 7314 are not found. 7315 73162018-08-08 Tom de Vries <tdevries@suse.de> 7317 7318 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL. 7319 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not 7320 present. 7321 73222018-08-08 Tom de Vries <tdevries@suse.de> 7323 7324 * plugin/plugin-nvptx.c 7325 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define. 7326 (nvptx_open_device): Use 7327 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR. 7328 73292018-08-08 Tom de Vries <tdevries@suse.de> 7330 7331 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ... 7332 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000. 7333 73342018-08-07 Tom de Vries <tdevries@suse.de> 7335 7336 * plugin/plugin-nvptx.c (DO_PRAGMA): Define. 7337 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL. 7338 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to 7339 corresponding call in CUDA_ONE_CALL. Add def/undef of 7340 CUDA_ONE_CALL_MAYBE_NULL. 7341 (CUDA_CALL_EXISTS): Define. 7342 73432018-08-07 Tom de Vries <tdevries@suse.de> 7344 7345 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put 7346 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the 7347 corresponding undefs right after. 7348 73492018-08-04 Tom de Vries <tdevries@suse.de> 7350 7351 * plugin/configfrag.ac: For --without-cuda-driver, set 7352 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle 7353 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no. 7354 * configure: Regenerate. 7355 73562018-08-02 Tom de Vries <tdevries@suse.de> 7357 7358 PR target/86660 7359 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions. 7360 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same. 7361 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C: 7362 Same. 7363 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same. 7364 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same. 7365 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same. 7366 73672018-08-01 Cesar Philippidis <cesar@codesourcery.com> 7368 Thomas Schwinge <thomas@codesourcery.com> 7369 7370 * config/nvptx/oacc-parallel.c: Truncate. 7371 73722018-08-01 Cesar Philippidis <cesar@codesourcery.com> 7373 James Norris <jnorris@codesourcery.com> 7374 7375 * plugin/plugin-nvptx.c (struct map): Removed. 7376 (map_init, map_pop): Remove use of struct map. 7377 (map_push): Likewise and change argument list. 7378 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New 7379 73802018-08-01 Tom de Vries <tdevries@suse.de> 7381 7382 * plugin/cuda-lib.def: New file. Factor out of ... 7383 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here. 7384 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of 7385 using CUDA_CALLS. 7386 73872018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com> 7388 7389 Revert 'AsyncI/O patch committed'. 7390 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org> 7391 Thomas Koenig <tkoenig@gcc.gnu.org> 7392 7393 PR fortran/25829 7394 * testsuite/libgomp.fortran/async_io_1.f90: New test. 7395 * testsuite/libgomp.fortran/async_io_2.f90: New test. 7396 * testsuite/libgomp.fortran/async_io_3.f90: New test. 7397 * testsuite/libgomp.fortran/async_io_4.f90: New test. 7398 * testsuite/libgomp.fortran/async_io_5.f90: New test. 7399 * testsuite/libgomp.fortran/async_io_6.f90: New test. 7400 * testsuite/libgomp.fortran/async_io_7.f90: New test. 7401 74022018-07-30 Tom de Vries <tdevries@suse.de> 7403 7404 * plugin/plugin-nvptx.c (MIN, MAX): Redefine. 7405 (nvptx_exec): Ensure worker and vector default dims don't exceed 7406 targ_fn->max_threads_per_block. 7407 74082018-07-30 Tom de Vries <tdevries@suse.de> 7409 7410 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field. 7411 (nvptx_open_device): Init default_dims for device. 7412 (nvptx_exec): Use default_dims from device. 7413 74142018-07-26 Jakub Jelinek <jakub@redhat.com> 7415 7416 PR testsuite/86660 7417 * testsuite/libgomp.c++/for-15.C (results): Include it in 7418 omp declare target region. 7419 (main): Use map (always, tofrom: results) instead of 7420 map (tofrom: results). 7421 7422 PR middle-end/86660 7423 * testsuite/libgomp.c/pr86660.c: New test. 7424 74252018-07-26 Cesar Philippidis <cesar@codesourcery.com> 7426 Tom de Vries <tdevries@suse.de> 7427 7428 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have 7429 sufficient resources to launch a kernel, and give a hint on how to fix 7430 it. 7431 74322018-07-26 Cesar Philippidis <cesar@codesourcery.com> 7433 Tom de Vries <tdevries@suse.de> 7434 7435 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size, 7436 max_threads_per_block and max_threads_per_multiprocessor fields. 7437 (nvptx_open_device): Initialize new fields. 7438 (nvptx_exec): Use num_sms, and new fields. 7439 74402018-07-26 Tom de Vries <tdevries@suse.de> 7441 7442 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls 7443 to correct locations. Remove xfail. 7444 74452018-07-26 Tom de Vries <tdevries@suse.de> 7446 7447 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with 7448 acc_wait. Move acc_async_test calls to correct locations. Remove 7449 xfail. 7450 74512018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org> 7452 Thomas Koenig <tkoenig@gcc.gnu.org> 7453 7454 PR fortran/25829 7455 * testsuite/libgomp.fortran/async_io_1.f90: New test. 7456 * testsuite/libgomp.fortran/async_io_2.f90: New test. 7457 * testsuite/libgomp.fortran/async_io_3.f90: New test. 7458 * testsuite/libgomp.fortran/async_io_4.f90: New test. 7459 * testsuite/libgomp.fortran/async_io_5.f90: New test. 7460 * testsuite/libgomp.fortran/async_io_6.f90: New test. 7461 * testsuite/libgomp.fortran/async_io_7.f90: New test. 7462 74632018-07-17 Jakub Jelinek <jakub@redhat.com> 7464 7465 PR middle-end/86542 7466 * testsuite/libgomp.c++/pr86542.C: New test. 7467 7468 PR middle-end/86539 7469 * testsuite/libgomp.c++/pr86539.C: New test. 7470 74712018-07-11 Jakub Jelinek <jakub@redhat.com> 7472 7473 PR c++/86443 7474 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable. 7475 (results): Make sure the variable is not inside declare target region. 7476 (qux): Remove unused function. 7477 74782018-07-10 Jakub Jelinek <jakub@redhat.com> 7479 7480 PR c++/86443 7481 * testsuite/libgomp.c++/for-15.C: New test. 7482 74832018-06-26 Jakub Jelinek <jakub@redhat.com> 7484 7485 PR c++/86291 7486 * testsuite/libgomp.c++/pr86291.C: New test. 7487 74882018-06-24 Gerald Pfeifer <gerald@pfeifer.com> 7489 7490 * libgomp.texi (Top): Move www.openmp.org to https. 7491 (Enabling OpenMP): Ditto. 7492 (omp_get_active_level): Ditto. 7493 (omp_get_ancestor_thread_num): Ditto. 7494 (omp_get_cancellation): Ditto. 7495 (omp_get_default_device): Ditto. 7496 (omp_get_dynamic): Ditto. 7497 (omp_get_level): Ditto. 7498 (omp_get_max_active_levels): Ditto. 7499 (omp_get_max_task_priority): Ditto. 7500 (omp_get_max_threads): Ditto. 7501 (omp_get_nested): Ditto. 7502 (omp_get_num_devices): Ditto. 7503 (omp_get_num_procs): Ditto. 7504 (omp_get_num_teams): Ditto. 7505 (omp_get_num_threads): Ditto. 7506 (omp_get_proc_bind): Ditto. 7507 (omp_get_schedule): Ditto. 7508 (omp_get_team_num): Ditto. 7509 (omp_get_team_size): Ditto. 7510 (omp_get_thread_limit): Ditto. 7511 (omp_get_thread_num): Ditto. 7512 (omp_in_parallel): Ditto. 7513 (omp_in_final): Ditto. 7514 (omp_is_initial_device): Ditto. 7515 (omp_set_default_device): Ditto. 7516 (omp_set_dynamic): Ditto. 7517 (omp_set_max_active_levels): Ditto. 7518 (omp_set_nested): Ditto. 7519 (omp_set_num_threads): Ditto. 7520 (omp_set_schedule): Ditto. 7521 (omp_init_lock): Ditto. 7522 (omp_set_lock): Ditto. 7523 (omp_test_lock): Ditto. 7524 (omp_unset_lock): Ditto. 7525 (omp_destroy_lock): Ditto. 7526 (omp_init_nest_lock): Ditto. 7527 (omp_set_nest_lock): Ditto. 7528 (omp_test_nest_lock): Ditto. 7529 (omp_unset_nest_lock): Ditto. 7530 (omp_destroy_nest_lock): Ditto. 7531 (omp_get_wtick): Ditto. 7532 (omp_get_wtime): Ditto. 7533 (OMP_CANCELLATION): Ditto. 7534 (OMP_DISPLAY_ENV): Ditto. 7535 (OMP_DEFAULT_DEVICE): Ditto. 7536 (OMP_DYNAMIC): Ditto. 7537 (OMP_MAX_ACTIVE_LEVELS): Ditto. 7538 (OMP_MAX_TASK_PRIORITY): Ditto. 7539 (OMP_NESTED): Ditto. 7540 (OMP_NUM_THREADS): Ditto. 7541 (OMP_PROC_BIND): Ditto. 7542 (OMP_PLACES): Ditto. 7543 (OMP_STACKSIZE): Ditto. 7544 (OMP_SCHEDULE): Ditto. 7545 (OMP_THREAD_LIMIT): Ditto. 7546 (OMP_WAIT_POLICY): Ditto. 7547 75482018-06-22 Cesar Philippidis <cesar@codesourcery.com> 7549 James Norris <jnorris@codesourcery.com> 7550 Julian Brown <julian@codesourcery.com> 7551 Thomas Schwinge <thomas@codesourcery.com> 7552 Tom de Vries <tom@codesourcery.com> 7553 7554 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2". 7555 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update. 7556 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise. 7557 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise. 7558 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise. 7559 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise. 7560 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file. 7561 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise. 7562 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise. 7563 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: 7564 Likewise. 7565 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c: 7566 Likewise. 7567 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c: 7568 Likewise. 7569 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: 7570 Likewise. 7571 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: 7572 Likewise. 7573 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c: 7574 Likewise. 7575 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c: 7576 Likewise. 7577 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c: 7578 Likewise. 7579 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c: 7580 Likewise. 7581 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c: 7582 Likewise. 7583 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c: 7584 Likewise. 7585 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c: 7586 Likewise. 7587 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c: 7588 Likewise. 7589 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c: 7590 Likewise. 7591 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c: 7592 Likewise. 7593 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c: 7594 Likewise. 7595 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c: 7596 Likewise. 7597 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c: 7598 Likewise. 7599 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c: 7600 Likewise. 7601 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c: 7602 Likewise. 7603 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c: 7604 Likewise. 7605 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c: 7606 Likewise. 7607 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c: 7608 Likewise. 7609 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c: 7610 Likewise. 7611 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c: 7612 Likewise. 7613 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c: 7614 Likewise. 7615 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c: 7616 Likewise. 7617 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise. 7618 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise. 7619 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise. 7620 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise. 7621 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise. 7622 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise. 7623 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise. 7624 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise. 7625 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90: 7626 Likewise. 7627 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90: 7628 Likewise. 7629 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise. 7630 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise. 7631 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: 7632 Likewise. 7633 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise. 7634 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise. 7635 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95: 7636 Likewise. 7637 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90: 7638 Likewise. 7639 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90: 7640 Likewise. 7641 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90: 7642 Likewise. 7643 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90: 7644 Likewise. 7645 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90: 7646 Likewise. 7647 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90: 7648 Likewise. 7649 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90: 7650 Likewise. 7651 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90: 7652 Likewise. 7653 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90: 7654 Likewise. 7655 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90: 7656 Likewise. 7657 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90: 7658 Likewise. 7659 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90: 7660 Likewise. 7661 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90: 7662 Likewise. 7663 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: 7664 Likewise. 7665 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise. 7666 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise. 7667 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise. 7668 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise. 7669 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise. 7670 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise. 7671 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise. 7672 76732018-06-20 Chung-Lin Tang <cltang@codesourcery.com> 7674 Thomas Schwinge <thomas@codesourcery.com> 7675 Cesar Philippidis <cesar@codesourcery.com> 7676 7677 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member. 7678 (gomp_acc_remove_pointer): Update declaration. 7679 (gomp_acc_declare_allocate): Declare. 7680 (gomp_remove_var): Declare. 7681 * libgomp.map (OACC_2.5): Define. 7682 * oacc-mem.c (acc_map_data): Update refcount. 7683 (acc_unmap_data): Likewise. 7684 (present_create_copy): Likewise. 7685 (acc_create): Add FLAG_PRESENT when calling present_create_copy. 7686 (acc_copyin): Likewise. 7687 (FLAG_FINALIZE): Define. 7688 (delete_copyout): Update dynamic refcounts, add support for FINALIZE. 7689 (acc_delete_finalize): New function. 7690 (acc_delete_finalize_async): New function. 7691 (acc_copyout_finalize): New function. 7692 (acc_copyout_finalize_async): New function. 7693 (gomp_acc_insert_pointer): Update refcounts. 7694 (gomp_acc_remove_pointer): Return if data is not present on the 7695 accelerator. 7696 * oacc-parallel.c (find_pset): Rename to find_pointer. 7697 (find_pointer): Add support for GOMP_MAP_POINTER. 7698 (handle_ftn_pointers): New function. 7699 (GOACC_parallel_keyed): Update refcounts of variables. 7700 (GOACC_enter_exit_data): Add support for finalized data mappings. 7701 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling 7702 of fortran arrays. 7703 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}. 7704 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support 7705 for GOMP_MAP_FORCE_FROM. 7706 * openacc.f90 (module openacc_internal): Add 7707 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and 7708 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for 7709 acc_copyout_finalize and acc_delete_finalize. 7710 (acc_copyout_finalize_32_h): New subroutine. 7711 (acc_copyout_finalize_64_h): New subroutine. 7712 (acc_copyout_finalize_array_h): New subroutine. 7713 (acc_delete_finalize_32_h): New subroutine. 7714 (acc_delete_finalize_64_h): New subroutine. 7715 (acc_delete_finalize_array_h): New subroutine. 7716 * openacc.h (acc_copyout_finalize): Declare. 7717 (acc_copyout_finalize_async): Declare. 7718 (acc_delete_finalize): Declare. 7719 (acc_delete_finalize_async): Declare. 7720 * openacc_lib.h (acc_copyout_finalize): New interface. 7721 (acc_delete_finalize): New interface. 7722 * target.c (gomp_map_vars): Update dynamic_refcount. 7723 (gomp_remove_var): New function. 7724 (gomp_unmap_vars): Use it. 7725 (gomp_unload_image_from_device): Likewise. 7726 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test 7727 case to utilize OpenACC 2.5 data clause semantics. 7728 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise. 7729 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise. 7730 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise. 7731 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise. 7732 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise. 7733 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise. 7734 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise. 7735 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise. 7736 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise. 7737 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise. 7738 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise. 7739 * testsuite/libgomp.oacc-fortran/data-5.f90: New test. 7740 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to 7741 utilize OpenACC 2.5 data clause semantics. 7742 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise. 7743 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise. 7744 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise. 7745 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise. 7746 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise. 7747 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise. 7748 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise. 7749 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise. 7750 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise. 7751 77522018-05-21 Janus Weil <janus@gcc.gnu.org> 7753 7754 PR fortran/85841 7755 PR testsuite/85865 7756 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy". 7757 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto. 7758 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto. 7759 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto. 7760 * testsuite/libgomp.fortran/task2.f90: Ditto. 7761 * testsuite/libgomp.fortran/vla1.f90: Ditto. 7762 * testsuite/libgomp.fortran/vla2.f90: Ditto. 7763 * testsuite/libgomp.fortran/vla3.f90: Ditto. 7764 * testsuite/libgomp.fortran/vla4.f90: Ditto. 7765 * testsuite/libgomp.fortran/vla5.f90: Ditto. 7766 * testsuite/libgomp.fortran/vla6.f90: Ditto. 7767 * testsuite/libgomp.fortran/vla8.f90: Ditto. 7768 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto. 7769 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto. 7770 77712018-05-18 Cesar Philippidis <cesar@codesourcery.com> 7772 7773 PR c++/85782 7774 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test. 7775 77762018-05-09 Tom de Vries <tom@codesourcery.com> 7777 7778 PR libgomp/82901 7779 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument 7780 to GOACC_enter_exit_data. 7781 77822018-05-09 Tom de Vries <tom@codesourcery.com> 7783 7784 PR libgomp/83792 7785 * oacc-int.h (async_valid_stream_id_p, async_valid_p) 7786 (async_synchronous_p): New function. 7787 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use 7788 async_valid_p. 7789 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use 7790 async_valid_stream_id_p. 7791 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p. 7792 * oacc-parallel.c (GOACC_parallel_keyed): Same. 7793 77942018-05-07 Tom de Vries <tom@codesourcery.com> 7795 7796 PR testsuite/85677 7797 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level 7798 include directory in ALWAYS_CFLAGS out of $blddir != "" condition. 7799 78002018-05-03 Tom de Vries <tom@codesourcery.com> 7801 7802 PR testsuite/85106 7803 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to 7804 extra_tool_flags if it contains an -foffload=-fdump-* flag. 7805 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp. 7806 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump. 7807 78082018-05-02 Tom de Vries <tom@codesourcery.com> 7809 7810 PR libgomp/85411 7811 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of 7812 GOMP_OPENACC_DIM ... 7813 * env.c (parse_gomp_openacc_dim): ... here. New function. 7814 (initialize_env): Call parse_gomp_openacc_dim. 7815 (goacc_default_dims): Define. 7816 * libgomp.h (goacc_default_dims): Declare. 7817 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function. 7818 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare. 7819 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add 7820 GOMP_PLUGIN_acc_default_dim. 7821 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test. 7822 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test. 7823 78242018-05-02 Tom de Vries <tom@codesourcery.com> 7825 7826 PR testsuite/83791 7827 * testsuite/libgomp.c++/udr-9.C: Update. 7828 * testsuite/libgomp.c++/atomic-16.C: Remove. 7829 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove. 7830 * testsuite/libgomp.c++/loop-13.C: Remove. 7831 * testsuite/libgomp.c++/loop-14.C: Remove. 7832 * testsuite/libgomp.c++/loop-15.C: Remove. 7833 * testsuite/libgomp.c++/monotonic-1.C: Remove. 7834 * testsuite/libgomp.c++/monotonic-2.C: Remove. 7835 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove. 7836 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove. 7837 * testsuite/libgomp.c++/ordered-1.C: Remove. 7838 * testsuite/libgomp.c++/pr45784.C: Remove. 7839 * testsuite/libgomp.c++/pr64824.C: Remove. 7840 * testsuite/libgomp.c++/pr64868.C: Remove. 7841 * testsuite/libgomp.c++/pr66199-1.C: Remove. 7842 * testsuite/libgomp.c++/pr66199-2.C: Remove. 7843 * testsuite/libgomp.c++/pr66199-3.C: Remove. 7844 * testsuite/libgomp.c++/pr66199-4.C: Remove. 7845 * testsuite/libgomp.c++/pr66199-5.C: Remove. 7846 * testsuite/libgomp.c++/pr66199-6.C: Remove. 7847 * testsuite/libgomp.c++/pr66199-7.C: Remove. 7848 * testsuite/libgomp.c++/pr66199-8.C: Remove. 7849 * testsuite/libgomp.c++/pr66199-9.C: Remove. 7850 * testsuite/libgomp.c++/pr69389.C: Remove. 7851 * testsuite/libgomp.c++/simd10.C: Remove. 7852 * testsuite/libgomp.c++/simd11.C: Remove. 7853 * testsuite/libgomp.c++/simd12.C: Remove. 7854 * testsuite/libgomp.c++/simd13.C: Remove. 7855 * testsuite/libgomp.c++/target-1.C: Remove. 7856 * testsuite/libgomp.c++/target-3.C: Remove. 7857 * testsuite/libgomp.c++/target-4.C: Remove. 7858 * testsuite/libgomp.c++/target-5.C: Remove. 7859 * testsuite/libgomp.c++/taskgroup-1.C: Remove. 7860 * testsuite/libgomp.c++/taskloop-1.C: Remove. 7861 * testsuite/libgomp.c++/taskloop-2.C: Remove. 7862 * testsuite/libgomp.c++/taskloop-3.C: Remove. 7863 * testsuite/libgomp.c++/taskloop-4.C: Remove. 7864 * testsuite/libgomp.c++/udr-9.C: Remove. 7865 * testsuite/libgomp.c++/for-10.C: Remove. 7866 * testsuite/libgomp.c++/for-11.C: Remove. 7867 * testsuite/libgomp.c++/for-12.C: Remove. 7868 * testsuite/libgomp.c++/for-13.C: Remove. 7869 * testsuite/libgomp.c++/for-14.C: Remove. 7870 * testsuite/libgomp.c++/for-9.C: Remove. 7871 * testsuite/libgomp.c/atomic-18.c: Move ... 7872 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here. 7873 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ... 7874 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here. 7875 * testsuite/libgomp.c/loop-13.c: Move ... 7876 * testsuite/libgomp.c-c++-common/loop-13.c: ... here. 7877 * testsuite/libgomp.c/loop-14.c: Move ... 7878 * testsuite/libgomp.c-c++-common/loop-14.c: ... here. 7879 * testsuite/libgomp.c/loop-15.c: Remove. 7880 * testsuite/libgomp.c-c++-common/loop-15.c: New test. 7881 * testsuite/libgomp.c/monotonic-1.c: Move ... 7882 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here. 7883 * testsuite/libgomp.c/monotonic-2.c: Move ... 7884 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here. 7885 * testsuite/libgomp.c/nonmonotonic-1.c: Move ... 7886 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here. 7887 * testsuite/libgomp.c/nonmonotonic-2.c: Move ... 7888 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here. 7889 * testsuite/libgomp.c/ordered-4.c: Move ... 7890 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here. 7891 * testsuite/libgomp.c/pr45784.c: Move ... 7892 * testsuite/libgomp.c-c++-common/pr45784.c: ... here. 7893 * testsuite/libgomp.c/pr64824.c: Move ... 7894 * testsuite/libgomp.c-c++-common/pr64824.c: ... here. 7895 * testsuite/libgomp.c/pr64868.c: Move ... 7896 * testsuite/libgomp.c-c++-common/pr64868.c: ... here. 7897 * testsuite/libgomp.c/pr66199-1.c: Move ... 7898 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here. 7899 * testsuite/libgomp.c/pr66199-2.c: Move ... 7900 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here. 7901 * testsuite/libgomp.c/pr66199-3.c: Move ... 7902 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here. 7903 * testsuite/libgomp.c/pr66199-4.c: Move ... 7904 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here. 7905 * testsuite/libgomp.c/pr66199-5.c: Move ... 7906 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here. 7907 * testsuite/libgomp.c/pr66199-6.c: Move ... 7908 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here. 7909 * testsuite/libgomp.c/pr66199-7.c: Move ... 7910 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here. 7911 * testsuite/libgomp.c/pr66199-8.c: Move ... 7912 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here. 7913 * testsuite/libgomp.c/pr66199-9.c: Move ... 7914 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here. 7915 * testsuite/libgomp.c/pr69389.c: Move ... 7916 * testsuite/libgomp.c-c++-common/pr69389.c: ... here. 7917 * testsuite/libgomp.c/simd-14.c: Move ... 7918 * testsuite/libgomp.c-c++-common/simd-14.c: ... here. 7919 * testsuite/libgomp.c/simd-15.c: Move ... 7920 * testsuite/libgomp.c-c++-common/simd-15.c: ... here. 7921 * testsuite/libgomp.c/simd-16.c: Move ... 7922 * testsuite/libgomp.c-c++-common/simd-16.c: ... here. 7923 * testsuite/libgomp.c/simd-17.c: Move ... 7924 * testsuite/libgomp.c-c++-common/simd-17.c: ... here. 7925 * testsuite/libgomp.c/target-1.c: Move ... 7926 * testsuite/libgomp.c-c++-common/target-1.c: ... here. 7927 * testsuite/libgomp.c/target-10.c: Move ... 7928 * testsuite/libgomp.c-c++-common/target-10.c: ... here. 7929 * testsuite/libgomp.c/target-13.c: Move ... 7930 * testsuite/libgomp.c-c++-common/target-13.c: ... here. 7931 * testsuite/libgomp.c/target-2.c: Move ... 7932 * testsuite/libgomp.c-c++-common/target-2.c: ... here. 7933 * testsuite/libgomp.c/taskgroup-1.c: Move ... 7934 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here. 7935 * testsuite/libgomp.c/taskloop-1.c: Move ... 7936 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here. 7937 * testsuite/libgomp.c/taskloop-2.c: Move ... 7938 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here. 7939 * testsuite/libgomp.c/taskloop-3.c: Move ... 7940 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here. 7941 * testsuite/libgomp.c/taskloop-4.c: Move ... 7942 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here. 7943 * testsuite/libgomp.c/udr-1.c: Move ... 7944 * testsuite/libgomp.c-c++-common/udr-1.c: ... here. 7945 * testsuite/libgomp.c/for-1.c: Move ... 7946 * testsuite/libgomp.c-c++-common/for-1.c: ... here. 7947 * testsuite/libgomp.c/for-1.h: Move ... 7948 * testsuite/libgomp.c-c++-common/for-1.h: ... here. 7949 * testsuite/libgomp.c/for-2.c: Move ... 7950 * testsuite/libgomp.c-c++-common/for-2.c: ... here. 7951 * testsuite/libgomp.c/for-2.h: Move ... 7952 * testsuite/libgomp.c-c++-common/for-2.h: ... here. 7953 * testsuite/libgomp.c/for-3.c: Move ... 7954 * testsuite/libgomp.c-c++-common/for-3.c: ... here. 7955 * testsuite/libgomp.c/for-4.c: Move ... 7956 * testsuite/libgomp.c-c++-common/for-4.c: ... here. 7957 * testsuite/libgomp.c/for-5.c: Move ... 7958 * testsuite/libgomp.c-c++-common/for-5.c: ... here. 7959 * testsuite/libgomp.c/for-6.c: Move ... 7960 * testsuite/libgomp.c-c++-common/for-6.c: ... here. 7961 79622018-05-02 Tom de Vries <tom@codesourcery.com> 7963 7964 PR libgomp/82428 7965 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use 7966 __builtin_goacc_parlevel_{id,size}. 7967 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same. 7968 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same. 7969 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same. 7970 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same. 7971 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same. 7972 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same. 7973 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same. 7974 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same. 7975 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same. 7976 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same. 7977 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same. 7978 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same. 7979 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same. 7980 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same. 7981 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same. 7982 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same. 7983 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same. 7984 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same. 7985 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same. 7986 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same. 7987 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same. 7988 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same. 7989 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same. 7990 79912018-05-02 Tom de Vries <tom@codesourcery.com> 7992 7993 PR testsuite/85106 7994 * testsuite/lib/libgomp.exp: Include scanltranstree.exp. 7995 79962018-05-02 Tom de Vries <tom@codesourcery.com> 7997 7998 PR testsuite/85106 7999 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp. 8000 80012018-04-29 Julian Brown <julian@codesourcery.com> 8002 Tom de Vries <tom@codesourcery.com> 8003 8004 PR testsuite/85527 8005 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow 8006 arbitrary order for iterations of atomic subtract check. 8007 80082018-04-28 Tom de Vries <tom@codesourcery.com> 8009 8010 PR testsuite/85527 8011 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store 8012 atomic capture results obtained in parallel loop to an array, instead of 8013 to a scalar. 8014 80152018-04-26 Tom de Vries <tom@codesourcery.com> 8016 8017 PR libgomp/84020 8018 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL. 8019 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define. 8020 (process_GOMP_NVPTX_JIT): New function. 8021 (link_ptx): Use process_GOMP_NVPTX_JIT. 8022 80232018-04-26 Richard Biener <rguenther@suse.de> 8024 Tom de Vries <tom@codesourcery.com> 8025 8026 PR lto/85422 8027 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test. 8028 80292018-04-26 Tom de Vries <tom@codesourcery.com> 8030 8031 PR target/85519 8032 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce 8033 recursion depth from 25 to 23. 8034 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same. 8035 80362018-04-24 H.J. Lu <hongjiu.lu@intel.com> 8037 8038 * configure: Regenerated. 8039 80402018-04-20 Nathan Sidwell <nathan@codesourcery.com> 8041 Tom de Vries <tom@codesourcery.com> 8042 8043 PR target/85445 8044 * testsuite/libgomp.oacc-c++/ref-1.C: New. 8045 80462018-04-19 Thomas Schwinge <thomas@codesourcery.com> 8047 8048 PR libgomp/85463 8049 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file. 8050 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise. 8051 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise. 8052 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise. 8053 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise. 8054 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise. 8055 8056 PR libfortran/85166 8057 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call 8058 abort". 8059 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise. 8060 80612018-04-19 Jakub Jelinek <jakub@redhat.com> 8062 8063 * configure: Regenerated. 8064 80652018-04-18 David Malcolm <dmalcolm@redhat.com> 8066 8067 PR jit/85384 8068 * configure: Regenerate. 8069 80702018-04-16 Cesar Philippidis <cesar@codesourcery.com> 8071 Tom de Vries <tom@codesourcery.com> 8072 8073 PR middle-end/84955 8074 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test. 8075 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test. 8076 80772018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org> 8078 8079 PR fortran/83064 8080 PR testsuite/85346 8081 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified 8082 test from gfortran.dg to here. 8083 80842018-04-12 Cesar Philippidis <cesar@codesourcery.com> 8085 8086 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346. 8087 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise. 8088 80892018-04-12 Cesar Philippidis <cesar@codesourcery.com> 8090 8091 PR middle-end/84955 8092 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test. 8093 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test. 8094 80952018-04-05 Tom de Vries <tom@codesourcery.com> 8096 8097 PR target/85204 8098 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test. 8099 81002018-03-26 Tom de Vries <tom@codesourcery.com> 8101 8102 PR tree-optimization/85063 8103 * testsuite/libgomp.c/switch-conversion-2.c: New test. 8104 * testsuite/libgomp.c/switch-conversion.c: New test. 8105 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test. 8106 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test. 8107 81082018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org> 8109 8110 PR fortran/84381 8111 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard 8112 call abort by STOP n. 8113 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise. 8114 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise. 8115 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise. 8116 * testsuite/libgomp.fortran/allocatable1.f90: Likewise. 8117 * testsuite/libgomp.fortran/allocatable10.f90: Likewise. 8118 * testsuite/libgomp.fortran/allocatable11.f90: Likewise. 8119 * testsuite/libgomp.fortran/allocatable12.f90: Likewise. 8120 * testsuite/libgomp.fortran/allocatable2.f90: Likewise. 8121 * testsuite/libgomp.fortran/allocatable3.f90: Likewise. 8122 * testsuite/libgomp.fortran/allocatable4.f90: Likewise. 8123 * testsuite/libgomp.fortran/allocatable5.f90: Likewise. 8124 * testsuite/libgomp.fortran/allocatable6.f90: Likewise. 8125 * testsuite/libgomp.fortran/allocatable7.f90: Likewise. 8126 * testsuite/libgomp.fortran/allocatable8.f90: Likewise. 8127 * testsuite/libgomp.fortran/allocatable9.f90: Likewise. 8128 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. 8129 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise. 8130 * testsuite/libgomp.fortran/associate1.f90: Likewise. 8131 * testsuite/libgomp.fortran/associate2.f90: Likewise. 8132 * testsuite/libgomp.fortran/associate3.f90: Likewise. 8133 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise. 8134 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise. 8135 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise. 8136 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise. 8137 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise. 8138 * testsuite/libgomp.fortran/character1.f90: Likewise. 8139 * testsuite/libgomp.fortran/character2.f90: Likewise. 8140 * testsuite/libgomp.fortran/collapse1.f90: Likewise. 8141 * testsuite/libgomp.fortran/collapse2.f90: Likewise. 8142 * testsuite/libgomp.fortran/collapse3.f90: Likewise. 8143 * testsuite/libgomp.fortran/collapse4.f90: Likewise. 8144 * testsuite/libgomp.fortran/crayptr1.f90: Likewise. 8145 * testsuite/libgomp.fortran/crayptr2.f90: Likewise. 8146 * testsuite/libgomp.fortran/crayptr3.f90: Likewise. 8147 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise. 8148 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise. 8149 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise. 8150 * testsuite/libgomp.fortran/depend-1.f90: Likewise. 8151 * testsuite/libgomp.fortran/depend-2.f90: Likewise. 8152 * testsuite/libgomp.fortran/depend-3.f90: Likewise. 8153 * testsuite/libgomp.fortran/do1.f90: Likewise. 8154 * testsuite/libgomp.fortran/do2.f90: Likewise. 8155 * testsuite/libgomp.fortran/doacross1.f90: Likewise. 8156 * testsuite/libgomp.fortran/doacross2.f90: Likewise. 8157 * testsuite/libgomp.fortran/doacross3.f90: Likewise. 8158 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise. 8159 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise. 8160 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise. 8161 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise. 8162 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise. 8163 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise. 8164 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise. 8165 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise. 8166 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise. 8167 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise. 8168 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise. 8169 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise. 8170 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise. 8171 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise. 8172 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise. 8173 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise. 8174 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise. 8175 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise. 8176 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise. 8177 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise. 8178 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise. 8179 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise. 8180 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise. 8181 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise. 8182 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise. 8183 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise. 8184 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise. 8185 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise. 8186 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise. 8187 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise. 8188 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise. 8189 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise. 8190 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise. 8191 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise. 8192 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise. 8193 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise. 8194 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise. 8195 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise. 8196 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise. 8197 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise. 8198 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise. 8199 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise. 8200 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise. 8201 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise. 8202 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise. 8203 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise. 8204 * testsuite/libgomp.fortran/lib1.f90: Likewise. 8205 * testsuite/libgomp.fortran/lib2.f: Likewise. 8206 * testsuite/libgomp.fortran/lib3.f: Likewise. 8207 * testsuite/libgomp.fortran/lib4.f90: Likewise. 8208 * testsuite/libgomp.fortran/lock-1.f90: Likewise. 8209 * testsuite/libgomp.fortran/lock-2.f90: Likewise. 8210 * testsuite/libgomp.fortran/nested1.f90: Likewise. 8211 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise. 8212 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise. 8213 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise. 8214 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise. 8215 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise. 8216 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise. 8217 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise. 8218 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise. 8219 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise. 8220 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise. 8221 * testsuite/libgomp.fortran/omp_cond1.f: Likewise. 8222 * testsuite/libgomp.fortran/omp_cond2.f: Likewise. 8223 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise. 8224 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise. 8225 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise. 8226 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise. 8227 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise. 8228 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise. 8229 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise. 8230 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise. 8231 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise. 8232 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise. 8233 * testsuite/libgomp.fortran/pointer1.f90: Likewise. 8234 * testsuite/libgomp.fortran/pointer2.f90: Likewise. 8235 * testsuite/libgomp.fortran/pr25162.f: Likewise. 8236 * testsuite/libgomp.fortran/pr25219.f90: Likewise. 8237 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise. 8238 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise. 8239 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise. 8240 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise. 8241 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise. 8242 * testsuite/libgomp.fortran/pr28390.f: Likewise. 8243 * testsuite/libgomp.fortran/pr29629.f90: Likewise. 8244 * testsuite/libgomp.fortran/pr32550.f90: Likewise. 8245 * testsuite/libgomp.fortran/pr33880.f90: Likewise. 8246 * testsuite/libgomp.fortran/pr34020.f90: Likewise. 8247 * testsuite/libgomp.fortran/pr35130.f90: Likewise. 8248 * testsuite/libgomp.fortran/pr42162.f90: Likewise. 8249 * testsuite/libgomp.fortran/pr46753.f90: Likewise. 8250 * testsuite/libgomp.fortran/pr48894.f90: Likewise. 8251 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise. 8252 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise. 8253 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise. 8254 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise. 8255 * testsuite/libgomp.fortran/pr65597.f90: Likewise. 8256 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise. 8257 * testsuite/libgomp.fortran/pr71014.f90: Likewise. 8258 * testsuite/libgomp.fortran/pr81304.f90: Likewise. 8259 * testsuite/libgomp.fortran/pr81841.f90: Likewise. 8260 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise. 8261 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise. 8262 * testsuite/libgomp.fortran/procptr1.f90: Likewise. 8263 * testsuite/libgomp.fortran/recursion1.f90: Likewise. 8264 * testsuite/libgomp.fortran/reduction1.f90: Likewise. 8265 * testsuite/libgomp.fortran/reduction2.f90: Likewise. 8266 * testsuite/libgomp.fortran/reduction3.f90: Likewise. 8267 * testsuite/libgomp.fortran/reduction4.f90: Likewise. 8268 * testsuite/libgomp.fortran/reduction5.f90: Likewise. 8269 * testsuite/libgomp.fortran/reduction6.f90: Likewise. 8270 * testsuite/libgomp.fortran/reference1.f90: Likewise. 8271 * testsuite/libgomp.fortran/reference2.f90: Likewise. 8272 * testsuite/libgomp.fortran/retval1.f90: Likewise. 8273 * testsuite/libgomp.fortran/retval2.f90: Likewise. 8274 * testsuite/libgomp.fortran/sharing1.f90: Likewise. 8275 * testsuite/libgomp.fortran/sharing2.f90: Likewise. 8276 * testsuite/libgomp.fortran/simd1.f90: Likewise. 8277 * testsuite/libgomp.fortran/simd2.f90: Likewise. 8278 * testsuite/libgomp.fortran/simd3.f90: Likewise. 8279 * testsuite/libgomp.fortran/simd4.f90: Likewise. 8280 * testsuite/libgomp.fortran/simd5.f90: Likewise. 8281 * testsuite/libgomp.fortran/simd6.f90: Likewise. 8282 * testsuite/libgomp.fortran/simd7.f90: Likewise. 8283 * testsuite/libgomp.fortran/stack.f90: Likewise. 8284 * testsuite/libgomp.fortran/strassen.f90: Likewise. 8285 * testsuite/libgomp.fortran/tabs1.f90: Likewise. 8286 * testsuite/libgomp.fortran/tabs2.f: Likewise. 8287 * testsuite/libgomp.fortran/target1.f90: Likewise. 8288 * testsuite/libgomp.fortran/target2.f90: Likewise. 8289 * testsuite/libgomp.fortran/target3.f90: Likewise. 8290 * testsuite/libgomp.fortran/target4.f90: Likewise. 8291 * testsuite/libgomp.fortran/target5.f90: Likewise. 8292 * testsuite/libgomp.fortran/target6.f90: Likewise. 8293 * testsuite/libgomp.fortran/target7.f90: Likewise. 8294 * testsuite/libgomp.fortran/target8.f90: Likewise. 8295 * testsuite/libgomp.fortran/task1.f90: Likewise. 8296 * testsuite/libgomp.fortran/task2.f90: Likewise. 8297 * testsuite/libgomp.fortran/task3.f90: Likewise. 8298 * testsuite/libgomp.fortran/task4.f90: Likewise. 8299 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise. 8300 * testsuite/libgomp.fortran/taskloop1.f90: Likewise. 8301 * testsuite/libgomp.fortran/taskloop2.f90: Likewise. 8302 * testsuite/libgomp.fortran/taskloop3.f90: Likewise. 8303 * testsuite/libgomp.fortran/taskloop4.f90: Likewise. 8304 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. 8305 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise. 8306 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise. 8307 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise. 8308 * testsuite/libgomp.fortran/udr1.f90: Likewise. 8309 * testsuite/libgomp.fortran/udr10.f90: Likewise. 8310 * testsuite/libgomp.fortran/udr11.f90: Likewise. 8311 * testsuite/libgomp.fortran/udr12.f90: Likewise. 8312 * testsuite/libgomp.fortran/udr13.f90: Likewise. 8313 * testsuite/libgomp.fortran/udr14.f90: Likewise. 8314 * testsuite/libgomp.fortran/udr15.f90: Likewise. 8315 * testsuite/libgomp.fortran/udr2.f90: Likewise. 8316 * testsuite/libgomp.fortran/udr3.f90: Likewise. 8317 * testsuite/libgomp.fortran/udr4.f90: Likewise. 8318 * testsuite/libgomp.fortran/udr5.f90: Likewise. 8319 * testsuite/libgomp.fortran/udr6.f90: Likewise. 8320 * testsuite/libgomp.fortran/udr7.f90: Likewise. 8321 * testsuite/libgomp.fortran/udr8.f90: Likewise. 8322 * testsuite/libgomp.fortran/udr9.f90: Likewise. 8323 * testsuite/libgomp.fortran/vla1.f90: Likewise. 8324 * testsuite/libgomp.fortran/vla2.f90: Likewise. 8325 * testsuite/libgomp.fortran/vla3.f90: Likewise. 8326 * testsuite/libgomp.fortran/vla4.f90: Likewise. 8327 * testsuite/libgomp.fortran/vla5.f90: Likewise. 8328 * testsuite/libgomp.fortran/vla6.f90: Likewise. 8329 * testsuite/libgomp.fortran/vla7.f90: Likewise. 8330 * testsuite/libgomp.fortran/vla8.f90: Likewise. 8331 * testsuite/libgomp.fortran/workshare1.f90: Likewise. 8332 * testsuite/libgomp.fortran/workshare2.f90: Likewise. 8333 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise. 8334 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise. 8335 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise. 8336 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise. 8337 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise. 8338 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise. 8339 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise. 8340 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise. 8341 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise. 8342 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise. 8343 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise. 8344 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise. 8345 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise. 8346 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise. 8347 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise. 8348 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise. 8349 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise. 8350 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise. 8351 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise. 8352 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise. 8353 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise. 8354 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise. 8355 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise. 8356 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise. 8357 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise. 8358 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise. 8359 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise. 8360 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise. 8361 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise. 8362 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise. 8363 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise. 8364 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise. 8365 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise. 8366 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise. 8367 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise. 8368 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise. 8369 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise. 8370 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise. 8371 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise. 8372 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise. 8373 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise. 8374 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise. 8375 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise. 8376 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise. 8377 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise. 8378 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise. 8379 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise. 8380 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise. 8381 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise. 8382 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise. 8383 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise. 8384 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise. 8385 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise. 8386 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise. 8387 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise. 8388 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise. 8389 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise. 8390 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise. 8391 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise. 8392 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise. 8393 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise. 8394 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise. 8395 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise. 8396 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise. 8397 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise. 8398 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise. 8399 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise. 8400 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise. 8401 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise. 8402 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise. 8403 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise. 8404 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise. 8405 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise. 8406 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise. 8407 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise. 8408 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise. 8409 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise. 8410 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise. 8411 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise. 8412 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. 8413 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise. 8414 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise. 8415 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise. 8416 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise. 8417 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise. 8418 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise. 8419 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise. 8420 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise. 8421 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise. 8422 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise. 8423 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise. 8424 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise. 8425 84262018-03-20 Richard Biener <rguenther@suse.de> 8427 8428 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one 8429 parallelizable loop. 8430 84312018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com> 8432 8433 PR target/84148 8434 * configure: Regenerate. 8435 84362018-02-16 Jakub Jelinek <jakub@redhat.com> 8437 8438 PR fortran/84418 8439 * libgomp.fortran/pr84418-1.f90: New test. 8440 * libgomp.fortran/pr84418-2.f90: New test. 8441 84422018-02-14 Jakub Jelinek <jakub@redhat.com> 8443 8444 PR fortran/84313 8445 * testsuite/libgomp.fortran/threadprivate4.f90: Add 8446 -std=f2003 -fall-intrinsics into dg-additional-options. 8447 84482018-02-08 Martin Jambor <mjambor@suse.cz> 8449 8450 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target 8451 clonable. 8452 84532018-02-08 Martin Jambor <mjambor@suse.cz> 8454 8455 * testsuite/libgomp.hsa.c/staticvar.c: New test. 8456 84572018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 8458 8459 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort) 8460 [__cplusplus]: Declare extern "C". 8461 84622018-02-07 Tom de Vries <tom@codesourcery.com> 8463 8464 PR libgomp/84217 8465 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test. 8466 84672018-01-29 Christoph Spiel <cspiel@freenet.de> 8468 Jakub Jelinek <jakub@redhat.com> 8469 8470 PR libgomp/84096 8471 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t 8472 instead of omp_lock_t. 8473 84742018-01-25 Tom de Vries <tom@codesourcery.com> 8475 8476 PR target/84028 8477 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test. 8478 84792018-01-24 Tom de Vries <tom@codesourcery.com> 8480 8481 PR target/83589 8482 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test. 8483 84842018-01-24 Tom de Vries <tom@codesourcery.com> 8485 8486 PR target/81352 8487 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test. 8488 84892018-01-19 Tom de Vries <tom@codesourcery.com> 8490 Cesar Philippidis <cesar@codesourcery.com> 8491 8492 PR target/83920 8493 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test. 8494 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test. 8495 84962018-01-03 Jakub Jelinek <jakub@redhat.com> 8497 8498 Update copyright years. 8499 8500 * libgomp.texi: Bump @copying's copyright year. 8501 85022017-12-30 Tom de Vries <tom@codesourcery.com> 8503 8504 PR libgomp/83046 8505 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test. 8506 * testsuite/libgomp.c-c++-common/pr83046.c: New test. 8507 85082017-12-27 Tom de Vries <tom@codesourcery.com> 8509 8510 PR c++/83046 8511 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static) 8512 (test_nonstatic): Fix return type to workaround PR83046. 8513 85142017-12-05 Jakub Jelinek <jakub@redhat.com> 8515 8516 PR testsuite/83281 8517 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use 8518 j suffix instead of i. 8519 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main): 8520 Likewise. 8521 85222017-12-01 Cesar Philippidis <cesar@codesourcery.com> 8523 8524 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing 8525 call to acc_wait (1). 8526 85272017-11-24 Jakub Jelinek <jakub@redhat.com> 8528 8529 PR fortran/81304 8530 * testsuite/libgomp.fortran/pr81304.f90: New test. 8531 85322017-11-23 Jakub Jelinek <jakub@redhat.com> 8533 8534 PR fortran/81841 8535 * libgomp.fortran/pr81841.f90: New test. 8536 85372017-11-22 Jakub Jelinek <jakub@redhat.com> 8538 8539 PR libgomp/83106 8540 * target.c (gomp_target_init): Compute lengths just once and 8541 use them in both malloc size and subsequent copying. 8542 85432017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com> 8544 8545 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS. 8546 * acinclude.m4: Add cet.m4. 8547 * configure: Regenerate. 8548 * Makefile.in: Likewise. 8549 * testsuite/Makefile.in: Likewise. 8550 85512017-11-15 Tom de Vries <tom@codesourcery.com> 8552 8553 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied 8554 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int. 8555 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied 8556 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int. 8557 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied 8558 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int. 8559 85602017-11-14 Tom de Vries <tom@codesourcery.com> 8561 8562 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for 8563 non-nvidia devices. 8564 85652017-11-07 Jakub Jelinek <jakub@redhat.com> 8566 8567 PR c++/82835 8568 * testsuite/libgomp.c++/pr82835.C: New test. 8569 85702017-11-06 Martin Liska <mliska@suse.cz> 8571 8572 * testsuite/libgomp.c++/loop-2.C: Return a value 8573 for functions with non-void return type, or change type to void, 8574 or add -Wno-return-type for test. 8575 * testsuite/libgomp.c++/loop-4.C: Likewise. 8576 * testsuite/libgomp.c++/parallel-1.C: Likewise. 8577 * testsuite/libgomp.c++/shared-1.C: Likewise. 8578 * testsuite/libgomp.c++/single-1.C: Likewise. 8579 * testsuite/libgomp.c++/single-2.C: Likewise. 8580 85812017-10-31 Tom de Vries <tom@codesourcery.com> 8582 8583 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after 8584 "do {} while (false)". 8585 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon 8586 after HSA_DEBUG call. 8587 85882017-10-28 Jakub Jelinek <jakub@redhat.com> 8589 8590 * target.c (struct gomp_coalesce_buf): New type. 8591 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define. 8592 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions. 8593 (gomp_copy_host2dev): Add CBUF argument, if copying into 8594 the cached ranges, memcpy into buffer instead of copying 8595 into device. 8596 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing): 8597 Add CBUF argument, pass it through to other calls. 8598 (gomp_map_vars): Aggregate copies from host to device if small enough 8599 and with small enough gaps in between into memcpy into a buffer and 8600 fewer host to device copies from the buffer. 8601 (gomp_update): Adjust gomp_copy_host2dev caller. 8602 86032017-10-17 Thomas Schwinge <thomas@codesourcery.com> 8604 8605 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do 8606 run" directive. 8607 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise. 8608 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise. 8609 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise. 8610 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise. 8611 86122017-10-16 Tom de Vries <tom@codesourcery.com> 8613 8614 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require 8615 openacc_nvidia_accel_selected. 8616 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same. 8617 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same. 8618 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same. 8619 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same 8620 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same. 8621 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require 8622 openacc_nvidia_accel_selected. Skip for shared memory device. 8623 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same. 8624 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same. 8625 86262017-10-09 Martin Jambor <mjambor@suse.cz> 8627 8628 PR hsa/82416 8629 * testsuite/libgomp.hsa.c/pr82416.c: New test. 8630 86312017-10-07 Tom de Vries <tom@codesourcery.com> 8632 8633 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate): 8634 Remove acc_device_nvidia references. 8635 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction): 8636 Same. 8637 86382017-10-05 Tom de Vries <tom@codesourcery.com> 8639 8640 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove 8641 vector_length(32) clause from acc parallel directive. 8642 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same. 8643 86442017-10-04 Tom de Vries <tom@codesourcery.com> 8645 8646 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c 8647 (main): Reduce sum of arr elements. Assert that hres is exactly 8648 representable in 32-bit floating point. 8649 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c 8650 (main): Reduce sum of arr elements. Assert that hres and hmres are 8651 exactly representable in 32-bit floating point. 8652 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same. 8653 86542017-09-28 Tom de Vries <tom@codesourcery.com> 8655 8656 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option 8657 setting. 8658 * testsuite/libgomp.c++/pr69393.C: Same. 8659 * testsuite/libgomp.c++/taskloop-1.C: Same. 8660 * testsuite/libgomp.c++/taskloop-3.C: Same. 8661 * testsuite/libgomp.c++/taskloop-4.C: Same. 8662 * testsuite/libgomp.c/for-4.c: Same. 8663 * testsuite/libgomp.c/pr66199-3.c: Same. 8664 * testsuite/libgomp.c/pr66199-4.c: Same. 8665 * testsuite/libgomp.c/pr66199-6.c: Same. 8666 * testsuite/libgomp.c/taskloop-1.c: Same. 8667 * testsuite/libgomp.c/taskloop-3.c: Same. 8668 * testsuite/libgomp.c/taskloop-4.c: Same. 8669 * testsuite/libgomp.fortran/aligned1.f03: Same. 8670 * testsuite/libgomp.fortran/condinc1.f: Same. 8671 * testsuite/libgomp.fortran/condinc3.f90: Same. 8672 * testsuite/libgomp.fortran/crayptr1.f90: Same. 8673 * testsuite/libgomp.fortran/crayptr2.f90: Same. 8674 * testsuite/libgomp.fortran/crayptr3.f90: Same. 8675 * testsuite/libgomp.fortran/omp_cond1.f: Same. 8676 * testsuite/libgomp.fortran/omp_cond3.F90: Same. 8677 * testsuite/libgomp.fortran/pr66199-1.f90: Same. 8678 * testsuite/libgomp.fortran/pr66199-2.f90: Same. 8679 * testsuite/libgomp.fortran/recursion1.f90: Same. 8680 * testsuite/libgomp.fortran/target2.f90: Same. 8681 * testsuite/libgomp.fortran/target5.f90: Same. 8682 * testsuite/libgomp.fortran/task3.f90: Same. 8683 86842017-09-28 Tom de Vries <tom@codesourcery.com> 8685 8686 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove 8687 vector_length(32) clause from acc parallel directive. 8688 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same. 8689 86902017-09-27 Tom de Vries <tom@codesourcery.com> 8691 8692 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main): 8693 Remove acc_device_nvidia references. 8694 86952017-09-16 Tom de Vries <tom@codesourcery.com> 8696 8697 PR c/81875 8698 * testsuite/libgomp.c-c++-common/pr81875.c: New test. 8699 87002017-09-14 Tom de Vries <tom@codesourcery.com> 8701 8702 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove. 8703 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ... 8704 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here. 8705 * testsuite/libgomp.c/c.exp: Include test-cases from 8706 libgomp.c-c++-common. 8707 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c 8708 files. 8709 87102017-09-14 Jakub Jelinek <jakub@redhat.com> 8711 8712 PR c++/81314 8713 * testsuite/libgomp.c++/pr81314.C: New test. 8714 87152017-09-03 Gerald Pfeifer <gerald@pfeifer.com> 8716 8717 * libgomp.texi (Top): www.openacc.org now uses https. 8718 (Enabling OpenACC): Ditto. 8719 (acc_get_num_devices): Ditto. 8720 (acc_set_device_type): Ditto. 8721 (acc_get_device_type): Ditto. 8722 (acc_set_device_num): Ditto. 8723 (acc_get_device_num): Ditto. 8724 (acc_async_test): Ditto. 8725 (acc_async_test_all): Ditto. 8726 (acc_wait): Ditto. 8727 (acc_wait_all): Ditto. 8728 (acc_wait_all_async): Ditto. 8729 (acc_wait_async): Ditto. 8730 (acc_init): Ditto. 8731 (acc_shutdown): Ditto. 8732 (acc_on_device): Ditto. 8733 (acc_malloc): Ditto. 8734 (acc_free): Ditto. 8735 (acc_copyin): Ditto. 8736 (acc_present_or_copyin): Ditto. 8737 (acc_create): Ditto. 8738 (acc_present_or_create): Ditto. 8739 (acc_copyout): Ditto. 8740 (acc_delete): Ditto. 8741 (acc_update_device): Ditto. 8742 (acc_update_self): Ditto. 8743 (acc_map_data): Ditto. 8744 (acc_unmap_data): Ditto. 8745 (acc_deviceptr): Ditto. 8746 (acc_hostptr): Ditto. 8747 (acc_is_present): Ditto. 8748 (acc_memcpy_to_device): Ditto. 8749 (acc_memcpy_from_device): Ditto. 8750 (acc_get_current_cuda_device): Ditto. 8751 (acc_get_current_cuda_context): Ditto. 8752 (acc_get_cuda_stream): Ditto. 8753 (acc_set_cuda_stream): Ditto. 8754 (ACC_DEVICE_TYPE): Ditto. 8755 (ACC_DEVICE_NUM): Ditto. 8756 (OpenACC Library Interoperability): Ditto. 8757 87582017-08-09 Jakub Jelinek <jakub@redhat.com> 8759 8760 PR c/81687 8761 * testsuite/libgomp.c/pr81687-1.c: New test. 8762 * testsuite/libgomp.c/pr81687-2.c: New test. 8763 87642017-08-07 Jakub Jelinek <jakub@redhat.com> 8765 8766 PR c/69389 8767 * testsuite/libgomp.c/pr69389.c: New test. 8768 * testsuite/libgomp.c++/pr69389.C: New test. 8769 87702017-08-07 Tom de Vries <tom@codesourcery.com> 8771 8772 PR middle-end/78266 8773 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test. 8774 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail. 8775 87762017-07-27 Jakub Jelinek <jakub@redhat.com> 8777 8778 PR c/45784 8779 * testsuite/libgomp.c/pr45784.c: New test. 8780 * testsuite/libgomp.c++/pr45784.C: New test. 8781 87822017-07-19 Tom de Vries <tom@codesourcery.com> 8783 8784 * testsuite/libgomp.oacc-c/vec.c: New test. 8785 87862017-07-03 Tom de Vries <tom@codesourcery.com> 8787 8788 * plugin/plugin-hsa.c: Fix secure_getenv.h include. 8789 87902017-06-27 Tom de Vries <tom@codesourcery.com> 8791 8792 * plugin/plugin-nvptx.c (notify_var): New function. 8793 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM. 8794 87952017-06-27 Tom de Vries <tom@codesourcery.com> 8796 8797 * env.c (parse_unsigned_long_1): Factor out of ... 8798 (parse_unsigned_long): ... here. 8799 (parse_int_1): Factor out of ... 8800 (parse_int): ... here. 8801 (parse_int_secure): New function. 8802 (initialize_env): Use parse_int_secure for GOMP_DEBUG. 8803 * secure_getenv.h: Factor out of ... 8804 * plugin/plugin-hsa.c: ... here. 8805 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test. 8806 88072017-06-21 Jakub Jelinek <jakub@redhat.com> 8808 8809 PR c++/81130 8810 * testsuite/libgomp.c++/pr81130.C: New test. 8811 88122017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 8813 8814 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if 8815 default args. 8816 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove 8817 dg-xfail-run-if default args. 8818 88192017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de> 8820 8821 * testsuite/libgomp.c/pr39591-2.c: Fix test case. 8822 * testsuite/libgomp.c/pr39591-3.c: Likewise. 8823 88242017-05-30 Jakub Jelinek <jakub@redhat.com> 8825 8826 PR libgomp/80822 8827 * config/linux/affinity.c (gomp_affinity_init_level_1): New function. 8828 (gomp_affinity_init_level): Use it. Always analyze the core and thread 8829 sibling lists, depending on level just pick up what CPUs to put 8830 together into a place vs. whether add multiple ordered places. 8831 88322017-05-24 Thomas Schwinge <thomas@codesourcery.com> 8833 8834 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes. 8835 * libgomp.map (OACC_2.0.1): Add these. 8836 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases 8837 for "acc_wait", and "acc_wait_all", respectively. 8838 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces 8839 for "acc_wait", and "acc_wait_all", respectively. 8840 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise. 8841 * libgomp.texi (acc_wait, acc_wait_all): Update. 8842 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update. 8843 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file. 8844 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise. 8845 8846 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to 8847 acc_present_or_copyin and acc_present_or_create procedures, 8848 respectively. 8849 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and 8850 generally different variants of OpenACC Runtime Library functions. 8851 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise. 8852 8853 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file. 8854 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise. 8855 8856 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead 8857 of preprocessor definitions. 8858 * libgomp.h (strong_alias): Guard by "#ifdef 8859 HAVE_ATTRIBUTE_ALIAS". 8860 * oacc-mem.c: Provide "acc_pcreate" as alias for 8861 "acc_present_or_create", and "acc_pcopyin" as alias for 8862 "acc_present_or_copyin". 8863 * libgomp.map: New version "OACC_2.0.1". 8864 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate". 8865 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging 8866 its content into... 8867 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file. 8868 Extend testing. 8869 8870 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output 8871 when disabling nvptx offloading. 8872 88732017-05-23 Thomas Schwinge <thomas@codesourcery.com> 8874 8875 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update. 8876 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise. 8877 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise. 8878 8879 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite. 8880 * testsuite/lib/libgomp.exp 8881 (check_effective_target_openacc_nvidia_accel_configured): New 8882 proc. 8883 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c) 8884 (check_effective_target_c++): New procs. 8885 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c) 8886 (check_effective_target_c++): Likewise. 8887 88882017-05-22 Jakub Jelinek <jakub@redhat.com> 8889 8890 PR middle-end/80809 8891 * testsuite/libgomp.c/pr80809-2.c: New test. 8892 * testsuite/libgomp.c/pr80809-3.c: New test. 8893 8894 PR middle-end/80809 8895 * testsuite/libgomp.c/pr80809-1.c: New test. 8896 8897 PR middle-end/80853 8898 * testsuite/libgomp.c/pr80853.c: New test. 8899 89002017-05-19 Thomas Schwinge <thomas@codesourcery.com> 8901 8902 * testsuite/libgomp.oacc-c++/template-reduction.C: Update. 8903 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update. 8904 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise. 8905 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise. 8906 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise. 8907 8908 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions): 8909 Debug output for failure. 8910 89112017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 8912 8913 * testsuite/lib/libgomp.exp: Load scanlang.exp. 8914 89152017-04-27 Jakub Jelinek <jakub@redhat.com> 8916 8917 PR bootstrap/80531 8918 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid 8919 bootstrap compare failures. 8920 89212017-04-20 Alexander Monakov <amonakov@ispras.ru> 8922 8923 * testsuite/libgomp.c/target-36.c: New testcase. 8924 89252017-04-13 Jakub Jelinek <jakub@redhat.com> 8926 8927 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type 8928 instead of char. 8929 89302017-04-11 Jakub Jelinek <jakub@redhat.com> 8931 8932 PR libgomp/80394 8933 * testsuite/libgomp.c/pr80394.c: New test. 8934 89352017-04-04 Jakub Jelinek <jakub@redhat.com> 8936 8937 PR libgomp/79876 8938 * config/posix/thread-stacksize.h: New file. 8939 * config/darwin/thread-stacksize.h: New file. 8940 * config/nvptx/thread-stacksize.h: New file. 8941 * env.c: Include thread-stacksize.h. 8942 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE 8943 instead of 0. Call pthread_attr_setstacksize even if 8944 GOMP_DEFAULT_STACKSIZE is non-zero. 8945 89462017-03-30 Jakub Jelinek <jakub@redhat.com> 8947 8948 * env.c (initialize_env): Initialize stacksize to 0. 8949 89502017-03-22 Cesar Philippidis <cesar@codesourcery.com> 8951 8952 PR c++/80029 8953 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test. 8954 89552017-03-08 Jakub Jelinek <jakub@redhat.com> 8956 8957 PR c/79940 8958 * testsuite/libgomp.c/pr79940.c: New test. 8959 89602017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 8961 8962 * testsuite/libgomp.c/pr48591.c: Enable on all __float128 8963 targets. 8964 Add __float128 options. 8965 89662017-02-11 John David Anglin <danglin@gcc.gnu.org> 8967 8968 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove 8969 hppa*-*-* dg-skip-if directive. 8970 89712017-02-09 Jakub Jelinek <jakub@redhat.com> 8972 8973 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move 8974 dg-skip-if directive into a comment. 8975 89762017-02-09 Nathan Sidwell <nathan@codesourcery.com> 8977 Chung-Lin Tang <cltang@codesourcery.com> 8978 8979 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New. 8980 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and 8981 add additional case. 8982 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under 8983 "openacc_nvidia_accel_selected". 8984 * libgomp.oacc-fortran/nested-function-1.f90 (test2): 8985 Add num_workers(8) clause. 8986 89872017-02-08 John David Anglin <danglin@gcc.gnu.org> 8988 8989 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on 8990 hppa*-*-*. 8991 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't 8992 include complex.h on hppa*-*-hpux*. 8993 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise. 8994 89952017-02-02 Thomas Schwinge <thomas@codesourcery.com> 8996 8997 * plugin/plugin-nvptx.c (nvptx_exec): Make it static. 8998 8999 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to 9000 GOMP_OFFLOAD_openacc_exec. Adjust all users. 9001 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to 9002 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users. 9003 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to 9004 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users. 9005 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to 9006 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users. 9007 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to 9008 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users. 9009 90102017-01-31 Thomas Schwinge <thomas@codesourcery.com> 9011 9012 * libgomp-plugin.h: #include <stdbool.h>. 9013 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps) 9014 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices) 9015 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device) 9016 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image) 9017 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free) 9018 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev) 9019 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run) 9020 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel) 9021 (GOMP_OFFLOAD_openacc_register_async_cleanup) 9022 (GOMP_OFFLOAD_openacc_async_test) 9023 (GOMP_OFFLOAD_openacc_async_test_all) 9024 (GOMP_OFFLOAD_openacc_async_wait) 9025 (GOMP_OFFLOAD_openacc_async_wait_async) 9026 (GOMP_OFFLOAD_openacc_async_wait_all) 9027 (GOMP_OFFLOAD_openacc_async_wait_all_async) 9028 (GOMP_OFFLOAD_openacc_async_set_async) 9029 (GOMP_OFFLOAD_openacc_create_thread_data) 9030 (GOMP_OFFLOAD_openacc_destroy_thread_data) 9031 (GOMP_OFFLOAD_openacc_get_current_cuda_device) 9032 (GOMP_OFFLOAD_openacc_get_current_cuda_context) 9033 (GOMP_OFFLOAD_openacc_get_cuda_stream) 9034 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes. 9035 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use 9036 these. 9037 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image) 9038 (GOMP_OFFLOAD_unload_image): Fix argument types. 9039 90402017-01-26 Jakub Jelinek <jakub@redhat.com> 9041 9042 * testsuite/lib/libgomp.exp 9043 (check_effective_target_hsa_offloading_selected_nocache): Fix up 9044 check_compile invocation. Fix up removal of executable. Drop 9045 bogus "2>&1" argument. 9046 9047 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules 9048 directive. 9049 90502017-01-24 Pekka J����skel��inen <pekka@parmance.com> 9051 Martin Jambor <mjambor@suse.cz> 9052 9053 * plugin/hsa.h: Moved to top level include. 9054 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly. 9055 90562017-01-21 Jakub Jelinek <jakub@redhat.com> 9057 9058 PR other/79046 9059 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead 9060 of cat to get version from BASE-VER file. 9061 * testsuite/Makefile.in: Regenerated. 9062 90632017-01-19 Jakub Jelinek <jakub@redhat.com> 9064 9065 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even 9066 for _WIN64. 9067 90682017-01-17 Jakub Jelinek <jakub@redhat.com> 9069 9070 * plugin/hsa.h: Add GCC runtime library exception. 9071 * plugin/hsa_ext_finalize.h: Likewise. 9072 9073 * plugin/configfrag.ac: For --without-cuda-driver don't initialize 9074 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both 9075 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small 9076 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use 9077 plugin/include/cuda as include dir and -ldl instead of -lcuda as 9078 library to link ptx plugin against. 9079 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC. 9080 (CUDA_CALLS): Define. 9081 (cuda_lib, cuda_lib_inited): New variables. 9082 (init_cuda_lib): New function. 9083 (CUDA_CALL_PREFIX): Define. 9084 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX. 9085 (CUDA_CALL): Use FN instead of (FN). 9086 (CUDA_CALL_NOCHECK): Define. 9087 (cuda_error, fini_streams_for_device, select_stream_for_async, 9088 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx, 9089 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all, 9090 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image, 9091 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use 9092 CUDA_CALL_NOCHECK. 9093 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use 9094 CUDA_CALL_NOCHECK. 9095 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0. 9096 Use CUDA_CALL_NOCHECK. 9097 * plugin/cuda/cuda.h: New file. 9098 * config.h.in: Regenerated. 9099 * configure: Regenerated. 9100 9101 PR other/79046 9102 * configure.ac: Add GCC_BASE_VER. 9103 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to 9104 get version from BASE-VER file. 9105 * testsuite/Makefile.in: Regenerated. 9106 * configure: Regenerated. 9107 * Makefile.in: Regenerated. 9108 91092017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 9110 9111 PR libgomp/60670 9112 * Makefile.am: Make fincludedir multilib-aware. 9113 * Makefile.in: Regenerate. 9114 91152017-01-01 Jakub Jelinek <jakub@redhat.com> 9116 9117 Update copyright years. 9118 9119 * libgomp.texi: Bump @copying's copyright year. 9120 91212016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de> 9122 9123 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use 9124 pthread_spinlock_t instead of gomp_mutex_t lock. 9125 (gomp_get_thread_pool): Likewise. 9126 (gomp_release_thread_pool): Likewise. 9127 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir): 9128 Likewise. 9129 91302016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de> 9131 9132 * config/rtems/pool.h (gomp_get_thread_pool): Return proper 9133 thread pool in case nthreads == 1. 9134 91352016-11-30 Alexander Monakov <amonakov@ispras.ru> 9136 9137 * config/nvptx/env.c: Delete. 9138 * icv.c: Move definitions of ICV variables back ... 9139 * env.c: ...here. Do not compile environment-related functionality if 9140 LIBGOMP_OFFLOADED_ONLY is set. 9141 91422016-11-30 Alexander Monakov <amonakov@ispras.ru> 9143 9144 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it... 9145 (LIBGOMP_OFFLOADED_ONLY): ...here; new define. 9146 * configure: Regenerate. 9147 * config.h.in: Likewise. 9148 91492016-11-30 Alexander Monakov <amonakov@ispras.ru> 9150 9151 * Makefile.in: Regenerate with automake-1.11.6. 9152 * aclocal.m4: Likewise. 9153 * configure: Likewise. 9154 * testsuite/Makefile.in: Likewise. 9155 91562016-11-28 Alexander Monakov <amonakov@ispras.ru> 9157 9158 * config/nvptx/critical.c: Delete to use generic implementation. 9159 91602016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de> 9161 9162 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include 9163 ../../affinity.c as fallback. 9164 * config/nvptx/affinity.c: Delete to use fallback implementation. 9165 91662016-11-23 Alexander Monakov <amonakov@ispras.ru> 9167 Jakub Jelinek <jakub@redhat.com> 9168 Dmitry Melnik <dm@ispras.ru> 9169 9170 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c. 9171 * Makefile.in. Regenerate. 9172 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it... 9173 (LIBGOMP_USE_PTHREADS): ...here; new define. 9174 * configure: Regenerate. 9175 * config.h.in: Likewise. 9176 * config/posix/affinity.c: Move to... 9177 * affinity.c: ...here (new file). Guard use of Pthreads-specific 9178 interface by LIBGOMP_USE_PTHREADS. 9179 * critical.c: Split out GOMP_atomic_{start,end} into... 9180 * atomic.c: ...here (new file). 9181 * env.c: Split out ICV definitions into... 9182 * icv.c: ...here (new file) and... 9183 * icv-device.c: ...here. New file. 9184 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c. 9185 (gomp_destroy_lock_30): Ditto. 9186 (gomp_set_lock_30): Ditto. 9187 (gomp_unset_lock_30): Ditto. 9188 (gomp_test_lock_30): Ditto. 9189 (gomp_init_nest_lock_30): Ditto. 9190 (gomp_destroy_nest_lock_30): Ditto. 9191 (gomp_set_nest_lock_30): Ditto. 9192 (gomp_unset_nest_lock_30): Ditto. 9193 (gomp_test_nest_lock_30): Ditto. 9194 * lock.c: New. 9195 * config/nvptx/lock.c: New. 9196 * config/nvptx/bar.c: New. 9197 * config/nvptx/bar.h: New. 9198 * config/nvptx/doacross.h: New. 9199 * config/nvptx/error.c: New. 9200 * config/nvptx/icv-device.c: New. 9201 * config/nvptx/mutex.h: New. 9202 * config/nvptx/pool.h: New. 9203 * config/nvptx/proc.c: New. 9204 * config/nvptx/ptrlock.h: New. 9205 * config/nvptx/sem.h: New. 9206 * config/nvptx/simple-bar.h: New. 9207 * config/nvptx/target.c: New. 9208 * config/nvptx/task.c: New. 9209 * config/nvptx/team.c: New. 9210 * config/nvptx/time.c: New. 9211 * config/posix/simple-bar.h: New. 9212 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h. 9213 (gomp_num_teams_var): Declare. 9214 (struct gomp_thread_pool): Change threads_dock member to 9215 gomp_simple_barrier_t. 9216 [__nvptx__] (gomp_thread): New implementation. 9217 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS. 9218 (gomp_thread_destructor): Ditto. 9219 (gomp_init_thread_affinity): Ditto. 9220 * team.c: Guard uses of Pthreads-specific interfaces by 9221 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock. 9222 (gomp_free_thread) [__nvptx__]: Do not call 'free'. 9223 * config/nvptx/alloc.c: Delete. 9224 * config/nvptx/barrier.c: Ditto. 9225 * config/nvptx/fortran.c: Ditto. 9226 * config/nvptx/iter.c: Ditto. 9227 * config/nvptx/iter_ull.c: Ditto. 9228 * config/nvptx/loop.c: Ditto. 9229 * config/nvptx/loop_ull.c: Ditto. 9230 * config/nvptx/ordered.c: Ditto. 9231 * config/nvptx/parallel.c: Ditto. 9232 * config/nvptx/priority_queue.c: Ditto. 9233 * config/nvptx/sections.c: Ditto. 9234 * config/nvptx/single.c: Ditto. 9235 * config/nvptx/splay-tree.c: Ditto. 9236 * config/nvptx/work.c: Ditto. 9237 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass 9238 -foffload=-lgfortran in addition to -lgfortran. 9239 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto. 9240 * plugin/plugin-nvptx.c: Include <limits.h>. 9241 (struct targ_fn_descriptor): Add new fields. 9242 (struct ptx_device): Ditto. Set them... 9243 (nvptx_open_device): ...here. 9244 (nvptx_adjust_launch_bounds): New. 9245 (nvptx_host2dev): Allow NULL 'nvthd'. 9246 (nvptx_dev2host): Ditto. 9247 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400. 9248 (link_ptx): Adjust log sizes. 9249 (nvptx_host2dev): Allow NULL 'nvthd'. 9250 (nvptx_dev2host): Ditto. 9251 (nvptx_set_clocktick): New. Use it... 9252 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor 9253 fields. 9254 (GOMP_OFFLOAD_dev2dev): New. 9255 (nvptx_adjust_launch_bounds): New. 9256 (nvptx_stacks_size): New. 9257 (nvptx_stacks_alloc): New. 9258 (nvptx_stacks_free): New. 9259 (GOMP_OFFLOAD_run): New. 9260 (GOMP_OFFLOAD_async_run): New (stub). 9261 92622016-11-23 Martin Jambor <mjambor@suse.cz> 9263 9264 * testsuite/libgomp.hsa.c/bits-insns.c: New test. 9265 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise. 9266 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise. 9267 92682016-11-23 Martin Liska <mliska@suse.cz> 9269 Martin Jambor <mjambor@suse.cz> 9270 9271 * plugin/hsa.h: New file. 9272 * plugin/hsa_ext_finalize.h: New file. 9273 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for 9274 header file unistd.h, and functions secure_getenv, __secure_getenv, 9275 getuid, geteuid, getgid and getegid. 9276 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added 9277 -D_GNU_SOURCE. 9278 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h. 9279 Handle various cases of secure_getenv presence, add an implementation 9280 when we can test effective UID and GID. 9281 (struct hsa_runtime_fn_info): New structure. 9282 (hsa_runtime_fn_info hsa_fns): New variable. 9283 (hsa_runtime_lib): Likewise. 9284 (support_cpu_devices): Likewise. 9285 (init_enviroment_variables): Load newly introduced ENV 9286 variables. 9287 (hsa_warn): Call hsa run-time functions via hsa_fns structure. 9288 (hsa_fatal): Likewise. 9289 (DLSYM_FN): New macro. 9290 (init_hsa_runtime_functions): New function. 9291 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns 9292 structure. Depending on environment, also allow CPU devices. 9293 (init_hsa_context): Call hsa run-time functions via hsa_fns structure. 9294 (get_kernarg_memory_region): Likewise. 9295 (GOMP_OFFLOAD_init_device): Likewise. 9296 (destroy_hsa_program): Likewise. 9297 (init_basic_kernel_info): New function. 9298 (GOMP_OFFLOAD_load_image): Use it. 9299 (create_and_finalize_hsa_program): Call hsa run-time functions via 9300 hsa_fns structure. 9301 (create_single_kernel_dispatch): Likewise. 9302 (release_kernel_dispatch): Likewise. 9303 (init_single_kernel): Likewise. 9304 (parse_target_attributes): Allow up multiple HSA grid dimensions. 9305 (get_group_size): New function. 9306 (run_kernel): Likewise. 9307 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel. 9308 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns 9309 structure. 9310 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support. 9311 * testsuite/libgomp-test-support.exp.in: Likewise. 9312 * Makefile.in: Regenerated. 9313 * aclocal.m4: Likewise. 9314 * config.h.in: Likewise. 9315 * configure: Likewise. 9316 * testsuite/Makefile.in: Likewise. 9317 93182016-11-15 Martin Jambor <mjambor@suse.cz> 9319 Alexander Monakov <amonakov@ispras.ru> 9320 9321 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add 9322 mapping clauses to target constructs. 9323 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto. 9324 93252016-11-15 Matthias Klose <doko@ubuntu.com> 9326 9327 * configure: Regenerate. 9328 93292016-11-10 Jakub Jelinek <jakub@redhat.com> 9330 9331 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307. 9332 * omp_lib.h.in (openmp_version): Likewise. 9333 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead 9334 of 201307. 9335 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise. 9336 9337 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90 9338 (fib_wrapper): Add map(from: x) clause. 9339 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90 9340 (e_53_2): Likewise. 9341 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90 9342 (accum): Add map(tmp) clause. 9343 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90 9344 (accum): Add map(tofrom: tmp) clause. 9345 * testsuite/libgomp.fortran/examples-4/target_data-3.f90 9346 (gramSchmidt): Likewise. 9347 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add 9348 map(tofrom: sum) clause. 9349 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice 9350 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause. 9351 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause 9352 only allowed on the loop iterator. 9353 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause. 9354 * testsuite/libgomp.fortran/taskloop2.f90: New test. 9355 * testsuite/libgomp.fortran/taskloop4.f90: New test. 9356 * testsuite/libgomp.fortran/doacross1.f90: New test. 9357 * testsuite/libgomp.fortran/doacross3.f90: New test. 9358 * testsuite/libgomp.fortran/taskloop1.f90: New test. 9359 * testsuite/libgomp.fortran/taskloop3.f90: New test. 9360 * testsuite/libgomp.fortran/doacross2.f90: New test. 9361 * testsuite/libgomp.c/doacross-1.c (main): Add missing 9362 #pragma omp atomic read. 9363 * testsuite/libgomp.c/doacross-2.c (main): Likewise. 9364 * testsuite/libgomp.c/doacross-3.c (main): Likewise. 9365 93662016-11-02 Cesar Philippidis <cesar@codesourcery.com> 9367 Nathan Sidwell <nathan@acm.org> 9368 9369 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes 9370 to determine default geometry. 9371 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang 9372 dimension. 9373 93742016-11-01 Jakub Jelinek <jakub@redhat.com> 9375 9376 * hashtab.h: Use standard GPLv3 with runtime exception 9377 boilerplate. 9378 93792016-10-27 Aldy Hernandez <aldyh@redhat.com> 9380 9381 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate 9382 size when allocating new thread. 9383 93842016-09-14 Marek Polacek <polacek@redhat.com> 9385 9386 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated. 9387 93882016-08-19 Jakub Jelinek <jakub@redhat.com> 9389 9390 PR fortran/71014 9391 * testsuite/libgomp.fortran/pr71014.f90: New test. 9392 93932016-08-18 Chung-Lin Tang <cltang@codesourcery.com> 9394 9395 PR middle-end/70895 9396 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit 9397 firstprivate clauses. 9398 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit 9399 copy clauses. 9400 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise. 9401 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise. 9402 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise. 9403 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise. 9404 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise. 9405 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise. 9406 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise. 9407 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise. 9408 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise. 9409 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise. 9410 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise. 9411 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise. 9412 94132016-08-14 Chung-Lin Tang <cltang@codesourcery.com> 9414 9415 PR fortran/70598 9416 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test. 9417 94182016-08-08 Jakub Jelinek <jakub@redhat.com> 9419 9420 PR c++/58706 9421 * testsuite/libgomp.c++/pr58706.C: New test. 9422 94232016-08-04 Thomas Schwinge <thomas@codesourcery.com> 9424 9425 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file. 9426 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise. 9427 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C: 9428 Likewise. 9429 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise. 9430 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: 9431 Likewise. 9432 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust. 9433 9434 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link" 9435 test, and don't hardcode -O0. 9436 94372016-08-03 Nathan Sidwell <nathan@codesourcery.com> 9438 9439 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New. 9440 94412016-07-15 Cesar Philippidis <cesar@codesourcery.com> 9442 9443 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New 9444 test. 9445 94462016-07-03 H.J. Lu <hongjiu.lu@intel.com> 9447 9448 PR middle-end/71734 9449 * testsuite/libgomp.fortran/pr71734-1.f90: New test. 9450 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise. 9451 94522016-07-01 Jakub Jelinek <jakub@redhat.com> 9453 9454 PR fortran/71717 9455 * testsuite/libgomp.fortran/associate3.f90: New test. 9456 94572016-06-17 Jakub Jelinek <jakub@redhat.com> 9458 9459 * testsuite/libgomp.c++/target-21.C: New test. 9460 94612016-06-16 Jakub Jelinek <jakub@redhat.com> 9462 9463 * testsuite/libgomp.c++/target-20.C: New test. 9464 94652016-06-10 Thomas Schwinge <thomas@codesourcery.com> 9466 Cesar Philippidis <cesar@codesourcery.com> 9467 9468 PR middle-end/71373 9469 * libgomp.oacc-c/nested-function-1.c: New file. 9470 * libgomp.oacc-c/nested-function-2.c: Likewise. 9471 * libgomp.oacc-fortran/nested-function-1.f90: Likewise. 9472 * libgomp.oacc-fortran/nested-function-2.f90: Likewise. 9473 * libgomp.oacc-fortran/nested-function-3.f90: Likewise. 9474 94752016-06-10 Thomas Schwinge <thomas@codesourcery.com> 9476 9477 PR c/71381 9478 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include 9479 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c". 9480 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file. 9481 94822016-06-03 Chung-Lin Tang <cltang@codesourcery.com> 9483 9484 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase. 9485 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase. 9486 94872016-06-01 Cesar Philippidis <cesar@codesourcery.com> 9488 9489 PR c/70688 9490 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file. 9491 94922016-05-26 Jakub Jelinek <jakub@redhat.com> 9493 9494 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static) 9495 instead of invalid schedule(static, 0). 9496 * testsuite/libgomp.c/doacross-2.c (main): Likewise. 9497 94982016-05-26 Chung-Lin Tang <cltang@codesourcery.com> 9499 9500 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter. 9501 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async' 9502 parameter, use to set async stream around call to gomp_unmap_vars, 9503 call gomp_unmap_vars() with 'do_copyfrom' set to true. 9504 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field. 9505 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP 9506 events and call GOMP_PLUGIN_async_unmap_vars() for each of them. 9507 (event_add): Add int parameter, initialize 'val' field when 9508 adding new ptx_event struct. 9509 (nvptx_evec): Adjust event_add() call arguments. 9510 (nvptx_host2dev): Likewise. 9511 (nvptx_dev2host): Likewise. 9512 (nvptx_wait_async): Likewise. 9513 (nvptx_wait_all_async): Likewise. 9514 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter, 9515 pass to event_add() call. 9516 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async' 9517 parameter. 9518 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to 9519 call openacc.register_async_cleanup_func() hook. 9520 * oacc-parallel.c (GOACC_parallel_keyed): Likewise. 9521 * target.c (gomp_copy_from_async): Delete function. 9522 (gomp_map_vars): Remove async_refcount. 9523 (gomp_unmap_vars): Likewise. 9524 (gomp_load_image_to_device): Likewise. 9525 (omp_target_associate_ptr): Likewise. 9526 * libgomp.h (struct splay_tree_key_s): Remove async_refcount. 9527 (acc_dispatch_t.register_async_cleanup_func): Add int parameter. 9528 (gomp_copy_from_async): Remove. 9529 95302016-05-26 Chung-Lin Tang <cltang@codesourcery.com> 9531 9532 * target.c (gomp_device_copy): New function. 9533 (gomp_copy_host2dev): Likewise. 9534 (gomp_copy_dev2host): Likewise. 9535 (gomp_free_device_memory): Likewise. 9536 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev. 9537 (gomp_map_pointer): Likewise. 9538 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle 9539 NULL value from alloc_func plugin hook. 9540 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory. 9541 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host. 9542 (gomp_unmap_vars): Likewise. 9543 (gomp_update): Adjust to call gomp_copy_dev2host and 9544 gomp_copy_host2dev functions. 9545 (gomp_unload_image_from_device): Handle false value from 9546 unload_image_func plugin hook. 9547 (gomp_init_device): Handle false value from init_device_func 9548 plugin hook. 9549 (gomp_exit_data): Adjust to call gomp_copy_dev2host. 9550 (omp_target_free): Adjust to call gomp_free_device_memory. 9551 (omp_target_memcpy): Handle return values from host2dev_func, 9552 dev2host_func, and dev2dev_func plugin hooks. 9553 (omp_target_memcpy_rect_worker): Likewise. 9554 (gomp_target_fini): Handle false value from fini_device_func 9555 plugin hook. 9556 * libgomp.h (struct gomp_device_descr): Adjust return type of 9557 init_device_func, fini_device_func, unload_image_func, free_func, 9558 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'. 9559 * oacc-init.c (acc_shutdown_1): Handle false value from 9560 fini_device_func plugin hook. 9561 * oacc-host.c (host_init_device): Change return type to bool. 9562 (host_fini_device): Likewise. 9563 (host_unload_image): Likewise. 9564 (host_free): Likewise. 9565 (host_dev2host): Likewise. 9566 (host_host2dev): Likewise. 9567 * oacc-mem.c (acc_free): Handle plugin hook fatal error case. 9568 (acc_memcpy_to_device): Likewise. 9569 (acc_memcpy_from_device): Likewise. 9570 (delete_copyout): Add libfnname parameter, handle free_func 9571 hook fatal error case. 9572 (acc_delete): Adjust delete_copyout call. 9573 (acc_copyout): Likewise. 9574 (update_dev_host): Move gomp_mutex_unlock to after 9575 host2dev/dev2host hook calls. 9576 9577 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable 9578 to 'hsa_error_msg', for clarity. 9579 (hsa_fatal): Likewise. 9580 (hsa_error): New function. 9581 (init_hsa_context): Change return type to bool, adjust to return 9582 false on error. 9583 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context 9584 return value. 9585 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to 9586 return false on error. 9587 (get_agent_info): Adjust to return NULL on error. 9588 (destroy_hsa_program): Change return type to bool, adjust to 9589 return false on error. 9590 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error. 9591 (destroy_module): Change return type to bool, adjust to 9592 return false on error. 9593 (GOMP_OFFLOAD_unload_image): Likewise. 9594 (GOMP_OFFLOAD_fini_device): Likewise. 9595 (GOMP_OFFLOAD_alloc): Change to return NULL when called. 9596 (GOMP_OFFLOAD_free): Change to return false when called. 9597 (GOMP_OFFLOAD_dev2host): Likewise. 9598 (GOMP_OFFLOAD_host2dev): Likewise. 9599 (GOMP_OFFLOAD_dev2dev): Likewise. 9600 9601 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro. 9602 (CUDA_CALL): Likewise. 9603 (CUDA_CALL_ASSERT): Likewise. 9604 (map_init): Change return type to bool, use CUDA_CALL* macros. 9605 (map_fini): Likewise. 9606 (init_streams_for_device): Change return type to bool, adjust 9607 call to map_init. 9608 (fini_streams_for_device): Change return type to bool, adjust 9609 call to map_fini. 9610 (select_stream_for_async): Release stream_lock before calls to 9611 GOMP_PLUGIN_fatal, adjust call to map_init. 9612 (nvptx_init): Use CUDA_CALL* macros. 9613 (nvptx_attach_host_thread_to_device): Change return type to bool, 9614 use CUDA_CALL* macros. 9615 (nvptx_open_device): Use CUDA_CALL* macros. 9616 (nvptx_close_device): Change return type to bool, use CUDA_CALL* 9617 macros. 9618 (nvptx_get_num_devices): Use CUDA_CALL* macros. 9619 (link_ptx): Change return type to bool, use CUDA_CALL* macros. 9620 (nvptx_exec): Use CUDA_CALL* macros. 9621 (nvptx_alloc): Use CUDA_CALL* macros. 9622 (nvptx_free): Change return type to bool, use CUDA_CALL* macros. 9623 (nvptx_host2dev): Likewise. 9624 (nvptx_dev2host): Likewise. 9625 (nvptx_wait): Use CUDA_CALL* macros. 9626 (nvptx_wait_async): Likewise. 9627 (nvptx_wait_all): Likewise. 9628 (nvptx_wait_all_async): Likewise. 9629 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire, 9630 use CUDA_CALL* macros, adjust call to map_fini. 9631 (GOMP_OFFLOAD_init_device): Change return type to bool, 9632 adjust code accordingly. 9633 (GOMP_OFFLOAD_fini_device): Likewise. 9634 (GOMP_OFFLOAD_load_image): Adjust calls to 9635 nvptx_attach_host_thread_to_device/link_ptx to handle errors, 9636 use CUDA_CALL* macros. 9637 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust 9638 return code. 9639 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return. 9640 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to 9641 handle error return. 9642 (GOMP_OFFLOAD_dev2host): Likewise. 9643 (GOMP_OFFLOAD_host2dev): Likewise. 9644 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros. 9645 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise. 9646 96472016-05-24 Cesar Philippidis <cesar@codesourcery.com> 9648 9649 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets. 9650 (acc_free): Likewise. 9651 (acc_memcpy_to_device): Likewise. 9652 (acc_memcpy_from_device): Likewise. 9653 (acc_deviceptr): Likewise. 9654 (acc_hostptr): Likewise. 9655 (acc_is_present): Likewise. 9656 (acc_map_data): Likewise. 9657 (acc_unmap_data): Likewise. 9658 (present_create_copy): Likewise. 9659 (delete_copyout): Likewise. 9660 (update_dev_host): Likewise. 9661 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail. 9662 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test. 9663 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test. 9664 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise. 9665 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test. 9666 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that 9667 it only runs on nvptx targets. 9668 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise. 9669 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise. 9670 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise. 9671 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise. 9672 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise. 9673 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise. 9674 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise. 9675 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise. 9676 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. 9677 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise. 9678 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise. 9679 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise. 9680 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise. 9681 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise. 9682 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise. 9683 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. 9684 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise. 9685 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise. 9686 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise. 9687 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise. 9688 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise. 9689 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise. 9690 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise. 9691 96922016-05-23 Martin Jambor <mjambor@suse.cz> 9693 9694 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test. 9695 96962016-05-17 Chung-Lin Tang <cltang@codesourcery.com> 9697 9698 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call 9699 to gomp_init_targets_once. 9700 (acc_set_device_type): Remove !cached_base_dev condition on call to 9701 gomp_init_targets_once, move call to before acc_device_lock acquire, 9702 to avoid deadlock. 9703 (acc_get_device_num): Remove !cached_base_dev condition on call to 9704 gomp_init_targets_once. 9705 (acc_set_device_num): Likewise. 9706 97072016-05-16 Martin Jambor <mjambor@suse.cz> 9708 9709 * testsuite/libgomp.hsa.c/complex-align-2.c: New test. 9710 97112016-05-02 Nathan Sidwell <nathan@codesourcery.com> 9712 9713 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust 9714 expected partitioning. 9715 97162016-04-29 Cesar Philippidis <cesar@codesourcery.com> 9717 9718 PR middle-end/70626 9719 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test. 9720 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test. 9721 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test. 9722 97232016-04-21 Alexander Monakov <amonakov@ispras.ru> 9724 9725 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error 9726 non-fatal. 9727 97282016-04-19 Jakub Jelinek <jakub@redhat.com> 9729 9730 PR middle-end/70680 9731 * testsuite/libgomp.c/pr70680-1.c: New test. 9732 * testsuite/libgomp.c/pr70680-2.c: New test. 9733 97342016-04-14 Cesar Philippidis <cesar@codesourcery.com> 9735 9736 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't 9737 pass parameter variables to subroutines. 9738 97392016-04-14 Cesar Philippidis <cesar@codesourcery.com> 9740 9741 PR middle-end/70643 9742 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test. 9743 97442016-04-13 Cesar Philippidis <cesar@codesourcery.com> 9745 9746 PR testsuite/68242 9747 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test. 9748 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise. 9749 97502016-04-12 Thomas Schwinge <thomas@codesourcery.com> 9751 9752 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to 9753 GOACC_parallel_keyed, restore GOACC_parallel prototype, new 9754 GOACC_declare prototype. 9755 9756 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: 9757 Merge this file, and... 9758 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c: 9759 ... this file, and... 9760 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: 9761 ... this file, and... 9762 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: 9763 ... this file, and... 9764 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: 9765 ... this file, and... 9766 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: 9767 ... this file, and... 9768 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: 9769 ... this file, and... 9770 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: 9771 ... this file, and... 9772 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: 9773 ... this file, and... 9774 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: 9775 ... this file, and... 9776 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: 9777 ... this file, and... 9778 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: 9779 ... this file, and... 9780 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: 9781 ... this file into... 9782 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this 9783 file. 9784 9785 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: 9786 Make failure observable. 9787 97882016-04-12 Jakub Jelinek <jakub@redhat.com> 9789 9790 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies 9791 field. 9792 * target.c (gomp_target_fallback_firstprivate, 9793 gomp_target_unshare_firstprivate): Removed. 9794 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory 9795 before waiting for dependencies. 9796 (gomp_target_task_fn): Don't copy firstprivate vars here. 9797 * task.c (GOMP_PLUGIN_target_task_completion): Don't free 9798 firstprivate_copies here. 9799 (gomp_create_target_task): Don't initialize firstprivate_copies field. 9800 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of 9801 explicit/implicit firstprivate. 9802 98032016-04-08 Cesar Philippidis <cesar@codesourcery.com> 9804 9805 PR lto/70289 9806 PR ipa/70348 9807 PR tree-optimization/70373 9808 PR middle-end/70533 9809 PR middle-end/70534 9810 PR middle-end/70535 9811 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New 9812 test. 9813 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New 9814 test. 9815 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New 9816 test. 9817 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New 9818 test. 9819 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New 9820 test. 9821 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New 9822 test. 9823 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New 9824 test. 9825 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New 9826 test. 9827 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New 9828 test. 9829 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test. 9830 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test. 9831 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test. 9832 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New 9833 test. 9834 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New 9835 test. 9836 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New 9837 test. 9838 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New 9839 test. 9840 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test 9841 coverage. 9842 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise. 9843 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise. 9844 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test. 9845 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test. 9846 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test. 9847 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test 9848 coverage. 9849 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise. 9850 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise. 9851 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise. 9852 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise. 9853 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test. 9854 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test. 9855 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test. 9856 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test. 9857 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage. 9858 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise. 9859 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise. 9860 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise. 9861 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise. 9862 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. 9863 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test. 9864 98652016-03-30 Thomas Schwinge <thomas@codesourcery.com> 9866 James Norris <jnorris@codesourcery.com> 9867 Nathan Sidwell <nathan@codesourcery.com> 9868 Julian Brown <julian@codesourcery.com> 9869 Cesar Philippidis <cesar@codesourcery.com> 9870 Chung-Lin Tang <cltang@codesourcery.com> 9871 Tom de Vries <tom@codesourcery.com> 9872 9873 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update. 9874 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise. 9875 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise. 9876 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise. 9877 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise. 9878 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise. 9879 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise. 9880 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise. 9881 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise. 9882 XFAIL. 9883 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update. 9884 Incorporate... 9885 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this 9886 file. 9887 * testsuite/libgomp.oacc-c++/template-reduction.C: New file. 9888 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise. 9889 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise. 9890 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c: 9891 Likewise. 9892 * testsuite/libgomp.oacc-c-c++-common/private-variables.c: 9893 Likewise. 9894 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise. 9895 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise. 9896 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise. 9897 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise. 9898 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise. 9899 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise. 9900 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise. 9901 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise. 9902 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise. 9903 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: 9904 Likewise. 9905 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise. 9906 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise. 9907 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this 9908 file... 9909 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this 9910 file into... 9911 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new 9912 file. Update. 9913 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New 9914 file. 9915 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c: 9916 Likewise. 9917 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to... 9918 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c: 9919 ... this new file. Update. 9920 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to... 9921 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c: 9922 ... this new file. Update. 9923 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New 9924 file. Incorporate... 9925 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this 9926 file, and... 9927 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this 9928 file, and... 9929 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this 9930 file. 9931 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file. 9932 99332016-03-29 Thomas Schwinge <thomas@codesourcery.com> 9934 9935 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call 9936 set-torture-options. 9937 99382016-03-24 Thomas Schwinge <thomas@codesourcery.com> 9939 9940 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use 9941 gcc-dg-runtest. 9942 * testsuite/libgomp.oacc-c/c.exp: Likewise. 9943 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify 9944 -fno-builtin-acc_on_device instead of -O0. 9945 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for 9946 -O0. 9947 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise. 9948 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: 9949 Likewise. 9950 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise. 9951 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise. 9952 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise. 9953 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise. 9954 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise. 9955 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise. 9956 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise. 9957 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise. 9958 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise. 9959 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise. 9960 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise. 9961 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise. 9962 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise. 9963 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise. 9964 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise. 9965 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise. 9966 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise. 9967 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c: 9968 Don't specify -O2. 9969 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c: 9970 Likewise. 9971 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c: 9972 Likewise. 9973 99742016-03-24 Martin Liska <mliska@suse.cz> 9975 9976 * plugin/plugin-hsa.c (packet_store_release): New function 9977 that is taken from the HSA runtime manual. 9978 (GOMP_OFFLOAD_run): Use the function. 9979 99802016-03-23 Jakub Jelinek <jakub@redhat.com> 9981 9982 PR c++/70376 9983 * testsuite/libgomp.c++/pr70376.C: New test. 9984 99852016-03-23 Tom de Vries <tom@codesourcery.com> 9986 9987 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing 9988 initialization of lresult and lvresult. 9989 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same. 9990 99912016-03-23 James Norris <jnorris@codesourcery.com> 9992 Daichi Fukuoka <dc-fukuoka@sgi.com> 9993 9994 PR libgomp/69414 9995 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address. 9996 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests. 9997 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise. 9998 * testsuite/libgomp.oacc-fortran/update-1.f90: New file. 9999 100002016-03-23 Martin Liska <mliska@suse.cz> 10001 10002 PR hsa/70337 10003 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow 10004 argument just in case a dispatched kernel uses that argument. 10005 100062016-03-16 Thomas Schwinge <thomas@codesourcery.com> 10007 10008 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to 10009 -ftree-parallelize-loops/-fopenacc changes. 10010 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: 10011 Likewise. 10012 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: 10013 Likewise. 10014 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: 10015 Likewise. 10016 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: 10017 Likewise. 10018 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise. 10019 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise. 10020 100212016-03-13 Thomas Schwinge <thomas@codesourcery.com> 10022 10023 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to 10024 always_ld_library_path the path to libgcc_s. 10025 100262016-03-10 Cesar Philippidis <cesar@codesourcery.com> 10027 10028 PR testsuite/70009 10029 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed. 10030 100312016-03-09 Tom de Vries <tom@codesourcery.com> 10032 10033 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test. 10034 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same. 10035 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: 10036 Same. 10037 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same. 10038 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same. 10039 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same. 10040 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same. 10041 100422016-03-07 Martin Jambor <mjambor@suse.cz> 10043 10044 * testsuite/lib/libgomp.exp 10045 (check_effective_target_hsa_offloading_selected_nocache): New. 10046 (check_effective_target_hsa_offloading_selected): Likewise. 10047 * testsuite/libgomp.hsa.c/c.exp: Likewise. 10048 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise. 10049 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise. 10050 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise. 10051 * testsuite/libgomp.hsa.c/complex-1.c: Likewise. 10052 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise. 10053 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise. 10054 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise. 10055 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise. 10056 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise. 10057 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise. 10058 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise. 10059 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise. 10060 * testsuite/libgomp.hsa.c/pr69568.c: Likewise. 10061 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise. 10062 * testsuite/libgomp.hsa.c/switch-1.c: Likewise. 10063 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise. 10064 100652016-03-07 Martin Jambor <mjambor@suse.cz> 10066 10067 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on 10068 non-shared memory accelerators. 10069 * testsuite/libgomp.c/examples-4/device-1.c: Likewise. 10070 * testsuite/libgomp.c/examples-4/target-5.c: Likewise. 10071 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise. 10072 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise. 10073 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise. 10074 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise. 10075 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise. 10076 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise. 10077 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise. 10078 100792016-03-07 Martin Jambor <mjambor@suse.cz> 10080 10081 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to 10082 ALWAYS_CFLAGS. 10083 100842016-03-02 Jakub Jelinek <jakub@redhat.com> 10085 10086 PR libgomp/69555 10087 * testsuite/libgomp.c++/pr69555-1.C: New test. 10088 * testsuite/libgomp.c++/pr69555-2.C: New test. 10089 100902016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com> 10091 Martin Jambor <mjambor@suse.cz> 10092 10093 * testsuite/lib/libgomp.exp 10094 (check_effective_target_offload_device_shared_as): New proc. 10095 * testsuite/libgomp.c++/declare_target-1.C: New test. 10096 100972016-02-25 Ilya Verbin <ilya.verbin@intel.com> 10098 10099 PR driver/68463 10100 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove. 10101 101022016-02-23 Thomas Schwinge <thomas@codesourcery.com> 10103 10104 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims. 10105 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for 10106 dims. 10107 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to 10108 -ftree-parallelize-loops/-fopenacc changes. 10109 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise. 10110 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: 10111 Likewise. 10112 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: 10113 Likewise. 10114 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: 10115 Likewise. 10116 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: 10117 Likewise. 10118 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: 10119 Likewise. 10120 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: 10121 Likewise. 10122 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: 10123 Likewise. 10124 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise. 10125 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: 10126 Likewise. 10127 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise. 10128 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: 10129 Likewise. 10130 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise. 10131 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: 10132 Likewise. 10133 101342016-02-22 Cesar Philippidis <cesar@codesourcery.com> 10135 10136 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test. 10137 101382016-02-19 Jakub Jelinek <jakub@redhat.com> 10139 10140 PR driver/69805 10141 * testsuite/libgomp.c/pr69805.c: New test. 10142 101432016-02-16 Tom de Vries <tom@codesourcery.com> 10144 10145 PR lto/67709 10146 * testsuite/libgomp.fortran/declare-simd-4.f90: New test. 10147 101482016-02-09 Tom de Vries <tom@codesourcery.com> 10149 10150 PR tree-optimization/69599 10151 * testsuite/libgomp.c/omp-nested-3.c: New test. 10152 * testsuite/libgomp.c/pr46032-2.c: New test. 10153 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test. 10154 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test. 10155 101562016-02-09 Tom de Vries <tom@codesourcery.com> 10157 10158 PR lto/69707 10159 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test. 10160 101612016-02-02 Alexander Monakov <amonakov@ispras.ru> 10162 10163 * testsuite/libgomp.c/target-31.c: Fix testcase. 10164 101652016-02-02 Alexander Monakov <amonakov@ispras.ru> 10166 10167 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction 10168 clause. 10169 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise. 10170 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing 10171 reduction and map clauses. 10172 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise. 10173 101742016-02-02 James Norris <jnorris@codesourcery.com> 10175 10176 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause. 10177 101782016-02-02 Thomas Schwinge <thomas@codesourcery.com> 10179 10180 * libgomp.map (GOACC_2.0): Remove GOACC_host_data. 10181 * oacc-parallel.c (GOACC_host_data): Remove function definition. 10182 10183 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test 10184 cases. 10185 10186 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New 10187 variables. 10188 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib) 10189 (hsa_kmt_lib): Set variables. 10190 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend 10191 always_ld_library_path. 10192 * Makefile.in: Regenerate. 10193 * configure: Likewise. 10194 * testsuite/Makefile.in: Likewise. 10195 10196 * plugin/configfrag.ac (offload_additional_options) 10197 (offload_additional_lib_paths): Don't amend for hsa offloading. 10198 * configure: Regenerate. 10199 10200 * plugin/configfrag.ac: Don't configure for offloading target if 10201 we don't build the corresponding plugin. 10202 * configure: Regenerate. 10203 102042016-02-01 Nathan Sidwell <nathan@codesourcery.com> 10205 10206 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New. 10207 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop. 10208 102092016-01-26 Tom de Vries <tom@codesourcery.com> 10210 10211 PR tree-optimization/69110 10212 * testsuite/libgomp.c/pr69110.c: New test. 10213 102142016-01-25 Richard Biener <rguenther@suse.de> 10215 10216 PR lto/69393 10217 * testsuite/libgomp.c++/pr69393.C: New testcase. 10218 102192016-01-22 Ilya Verbin <ilya.verbin@intel.com> 10220 10221 * target.c (gomp_get_target_fn_addr): Allow host fallback if target 10222 function wasn't mapped to the device with non-shared memory. 10223 102242016-01-20 Ilya Verbin <ilya.verbin@intel.com> 10225 10226 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL. 10227 102282016-01-19 Martin Jambor <mjambor@suse.cz> 10229 Martin Liska <mliska@suse.cz> 10230 10231 * plugin/Makefrag.am: Add HSA plugin requirements. 10232 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable. 10233 (HSA_RUNTIME_LIB): Likewise. 10234 (HSA_RUNTIME_CPPFLAGS): Likewise. 10235 (HSA_RUNTIME_INCLUDE): New substitution. 10236 (HSA_RUNTIME_LIB): Likewise. 10237 (HSA_RUNTIME_LDFLAGS): Likewise. 10238 (hsa-runtime): New configure option. 10239 (hsa-runtime-include): Likewise. 10240 (hsa-runtime-lib): Likewise. 10241 (PLUGIN_HSA): New substitution variable. 10242 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new 10243 configure options. 10244 (PLUGIN_HSA_CPPFLAGS): Likewise. 10245 (PLUGIN_HSA_LDFLAGS): Likewise. 10246 (PLUGIN_HSA_LIBS): Likewise. 10247 Check that we have access to HSA run-time. 10248 * libgomp-plugin.h (offload_target_type): New element 10249 OFFLOAD_TARGET_TYPE_HSA. 10250 * libgomp.h (gomp_target_task): New fields firstprivate_copies and 10251 args. 10252 (bool gomp_create_target_task): Updated. 10253 (gomp_device_descr): Extra parameter of run_func and async_run_func, 10254 new field can_run_func. 10255 * libgomp_g.h (GOMP_target_ext): Update prototype. 10256 * oacc-host.c (host_run): Added a new parameter args. 10257 * target.c (calculate_firstprivate_requirements): New function. 10258 (copy_firstprivate_data): Likewise. 10259 (gomp_target_fallback_firstprivate): Use them. 10260 (gomp_target_unshare_firstprivate): New function. 10261 (gomp_get_target_fn_addr): Allow returning NULL for shared memory 10262 devices. 10263 (GOMP_target): Do host fallback for all shared memory devices. Do not 10264 pass any args to plugins. 10265 (GOMP_target_ext): Introduce device-specific argument parameter args. 10266 Allow host fallback if device shares memory. Do not remap data if 10267 device has shared memory. 10268 (gomp_target_task_fn): Likewise. Also treat shared memory devices 10269 like host fallback for mappings. 10270 (GOMP_target_data): Treat shared memory devices like host fallback. 10271 (GOMP_target_data_ext): Likewise. 10272 (GOMP_target_update): Likewise. 10273 (GOMP_target_update_ext): Likewise. Also pass NULL as args to 10274 gomp_create_target_task. 10275 (GOMP_target_enter_exit_data): Likewise. 10276 (omp_target_alloc): Treat shared memory devices like host fallback. 10277 (omp_target_free): Likewise. 10278 (omp_target_is_present): Likewise. 10279 (omp_target_memcpy): Likewise. 10280 (omp_target_memcpy_rect): Likewise. 10281 (omp_target_associate_ptr): Likewise. 10282 (gomp_load_plugin_for_device): Also load can_run. 10283 * task.c (GOMP_PLUGIN_target_task_completion): Free 10284 firstprivate_copies. 10285 (gomp_create_target_task): Accept new argument args and store it to 10286 ttask. 10287 * plugin/plugin-hsa.c: New file. 10288 102892016-01-18 Tom de Vries <tom@codesourcery.com> 10290 10291 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test. 10292 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same. 10293 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same. 10294 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same. 10295 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same. 10296 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same. 10297 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same. 10298 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same. 10299 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same. 10300 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same. 10301 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c: 10302 Same. 10303 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c: 10304 Same. 10305 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same. 10306 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same. 10307 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same. 10308 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same. 10309 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same. 10310 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same. 10311 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same. 10312 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c: 10313 Same. 10314 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same. 10315 103162016-01-15 Jakub Jelinek <jakub@redhat.com> 10317 10318 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return. 10319 103202016-01-15 Cesar Philippidis <cesar@codesourcery.com> 10321 10322 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test. 10323 103242016-01-12 James Norris <jnorris@codesourcery.com> 10325 10326 * libgomp.texi: Updates for OpenACC. 10327 103282016-01-11 Alexander Monakov <amonakov@ispras.ru> 10329 10330 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET. 10331 103322016-01-07 H.J. Lu <hongjiu.lu@intel.com> 10333 10334 PR fortran/66680 10335 * testsuite/libgomp.fortran/pr66680.f90: New test. 10336 103372016-01-07 Jakub Jelinek <jakub@redhat.com> 10338 10339 PR middle-end/68960 10340 * testsuite/libgomp.c/pr68960.c: New test. 10341 103422016-01-06 Nathan Sidwell <nathan@acm.org> 10343 10344 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper. 10345 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New. 10346 103472016-01-04 Jakub Jelinek <jakub@redhat.com> 10348 10349 Update copyright years. 10350 10351 * libgomp.texi: Bump @copying's copyright year. 10352 103532015-12-31 Nathan Sidwell <nathan@acm.org> 10354 10355 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct 10356 dg-additional-options syntax. 10357 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise. 10358 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise. 10359 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise. 10360 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise. 10361 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise. 10362 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise. 10363 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise. 10364 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise. 10365 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise. 10366 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise. 10367 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise. 10368 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise. 10369 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise. 10370 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise. 10371 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise. 10372 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise. 10373 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise. 10374 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise. 10375 103762015-12-15 Ilya Verbin <ilya.verbin@intel.com> 10377 10378 * libgomp.h (REFCOUNT_LINK): Define. 10379 (struct splay_tree_key_s): Add link_key. 10380 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped. 10381 Replace target address of the pointer with target address of newly 10382 mapped object in the splay tree. Set link pointer on target to the 10383 device address of the mapped object. 10384 (gomp_unmap_vars): Restore target address of the pointer in the splay 10385 tree for REFCOUNT_LINK objects after unmapping. 10386 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp 10387 declare target link" objects. 10388 (gomp_unload_image_from_device): Replace j with i. Force unmap of all 10389 "omp declare target link" objects, which were mapped for the image. 10390 (gomp_exit_data): Restore target address of the pointer in the splay 10391 tree for REFCOUNT_LINK objects after unmapping. 10392 * testsuite/libgomp.c/target-link-1.c: New file. 10393 103942015-12-14 Ilya Verbin <ilya.verbin@intel.com> 10395 10396 * libgomp.h (gomp_device_state): New enum. 10397 (struct gomp_device_descr): Replace is_initialized with state. 10398 (gomp_fini_device): Remove declaration. 10399 * oacc-host.c (host_dispatch): Use state instead of is_initialized. 10400 * oacc-init.c (acc_init_1): Use state instead of is_initialized. 10401 (acc_shutdown_1): Likewise. Inline gomp_fini_device. 10402 (acc_set_device_type): Use state instead of is_initialized. 10403 (acc_set_device_num): Likewise. 10404 * target.c (resolve_device): Use state instead of is_initialized. 10405 Do not initialize finalized device. 10406 (gomp_map_vars): Do nothing if device is finalized. 10407 (gomp_unmap_vars): Likewise. 10408 (gomp_update): Likewise. 10409 (GOMP_offload_register_ver): Use state instead of is_initialized. 10410 (GOMP_offload_unregister_ver): Likewise. 10411 (gomp_init_device): Likewise. 10412 (gomp_unload_device): Likewise. 10413 (gomp_fini_device): Remove. 10414 (gomp_get_target_fn_addr): Do nothing if device is finalized. 10415 (GOMP_target): Go to host fallback if device is finalized. 10416 (GOMP_target_ext): Likewise. 10417 (gomp_exit_data): Do nothing if device is finalized. 10418 (gomp_target_task_fn): Go to host fallback if device is finalized. 10419 (gomp_target_fini): New static function. 10420 (gomp_target_init): Use state instead of is_initialized. 10421 Call gomp_target_fini at exit. 10422 104232015-12-09 Tom de Vries <tom@codesourcery.com> 10424 10425 PR tree-optimization/68716 10426 * testsuite/libgomp.c/omp-nested-2.c: New test. 10427 104282015-12-02 Thomas Schwinge <thomas@codesourcery.com> 10429 10430 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to 10431 target openacc_nvidia_accel_selected. 10432 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise. 10433 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise. 10434 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file. 10435 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file. 10436 104372015-12-01 Julian Brown <julian@codesourcery.com> 10438 James Norris <James_Norris@mentor.com> 10439 10440 * oacc-parallel.c (GOACC_host_data): New function. 10441 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1. 10442 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test. 10443 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test. 10444 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test. 10445 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test. 10446 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test. 10447 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test. 10448 104492015-11-30 James Norris <jnorris@codesourcery.com> 10450 Cesar Philippidis <cesar@codesourcery.com> 10451 10452 libgomp/ 10453 * libgomp.oacc-fortran/routine-5.f90: New test. 10454 * libgomp.oacc-fortran/routine-7.f90: New test. 10455 * libgomp.oacc-fortran/routine-9.f90: New test. 10456 104572015-11-30 Tom de Vries <tom@codesourcery.com> 10458 10459 PR tree-optimization/46032 10460 * testsuite/libgomp.c/pr46032.c: New test. 10461 104622015-11-27 Jakub Jelinek <jakub@redhat.com> 10463 10464 PR libgomp/68579 10465 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl. 10466 (gomp_create_target_task): Call it before freeing 10467 GOMP_TARGET_TASK_DATA tasks. 10468 10469 PR c/63326 10470 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon 10471 in between case label and OpenMP standalone directives. 10472 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise. 10473 104742015-11-26 David Edelsohn <dje.gcc@gmail.com> 10475 10476 * configure: Regenerate. 10477 104782015-11-26 Jakub Jelinek <jakub@redhat.com> 10479 10480 * testsuite/libgomp.c/target-35.c: New test. 10481 104822015-11-22 James Norris <jnorris@codesourcery.com> 10483 Cesar Philippidis <cesar@codesourcery.com> 10484 10485 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test. 10486 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise. 10487 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise. 10488 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise. 10489 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise. 10490 104912015-11-20 Jakub Jelinek <jakub@redhat.com> 10492 10493 PR middle-end/68221 10494 * testsuite/libgomp.c/reduction-11.c: Remove xfail. 10495 * testsuite/libgomp.c/reduction-12.c: Likewise. 10496 * testsuite/libgomp.c++/reduction-11.C: Likewise. 10497 * testsuite/libgomp.c++/reduction-12.C: Likewise. 10498 104992015-11-19 Nathan Sidwell <nathan@codesourcery.com> 10500 10501 * libgomp.oacc-c-c++-common/reduction-dbl.c: New. 10502 * libgomp.oacc-c-c++-common/reduction-flt.c: New. 10503 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef. 10504 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef. 10505 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests 10506 and fix. 10507 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise. 10508 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise. 10509 105102015-11-18 Nathan Sidwell <nathan@codesourcery.com> 10511 10512 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add 10513 worker & gang cases. 10514 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise. 10515 105162015-11-17 Cesar Philippidis <cesar@codesourcery.com> 10517 10518 * config/nvptx/priority_queue.c: New file. 10519 105202015-11-14 Jakub Jelinek <jakub@redhat.com> 10521 10522 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5 10523 sections. 10524 105252015-11-14 Jakub Jelinek <jakub@redhat.com> 10526 Aldy Hernandez <aldyh@redhat.com> 10527 Ilya Verbin <ilya.verbin@intel.com> 10528 10529 * ordered.c (gomp_doacross_init, GOMP_doacross_post, 10530 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post, 10531 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of 10532 iterators or IV by chunk size. 10533 * parallel.c (gomp_resolve_num_threads): Don't assume that 10534 if thr->ts.team is non-NULL, then pool must be non-NULL. 10535 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare. 10536 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export 10537 GOMP_PLUGIN_target_task_completion. 10538 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c. 10539 * Makefile.in: Regenerate. 10540 * libgomp.h: Shuffle prototypes and forward definitions around so 10541 priority queues can be defined. 10542 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING. 10543 (enum gomp_target_task_state): New enum. 10544 (struct gomp_target_task): Add state, tgt, task and team fields. 10545 (gomp_create_target_task): Change return type to bool, add 10546 state argument. 10547 (gomp_target_task_fn): Change return type to bool. 10548 (struct gomp_device_descr): Add async_run_func. 10549 (struct gomp_task): Remove children, next_child, prev_child, 10550 next_queue, prev_queue, next_taskgroup, prev_taskgroup. 10551 Add pnode field. 10552 (struct gomp_taskgroup): Remove children. 10553 Add taskgroup_queue. 10554 (struct gomp_team): Change task_queue type to a priority queue. 10555 (splay_compare): Define inline. 10556 (priority_queue_offset): New. 10557 (priority_node_to_task): New. 10558 (task_to_priority_node): New. 10559 * oacc-mem.c: Do not include splay-tree.h. 10560 * priority_queue.c: New file. 10561 * priority_queue.h: New file. 10562 * splay-tree.c: Do not include splay-tree.h. 10563 (splay_tree_foreach_internal): New. 10564 (splay_tree_foreach): New. 10565 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined. 10566 (splay_tree_callback): Define typedef. 10567 * target.c (splay_compare): Move to libgomp.h. 10568 (GOMP_target): Don't adjust *thr in any way around running offloaded 10569 task. 10570 (GOMP_target_ext): Likewise. Handle target nowait. 10571 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check 10572 return value from gomp_create_target_task, if false, fallthrough 10573 as if no dependencies exist. 10574 (gomp_target_task_fn): Change return type to bool, return true 10575 if the task should have another part scheduled later. Handle 10576 target nowait. 10577 (gomp_load_plugin_for_device): Initialize async_run. 10578 * task.c (gomp_init_task): Initialize children_queue. 10579 (gomp_clear_parent_in_list): New. 10580 (gomp_clear_parent_in_tree): New. 10581 (gomp_clear_parent): Handle priorities. 10582 (GOMP_task): Likewise. 10583 (priority_queue_move_task_first, 10584 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion): 10585 New functions. 10586 (gomp_create_target_task): Use priority queues. Change return type 10587 to bool, add state argument, return false if for async 10588 {{enter,exit} data,update} constructs no dependencies need to be 10589 waited for, handle target nowait. Set task->fn to NULL instead of 10590 gomp_target_task_fn. 10591 (verify_children_queue): Remove. 10592 (priority_list_upgrade_task): New. 10593 (priority_queue_upgrade_task): New. 10594 (verify_task_queue): Remove. 10595 (priority_list_downgrade_task): New. 10596 (priority_queue_downgrade_task): New. 10597 (gomp_task_run_pre): Use priority queues. 10598 Abstract code out to priority_queue_downgrade_task. 10599 (gomp_task_run_post_handle_dependers): Use priority queues. 10600 (gomp_task_run_post_remove_parent): Likewise. 10601 (gomp_task_run_post_remove_taskgroup): Likewise. 10602 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target 10603 tasks specially. 10604 (GOMP_taskwait): Likewise. 10605 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to 10606 priority-queue_upgrade_task. 10607 (GOMP_taskgroup_start): Use priority queues. 10608 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks 10609 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a 10610 barrier. 10611 * taskloop.c (GOMP_taskloop): Handle priorities. 10612 * team.c (gomp_new_team): Call priority_queue_init. 10613 (free_team): Call priority_queue_free. 10614 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial 10615 team created for target nowait in implicit parallel region. 10616 (gomp_team_start): For nested check, test thr->ts.level instead of 10617 thr->ts.team != NULL. 10618 * testsuite/libgomp.c/doacross-3.c: New test. 10619 * testsuite/libgomp.c/ordered-5.c: New test. 10620 * testsuite/libgomp.c/priority.c: New test. 10621 * testsuite/libgomp.c/target-31.c: New test. 10622 * testsuite/libgomp.c/target-32.c: New test. 10623 * testsuite/libgomp.c/target-33.c: New test. 10624 * testsuite/libgomp.c/target-34.c: New test. 10625 106262015-11-13 Nathan Sidwell <nathan@codesourcery.com> 10627 10628 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New. 10629 10630 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential 10631 loop is sequential. 10632 106332015-11-13 Nathan Sidwell <nathan@codesourcery.com> 10634 10635 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New. 10636 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New. 10637 106382015-11-12 James Norris <jnorris@codesourcery.com> 10639 Joseph Myers <joseph@codesourcery.com> 10640 10641 * libgomp.map (GOACC_2.0.1): Export GOACC_declare. 10642 * oacc-parallel.c (GOACC_declare): New function. 10643 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test. 10644 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise. 10645 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise. 10646 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise. 10647 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise. 10648 106492015-11-12 Nathan Sidwell <nathan@codesourcery.com> 10650 10651 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New. 10652 106532015-11-1 Nathan Sidwell <nathan@codesourcery.com> 10654 10655 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New. 10656 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New. 10657 106582015-11-09 Nathan Sidwell <nathan@codesourcery.com> 10659 10660 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove 10661 inadvertent commit. 10662 106632015-11-09 Nathan Sidwell <nathan@codesourcery.com> 10664 10665 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New. 10666 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New. 10667 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New. 10668 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New. 10669 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New. 10670 106712015-11-06 Thomas Schwinge <thomas@codesourcery.com> 10672 10673 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL. 10674 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise. 10675 106762015-11-05 Jakub Jelinek <jakub@redhat.com> 10677 Ilya Verbin <ilya.verbin@intel.com> 10678 10679 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next, 10680 GOMP_loop_nonmonotonic_dynamic_start, 10681 GOMP_loop_nonmonotonic_guided_next, 10682 GOMP_loop_nonmonotonic_guided_start, 10683 GOMP_loop_ull_nonmonotonic_dynamic_next, 10684 GOMP_loop_ull_nonmonotonic_dynamic_start, 10685 GOMP_loop_ull_nonmonotonic_guided_next, 10686 GOMP_loop_ull_nonmonotonic_guided_start, 10687 GOMP_parallel_loop_nonmonotonic_dynamic, 10688 GOMP_parallel_loop_nonmonotonic_guided): New prototypes. 10689 (GOMP_target_41): Renamed to ... 10690 (GOMP_target_ext): ... this. Add num_teams and thread_limit 10691 arguments. 10692 (GOMP_target_data_41): Renamed to ... 10693 (GOMP_target_data_ext): ... this. 10694 (GOMP_target_update_41): Renamed to ... 10695 (GOMP_target_update_ext): ... this. 10696 * libgomp.map (GOMP_4.5): Export GOMP_target_ext, 10697 GOMP_target_data_ext and GOMP_target_update_ext instead of 10698 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41. 10699 Export GOMP_loop_nonmonotonic_dynamic_next, 10700 GOMP_loop_nonmonotonic_dynamic_start, 10701 GOMP_loop_nonmonotonic_guided_next, 10702 GOMP_loop_nonmonotonic_guided_start, 10703 GOMP_loop_ull_nonmonotonic_dynamic_next, 10704 GOMP_loop_ull_nonmonotonic_dynamic_start, 10705 GOMP_loop_ull_nonmonotonic_guided_next, 10706 GOMP_loop_ull_nonmonotonic_guided_start, 10707 GOMP_parallel_loop_nonmonotonic_dynamic and 10708 GOMP_parallel_loop_nonmonotonic_guided. 10709 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic, 10710 GOMP_parallel_loop_nonmonotonic_guided, 10711 GOMP_loop_nonmonotonic_dynamic_start, 10712 GOMP_loop_nonmonotonic_guided_start, 10713 GOMP_loop_nonmonotonic_dynamic_next, 10714 GOMP_loop_nonmonotonic_guided_next): New aliases or functions. 10715 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start, 10716 GOMP_loop_ull_nonmonotonic_guided_start, 10717 GOMP_loop_ull_nonmonotonic_dynamic_next, 10718 GOMP_loop_ull_nonmonotonic_guided_next): Likewise. 10719 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline 10720 functions. 10721 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For 10722 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup. 10723 Use gomp_map_val function. 10724 (gomp_target_fallback_firstprivate): New static function. 10725 (GOMP_target_41): Renamed to ... 10726 (GOMP_target_ext): ... this. Add num_teams and thread_limit 10727 arguments. Move firstprivate fallback handling into a new 10728 function. 10729 (GOMP_target_data_41): Renamed to ... 10730 (GOMP_target_data_ext): ... this. 10731 (GOMP_target_update_41): Renamed to ... 10732 (GOMP_target_update_ext): ... this. 10733 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use 10734 gomp_map_0len_lookup instead of gomp_map_lookup. 10735 (omp_target_is_present): Use gomp_map_0len_lookup instead of 10736 gomp_map_lookup. 10737 * testsuite/libgomp.c/target-28.c: Likewise. 10738 * testsuite/libgomp.c/monotonic-1.c: New test. 10739 * testsuite/libgomp.c/monotonic-2.c: New test. 10740 * testsuite/libgomp.c/nonmonotonic-1.c: New test. 10741 * testsuite/libgomp.c/nonmonotonic-2.c: New test. 10742 * testsuite/libgomp.c/pr66199-5.c: New test. 10743 * testsuite/libgomp.c/pr66199-6.c: New test. 10744 * testsuite/libgomp.c/pr66199-7.c: New test. 10745 * testsuite/libgomp.c/pr66199-8.c: New test. 10746 * testsuite/libgomp.c/pr66199-9.c: New test. 10747 * testsuite/libgomp.c/reduction-11.c: New test. 10748 * testsuite/libgomp.c/reduction-12.c: New test. 10749 * testsuite/libgomp.c/reduction-13.c: New test. 10750 * testsuite/libgomp.c/reduction-14.c: New test. 10751 * testsuite/libgomp.c/reduction-15.c: New test. 10752 * testsuite/libgomp.c/target-12.c (main): Adjust for 10753 omp_target_is_present change for one-past-last element. 10754 * testsuite/libgomp.c/target-17.c (foo): Drop tests where 10755 the same var is both mapped and privatized. 10756 * testsuite/libgomp.c/target-19.c (foo): Adjust for different 10757 handling of zero-length array sections. 10758 * testsuite/libgomp.c/target-28.c: New test. 10759 * testsuite/libgomp.c/target-29.c: New test. 10760 * testsuite/libgomp.c/target-30.c: New test. 10761 * testsuite/libgomp.c/target-teams-1.c: New test. 10762 * testsuite/libgomp.c++/member-6.C: New test. 10763 * testsuite/libgomp.c++/member-7.C: New test. 10764 * testsuite/libgomp.c++/monotonic-1.C: New test. 10765 * testsuite/libgomp.c++/monotonic-2.C: New test. 10766 * testsuite/libgomp.c++/nonmonotonic-1.C: New test. 10767 * testsuite/libgomp.c++/nonmonotonic-2.C: New test. 10768 * testsuite/libgomp.c++/pr66199-3.C: New test. 10769 * testsuite/libgomp.c++/pr66199-4.C: New test. 10770 * testsuite/libgomp.c++/pr66199-5.C: New test. 10771 * testsuite/libgomp.c++/pr66199-6.C: New test. 10772 * testsuite/libgomp.c++/pr66199-7.C: New test. 10773 * testsuite/libgomp.c++/pr66199-8.C: New test. 10774 * testsuite/libgomp.c++/pr66199-9.C: New test. 10775 * testsuite/libgomp.c++/reduction-11.C: New test. 10776 * testsuite/libgomp.c++/reduction-12.C: New test. 10777 * testsuite/libgomp.c++/target-13.C: New test. 10778 * testsuite/libgomp.c++/target-14.C: New test. 10779 * testsuite/libgomp.c++/target-15.C: New test. 10780 * testsuite/libgomp.c++/target-16.C: New test. 10781 * testsuite/libgomp.c++/target-17.C: New test. 10782 * testsuite/libgomp.c++/target-18.C: New test. 10783 * testsuite/libgomp.c++/target-19.C: New test. 10784 107852015-11-04 Nathan Sidwell <nathan@codesourcery.com> 10786 10787 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions 10788 and reduction copy. 10789 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise. 10790 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise. 10791 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise. 10792 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. 10793 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise. 10794 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise. 10795 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise. 10796 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise. 10797 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise. 10798 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise. 10799 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise. 10800 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise. 10801 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise. 10802 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New. 10803 108042015-11-04 Nathan Sidwell <nathan@codesourcery.com> 10805 10806 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New. 10807 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New. 10808 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New. 10809 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New. 10810 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New. 10811 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New. 10812 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New. 10813 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var. 10814 108152015-11-03 Nathan Sidwell <nathan@codesourcery.com> 10816 10817 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func. 10818 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg. 10819 (GOMP_OFFLOAD_openacc_parallel): Likewise. 10820 * oacc-host.c (host_openacc_exec): Likewise. 10821 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call. 10822 108232015-11-03 Julian Brown <julian@codesourcery.com> 10824 Thomas Schwinge <thomas@codesourcery.com> 10825 10826 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file. 10827 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise. 10828 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: 10829 Likewise. 10830 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise. 10831 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise. 10832 108332015-11-03 James Norris <jnorris@codesourcery.com> 10834 10835 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New 10836 file. 10837 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: 10838 Likewise. 10839 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise. 10840 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise. 10841 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise. 10842 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file. 10843 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise. 10844 108452015-10-29 Nathan Sidwell <nathan@codesourcery.com> 10846 10847 * openacc.h (enum acc_device_t): Reformat. Ensure layout 10848 compatibility. 10849 (enum acc_async_t): Reformat. 10850 (acc_on_device): Declare compatible with builtin and provide C++ 10851 wrapper. 10852 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New. 10853 108542015-10-29 Thomas Schwinge <thomas@codesourcery.com> 10855 Cesar Philippidis <cesar@codesourcery.com> 10856 10857 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to... 10858 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c: 10859 ... this. Add a description of the test at the top of the file. 10860 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to... 10861 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: 10862 ... this. Add a description of the test at the top of the file. 10863 108642015-10-28 Nathan Sidwell <nathan@codesourcery.com> 10865 10866 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New. 10867 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New. 10868 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New. 10869 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New. 10870 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New. 10871 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New. 10872 108732015-10-27 Nathan Sidwell <nathan@codesourcery.com> 10874 10875 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute 10876 dimensions. 10877 108782015-10-27 Thomas Schwinge <thomas@codesourcery.com> 10879 10880 PR testsuite/68063 10881 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause. 10882 108832015-10-27 James Norris <jnorris@codesourcery.com> 10884 10885 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file. 10886 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise. 10887 108882015-10-26 Thomas Schwinge <thomas@codesourcery.com> 10889 10890 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr. 10891 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise. 10892 10893 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit 10894 acc_device_nvidia usage. 10895 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise. 10896 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise. 10897 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise. 10898 10899 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once. 10900 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file. 10901 10902 PR libgomp/66518 10903 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL. 10904 10905 PR libgomp/65437 10906 PR libgomp/66518 10907 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize. 10908 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL. 10909 109102015-10-23 Tom de Vries <tom@codesourcery.com> 10911 10912 PR testsuite/68063 10913 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause. 10914 109152015-10-20 Nathan Sidwell <nathan@codesourcery.com> 10916 10917 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane 10918 vector_length. 10919 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. 10920 109212015-10-14 Ilya Verbin <ilya.verbin@intel.com> 10922 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com> 10923 10924 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end 10925 to 0 when mapnum is 0. 10926 109272015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de> 10928 10929 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_): 10930 Cast to int from int32_t. 10931 109322015-10-13 Jakub Jelinek <jakub@redhat.com> 10933 Aldy Hernandez <aldyh@redhat.com> 10934 Ilya Verbin <ilya.verbin@intel.com> 10935 10936 * config/linux/affinity.c (omp_get_place_num_procs, 10937 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions. 10938 * config/linux/doacross.h: New file. 10939 * config/posix/affinity.c (omp_get_place_num_procs, 10940 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions. 10941 * config/posix/doacross.h: New file. 10942 * env.c: Include gomp-constants.h. 10943 (struct gomp_task_icv): Rename run_sched_modifier to 10944 run_sched_chunk_size. 10945 (gomp_max_task_priority_var): New variable. 10946 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size. 10947 (handle_omp_display_env): Change _OPENMP value from 201307 to 10948 201511. Print OMP_MAX_TASK_PRIORITY. 10949 (initialize_env): Parse OMP_MAX_TASK_PRIORITY. 10950 (omp_set_schedule, omp_get_schedule): Rename modifier argument to 10951 chunk_size and run_sched_modifier to run_sched_chunk_size. 10952 (omp_get_max_task_priority, omp_get_initial_device, 10953 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places, 10954 omp_get_partition_place_nums): New functions. 10955 * fortran.c (omp_set_schedule_, omp_set_schedule_8_, 10956 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument 10957 to chunk_size. 10958 (omp_get_num_places_, omp_get_place_num_procs_, 10959 omp_get_place_num_procs_8_, omp_get_place_proc_ids_, 10960 omp_get_place_proc_ids_8_, omp_get_place_num_, 10961 omp_get_partition_num_places_, omp_get_partition_place_nums_, 10962 omp_get_partition_place_nums_8_, omp_get_initial_device_, 10963 omp_get_max_task_priority_): New functions. 10964 * libgomp_g.h (GOMP_loop_doacross_static_start, 10965 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start, 10966 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start, 10967 GOMP_loop_ull_doacross_dynamic_start, 10968 GOMP_loop_ull_doacross_guided_start, 10969 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post, 10970 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait, 10971 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41, 10972 GOMP_target_data_41, GOMP_target_update_41, 10973 GOMP_target_enter_exit_data): New prototypes. 10974 (GOMP_task): Add prototype argument. 10975 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined. 10976 (struct gomp_doacross_work_share): New type. 10977 (struct gomp_work_share): Add doacross field. 10978 (struct gomp_task_icv): Rename run_sched_modifier to 10979 run_sched_chunk_size. 10980 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to 10981 GOMP_TASK_UNDEFERRED. Add comments. 10982 (struct gomp_task_depend_entry): Add comments. 10983 (struct gomp_task): Likewise. 10984 (struct gomp_taskgroup): Likewise. 10985 (struct gomp_target_task): New type. 10986 (struct gomp_team): Add comment. 10987 (gomp_get_place_proc_ids_8, gomp_doacross_init, 10988 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies, 10989 gomp_create_target_task, gomp_target_task_fn): New prototypes. 10990 (struct target_var_desc): New type. 10991 (struct target_mem_desc): Adjust comment. Use struct 10992 target_var_desc instead of splay_tree_key for list. 10993 (REFCOUNT_INFINITY): Define. 10994 (struct splay_tree_key_s): Remove copy_from field. 10995 (struct gomp_device_descr): Add dev2dev_func field. 10996 (enum gomp_map_vars_kind): New enum. 10997 (gomp_map_vars): Add one argument. 10998 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority, 10999 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_, 11000 omp_get_place_num_procs, omp_get_place_num_procs_, 11001 omp_get_place_num_procs_8_, omp_get_place_proc_ids, 11002 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num, 11003 omp_get_place_num_, omp_get_partition_num_places, 11004 omp_get_partition_num_places_, omp_get_partition_place_nums, 11005 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_, 11006 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc, 11007 omp_target_free, omp_target_is_present, omp_target_memcpy, 11008 omp_target_memcpy_rect, omp_target_associate_ptr and 11009 omp_target_disassociate_ptr. 11010 (GOMP_4.0.2): Renamed to ... 11011 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41, 11012 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop, 11013 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start, 11014 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start, 11015 GOMP_loop_doacross_static_start, GOMP_doacross_post, 11016 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start, 11017 GOMP_loop_ull_doacross_guided_start, 11018 GOMP_loop_ull_doacross_runtime_start, 11019 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and 11020 GOMP_doacross_ull_wait. 11021 * libgomp.texi: Document omp_get_max_task_priority. 11022 Rename modifier argument to chunk_size for omp_set_schedule and 11023 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var. 11024 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier 11025 to run_sched_chunk_size renaming. 11026 (GOMP_loop_ordered_runtime_start): Likewise. 11027 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start, 11028 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start, 11029 GOMP_parallel_loop_runtime_start): New functions. 11030 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier 11031 to run_sched_chunk_size renaming. 11032 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start, 11033 GOMP_loop_doacross_guided_start): New functions or aliases. 11034 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for 11035 run_sched_modifier to run_sched_chunk_size renaming. 11036 (GOMP_loop_ull_ordered_runtime_start): Likewise. 11037 (gomp_loop_ull_doacross_static_start, 11038 gomp_loop_ull_doacross_dynamic_start, 11039 gomp_loop_ull_doacross_guided_start, 11040 GOMP_loop_ull_doacross_runtime_start): New functions. 11041 (GOMP_loop_ull_doacross_static_start, 11042 GOMP_loop_ull_doacross_dynamic_start, 11043 GOMP_loop_ull_doacross_guided_start): New functions or aliases. 11044 * oacc-mem.c (acc_map_data, present_create_copy, 11045 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false 11046 to gomp_map_vars. 11047 (gomp_acc_remove_pointer): Use copy_from from target_var_desc. 11048 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC 11049 instead of false to gomp_map_vars. 11050 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc. 11051 * omp.h.in (omp_lock_hint_t): New type. 11052 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint, 11053 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids, 11054 omp_get_place_num, omp_get_partition_num_places, 11055 omp_get_partition_place_nums, omp_get_initial_device, 11056 omp_get_max_task_priority, omp_target_alloc, omp_target_free, 11057 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect, 11058 omp_target_associate_ptr, omp_target_disassociate_ptr): New 11059 prototypes. 11060 * omp_lib.f90.in (omp_lock_hint_kind): New parameter. 11061 (omp_lock_hint_none, omp_lock_hint_uncontended, 11062 omp_lock_hint_contended, omp_lock_hint_nonspeculative, 11063 omp_lock_hint_speculative): New parameters. 11064 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint, 11065 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids, 11066 omp_get_place_num, omp_get_partition_num_places, 11067 omp_get_partition_place_nums, omp_get_initial_device, 11068 omp_get_max_task_priority): New interfaces. 11069 (omp_set_schedule, omp_get_schedule): Rename modifier argument 11070 to chunk_size. 11071 * omp_lib.h.in (omp_lock_hint_kind): New parameter. 11072 (omp_lock_hint_none, omp_lock_hint_uncontended, 11073 omp_lock_hint_contended, omp_lock_hint_nonspeculative, 11074 omp_lock_hint_speculative): New parameters. 11075 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint, 11076 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids, 11077 omp_get_place_num, omp_get_partition_num_places, 11078 omp_get_partition_place_nums, omp_get_initial_device, 11079 omp_get_max_task_priority): New functions and subroutines. 11080 * ordered.c: Include stdarg.h and string.h. 11081 (MAX_COLLAPSED_BITS): Define. 11082 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait, 11083 gomp_doacross_ull_init, GOMP_doacross_ull_post, 11084 GOMP_doacross_ull_wait): New functions. 11085 * target.c: Include errno.h. 11086 (resolve_device): If device is not initialized, call 11087 gomp_init_device on it. 11088 (gomp_map_lookup): New function. 11089 (gomp_map_vars_existing): Add tgt_var argument, fill it in. 11090 Don't bump refcount if REFCOUNT_INFINITY. Handle 11091 GOMP_MAP_ALWAYS_TO_P. 11092 (get_kind): Rename is_openacc argument to short_mapkind. 11093 (gomp_map_pointer): Use gomp_map_lookup. 11094 (gomp_map_fields_existing): New function. 11095 (gomp_map_vars): Rename is_openacc argument to short_mapkind 11096 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA, 11097 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT, 11098 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION. 11099 Adjust for tgt->list changed type and copy_from living in there. 11100 (gomp_copy_from_async): Adjust for tgt->list changed type and 11101 copy_from living in there. 11102 (gomp_unmap_vars): Likewise. 11103 (gomp_update): Likewise. Rename is_openacc argument to 11104 short_mapkind. Don't fail if object is not mapped. 11105 (gomp_load_image_to_device): Initialize refcount to 11106 REFCOUNT_INFINITY. 11107 (gomp_target_fallback): New function. 11108 (gomp_get_target_fn_addr): Likewise. 11109 (GOMP_target): Adjust gomp_map_vars caller, use 11110 gomp_get_target_fn_addr and gomp_target_fallback. 11111 (GOMP_target_41): New function. 11112 (gomp_target_data_fallback): New function. 11113 (GOMP_target_data): Use it, adjust gomp_map_vars caller. 11114 (GOMP_target_data_41): New function. 11115 (GOMP_target_update): Adjust gomp_update caller. 11116 (GOMP_target_update_41): New function. 11117 (gomp_exit_data, GOMP_target_enter_exit_data, 11118 gomp_target_task_fn, omp_target_alloc, omp_target_free, 11119 omp_target_is_present, omp_target_memcpy, 11120 omp_target_memcpy_rect_worker, omp_target_memcpy_rect, 11121 omp_target_associate_ptr, omp_target_disassociate_ptr, 11122 gomp_load_plugin_for_device): New functions. 11123 * task.c: Include gomp-constants.h. Include taskloop.c 11124 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions. 11125 (gomp_task_handle_depend): New function. 11126 (GOMP_task): Use it. Add priority argument. Use 11127 gomp-constant.h constants instead of hardcoded numbers. 11128 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED. 11129 (gomp_create_target_task): New function. 11130 (verify_children_queue, verify_taskgroup_queue, 11131 verify_task_queue): New functions. 11132 (gomp_task_run_pre): Call verify_*_queue functions. 11133 If an upcoming tied task is about to leave the sibling or 11134 taskgroup queues in an invalid state, adjust appropriately. 11135 Remove taskgroup argument. Add comments. 11136 (gomp_task_run_post_handle_dependers): Add comments. 11137 (gomp_task_run_post_remove_parent): Likewise. 11138 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller. 11139 (GOMP_taskwait): Likewise. Add comments. 11140 (gomp_task_maybe_wait_for_dependencies): Fix scheduling 11141 problem such that the first non parent_depends_on task does not 11142 end up at the end of the children queue. 11143 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to 11144 GOMP_TASK_UNDEFERRED. 11145 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller. 11146 * taskloop.c: New file. 11147 * testsuite/lib/libgomp.exp 11148 (check_effective_target_offload_device_nonshared_as): New proc. 11149 * testsuite/libgomp.c/affinity-2.c: New test. 11150 * testsuite/libgomp.c/doacross-1.c: New test. 11151 * testsuite/libgomp.c/doacross-2.c: New test. 11152 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper): 11153 Add map clause to target. 11154 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise. 11155 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise. 11156 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise. 11157 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise. 11158 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt): 11159 Likewise. 11160 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise. 11161 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise. 11162 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise. 11163 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if 11164 not defined. Use those where needed. 11165 * testsuite/libgomp.c/for-4.c: New test. 11166 * testsuite/libgomp.c/for-5.c: New test. 11167 * testsuite/libgomp.c/for-6.c: New test. 11168 * testsuite/libgomp.c/linear-1.c: New test. 11169 * testsuite/libgomp.c/ordered-4.c: New test. 11170 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause 11171 only allowed on the loop iterator. 11172 * testsuite/libgomp.c/pr66199-3.c: New test. 11173 * testsuite/libgomp.c/pr66199-4.c: New test. 11174 * testsuite/libgomp.c/reduction-7.c: New test. 11175 * testsuite/libgomp.c/reduction-8.c: New test. 11176 * testsuite/libgomp.c/reduction-9.c: New test. 11177 * testsuite/libgomp.c/reduction-10.c: New test. 11178 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add 11179 map(tofrom:s). 11180 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise. 11181 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed. 11182 * testsuite/libgomp.c/target-11.c: New test. 11183 * testsuite/libgomp.c/target-12.c: New test. 11184 * testsuite/libgomp.c/target-13.c: New test. 11185 * testsuite/libgomp.c/target-14.c: New test. 11186 * testsuite/libgomp.c/target-15.c: New test. 11187 * testsuite/libgomp.c/target-16.c: New test. 11188 * testsuite/libgomp.c/target-17.c: New test. 11189 * testsuite/libgomp.c/target-18.c: New test. 11190 * testsuite/libgomp.c/target-19.c: New test. 11191 * testsuite/libgomp.c/target-20.c: New test. 11192 * testsuite/libgomp.c/target-21.c: New test. 11193 * testsuite/libgomp.c/target-22.c: New test. 11194 * testsuite/libgomp.c/target-23.c: New test. 11195 * testsuite/libgomp.c/target-24.c: New test. 11196 * testsuite/libgomp.c/target-25.c: New test. 11197 * testsuite/libgomp.c/target-26.c: New test. 11198 * testsuite/libgomp.c/target-27.c: New test. 11199 * testsuite/libgomp.c/taskloop-1.c: New test. 11200 * testsuite/libgomp.c/taskloop-2.c: New test. 11201 * testsuite/libgomp.c/taskloop-3.c: New test. 11202 * testsuite/libgomp.c/taskloop-4.c: New test. 11203 * testsuite/libgomp.c++/ctor-13.C: New test. 11204 * testsuite/libgomp.c++/doacross-1.C: New test. 11205 * testsuite/libgomp.c++/examples-4/declare_target-2.C: 11206 Replace offload_device with offload_device_nonshared_as. 11207 * testsuite/libgomp.c++/for-12.C: New test. 11208 * testsuite/libgomp.c++/for-13.C: New test. 11209 * testsuite/libgomp.c++/for-14.C: New test. 11210 * testsuite/libgomp.c++/linear-1.C: New test. 11211 * testsuite/libgomp.c++/member-1.C: New test. 11212 * testsuite/libgomp.c++/member-2.C: New test. 11213 * testsuite/libgomp.c++/member-3.C: New test. 11214 * testsuite/libgomp.c++/member-4.C: New test. 11215 * testsuite/libgomp.c++/member-5.C: New test. 11216 * testsuite/libgomp.c++/ordered-1.C: New test. 11217 * testsuite/libgomp.c++/reduction-5.C: New test. 11218 * testsuite/libgomp.c++/reduction-6.C: New test. 11219 * testsuite/libgomp.c++/reduction-7.C: New test. 11220 * testsuite/libgomp.c++/reduction-8.C: New test. 11221 * testsuite/libgomp.c++/reduction-9.C: New test. 11222 * testsuite/libgomp.c++/reduction-10.C: New test. 11223 * testsuite/libgomp.c++/reference-1.C: New test. 11224 * testsuite/libgomp.c++/simd14.C: New test. 11225 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause. 11226 * testsuite/libgomp.c++/target-5.C: New test. 11227 * testsuite/libgomp.c++/target-6.C: New test. 11228 * testsuite/libgomp.c++/target-7.C: New test. 11229 * testsuite/libgomp.c++/target-8.C: New test. 11230 * testsuite/libgomp.c++/target-9.C: New test. 11231 * testsuite/libgomp.c++/target-10.C: New test. 11232 * testsuite/libgomp.c++/target-11.C: New test. 11233 * testsuite/libgomp.c++/target-12.C: New test. 11234 * testsuite/libgomp.c++/taskloop-1.C: New test. 11235 * testsuite/libgomp.c++/taskloop-2.C: New test. 11236 * testsuite/libgomp.c++/taskloop-3.C: New test. 11237 * testsuite/libgomp.c++/taskloop-4.C: New test. 11238 * testsuite/libgomp.c++/taskloop-5.C: New test. 11239 * testsuite/libgomp.c++/taskloop-6.C: New test. 11240 * testsuite/libgomp.c++/taskloop-7.C: New test. 11241 * testsuite/libgomp.c++/taskloop-8.C: New test. 11242 * testsuite/libgomp.c++/taskloop-9.C: New test. 11243 * testsuite/libgomp.fortran/affinity1.f90: New test. 11244 * testsuite/libgomp.fortran/affinity2.f90: New test. 11245 112462015-10-13 Tom de Vries <tom@codesourcery.com> 11247 11248 PR tree-optimization/67476 11249 * testsuite/libgomp.c/autopar-3.c: New test. 11250 * testsuite/libgomp.c/autopar-4.c: New test. 11251 * testsuite/libgomp.c/autopar-5.c: New test. 11252 * testsuite/libgomp.c/autopar-6.c: New test. 11253 * testsuite/libgomp.c/autopar-7.c: New test. 11254 * testsuite/libgomp.c/autopar-8.c: New test. 11255 112562015-10-12 James Norris <jnorris@codesourcery.com> 11257 11258 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop 11259 initializer. 11260 112612015-10-09 David Malcolm <dmalcolm@redhat.com> 11262 11263 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp, 11264 using load_gcc_lib. 11265 112662015-10-02 Thomas Schwinge <thomas@codesourcery.com> 11267 11268 * oacc-ptx.h: Remove file, moving its content into... 11269 * config/nvptx/fortran.c: ... here... 11270 * config/nvptx/oacc-init.c: ..., here... 11271 * config/nvptx/oacc-parallel.c: ..., and here. 11272 * config/nvptx/openacc.f90: New file. 11273 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h". 11274 (link_ptx): Don't link in predefined bits of PTX code. 11275 112762015-09-30 Nathan Sidwell <nathan@codesourcery.com> 11277 Bernd Schmidt <bernds@codesourcery.com> 11278 11279 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX. 11280 (struct targ_ptx_obj): New. 11281 (nvptx_tdata): Move earlier, change data format. 11282 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple 11283 objects. 11284 (GOMP_OFFLOAD_load_image): Adjust. 11285 112862015-09-30 Thomas Schwinge <thomas@codesourcery.com> 11287 11288 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint. 11289 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise. 11290 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise. 11291 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise. 11292 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise. 11293 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise. 11294 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise. 11295 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise. 11296 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise. 11297 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise. 11298 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise. 11299 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise. 11300 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise. 11301 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise. 11302 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise. 11303 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise. 11304 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise. 11305 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise. 11306 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise. 11307 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise. 11308 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. 11309 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise. 11310 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise. 11311 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise. 11312 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise. 11313 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise. 11314 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise. 11315 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise. 11316 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise. 11317 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise. 11318 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise. 11319 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise. 11320 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise. 11321 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise. 11322 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. 11323 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise. 11324 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise. 11325 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise. 11326 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise. 11327 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise. 11328 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise. 11329 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise. 11330 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise. 11331 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise. 11332 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise. 11333 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise. 11334 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise. 11335 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise. 11336 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise. 11337 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise. 11338 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise. 11339 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise. 11340 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise. 11341 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise. 11342 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise. 11343 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise. 11344 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise. 11345 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise. 11346 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise. 11347 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise. 11348 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise. 11349 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise. 11350 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise. 11351 113522015-09-29 Nathan Sidwell <nathan@codesourcery.com> 11353 11354 * oacc-init.c (acc_on_device): Force optimization level. 11355 113562015-09-29 Nathan Sidwell <nathan@codesourcery.com> 11357 11358 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete. 11359 (cuda_errlist): Delete. 11360 (cuda_error): Reimplement. 11361 113622015-09-28 Nathan Sidwell <nathan@codesourcery.com> 11363 11364 * libgomp.h (acc_dispatch_t): Replace separate geometry args with 11365 array. 11366 * libgomp.map (GOACC_parallel_keyed): New. 11367 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust 11368 all callers. 11369 (GOACC_parallel_keyed): New interface. Lose geometry arguments 11370 and take keyed varargs list. Adjust call to exec_func. 11371 (GOACC_parallel): Force host fallback. 11372 * libgomp_g.h (GOACC_parallel): Remove. 11373 (GOACC_parallel_keyed): Declare. 11374 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct. 11375 (struct targ_gn_descriptor): Replace name field with launch field. 11376 (nvptx_exec): Lose separate geometry args, take array. Process 11377 dynamic dimensions and adjust. 11378 (struct nvptx_tdata): Replace fn_names field with fn_descs. 11379 (GOMP_OFFLOAD_load_image): Adjust for change in function table 11380 data. 11381 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension 11382 passing. 11383 * oacc-host.c (host_openacc_exec): Adjust for change in dimension 11384 passing. 11385 113862015-09-22 Chung-Lin Tang <cltang@codesourcery.com> 11387 11388 PR libgomp/67141 11389 * oacc-int.h (goacc_host_init): Add declaration. 11390 * oacc-host.c (goacc_host_init): Remove static and constructor attribute. 11391 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end. 11392 113932015-09-08 Aditya Kumar <hiraditya@msn.com> 11394 Sebastian Pop <s.pop@samsung.com> 11395 11396 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to 11397 match o/p. 11398 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same. 11399 * testsuite/libgomp.graphite/force-parallel-4.c: Same. 11400 * testsuite/libgomp.graphite/force-parallel-5.c: Same. 11401 * testsuite/libgomp.graphite/force-parallel-7.c: Same. 11402 * testsuite/libgomp.graphite/force-parallel-8.c: Same. 11403 114042015-09-03 Jakub Jelinek <jakub@redhat.com> 11405 11406 * configure.tgt: Add missing ;; in between nvptx and rtems 11407 snippets. 11408 114092015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de> 11410 11411 * config/posix/pool.h (gomp_adjust_thread_attr): New. 11412 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise. 11413 (gomp_thread_pool_reservoir): Add priority member. 11414 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add 11415 priority. 11416 (parse_thread_pools): Likewise. 11417 * team.c (gomp_team_start): Call configuration provided 11418 gomp_adjust_thread_attr(). Destroy thread attributes if 11419 necessary. 11420 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS. 11421 114222015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de> 11423 11424 * config/posix/pool.h: New. 11425 * config/rtems/pool.h: Likewise. 11426 * config/rtems/proc.c: Likewise. 11427 * libgomp.h (gomp_thread_destructor): Declare. 11428 * team.c: Include configuration provided "pool.h". 11429 (gomp_get_thread_pool): Define in configuration. 11430 (gomp_team_end): Call configuration defined 11431 gomp_release_thread_pool(). 11432 114332015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de> 11434 11435 * config/rtems/bar.c: New. 11436 * config/rtems/bar.h: Likewise. 11437 * config/rtems/mutex.c: Likewise. 11438 * config/rtems/mutex.h: Likewise. 11439 * config/rtems/sem.c: Likewise. 11440 * config/rtems/sem.h: Likewise. 11441 * configure.ac (*-*-rtems*): Check that Newlib provides a proper 11442 <sys/lock.h> header file. 11443 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if 11444 supported by Newlib. 11445 * configure: Regenerate. 11446 114472015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de> 11448 11449 * team.c (gomp_new_thread_pool): Delete and move content to ... 11450 (gomp_get_thread_pool): ... new function. Allocate and 11451 initialize thread pool on demand. 11452 (get_last_team): Use gomp_get_thread_pool(). 11453 (gomp_team_start): Delete thread pool initialization. 11454 114552015-09-03 Tom de Vries <tom@codesourcery.com> 11456 11457 PR tree-optimization/65637 11458 * testsuite/libgomp.c/autopar-2.c: New test. 11459 114602015-08-29 Tom de Vries <tom@codesourcery.com> 11461 11462 PR tree-optimization/46193 11463 * testsuite/libgomp.c/pr46193.c: New test. 11464 114652015-08-24 Nathan Sidwell <nathan@codesourcery.com> 11466 11467 libgomp/ 11468 * libgomp.map: Add 4.0.2 version. 11469 * target.c (offload_image_descr): Add version field. 11470 (gomp_load_image_to_device): Add version argument. Adjust plugin 11471 call. Improve load mismatch diagnostic. 11472 (gomp_unload_image_from_device): Add version argument. Adjust plugin 11473 call. 11474 (GOMP_offload_regster): Make stub function, move bulk to ... 11475 (GOMP_offload_register_ver): ... here. Process version argument. 11476 (GOMP_offload_unregister): Make stub function, move bulk to ... 11477 (GOMP_offload_unregister_ver): ... here. Process version argument. 11478 (gomp_init_device): Process version field. 11479 (gomp_unload_device): Process version field. 11480 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT 11481 macros. Check plugin version. 11482 * libgomp.h (gomp_device_descr): Add version function field. Adjust 11483 loader and unloader types. 11484 * oacc-host.c: Include gomp-constants.h. 11485 (host_version): New. 11486 (host_load_image, host_unload_image): Adjust. 11487 (host_dispatch): Add host_version. 11488 * plugin/plugin-nvptx.c: Include gomp-constants.h. 11489 (GOMP_OFFLOAD_version): New. 11490 (GOMP_OFFLOAD_load_image): Add version arg and check it. 11491 (GOMP_OFFLOAD_unload_image): Likewise. 11492 * plugin/plugin-host.c: Include gomp-constants.h. 11493 (GOMP_OFFLOAD_version): New. 11494 (GOMP_OFFLOAD_load_image): Add version arg. 11495 (GOMP_OFFLOAD_unload_image): Likewise. 11496 114972015-08-24 Tom de Vries <tom@codesourcery.com> 11498 11499 PR tree-optimization/65468 11500 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test. 11501 115022015-08-24 Tom de Vries <tom@codesourcery.com> 11503 11504 PR tree-optimization/65468 11505 * testsuite/libgomp.c/static-chunk-size-one.c: New test. 11506 115072015-08-24 Joost VandeVondele <vondele@gnu.gcc.org> 11508 11509 PR libgomp/66761 11510 PR libgomp/67303 11511 * iter.c (gomp_iter_dynamic_next): Employ an atomic load. 11512 (gomp_iter_guided_next): Idem. 11513 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem. 11514 (gomp_iter_ull_guided_next): Idem. 11515 * config/linux/wait.h (do_spin): Idem. 11516 115172015-08-10 Thomas Schwinge <thomas@codesourcery.com> 11518 11519 * libgomp-plugin.h (enum offload_target_type): Remove 11520 OFFLOAD_TARGET_TYPE_HOST_NONSHM. 11521 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm. 11522 * openacc.h (enum acc_device_t): Likewise. 11523 * openacc_lib.h: Likewise. 11524 * oacc-init.c (name_of_acc_device_t): Don't handle it. 11525 (acc_on_device): Just use __builtin_acc_on_device. 11526 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage 11527 of acc_on_device builtin. 11528 * plugin/plugin-host.h: Remove file. 11529 * plugin/plugin-host.c: Likewise, but salvage some content into... 11530 * oacc-host.c: ... this file. 11531 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la. 11532 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm. 11533 * Makefile.in: Regenerate. 11534 * configure: Likewise. 11535 * testsuite/lib/libgomp.exp 11536 (check_effective_target_openacc_host_nonshm_selected): Remove. 11537 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle 11538 ACC_DEVICE_TYPE=host_nonshm. 11539 * testsuite/libgomp.oacc-c/c.exp: Likewise. 11540 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 11541 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise. 11542 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise. 11543 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise. 11544 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise. 11545 115462015-08-10 Thomas Schwinge <thomas@codesourcery.com> 11547 Jakub Jelinek <jakub@redhat.com> 11548 11549 * config/nvptx/affinity.c: New file. 11550 * config/nvptx/alloc.c: Likewise. 11551 * config/nvptx/bar.c: Likewise. 11552 * config/nvptx/barrier.c: Likewise. 11553 * config/nvptx/critical.c: Likewise. 11554 * config/nvptx/env.c: Likewise. 11555 * config/nvptx/error.c: Likewise. 11556 * config/nvptx/fortran.c: Likewise. 11557 * config/nvptx/iter.c: Likewise. 11558 * config/nvptx/iter_ull.c: Likewise. 11559 * config/nvptx/libgomp-plugin.c: Likewise. 11560 * config/nvptx/lock.c: Likewise. 11561 * config/nvptx/loop.c: Likewise. 11562 * config/nvptx/loop_ull.c: Likewise. 11563 * config/nvptx/mutex.c: Likewise. 11564 * config/nvptx/oacc-async.c: Likewise. 11565 * config/nvptx/oacc-cuda.c: Likewise. 11566 * config/nvptx/oacc-host.c: Likewise. 11567 * config/nvptx/oacc-init.c: Likewise. 11568 * config/nvptx/oacc-mem.c: Likewise. 11569 * config/nvptx/oacc-parallel.c: Likewise. 11570 * config/nvptx/oacc-plugin.c: Likewise. 11571 * config/nvptx/omp-lock.h: Likewise. 11572 * config/nvptx/ordered.c: Likewise. 11573 * config/nvptx/parallel.c: Likewise. 11574 * config/nvptx/proc.c: Likewise. 11575 * config/nvptx/ptrlock.c: Likewise. 11576 * config/nvptx/sections.c: Likewise. 11577 * config/nvptx/sem.c: Likewise. 11578 * config/nvptx/single.c: Likewise. 11579 * config/nvptx/splay-tree.c: Likewise. 11580 * config/nvptx/target.c: Likewise. 11581 * config/nvptx/task.c: Likewise. 11582 * config/nvptx/team.c: Likewise. 11583 * config/nvptx/time.c: Likewise. 11584 * config/nvptx/work.c: Likewise. 11585 * configure.ac: Don't probe pthreads support for host nvptx*-*-*. 11586 * configure: Regenerate. 11587 * configure.tgt (config_path): Set to "nvptx" for target 11588 nvptx*-*-*. 11589 115902015-08-10 Thomas Schwinge <thomas@codesourcery.com> 11591 11592 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file. 11593 115942015-08-03 Nathan Sidwell <nathan@codesourcery.com> 11595 11596 * plugin/plugin-nvptx.c: Don't include dlfcn.h. 11597 (cuda_errlist): Constify. 11598 (errmsg): Move into ... 11599 (cuda_error): ... here. Make smaller. 11600 (_XSTR, _STR): Delete. 11601 (cuda_synames): Delete. 11602 (verify_device_library): Delete. 11603 (nvptx_init): Don't call it. 11604 116052015-07-28 Tom de Vries <tom@codesourcery.com> 11606 11607 * testsuite/libgomp.c/uns-outer-4.c: New test. 11608 116092015-07-24 Cesar Philippidis <cesar@codesourcery.com> 11610 11611 * testsuite/libgomp.c/pr66714.c: New test. 11612 116132015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com> 11614 11615 PR libgomp/66950 11616 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45. 11617 (fib_ref): New function. 11618 (fib): Correct corner cases in the recursion. 11619 (main): Replace the non-simd loop with fib_ref call. 11620 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New 11621 subroutine. 11622 (fibonacci): Lower the parameter N to 30. Correct accordingly check 11623 for the last array element value. Replace the non-simd loop with 11624 fib_ref call. Remove redundant b_ref array. Remove the comparison 11625 of the last array element with according Fibonacci sequence element. 11626 (fib): Correct corner cases in the recursion. 11627 116282015-07-21 Nathan Sidwell <nathan@codesourcery.com> 11629 11630 * target.c (gomp_offload_image_to_device): Rename to ... 11631 (gomp_load_image_to_device): ... here. 11632 (GOMP_offload_register): Adjust call. 11633 (gomp_init_device): Likewise. 11634 (gomp_unload_image_from_device): New. Broken out of ... 11635 (GOMP_offload_unregister): ... here. Call it. 11636 (gomp_unload_device): New. 11637 * libgomp.h (gomp_unload_device): Declare. 11638 * oacc-init.c (acc_shutdown_1): Unload from device before deleting 11639 mem maps. 11640 116412015-07-20 Nathan Sidwell <nathan@codesourcery.com> 11642 11643 * oacc-parallel.c (GOACC_parallel): Move variadic handling into 11644 wait=-specific if. 11645 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits 11646 !=0 condition. 11647 (goacc_waits): Move !num_waits handling to ... 11648 (GOACC_wait): ... here, the only caller that might have zero waits. 11649 11650 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later. 11651 (struct ptx_image_data): Move earlier, add fns field. 11652 (struct ptx_device): Add images and image_lock fields. 11653 (ptx_images, ptx_image_lock): Delete. 11654 (nvptx_open_device): Initialize images and image_lock fields. 11655 (nvptx_close_device): Destroy image_lock. 11656 (GOMP_OFFLOAD_load_image): Register image to device-specific fields. 11657 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific 11658 fields. 11659 116602015-07-17 Nathan Sidwell <nathan@codesourcery.com> 11661 11662 * target.c (GOMP_offload_register): Use int for device type arg. 11663 (GOMP_offload_unregister): Likewise. 11664 11665 * target.c (struct_offload_image_descr): Constify host_table. 11666 (gomp_offload_image_to_device): Likewise. 11667 (GOMP_offload_register, GOMP_offload_unregister): Likewise. 11668 11669 * libgomp.h (gomp_device_descr): Constify target data arguments. 11670 * target.c (struct offload_image_descr): Constify target_data. 11671 (gomp_offload_image_to_device): Likewise. 11672 (GOMP_offload_register): Likewise. 11673 (GOMP_offload_unregister): Likewise. 11674 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image, 11675 GOMP_OFFLOAD_unload_image): Constify target data. 11676 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data. 11677 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise. 11678 116792015-07-16 Nathan Sidwell <nathan@codesourcery.com> 11680 11681 * plugin/plugin-nvptx.c (link_ptx): Constify string argument. 11682 Workaround driver library const error. 11683 (struct nvptx_tdata, nvptx_tdata_t): New. 11684 (GOMP_OFFLOAD_load_image): Use struct for target_data's real 11685 type. 11686 116872015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com> 11688 11689 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type 11690 of EPS parameter from integer to real. 11691 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change 11692 type of EPS parameter from integer to real. 11693 116942015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de> 11695 11696 * team.c (get_last_team): New. 11697 (gomp_new_team): Recycle last non-nested team if possible. 11698 (gomp_team_end): Move team work share list free lock destruction 11699 to ... 11700 (free_team): ... here. 11701 117022015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com> 11703 11704 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res 11705 and ref from int to double. Replaced their comparison with 11706 an inequality of their difference and EPS. 11707 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the 11708 comparison of pri and a reference number with an inequality of their 11709 difference and EPS. 11710 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced 11711 the comparison of sum and sum_ref with an inequality of their 11712 difference and EPS. 11713 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace 11714 the comparison of pri and a reference number with an inequality of 11715 their difference and EPS. 11716 117172015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com> 11718 11719 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to... 11720 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this. 11721 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to... 11722 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this. 11723 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to... 11724 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this. 11725 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to... 11726 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this. 11727 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to... 11728 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this. 11729 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to... 11730 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this. 11731 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local 11732 variables. 11733 (vec_mult): Likewise. Add #pragma omp taskwait. 11734 (main): Adjust caller. 11735 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to... 11736 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this. 11737 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to... 11738 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this. 11739 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to... 11740 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this. 11741 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to... 11742 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this. 11743 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to... 11744 * testsuite/libgomp.c/examples-4/device-1.c: ...this. 11745 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to... 11746 * testsuite/libgomp.c/examples-4/device-2.c: ...this. 11747 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to... 11748 * testsuite/libgomp.c/examples-4/device-3.c: ...this. 11749 * testsuite/libgomp.c/examples-4/simd-1.c: New file. 11750 * testsuite/libgomp.c/examples-4/simd-2.c: New file. 11751 * testsuite/libgomp.c/examples-4/simd-3.c: New file. 11752 * testsuite/libgomp.c/examples-4/simd-4.c: New file. 11753 * testsuite/libgomp.c/examples-4/simd-5.c: New file. 11754 * testsuite/libgomp.c/examples-4/simd-6.c: New file. 11755 * testsuite/libgomp.c/examples-4/simd-7.c: New file. 11756 * testsuite/libgomp.c/examples-4/simd-8.c: New file. 11757 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to... 11758 * testsuite/libgomp.c/examples-4/target-1.c: ...this. 11759 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to... 11760 * testsuite/libgomp.c/examples-4/target-2.c: ...this. 11761 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to... 11762 * testsuite/libgomp.c/examples-4/target-3.c: ...this. 11763 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to... 11764 * testsuite/libgomp.c/examples-4/target-4.c: ...this. 11765 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to... 11766 * testsuite/libgomp.c/examples-4/target-5.c: ...this. 11767 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to... 11768 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this. 11769 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to... 11770 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this. 11771 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to... 11772 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this. 11773 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to... 11774 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this. 11775 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to... 11776 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this. 11777 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to... 11778 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this. 11779 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to... 11780 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this. 11781 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to... 11782 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this. 11783 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file. 11784 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file. 11785 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file. 11786 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file. 11787 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file. 11788 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to... 11789 * testsuite/libgomp.c/examples-4/teams-2.c: ...this. 11790 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to... 11791 * testsuite/libgomp.c/examples-4/teams-3.c: ...this. 11792 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to... 11793 * testsuite/libgomp.c/examples-4/teams-4.c: ...this. 11794 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to... 11795 * testsuite/libgomp.c/examples-4/teams-5.c: ...this. 11796 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to... 11797 * testsuite/libgomp.c/examples-4/teams-6.c: ...this. 11798 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to... 11799 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this. 11800 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to... 11801 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this. 11802 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to... 11803 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this. 11804 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to... 11805 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this. 11806 (vec_mult): Add !$omp taskwait. 11807 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to... 11808 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this. 11809 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to... 11810 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this. 11811 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to... 11812 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this. 11813 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to... 11814 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this. 11815 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to... 11816 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this. 11817 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to... 11818 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this. 11819 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to... 11820 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this. 11821 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to... 11822 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this. 11823 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file. 11824 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file. 11825 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file. 11826 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file. 11827 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file. 11828 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file. 11829 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file. 11830 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file. 11831 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to... 11832 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this. 11833 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to... 11834 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this. 11835 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to... 11836 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this. 11837 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to... 11838 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this. 11839 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to... 11840 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this. 11841 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to... 11842 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this. 11843 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to... 11844 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this. 11845 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to... 11846 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this. 11847 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to... 11848 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this. 11849 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to... 11850 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this. 11851 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to... 11852 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this. 11853 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to... 11854 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this. 11855 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to... 11856 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this. 11857 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to... 11858 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this. 11859 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file. 11860 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file. 11861 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file. 11862 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file. 11863 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file. 11864 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to... 11865 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this. 11866 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to... 11867 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this. 11868 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to... 11869 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this. 11870 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to... 11871 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this. 11872 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to... 11873 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this. 11874 118752015-07-10 Tom de Vries <tom@codesourcery.com> 11876 11877 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test. 11878 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test. 11879 118802015-07-08 Thomas Schwinge <thomas@codesourcery.com> 11881 11882 PR libgomp/65099 11883 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not 11884 in a 64-bit configuration. 11885 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia 11886 offloading testing if no such device is available. 11887 * testsuite/libgomp.oacc-c/c.exp: Likewise. 11888 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 11889 118902015-07-08 Tom de Vries <tom@codesourcery.com> 11891 11892 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix 11893 second call to f. 11894 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same. 11895 118962015-07-07 Tom de Vries <tom@codesourcery.com> 11897 11898 PR tree-optimization/66642 11899 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low 11900 iteration count case. 11901 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New 11902 function, factor out of ... 11903 (main): ... here. Test low iteration count case. 11904 119052015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de> 11906 11907 * libgomp.h (gomp_thread_pool): Comment last_team field. 11908 119092015-07-02 Uros Bizjak <ubizjak@gmail.com> 11910 11911 * testsuite/libgomp.c++/pr66702-1.C: Require 11912 vect_simd_clones effective target. 11913 * testsuite/libgomp.c++/pr66702-2.C: Ditto. 11914 119152015-06-30 Tom de Vries <tom@codesourcery.com> 11916 11917 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not 11918 already set. Use DEFAULT_CFLAGS in dg-runtest. 11919 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options 11920 "-O2". 11921 119222015-06-30 Tom de Vries <tom@codesourcery.com> 11923 11924 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not 11925 already set. Use DEFAULT_CFLAGS in dg-runtest. 11926 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp". 11927 * testsuite/libgomp.c++/pr64824.C: Same. 11928 * testsuite/libgomp.c++/pr64868.C: Same. 11929 * testsuite/libgomp.c++/pr66199-1.C: Same. 11930 * testsuite/libgomp.c++/pr66199-2.C: Same. 11931 * testsuite/libgomp.c++/target-2.C: Same. 11932 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for 11933 -std=<standard> option. 11934 * testsuite/libgomp.c++/udr-11.C: Same. 11935 * testsuite/libgomp.c++/udr-12.C: Same. 11936 * testsuite/libgomp.c++/udr-13.C: Same. 11937 * testsuite/libgomp.c++/udr-14.C: Same. 11938 * testsuite/libgomp.c++/udr-15.C: Same. 11939 * testsuite/libgomp.c++/udr-16.C: Same. 11940 * testsuite/libgomp.c++/udr-17.C: Same. 11941 * testsuite/libgomp.c++/udr-18.C: Same. 11942 * testsuite/libgomp.c++/udr-19.C: Same. 11943 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2". 11944 * testsuite/libgomp.c++/simd-1.C: Same. 11945 * testsuite/libgomp.c++/simd-2.C: Same. 11946 * testsuite/libgomp.c++/simd-3.C: Same. 11947 * testsuite/libgomp.c++/simd-4.C: Same. 11948 * testsuite/libgomp.c++/simd-5.C: Same. 11949 * testsuite/libgomp.c++/simd-6.C: Same. 11950 * testsuite/libgomp.c++/simd-7.C: Same. 11951 * testsuite/libgomp.c++/simd-8.C: Same. 11952 * testsuite/libgomp.c++/simd-9.C: Same. 11953 * testsuite/libgomp.c++/simd10.C: Same. 11954 * testsuite/libgomp.c++/simd11.C: Same. 11955 * testsuite/libgomp.c++/simd12.C: Same. 11956 * testsuite/libgomp.c++/simd13.C: Same. 11957 119582015-06-30 Jakub Jelinek <jakub@redhat.com> 11959 11960 PR middle-end/66702 11961 * testsuite/libgomp.c++/pr66702-1.C: New test. 11962 * testsuite/libgomp.c++/pr66702-2.C: New test. 11963 119642015-06-30 Tom de Vries <tom@codesourcery.com> 11965 11966 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test. 11967 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test. 11968 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test. 11969 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment. 11970 119712015-06-30 Tom de Vries <tom@codesourcery.com> 11972 11973 PR tree-optimization/66652 11974 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite 11975 using restrict pointers. 11976 (main): Add arguments to calls to f. 11977 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same. 11978 119792015-06-23 Andreas Tobler <andreast@gcc.gnu.org> 11980 11981 * configure.ac: Fix check for header <sys/sysctl.h>. 11982 * configure: Regenerate. 11983 * config.h.in: Likewise. 11984 119852015-06-23 Tom de Vries <tom@codesourcery.com> 11986 11987 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use 11988 abort. 11989 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same. 11990 119912015-06-19 Thomas Schwinge <thomas@codesourcery.com> 11992 11993 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for 11994 acc_device_nvidia. 11995 11996 PR libgomp/66518 11997 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL. 11998 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. 11999 120002015-06-15 Tom de Vries <tom@codesourcery.com> 12001 12002 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use 12003 dg-additional-options for any remaining options. 12004 * testsuite/libgomp.c/atomic-2.c: Same. 12005 * testsuite/libgomp.c/atomic-4.c: Same. 12006 * testsuite/libgomp.c/atomic-5.c: Same. 12007 * testsuite/libgomp.c/atomic-6.c: Same. 12008 * testsuite/libgomp.c/autopar-1.c: Same. 12009 * testsuite/libgomp.c/copyin-1.c: Same. 12010 * testsuite/libgomp.c/copyin-2.c: Same. 12011 * testsuite/libgomp.c/copyin-3.c: Same. 12012 * testsuite/libgomp.c/examples-4/e.53.5.c: Same. 12013 * testsuite/libgomp.c/nestedfn-5.c: Same. 12014 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same. 12015 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same. 12016 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same. 12017 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same. 12018 * testsuite/libgomp.c/pr32362-1.c: Same. 12019 * testsuite/libgomp.c/pr32362-2.c: Same. 12020 * testsuite/libgomp.c/pr32362-3.c: Same. 12021 * testsuite/libgomp.c/pr39591-1.c: Same. 12022 * testsuite/libgomp.c/pr39591-2.c: Same. 12023 * testsuite/libgomp.c/pr39591-3.c: Same. 12024 * testsuite/libgomp.c/pr58392.c: Same. 12025 * testsuite/libgomp.c/pr58756.c: Same. 12026 * testsuite/libgomp.c/simd-1.c: Same. 12027 * testsuite/libgomp.c/simd-10.c: Same. 12028 * testsuite/libgomp.c/simd-11.c: Same. 12029 * testsuite/libgomp.c/simd-12.c: Same. 12030 * testsuite/libgomp.c/simd-13.c: Same. 12031 * testsuite/libgomp.c/simd-14.c: Same. 12032 * testsuite/libgomp.c/simd-15.c: Same. 12033 * testsuite/libgomp.c/simd-2.c: Same. 12034 * testsuite/libgomp.c/simd-3.c: Same. 12035 * testsuite/libgomp.c/simd-4.c: Same. 12036 * testsuite/libgomp.c/simd-5.c: Same. 12037 * testsuite/libgomp.c/simd-6.c: Same. 12038 * testsuite/libgomp.c/simd-7.c: Same. 12039 * testsuite/libgomp.c/simd-8.c: Same. 12040 * testsuite/libgomp.c/simd-9.c: Same. 12041 120422015-06-15 Tom de Vries <tom@codesourcery.com> 12043 12044 * testsuite/libgomp.c/pr35625.c: Fix typo. 12045 120462015-06-15 Tom de Vries <tom@codesourcery.com> 12047 12048 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting 12049 in dg-options. 12050 * testsuite/libgomp.c/atomic-3.c: Same. 12051 * testsuite/libgomp.c/debug-1.c: Same. 12052 * testsuite/libgomp.c/nqueens-1.c: Same. 12053 * testsuite/libgomp.c/pr26171.c: Same. 12054 * testsuite/libgomp.c/pr48591.c: Same. 12055 * testsuite/libgomp.c/pr64824.c: Same. 12056 * testsuite/libgomp.c/pr64868.c: Same. 12057 * testsuite/libgomp.c/pr66133.c: Same. 12058 * testsuite/libgomp.c/pr66199-1.c: Same. 12059 * testsuite/libgomp.c/pr66199-2.c: Same. 12060 * testsuite/libgomp.c/target-8.c: Same. 12061 120622015-06-15 Tom de Vries <tom@codesourcery.com> 12063 12064 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for 12065 -std={gnu99,c99}. 12066 * testsuite/libgomp.c/for-1.c: Same. 12067 * testsuite/libgomp.c/for-2.c: Same. 12068 * testsuite/libgomp.c/for-3.c: Same. 12069 * testsuite/libgomp.c/pr35625.c: Same. 12070 * testsuite/libgomp.c/pr39154.c: Same. 12071 * testsuite/libgomp.c/simd-16.c: Same. 12072 * testsuite/libgomp.c/simd-17.c: Same. 12073 120742015-06-13 Tom de Vries <tom@codesourcery.com> 12075 12076 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test. 12077 120782015-06-13 Tom de Vries <tom@codesourcery.com> 12079 12080 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment. 12081 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same. 12082 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment. 12083 (N): Define. 12084 (main): Use N instead of hardcoded constants. 12085 120862015-06-05 Tom de Vries <tom@codesourcery.com> 12087 12088 merge from gomp4 branch: 12089 2015-05-28 Tom de Vries <tom@codesourcery.com> 12090 12091 PR tree-optimization/65443 12092 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test. 12093 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test. 12094 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test. 12095 120962015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> 12097 12098 * testsuite/libgomp.graphite/bounds.c: Adjust for 12099 cleanup-tree-dump removal. 12100 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise. 12101 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise. 12102 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise. 12103 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise. 12104 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise. 12105 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise. 12106 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise. 12107 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise. 12108 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise. 12109 * testsuite/libgomp.graphite/pr41118.c: Likewise. 12110 121112015-05-28 Uros Bizjak <ubizjak@gmail.com> 12112 12113 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function. 12114 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0. 12115 (futex_wake) [!__x86_64__]: Ditto. 12116 121172015-05-28 Julian Brown <julian@codesourcery.com> 12118 12119 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update 12120 function comment. Only call gomp_fatal if new argument is true. 12121 (acc_dev_num_out_of_range): New function. 12122 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call 12123 acc_dev_num_out_of_range as appropriate. 12124 (acc_get_num_devices, acc_set_device_type, acc_get_device_type) 12125 (acc_get_device_num, acc_set_device_num): Update calls to 12126 resolve_device. 12127 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test 12128 output. 12129 121302015-05-28 Julian Brown <julian@codesourcery.com> 12131 12132 PR libgomp/65742 12133 * oacc-init.c (plugin/plugin-host.h): Include. 12134 (acc_on_device): Check whether we're in an offloaded region for 12135 host_nonshm 12136 plugin. Don't use __builtin_acc_on_device. 12137 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set 12138 nonshm_exec flag in thread-local data. 12139 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local 12140 data for host_nonshm plugin. 12141 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data 12142 for host_nonshm plugin. 12143 * plugin/plugin-host.h: New. 12144 121452015-05-27 Uros Bizjak <ubizjak@gmail.com> 12146 12147 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int. 12148 121492015-05-27 Uros Bizjak <ubizjak@gmail.com> 12150 12151 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake): 12152 Declare as int. 12153 (FUTEX_PRIVATE_FLAG): Remove L suffix. 12154 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake): 12155 Declare as int. 12156 121572015-05-27 Uros Bizjak <ubizjak@gmail.com> 12158 12159 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function. 12160 121612015-05-27 Chung-Lin Tang <cltang@codesourcery.com> 12162 12163 * target.c (gomp_map_pointer): New function abstracting out 12164 GOMP_MAP_POINTER handling. 12165 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use 12166 gomp_map_pointer(). 12167 121682015-05-19 Jakub Jelinek <jakub@redhat.com> 12169 12170 PR middle-end/66199 12171 * testsuite/libgomp.c/pr66199-1.c: New test. 12172 * testsuite/libgomp.c/pr66199-2.c: New test. 12173 * testsuite/libgomp.c++/pr66199-1.C: New test. 12174 * testsuite/libgomp.c++/pr66199-2.C: New test. 12175 * testsuite/libgomp.fortran/pr66199-1.f90: New test. 12176 * testsuite/libgomp.fortran/pr66199-2.f90: New test. 12177 121782015-05-19 Julian Brown <julian@codesourcery.com> 12179 12180 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero 12181 on cuInit failure. 12182 121832015-05-13 Jakub Jelinek <jakub@redhat.com> 12184 12185 PR middle-end/66133 12186 * testsuite/libgomp.c/pr66133.c: New test. 12187 121882015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com> 12189 12190 * Makefile.in: Regenerated with automake-1.11.6. 12191 * aclocal.m4: Likewise. 12192 * config.h.in: Likewise. 12193 * configure: Likewise. 12194 * testsuite/Makefile.in: Likewise. 12195 121962015-05-08 Jason Merrill <jason@redhat.com> 12197 12198 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use 12199 _Complex. 12200 12201 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax. 12202 122032015-05-06 Julian Brown <julian@codesourcery.com> 12204 12205 * oacc-init.c (acc_device_lock): Add explanatory comment. 12206 (resolve_device): Add comment about locking requirement. 12207 (acc_init_1, acc_shutdown_1): Likewise. Add locking around 12208 gomp_init_device and gomp_fini_device calls. 12209 (acc_get_num_devices, acc_set_device_type, acc_get_device_type) 12210 (acc_get_device_num, acc_set_device_num): Add locking around 12211 resolve_device and gomp_init_device calls. 12212 122132015-05-06 Julian Brown <julian@codesourcery.com> 12214 12215 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for 12216 goacc_thread_lock on error paths. 12217 * oacc-mem.c (lookup_host): Remove locking from function. Note 12218 locking requirement for caller in function comment. 12219 (lookup_dev): Likewise. 12220 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present) 12221 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout) 12222 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer): 12223 Add locking. 12224 122252015-05-05 Thomas Schwinge <thomas@codesourcery.com> 12226 12227 PR testsuite/65205 12228 PR libgomp/65993 12229 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output, 12230 don't expect "0x" prefix for "%p" format specifier, don't expect 12231 "(nil)" for NULL pointer. 12232 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise. 12233 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise. 12234 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise. 12235 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise. 12236 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise. 12237 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise. 12238 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. 12239 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise. 12240 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise. 12241 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise. 12242 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise. 12243 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise. 12244 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise. 12245 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise. 12246 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise. 12247 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise. 12248 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise. 12249 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise. 12250 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. 12251 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise. 12252 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise. 12253 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise. 12254 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise. 12255 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise. 12256 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise. 12257 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise. 12258 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise. 12259 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise. 12260 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More 12261 accurately specify what we're looking for. 12262 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise. 12263 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise. 12264 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise. 12265 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise. 12266 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise. 12267 122682015-04-30 James Norris <jnorris@codesourcery.com> 12269 12270 PR testsuite/65205 12271 * testsuite/lib/libgomp.exp 12272 (check_effective_target_openacc_host_selected) 12273 (check_effective_target_openacc_host_nonshm_selected): New 12274 procedures. 12275 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of 12276 dg-shouldfail. 12277 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise. 12278 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise. 12279 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise. 12280 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise. 12281 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise. 12282 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise. 12283 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise. 12284 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise. 12285 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise. 12286 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. 12287 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise. 12288 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise. 12289 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise. 12290 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise. 12291 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise. 12292 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise. 12293 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise. 12294 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise. 12295 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise. 12296 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise. 12297 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise. 12298 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise. 12299 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise. 12300 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. 12301 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise. 12302 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise. 12303 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise. 12304 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise. 12305 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise. 12306 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise. 12307 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise. 12308 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise. 12309 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise. 12310 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise. 12311 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise. 12312 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise. 12313 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise. 12314 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise. 12315 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise. 12316 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise. 12317 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise. 12318 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise. 12319 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise. 12320 123212015-04-08 Julian Brown <julian@codesourcery.com> 12322 12323 * libgomp.h (target_mem_desc: Remove mem_map field. 12324 (acc_dispatch_t): Remove open_device_func, close_device_func, 12325 get_device_num_func, set_device_num_func, target_data members. 12326 Change create_thread_data_func argument to device number instead of 12327 generic pointer. 12328 * oacc-async.c (assert.h): Include. 12329 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async) 12330 (acc_wait_all, acc_wait_all_async): Use current host thread's 12331 active device, not base_dev. 12332 * oacc-cuda.c (acc_get_current_cuda_device) 12333 (acc_get_current_cuda_context, acc_get_cuda_stream) 12334 (acc_set_cuda_stream): Likewise. 12335 * oacc-host.c (host_dispatch): Don't set open_device_func, 12336 close_device_func, get_device_num_func or set_device_num_func. 12337 * oacc-init.c (base_dev, init_key): Remove. 12338 (cached_base_dev): New. 12339 (name_of_acc_device_t): New. 12340 (acc_init_1): Initialise default-numbered device, not zeroth. 12341 (acc_shutdown_1): Close all devices of a given type. 12342 (goacc_destroy_thread): Don't use base_dev. 12343 (lazy_open, lazy_init, lazy_init_and_open): Remove. 12344 (goacc_attach_host_thread_to_device): New. 12345 (acc_init): Reimplement with goacc_attach_host_thread_to_device. 12346 (acc_get_num_devices): Don't use base_dev. 12347 (acc_set_device_type): Reimplement. 12348 (acc_get_device_type): Don't use base_dev. 12349 (acc_get_device_num): Tweak logic. 12350 (acc_set_device_num): Likewise. 12351 (acc_on_device): Use acc_get_device_type. 12352 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev. 12353 (goacc_lazy_initialize): Reimplement with acc_init and 12354 goacc_attach_host_thread_to_device. 12355 * oacc-int.h (goacc_thread): Add base_dev field. 12356 (base_dev): Remove extern declaration. 12357 (goacc_attach_host_thread_to_device): Add prototype. 12358 * oacc-mem.c (acc_malloc): Use current thread's device instead of 12359 base_dev. 12360 (acc_free): Likewise. 12361 (acc_memcpy_to_device): Likewise. 12362 (acc_memcpy_from_device): Likewise. 12363 * oacc-parallel.c (select_acc_device): Remove. Replace calls with 12364 goacc_lazy_initialize (throughout). 12365 (GOACC_parallel): Use tgt_offset to locate target functions. 12366 * target.c (gomp_map_vars): Don't set tgt->mem_map. 12367 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map. 12368 (gomp_load_plugin_for_device): Remove open_device, close_device, 12369 get_device_num, set_device_num openacc hook initialisation. Don't set 12370 openacc.target_data. 12371 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device) 12372 (GOMP_OFFLOAD_openacc_close_device) 12373 (GOMP_OFFLOAD_openacc_get_device_num) 12374 (GOMP_OFFLOAD_openacc_set_device_num): Remove. 12375 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument 12376 to int. 12377 * plugin/plugin-nvptx.c (ptx_inited): Remove. 12378 (instantiated_devices, ptx_dev_lock): New. 12379 (struct ptx_image_data): New. 12380 (ptx_devices, ptx_images, ptx_image_lock): New. 12381 (fini_streams_for_device): Reorder cuStreamDestroy call. 12382 (nvptx_get_num_devices): Remove forward declaration. 12383 (nvptx_init): Change return type to bool. 12384 (nvptx_fini): Remove. 12385 (nvptx_attach_host_thread_to_device): New. 12386 (nvptx_open_device): Return struct ptx_device* instead of void*. 12387 (nvptx_close_device): Change argument type to struct ptx_device*, 12388 return type to void. 12389 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited. 12390 (kernel_target_data, kernel_host_table): Remove static globals. 12391 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove. 12392 (GOMP_OFFLOAD_init_device): Reimplement. 12393 (GOMP_OFFLOAD_fini_device): Likewise. 12394 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New. 12395 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host) 12396 (GOMP_OFFLOAD_host2dev): Use ORD argument. 12397 (GOMP_OFFLOAD_openacc_open_device) 12398 (GOMP_OFFLOAD_openacc_close_device) 12399 (GOMP_OFFLOAD_openacc_set_device_num) 12400 (GOMP_OFFLOAD_openacc_get_device_num): Remove. 12401 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int 12402 (device number). 12403 12404 testsuite/ 12405 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test. 12406 124072015-04-06 Ilya Verbin <ilya.verbin@intel.com> 12408 12409 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair. 12410 * libgomp.h (struct gomp_memory_mapping): Remove. 12411 (struct target_mem_desc): Change type of mem_map from 12412 gomp_memory_mapping * to splay_tree_s *. 12413 (struct gomp_device_descr): Remove register_image_func, get_table_func. 12414 Add load_image_func, unload_image_func. 12415 Change type of mem_map from gomp_memory_mapping to splay_tree_s. 12416 Remove offload_regions_registered. 12417 (gomp_init_tables): Remove. 12418 (gomp_free_memmap): Change type of argument from gomp_memory_mapping * 12419 to splay_tree_s *. 12420 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister. 12421 * oacc-host.c (host_dispatch): Do not initialize register_image_func, 12422 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root, 12423 offload_regions_registered. 12424 Initialize load_image_func, unload_image_func, mem_map.root. 12425 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock. 12426 * oacc-init.c (lazy_open): Don't call gomp_init_tables. 12427 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's. 12428 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of 12429 gomp_memory_mapping *. Use dev's lock and splay_tree. 12430 (lookup_dev): Use dev's lock. 12431 (acc_deviceptr): Pass dev to lookup_host instead of mem_map. 12432 (acc_is_present): Likewise. 12433 (acc_map_data): Likewise. 12434 (acc_unmap_data): Likewise. Use dev's lock. 12435 (present_create_copy): Likewise. 12436 (delete_copyout): Pass dev to lookup_host instead of mem_map. 12437 (update_dev_host): Likewise. 12438 (gomp_acc_remove_pointer): Likewise. Use dev's lock. 12439 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree. 12440 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove. 12441 (GOMP_OFFLOAD_get_table): Remove 12442 (GOMP_OFFLOAD_load_image): New function. 12443 (GOMP_OFFLOAD_unload_image): New function. 12444 * target.c (register_lock): New mutex for offload image registration. 12445 (num_devices): Do not guard with PLUGIN_SUPPORT. 12446 (gomp_realloc_unlock): New static function. 12447 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex 12448 before gomp_fatal. 12449 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's. 12450 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal. 12451 (gomp_copy_from_async): Use dev's lock and splay_tree instead of 12452 mem_map's. 12453 (gomp_unmap_vars): Likewise. 12454 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and 12455 splay_tree instead of mm's. Unlock mutex before gomp_fatal. 12456 (gomp_offload_image_to_device): New static function. 12457 (GOMP_offload_register): Add mutex lock. 12458 Call gomp_offload_image_to_device for all initialized devices. 12459 Replace gomp_realloc with gomp_realloc_unlock. 12460 (GOMP_offload_unregister): New function. 12461 (gomp_init_tables): Replace with gomp_init_device. Replace a call to 12462 get_table_func from the plugin with calls to init_device_func and 12463 gomp_offload_image_to_device. 12464 (gomp_free_memmap): Change type of argument from gomp_memory_mapping * 12465 to splay_tree_s *. 12466 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and 12467 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal. 12468 (GOMP_target_data): Do not call gomp_init_tables. 12469 (GOMP_target_update): Likewise. Remove argument from gomp_update. 12470 (gomp_load_plugin_for_device): Replace register_image and get_table 12471 with load_image and unload_image in DLSYM (). 12472 (gomp_register_images_for_device): Remove function. 12473 (gomp_target_init): Do not initialize current_device.mem_map.*, 12474 current_device.offload_regions_registered. 12475 Remove call to gomp_register_images_for_device. 12476 Do not free offload_images and num_offload_images. 12477 124782015-03-30 Jakub Jelinek <jakub@redhat.com> 12479 12480 PR fortran/65597 12481 * testsuite/libgomp.fortran/pr65597.f90: New test. 12482 124832015-03-27 Tom de Vries <tom@codesourcery.com> 12484 12485 PR testsuite/65594 12486 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare. 12487 (init, check): New function. 12488 (foo): Change return type to void. 12489 (main): Call init and check. 12490 124912015-03-27 Tom de Vries <tom@codesourcery.com> 12492 12493 PR testsuite/65594 12494 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define. 12495 (foo): Use M for non-inner loops to scale down test-case. 12496 124972015-03-25 Kai Tietz <ktietz@redhat.com> 12498 12499 PR libgomp/64972 12500 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available. 12501 (GOACC_data_start): Likewise. 12502 * target.c (gomp_map_vars): Likewise. 12503 125042015-03-21 John David Anglin <danglin@gcc.gnu.org> 12505 12506 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on 12507 hppa*-*-hpux*. 12508 125092015-03-19 Jakub Jelinek <jakub@redhat.com> 12510 12511 * testsuite/libgomp.c/target-10.c: New test. 12512 * testsuite/libgomp.c++/target-4.C: New test. 12513 125142015-03-13 Ilya Verbin <ilya.verbin@intel.com> 12515 12516 * testsuite/libgomp.fortran/declare-target-1.f90: New test. 12517 * testsuite/libgomp.fortran/declare-target-2.f90: New file. 12518 125192015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de> 12520 12521 * configure.tgt (*-*-rtems*): Use local-exec TLS model. 12522 * configure.ac (*-*-rtems*): Assume Pthread is supported. 12523 (pthread.h): Check for this header file. 12524 * configure: Regenerate. 12525 125262015-02-25 Tom de Vries <tom@codesourcery.com> 12527 12528 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA) 12529 (check_reduction_op, check_reduction_macro, max, min): 12530 Declare. 12531 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New 12532 function. 12533 (main): Use new functions. 12534 125352015-02-18 Ilya Tocar <ilya.tocar@intel.com> 12536 12537 * target.c (gomp_load_plugin_for_device): Use const char * instead of 12538 char * for variables holding dlerror return values. 12539 (DLSYM_OPT): Ditto. 12540 125412015-02-17 Thomas Schwinge <thomas@codesourcery.com> 12542 12543 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo. 12544 125452015-02-17 Thomas Schwinge <thomas@codesourcery.com> 12546 Cesar Philippidis <cesar@codesourcery.com> 12547 12548 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid, 12549 GOACC_ctaid, and GOACC_nctaid routines. 12550 125512015-02-11 Jakub Jelinek <jakub@redhat.com> 12552 12553 PR c/64824 12554 * testsuite/libgomp.c/atomic-18.c: New test. 12555 * testsuite/libgomp.c++/atomic-16.C: New test. 12556 125572015-02-04 Jakub Jelinek <jakub@redhat.com> 12558 12559 PR c/64824 12560 PR c/64868 12561 * testsuite/libgomp.c/pr64824.c: New test. 12562 * testsuite/libgomp.c/pr64868.c: New test. 12563 * testsuite/libgomp.c++/pr64824.C: New test. 12564 * testsuite/libgomp.c++/pr64868.C: New test. 12565 125662015-02-01 David Edelsohn <dje.gcc@gmail.com> 12567 12568 PR libgomp/64635 12569 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h. 12570 Link with -lpthread. 12571 * config/aix/plugin-suffix.h: Delete. 12572 125732015-01-28 Jack Howarth <howarth.at.gcc@gmail.com> 12574 12575 PR libgomp/64635 12576 * configure.tgt (*-*-aix*): Use config_path "aix posix". 12577 (*-*-darwin*): Use config_path "bsd darwin posix". 12578 (*-*-hpux*): Use config_path "hpux posix". 12579 * target.c: Add include of plugin-suffix.h and use 12580 SONAME_SUFFIX macro. 12581 * config/aix/plugin-suffix.h: New file. 12582 * config/darwin/plugin-suffix.h: New file. 12583 * config/hpux/plugin-suffix.h: New file. 12584 * config/posix/plugin-suffix.h: New file. 12585 125862015-01-23 Jakub Jelinek <jakub@redhat.com> 12587 12588 PR middle-end/64734 12589 * libgomp.c/pr64734.c: New test. 12590 125912015-01-23 Tom de Vries <tom@codesourcery.com> 12592 12593 PR libgomp/64672 12594 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test. 12595 125962015-01-23 Tom de Vries <tom@codesourcery.com> 12597 12598 PR libgomp/64707 12599 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to 12600 dg-options. 12601 126022015-01-19 Thomas Schwinge <thomas@codesourcery.com> 12603 12604 PR libgomp/64625 12605 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data) 12606 (GOACC_parallel, GOACC_update): Remove const_void *offload_table 12607 formal parameter. Update all users. 12608 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update): 12609 Document unused formal parameter. 12610 126112015-01-16 Thomas Schwinge <thomas@codesourcery.com> 12612 12613 * oacc-parallel.c: Don't include <alloca.h>. 12614 (GOACC_parallel): Use gomp_alloca instead of alloca. 12615 126162015-01-16 Gerald Pfeifer <gerald@pfeifer.com> 12617 12618 * target.c (num_devices): Guard with PLUGIN_SUPPORT. 12619 126202015-01-15 Thomas Schwinge <thomas@codesourcery.com> 12621 James Norris <jnorris@codesourcery.com> 12622 Tom de Vries <tom@codesourcery.com> 12623 Julian Brown <julian@codesourcery.com> 12624 Cesar Philippidis <cesar@codesourcery.com> 12625 Nathan Sidwell <nathan@codesourcery.com> 12626 Tobias Burnus <burnus@net-b.de> 12627 12628 * Makefile.am (search_path): Add $(top_srcdir)/../include. 12629 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c, 12630 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c, 12631 oacc-async.c, oacc-plugin.c, oacc-cuda.c. 12632 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90. 12633 Include $(top_srcdir)/plugin/Makefrag.am. 12634 (nodist_libsubinclude_HEADERS): Add openacc.h. 12635 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h, 12636 openacc.f90, openacc.mod, openacc_kinds.mod. 12637 (omp_lib.mod): Generalize into... 12638 (%.mod): ... this new rule. 12639 (openacc_kinds.mod, openacc.mod): New rules. 12640 * plugin/configfrag.ac: New file. 12641 * configure.ac: Move plugin/offloading support into it. Include 12642 it. Instantiate testsuite/libgomp-test-support.pt.exp. 12643 * plugin/Makefrag.am: New file. 12644 * testsuite/Makefile.am (OFFLOAD_TARGETS) 12645 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't 12646 export. 12647 (libgomp-test-support.exp): New rule. 12648 (all-local): Depend on it. 12649 * Makefile.in: Regenerate. 12650 * testsuite/Makefile.in: Regenerate. 12651 * config.h.in: Likewise. 12652 * configure: Likewise. 12653 * configure.tgt: Harden shell syntax. 12654 * env.c: Include "oacc-int.h". 12655 (parse_acc_device_type): New function. 12656 (gomp_debug_var, goacc_device_type, goacc_device_num): New 12657 variables. 12658 (initialize_env): Initialize those. Call 12659 goacc_runtime_initialize. 12660 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions. 12661 (gomp_fatal): Call gomp_vfatal. 12662 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>. 12663 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug) 12664 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once) 12665 (splay_tree_node, splay_tree, splay_tree_key) 12666 (struct target_mem_desc, struct splay_tree_key_s) 12667 (struct gomp_memory_mapping, struct acc_dispatch_t) 12668 (struct gomp_device_descr, gomp_acc_insert_pointer) 12669 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async) 12670 (gomp_unmap_vars, gomp_init_device, gomp_init_tables) 12671 (gomp_free_memmap, gomp_fini_device): New declarations. 12672 (gomp_vdebug, gomp_debug): New macros. 12673 Include "splay-tree.h". 12674 * libgomp.map (OACC_2.0): New symbol version. Use for 12675 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type, 12676 acc_set_device_type_h_, acc_get_device_type, 12677 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_, 12678 acc_get_device_num, acc_get_device_num_h_, acc_async_test, 12679 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_, 12680 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_, 12681 acc_wait_all, acc_wait_all_h_, acc_wait_all_async, 12682 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown, 12683 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc, 12684 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_, 12685 acc_copyin_array_h_, acc_present_or_copyin, 12686 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_, 12687 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_, 12688 acc_create_64_h_, acc_create_array_h_, acc_present_or_create, 12689 acc_present_or_create_32_h_, acc_present_or_create_64_h_, 12690 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_, 12691 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete, 12692 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_, 12693 acc_update_device, acc_update_device_32_h_, 12694 acc_update_device_64_h_, acc_update_device_array_h_, 12695 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_, 12696 acc_update_self_array_h_, acc_map_data, acc_unmap_data, 12697 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_, 12698 acc_is_present_64_h_, acc_is_present_array_h_, 12699 acc_memcpy_to_device, acc_memcpy_from_device, 12700 acc_get_current_cuda_device, acc_get_current_cuda_context, 12701 acc_get_cuda_stream, acc_set_cuda_stream. 12702 (GOACC_2.0): New symbol version. Use for GOACC_data_end, 12703 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel, 12704 GOACC_update, GOACC_wait, GOACC_get_thread_num, 12705 GOACC_get_num_threads. 12706 (GOMP_PLUGIN_1.0): New symbol version. Use for 12707 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared, 12708 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error, 12709 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars, 12710 GOMP_PLUGIN_acc_thread. 12711 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG 12712 environment variable. 12713 * libgomp_g.h (GOACC_data_start, GOACC_data_end) 12714 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait) 12715 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations. 12716 * splay-tree.h (splay_tree_lookup, splay_tree_insert) 12717 (splay_tree_remove): New declarations. 12718 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert) 12719 (splay_tree_remove, splay_tree_lookup): Move into... 12720 * splay-tree.c: ... this new file. 12721 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>. 12722 (splay_tree_node, splay_tree, splay_tree_key) 12723 (struct target_mem_desc, struct splay_tree_key_s) 12724 (struct gomp_device_descr): Don't declare. 12725 (num_devices_openmp): New variable. 12726 (gomp_get_num_devices ): Use it. 12727 (gomp_init_targets_once): New function. 12728 (gomp_get_num_devices ): Use it. 12729 (get_kind, gomp_copy_from_async, gomp_free_memmap) 12730 (gomp_fini_device, gomp_register_image_for_device): New functions. 12731 (gomp_map_vars): Add devaddrs parameter. 12732 (gomp_update): Add mm parameter. 12733 (gomp_init_device): Move most of it into... 12734 (gomp_init_tables): ... this new function. 12735 (gomp_register_images_for_device): Remove function. 12736 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device): 12737 Make them hidden instead of static. 12738 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars) 12739 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data) 12740 (GOMP_target_end_data, GOMP_target_update) 12741 (gomp_load_plugin_for_device, gomp_target_init): Update for 12742 OpenACC changes. 12743 * oacc-async.c: New file. 12744 * oacc-cuda.c: Likewise. 12745 * oacc-host.c: Likewise. 12746 * oacc-init.c: Likewise. 12747 * oacc-int.h: Likewise. 12748 * oacc-mem.c: Likewise. 12749 * oacc-parallel.c: Likewise. 12750 * oacc-plugin.c: Likewise. 12751 * oacc-plugin.h: Likewise. 12752 * oacc-ptx.h: Likewise. 12753 * openacc.f90: Likewise. 12754 * openacc.h: Likewise. 12755 * openacc_lib.h: Likewise. 12756 * plugin/plugin-host.c: Likewise. 12757 * plugin/plugin-nvptx.c: Likewise. 12758 * libgomp-plugin.c: Likewise. 12759 * libgomp-plugin.h: Likewise. 12760 * libgomp_target.h: Remove file after merging content into the 12761 former file. Update all users. 12762 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp. 12763 (offload_targets_s, offload_targets_s_openacc): New variables. 12764 (check_effective_target_openacc_nvidia_accel_present) 12765 (check_effective_target_openacc_nvidia_accel_selected): New 12766 procedures. 12767 (libgomp_init): Update for OpenACC changes. 12768 * testsuite/libgomp-test-support.exp.in: New file. 12769 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. 12770 * testsuite/libgomp.oacc-c/c.exp: Likewise. 12771 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 12772 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise. 12773 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise. 12774 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise. 12775 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise. 12776 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise. 12777 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise. 12778 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise. 12779 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise. 12780 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise. 12781 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise. 12782 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise. 12783 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise. 12784 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise. 12785 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise. 12786 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise. 12787 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise. 12788 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise. 12789 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise. 12790 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise. 12791 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise. 12792 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise. 12793 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise. 12794 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise. 12795 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise. 12796 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise. 12797 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise. 12798 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise. 12799 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise. 12800 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise. 12801 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise. 12802 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise. 12803 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise. 12804 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise. 12805 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise. 12806 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise. 12807 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise. 12808 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise. 12809 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise. 12810 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise. 12811 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise. 12812 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise. 12813 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise. 12814 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise. 12815 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise. 12816 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise. 12817 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise. 12818 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise. 12819 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. 12820 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise. 12821 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise. 12822 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise. 12823 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise. 12824 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise. 12825 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise. 12826 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise. 12827 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise. 12828 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise. 12829 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise. 12830 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise. 12831 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise. 12832 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise. 12833 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise. 12834 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise. 12835 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise. 12836 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise. 12837 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise. 12838 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise. 12839 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise. 12840 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. 12841 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise. 12842 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise. 12843 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise. 12844 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise. 12845 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise. 12846 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise. 12847 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise. 12848 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise. 12849 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise. 12850 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise. 12851 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise. 12852 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise. 12853 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise. 12854 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise. 12855 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise. 12856 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise. 12857 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise. 12858 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise. 12859 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise. 12860 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise. 12861 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise. 12862 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise. 12863 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise. 12864 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise. 12865 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise. 12866 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise. 12867 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise. 12868 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise. 12869 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise. 12870 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise. 12871 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise. 12872 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise. 12873 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise. 12874 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise. 12875 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise. 12876 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise. 12877 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise. 12878 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise. 12879 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise. 12880 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise. 12881 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise. 12882 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise. 12883 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise. 12884 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise. 12885 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise. 12886 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise. 12887 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise. 12888 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise. 12889 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise. 12890 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise. 12891 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise. 12892 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise. 12893 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise. 12894 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise. 12895 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise. 12896 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise. 12897 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise. 12898 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise. 12899 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise. 12900 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise. 12901 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise. 12902 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise. 12903 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise. 12904 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise. 12905 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise. 12906 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise. 12907 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise. 12908 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: 12909 Likewise. 12910 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise. 12911 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise. 12912 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise. 12913 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise. 12914 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise. 12915 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise. 12916 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise. 12917 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise. 12918 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise. 12919 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise. 12920 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise. 12921 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise. 12922 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise. 12923 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise. 12924 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise. 12925 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise. 12926 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise. 12927 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise. 12928 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise. 12929 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise. 12930 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise. 12931 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise. 12932 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise. 12933 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise. 12934 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise. 12935 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise. 12936 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise. 12937 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise. 12938 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise. 12939 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise. 12940 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise. 12941 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise. 12942 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise. 12943 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise. 12944 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise. 12945 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise. 12946 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise. 12947 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise. 12948 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise. 12949 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise. 12950 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise. 12951 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise. 12952 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise. 12953 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise. 12954 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise. 12955 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise. 12956 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise. 12957 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise. 12958 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise. 12959 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise. 12960 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise. 12961 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise. 12962 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise. 12963 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. 12964 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise. 12965 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise. 12966 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise. 12967 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise. 12968 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise. 12969 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise. 12970 129712015-01-10 Thomas Schwinge <thomas@codesourcery.com> 12972 Julian Brown <julian@codesourcery.com> 12973 David Malcolm <dmalcolm@redhat.com> 12974 12975 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library" 12976 to "GNU Offloading and Multi Processing Runtime Library". Change 12977 all users. 12978 * configure: Regenerate. 12979 * libgomp.texi: Update. 12980 129812015-01-08 Thomas Schwinge <thomas@codesourcery.com> 12982 12983 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add 12984 "$tgt_dir/lib32". 12985 * configure: Regenerate. 12986 12987 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match 12988 "intelmic" in $offload_targets. 12989 129902015-01-05 Jakub Jelinek <jakub@redhat.com> 12991 12992 Update copyright years. 12993 12994 * libgomp.texi: Bump @copying's copyright year. 12995 129962014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 12997 12998 * testsuite/lib/libgomp.exp: Load target-utils.exp. 12999 Move load of target-supports.exp earlier. 13000 130012014-12-10 Ilya Verbin <ilya.verbin@intel.com> 13002 13003 * testsuite/libgomp.c/target-9.c: New test. 13004 130052014-12-09 Varvara Rainchik <varvara.rainchik@intel.com> 13006 13007 * config.h.in: Regenerate. 13008 * configure: Regenerate. 13009 * configure.ac: Add GCC_CHECK_EMUTLS. 13010 * libgomp.h: Add check for USE_EMUTLS: this case 13011 is equal to HAVE_TLS. 13012 * team.c: Likewise. 13013 130142014-12-03 Uros Bizjak <ubizjak@gmail.com> 13015 13016 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic. 13017 130182014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com> 13019 Ilya Verbin <ilya.verbin@intel.com> 13020 13021 * testsuite/libgomp.c/target-critical-1.c: New test. 13022 130232014-11-26 Jakub Jelinek <jakub@redhat.com> 13024 13025 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20 13026 to dg-options unless expensive testing is on. 13027 (TESTITERS): Define to N if not defined. 13028 (main): Use TESTITERS instead of N. 13029 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from 13030 dg-additional-options depending on whether expensive testing is on. 13031 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod): 13032 Decrease N to 100000 and CHUNKSZ to 10000. 13033 130342014-11-24 Jakub Jelinek <jakub@redhat.com> 13035 13036 PR fortran/63938 13037 * testsuite/libgomp.fortran/pr63938-1.f90: New test. 13038 * testsuite/libgomp.fortran/pr63938-2.f90: New test. 13039 130402014-11-21 Steve Ellcey <sellcey@imgtec.com> 13041 13042 * config/linux/mips/futex.h (SYS_futex): Define if not already done. 13043 130442014-11-21 H.J. Lu <hongjiu.lu@intel.com> 13045 13046 PR bootstrap/63784 13047 * configure: Regenerated. 13048 130492014-11-19 Uros Bizjak <ubizjak@gmail.com> 13050 13051 * testsuite/libgomp.c/examples-4/e.53.5.c: Require 13052 vect_simd_clones effective target. 13053 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto. 13054 130552014-11-14 Jakub Jelinek <jakub@redhat.com> 13056 13057 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead 13058 of 32 as block_size. 13059 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8 13060 instead of 32 as block_size. 13061 130622014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com> 13063 Ilya Verbin <ilya.verbin@intel.com> 13064 13065 * Makefile.in: Regenerate. 13066 * configure: Regenerate. 13067 * configure.ac: Set up offload_additional_options, 13068 offload_additional_lib_paths and offload_targets. 13069 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS, 13070 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS. 13071 * testsuite/Makefile.in: Regenerate. 13072 * testsuite/lib/libgomp.exp (libgomp_init): Append 13073 offload_additional_lib_paths to LD_LIBRARY_PATH. Append 13074 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic 13075 build directory to LD_LIBRARY_PATH for intelmic offload targets. 13076 130772014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com> 13078 Ilya Verbin <ilya.verbin@intel.com> 13079 Kirill Yukhin <kirill.yukhin@intel.com> 13080 Ilya Tocar <ilya.tocar@intel.com> 13081 13082 * testsuite/lib/libgomp.exp 13083 (check_effective_target_offload_device): New. 13084 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories. 13085 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test. 13086 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto. 13087 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto. 13088 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto. 13089 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto. 13090 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto. 13091 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto. 13092 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto. 13093 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto. 13094 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto. 13095 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto. 13096 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto. 13097 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto. 13098 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto. 13099 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto. 13100 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto. 13101 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto. 13102 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto. 13103 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto. 13104 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto. 13105 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto. 13106 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto. 13107 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto. 13108 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto. 13109 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto. 13110 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto. 13111 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto. 13112 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto. 13113 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto. 13114 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto. 13115 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto. 13116 * testsuite/libgomp.c/target-7.c: Fix test. 13117 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test. 13118 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto. 13119 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto. 13120 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto. 13121 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto. 13122 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto. 13123 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto. 13124 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto. 13125 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto. 13126 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto. 13127 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto. 13128 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto. 13129 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto. 13130 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto. 13131 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto. 13132 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto. 13133 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto. 13134 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto. 13135 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto. 13136 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto. 13137 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto. 13138 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto. 13139 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto. 13140 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto. 13141 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto. 13142 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto. 13143 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto. 13144 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto. 13145 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto. 13146 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto. 13147 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto. 13148 131492014-11-13 Jakub Jelinek <jakub@redhat.com> 13150 Ilya Verbin <ilya.verbin@intel.com> 13151 Thomas Schwinge <thomas@codesourcery.com> 13152 Andrey Turetskiy <andrey.turetskiy@intel.com> 13153 13154 * libgomp.map (GOMP_4.0.1): New symbol version. 13155 Add GOMP_offload_register. 13156 * libgomp_target.h: New file. 13157 * splay-tree.h: New file. 13158 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h. 13159 (gomp_target_init): New forward declaration. 13160 (gomp_is_initialized): New static variable. 13161 (splay_tree_node, splay_tree, splay_tree_key): New typedefs. 13162 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr): 13163 New structures. 13164 (offload_images, num_offload_images, devices, num_devices): New static 13165 variables. 13166 (splay_compare): New static function. 13167 (struct gomp_device_descr): New structure. 13168 (gomp_get_num_devices): Call gomp_target_init. 13169 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt) 13170 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions. 13171 (GOMP_offload_register): New function. 13172 (GOMP_target): Arrange for host callback to be performed in a separate 13173 initial thread and contention group, inheriting ICVs from 13174 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars. 13175 Add device initialization and lookup for target function in splay tree. 13176 (GOMP_target_data): Add device initialization and call gomp_map_vars. 13177 (GOMP_target_end_data): Call gomp_unmap_vars. 13178 (GOMP_target_update): Add device initialization and call gomp_update. 13179 (gomp_load_plugin_for_device, gomp_register_images_for_device) 13180 (gomp_target_init): New static functions. 13181 131822014-11-13 Bernd Schmidt <bernds@codesourcery.com> 13183 Thomas Schwinge <thomas@codesourcery.com> 13184 Ilya Verbin <ilya.verbin@intel.com> 13185 Andrey Turetskiy <andrey.turetskiy@intel.com> 13186 13187 * config.h.in: Regenerate. 13188 * configure: Regenerate. 13189 * configure.ac: Check for libdl, required for plugin support. 13190 (PLUGIN_SUPPORT): Define if plugins are supported. 13191 (enable_offload_targets): Support Intel MIC targets. 13192 (OFFLOAD_TARGETS): List of target names suitable for offloading. 13193 131942014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 13195 13196 PR target/63610 13197 * configure: Regenerate. 13198 131992014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 13200 13201 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600. 13202 132032014-10-06 Marek Polacek <polacek@redhat.com> 13204 13205 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>. 13206 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>. 13207 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h> 13208 * testsuite/libgomp.c/thread-limit-2.c: Likewise. 13209 132102014-10-06 Marek Polacek <polacek@redhat.com> 13211 13212 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations. 13213 * testsuite/libgomp.c/nqueens-1.c: Likewise. 13214 * testsuite/libgomp.c/pr26943-3.c: Likewise. 13215 * testsuite/libgomp.c/pr26943-4.c: Likewise. 13216 * testsuite/libgomp.c/pr36802-2.c: Likewise. 13217 * testsuite/libgomp.c/pr36802-3.c: Likewise. 13218 * testsuite/libgomp.c/thread-limit-1.c: Likewise. 13219 * testsuite/libgomp.c/thread-limit-2.c: Likewise. 13220 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>. 13221 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int. 13222 * testsuite/libgomp.c/omp-parallel-for.c: Likewise. 13223 * testsuite/libgomp.c/omp-parallel-if.c: Likewise. 13224 * testsuite/libgomp.c/omp-single-1.c: Likewise. 13225 * testsuite/libgomp.c/omp-single-2.c: Likewise. 13226 * testsuite/libgomp.c/omp_matvec.c: Likewise. 13227 * testsuite/libgomp.c/omp_workshare3.c: Likewise. 13228 * testsuite/libgomp.c/omp_workshare4.c: Likewise. 13229 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit 13230 declarations. 13231 132322014-10-03 Jakub Jelinek <jakub@redhat.com> 13233 13234 PR libgomp/61200 13235 * testsuite/libgomp.c/pr61200.c: New test. 13236 132372014-09-18 Jakub Jelinek <jakub@redhat.com> 13238 13239 PR c++/63248 13240 * testsuite/libgomp.c++/pr63248.C: New test. 13241 132422014-08-04 Jakub Jelinek <jakub@redhat.com> 13243 13244 * task.c (GOMP_taskgroup_end): If taskgroup->num_children 13245 is not zero, but taskgroup->children is NULL and there are 13246 any task->children, schedule those instead of waiting. 13247 * testsuite/libgomp.c/depend-6.c: New test. 13248 * testsuite/libgomp.c/depend-7.c: New test. 13249 * testsuite/libgomp.c/depend-8.c: New test. 13250 * testsuite/libgomp.c/depend-9.c: New test. 13251 * testsuite/libgomp.c/depend-10.c: New test. 13252 132532014-08-01 Jakub Jelinek <jakub@redhat.com> 13254 13255 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field. 13256 (struct gomp_taskwait): New type. 13257 (struct gomp_task): Add taskwait and parent_depends_on, remove 13258 in_taskwait and taskwait_sem fields. 13259 (gomp_finish_task): Don't destroy taskwait_sem. 13260 * task.c (gomp_init_task): Don't init in_taskwait, instead init 13261 taskwait and parent_depends_on. 13262 (GOMP_task): For if (0) tasks with depend clause that depend on 13263 earlier tasks don't defer them, instead call 13264 gomp_task_maybe_wait_for_dependencies to wait for the dependencies. 13265 Initialize redundant_out field, for redundant out entries just 13266 move them at the end of linked list instead of removing them 13267 completely, and set redundant_out flag instead of redundant. 13268 (gomp_task_run_pre): Update last_parent_depends_on if scheduling 13269 that task. 13270 (gomp_task_run_post_handle_dependers): If parent is in 13271 gomp_task_maybe_wait_for_dependencies and newly runnable task 13272 is not parent_depends_on, queue it in parent->children linked 13273 list after all runnable tasks with parent_depends_on set. 13274 Adjust for addition of taskwait indirection. 13275 (gomp_task_run_post_remove_parent): If parent is in 13276 gomp_task_maybe_wait_for_dependencies and task to be removed 13277 is parent_depends_on, decrement n_depend and if needed awake 13278 parent. Adjust for addition of taskwait indirection. 13279 (GOMP_taskwait): Adjust for addition of taskwait indirection. 13280 (gomp_task_maybe_wait_for_dependencies): New function. 13281 * testsuite/libgomp.c/depend-5.c: New test. 13282 132832014-07-13 Tobias Burnus <burnus@net-b.de> 13284 13285 * testsuite/libgomp.fortran/pr34020.f90: Make compile 13286 with TS 18508/Fortran 2015. 13287 132882014-07-06 Marek Polacek <polacek@redhat.com> 13289 13290 PR c/6940 13291 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings. 13292 132932014-07-03 Jakub Jelinek <jakub@redhat.com> 13294 13295 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source 13296 matches regex $lang_source_re, add $lang_include_flags to options. 13297 * testsuite/libgomp.c/c.exp: Unset lang_include_flags. 13298 * testsuite/libgomp.c++/c++.exp: Likewise. 13299 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re 13300 and lang_include_flags instead of adding -fintrinsic-modules-path= to 13301 ALWAYS_CFLAGS. 13302 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags. 13303 133042014-07-03 Thomas Schwinge <thomas@codesourcery.com> 13305 13306 * testsuite/libgomp.fortran/fortran.exp: Explain 13307 gfortran-dg-runtest usage. 13308 133092014-06-25 Jakub Jelinek <jakub@redhat.com> 13310 13311 * testsuite/libgomp.fortran/simd5.f90: New test. 13312 * testsuite/libgomp.fortran/simd6.f90: New test. 13313 * testsuite/libgomp.fortran/simd7.f90: New test. 13314 133152014-06-24 Jakub Jelinek <jakub@redhat.com> 13316 13317 * testsuite/libgomp.c/for-2.c: Define SC to static for 13318 #pragma omp for simd testing. 13319 * testsuite/libgomp.c/for-2.h (SC): Define if not defined. 13320 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use 13321 SC macro. 13322 * testsuite/libgomp.c/simd-14.c: New test. 13323 * testsuite/libgomp.c/simd-15.c: New test. 13324 * testsuite/libgomp.c/simd-16.c: New test. 13325 * testsuite/libgomp.c/simd-17.c: New test. 13326 * testsuite/libgomp.c++/for-10.C: Define SC to static for 13327 #pragma omp for simd testing. 13328 * testsuite/libgomp.c++/simd10.C: New test. 13329 * testsuite/libgomp.c++/simd11.C: New test. 13330 * testsuite/libgomp.c++/simd12.C: New test. 13331 * testsuite/libgomp.c++/simd13.C: New test. 13332 13333 * testsuite/libgomp.fortran/aligned1.f03: New test. 13334 * testsuite/libgomp.fortran/nestedfn5.f90: New test. 13335 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning 13336 tasks with !$omp parallel !$omp single. 13337 * testsuite/libgomp.fortran/target8.f90: New test. 13338 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust 13339 not to use trim in the combiner, instead call elemental function. 13340 (fn): New elemental function. 13341 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init): 13342 Make elemental. 13343 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out, 13344 omp_in): Likewise. 13345 * testsuite/libgomp.fortran/udr12.f90: New test. 13346 * testsuite/libgomp.fortran/udr13.f90: New test. 13347 * testsuite/libgomp.fortran/udr14.f90: New test. 13348 * testsuite/libgomp.fortran/udr15.f90: New test. 13349 133502014-06-18 Jakub Jelinek <jakub@redhat.com> 13351 13352 * omp_lib.f90.in (openmp_version): Set to 201307. 13353 * omp_lib.h.in (openmp_version): Likewise. 13354 * testsuite/libgomp.c/target-8.c: New test. 13355 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch 13356 and inbranch clauses. 13357 * testsuite/libgomp.fortran/depend-3.f90: New test. 13358 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new 13359 openmp_version. 13360 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise. 13361 * testsuite/libgomp.fortran/target1.f90: New test. 13362 * testsuite/libgomp.fortran/target2.f90: New test. 13363 * testsuite/libgomp.fortran/target3.f90: New test. 13364 * testsuite/libgomp.fortran/target4.f90: New test. 13365 * testsuite/libgomp.fortran/target5.f90: New test. 13366 * testsuite/libgomp.fortran/target6.f90: New test. 13367 * testsuite/libgomp.fortran/target7.f90: New test. 13368 133692014-06-10 Jakub Jelinek <jakub@redhat.com> 13370 13371 PR fortran/60928 13372 * testsuite/libgomp.fortran/allocatable9.f90: New test. 13373 * testsuite/libgomp.fortran/allocatable10.f90: New test. 13374 * testsuite/libgomp.fortran/allocatable11.f90: New test. 13375 * testsuite/libgomp.fortran/allocatable12.f90: New test. 13376 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test. 13377 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test. 13378 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test. 13379 * testsuite/libgomp.fortran/associate1.f90: New test. 13380 * testsuite/libgomp.fortran/associate2.f90: New test. 13381 * testsuite/libgomp.fortran/procptr1.f90: New test. 13382 133832014-06-06 Jakub Jelinek <jakub@redhat.com> 13384 13385 * testsuite/libgomp.fortran/simd1.f90: New test. 13386 * testsuite/libgomp.fortran/udr1.f90: New test. 13387 * testsuite/libgomp.fortran/udr2.f90: New test. 13388 * testsuite/libgomp.fortran/udr3.f90: New test. 13389 * testsuite/libgomp.fortran/udr4.f90: New test. 13390 * testsuite/libgomp.fortran/udr5.f90: New test. 13391 * testsuite/libgomp.fortran/udr6.f90: New test. 13392 * testsuite/libgomp.fortran/udr7.f90: New test. 13393 * testsuite/libgomp.fortran/udr8.f90: New test. 13394 * testsuite/libgomp.fortran/udr9.f90: New test. 13395 * testsuite/libgomp.fortran/udr10.f90: New test. 13396 * testsuite/libgomp.fortran/udr11.f90: New test. 13397 133982014-05-27 Uros Bizjak <ubizjak@gmail.com> 13399 13400 * testsuite/libgomp.fortran/declare-simd-1.f90: Require 13401 vect_simd_clones effective target. 13402 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto. 13403 134042014-05-21 Jakub Jelinek <jakub@redhat.com> 13405 13406 PR middle-end/61252 13407 * testsuite/libgomp.c++/simd-9.C: New test. 13408 134092014-05-18 Uros Bizjak <ubizjak@gmail.com> 13410 13411 * libgomp.texi (Runitme Library Routines): Remove multiple @menu. 13412 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node 13413 texts according to their @menu entry positions. 13414 134152014-05-11 Jakub Jelinek <jakub@redhat.com> 13416 13417 * testsuite/libgomp.fortran/cancel-do-1.f90: New test. 13418 * testsuite/libgomp.fortran/cancel-do-2.f90: New test. 13419 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test. 13420 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test. 13421 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test. 13422 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test. 13423 * testsuite/libgomp.fortran/declare-simd-1.f90: New test. 13424 * testsuite/libgomp.fortran/declare-simd-2.f90: New test. 13425 * testsuite/libgomp.fortran/declare-simd-3.f90: New test. 13426 * testsuite/libgomp.fortran/depend-1.f90: New test. 13427 * testsuite/libgomp.fortran/depend-2.f90: New test. 13428 * testsuite/libgomp.fortran/omp_atomic5.f90: New test. 13429 * testsuite/libgomp.fortran/simd1.f90: New test. 13430 * testsuite/libgomp.fortran/simd2.f90: New test. 13431 * testsuite/libgomp.fortran/simd3.f90: New test. 13432 * testsuite/libgomp.fortran/simd4.f90: New test. 13433 * testsuite/libgomp.fortran/taskgroup1.f90: New test. 13434 134352014-05-02 Jakub Jelinek <jakub@redhat.com> 13436 13437 * testsuite/libgomp.c/simd-10.c: New test. 13438 * testsuite/libgomp.c/simd-11.c: New test. 13439 * testsuite/libgomp.c/simd-12.c: New test. 13440 * testsuite/libgomp.c/simd-13.c: New test. 13441 134422014-04-24 Jakub Jelinek <jakub@redhat.com> 13443 13444 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and 13445 atomic type clauses in any order and optional comma in between. 13446 * testsuite/libgomp.c++/atomic-15.C: Likewise. 13447 * testsuite/libgomp.c/atomic-17.c: Likewise. 13448 13449 * testsuite/libgomp.c/simd-7.c: New test. 13450 * testsuite/libgomp.c/simd-8.c: New test. 13451 * testsuite/libgomp.c/simd-9.c: New test. 13452 * testsuite/libgomp.c/loop-16.c: New test. 13453 134542014-04-02 Richard Henderson <rth@redhat.com> 13455 13456 * config/linux/futex.h (futex_wait): Get error value from errno. 13457 (futex_wake): Likewise. 13458 134592014-03-25 Jakub Jelinek <jakub@redhat.com> 13460 13461 PR c++/60331 13462 * testsuite/libgomp.c++/udr-11.C: New test. 13463 * testsuite/libgomp.c++/udr-12.C: New test. 13464 * testsuite/libgomp.c++/udr-13.C: New test. 13465 * testsuite/libgomp.c++/udr-14.C: New test. 13466 * testsuite/libgomp.c++/udr-15.C: New test. 13467 * testsuite/libgomp.c++/udr-16.C: New test. 13468 * testsuite/libgomp.c++/udr-17.C: New test. 13469 * testsuite/libgomp.c++/udr-18.C: New test. 13470 * testsuite/libgomp.c++/udr-19.C: New test. 13471 134722014-01-02 Richard Sandiford <rdsandiford@googlemail.com> 13473 13474 Update copyright years 13475 134762014-01-02 Richard Sandiford <rdsandiford@googlemail.com> 13477 13478 * hashtab.h: Use the standard form for the copyright notice. 13479 134802014-01-02 Tobias Burnus <burnus@net-b.de> 13481 13482 * libgomp.texi: Bump @copying's copyright year. 13483 134842013-12-17 Andreas Tobler <andreast@gcc.gnu.org> 13485 13486 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace 13487 alloca () with __builtin_alloca (). 13488 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage. 13489 * testsuite/libgomp.c/lock-3.c: Likewise. 13490 * testsuite/libgomp.c/pr48591.c: Likewise. 13491 134922013-12-17 Jakub Jelinek <jakub@redhat.com> 13493 13494 PR testsuite/59534 13495 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited 13496 comparisons. 13497 134982013-12-16 Jakub Jelinek <jakub@redhat.com> 13499 13500 PR libgomp/58756 13501 * testsuite/libgomp.c/pr58756.c: New test. 13502 135032013-12-12 Jakub Jelinek <jakub@redhat.com> 13504 13505 PR libgomp/59467 13506 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to 13507 !$omp parallel. 13508 135092013-11-07 Thomas Schwinge <thomas@codesourcery.com> 13510 13511 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to 13512 ALWAYS_CFLAGS. 13513 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp. 13514 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise. 13515 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise. 13516 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS): 13517 Likewise. 13518 13519 * libgomp_g.h: Include <stddef.h> for size_t. 13520 13521 * libgomp.spec.in: Update comment about libgomp's dependencies. 13522 * configure.ac: Likewise. 13523 * configure: Regenerate. 13524 135252013-10-16 Tobias Burnus <burnus@net-b.de> 13526 13527 * libgomp.texi: (Runtime Library Routines): Update references for 13528 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device, 13529 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind, 13530 omp_get_team_num, omp_is_initial_device, omp_set_default_device. 13531 (Environment Variables): Update references for OpenMP 4.0. Add 13532 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES. 13533 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical 13534 order. 13535 135362013-10-14 Jakub Jelinek <jakub@redhat.com> 13537 13538 * env.c (parse_bind_var): Initialize value to avoid 13539 (false positive) warning. 13540 135412013-10-12 Jakub Jelinek <jakub@redhat.com> 13542 13543 PR libgomp/58691 13544 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute 13545 to check variable. 13546 (gomp_init_num_threads): Move i variable declaration into 13547 #ifdef CPU_ALLOC_SIZE block. 13548 * config/linux/affinity.c (gomp_affinity_init_level): Test 13549 gomp_places_list_len == 0 rather than gomp_places_list == 0 13550 when checking for topology reading error. 13551 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false. 13552 * env.c (parse_affinity): Add ignore argument, if true, don't populate 13553 gomp_places_list, only parse env var and always return false. 13554 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var. 13555 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env 13556 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified 13557 and either of these variables were parsed correctly into a places 13558 list. 13559 135602013-10-11 Thomas Schwinge <thomas@codesourcery.com> 13561 Jakub Jelinek <jakub@redhat.com> 13562 13563 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead 13564 of 5 loopfn matches. 13565 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise. 13566 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise. 13567 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise. 13568 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise. 13569 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise. 13570 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise. 13571 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise. 13572 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise. 13573 135742013-10-11 Thomas Schwinge <thomas@codesourcery.com> 13575 13576 * Makefile.am (omp_lib.mod): Streamline rule. 13577 * Makefile.in: Regenerate. 13578 13579 * libgomp.texi (Runtime Library Routines): C linkage, don't throw 13580 exceptions. 13581 13582 * testsuite/libgomp.c/lib-1.c (main): Add missing error check. 13583 * testsuite/libgomp.fortran/lib1.f90: Likewise. 13584 * testsuite/libgomp.fortran/lib2.f: Likewise. 13585 * testsuite/libgomp.fortran/lib3.f: Likewise. 13586 13587 * configure.ac: Typo fix. 13588 * configure: Regenerate. 13589 13590 * testsuite/libgomp.fortran/openmp_version-1.f: New file. 13591 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise. 13592 13593 * omp.h.in: Don't touch the user's namespace. 13594 135952013-10-11 Jakub Jelinek <jakub@redhat.com> 13596 Tobias Burnus <burnus@net-b.de> 13597 Richard Henderson <rth@redhat.com> 13598 13599 * target.c: New file. 13600 * Makefile.am (libgomp_la_SOURCES): Add target.c. 13601 * Makefile.in: Regenerated. 13602 * libgomp_g.h (GOMP_task): Add depend argument. 13603 (GOMP_barrier_cancel, GOMP_loop_end_cancel, 13604 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data, 13605 GOMP_target_end_data, GOMP_target_update, GOMP_teams, 13606 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic, 13607 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime, 13608 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point, 13609 GOMP_taskgroup_start, GOMP_taskgroup_end, 13610 GOMP_parallel_sections): New prototypes. 13611 * fortran.c (omp_is_initial_device): Add ialias_redirect. 13612 (omp_is_initial_device_): New function. 13613 (ULP, STR1, STR2, ialias_redirect): Removed. 13614 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_, 13615 omp_set_default_device_8_, omp_get_default_device_, 13616 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New 13617 functions. 13618 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel, 13619 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data, 13620 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export 13621 @@GOMP_4.0. 13622 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation, 13623 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_, 13624 omp_set_default_device, omp_set_default_device_, 13625 omp_set_default_device_8_, omp_get_default_device, 13626 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_, 13627 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num, 13628 omp_get_team_num_): Export @@OMP_4.0. 13629 * team.c (struct gomp_thread_start_data): Add place field. 13630 (gomp_thread_start): Clear thr->thread_pool and 13631 thr->task before returning. Use gomp_team_barrier_wait_final 13632 instead of gomp_team_barrier_wait. Initialize thr->place. 13633 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled, 13634 team_cancelled and task_queued_count fields. 13635 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task 13636 before calling pthread_exit. 13637 (gomp_free_thread): No longer static. Use 13638 gomp_managed_threads_lock instead of gomp_remaining_threads_lock. 13639 (gomp_team_start): Add flags argument. Set 13640 thr->thread_pool->threads_busy to nthreads immediately after creating 13641 new pool. Use gomp_managed_threads_lock instead of 13642 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity. 13643 (gomp_team_end): Use gomp_managed_threads_lock instead of 13644 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead 13645 of gomp_team_barrier_wait. If team->team_cancelled, call 13646 gomp_fini_workshare on ws chain starting at team->work_shares_to_free 13647 rather than thr->ts.work_share. 13648 (initialize_team): Don't call gomp_sem_init here. 13649 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start 13650 caller. 13651 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions. 13652 * env.c (gomp_global_icv): Add default_device_var, target_data and 13653 bind_var initializers. 13654 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove. 13655 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list, 13656 gomp_places_list_len): New variables. 13657 (parse_bind_var, parse_one_place, parse_places_var): New functions. 13658 (parse_affinity): Rewritten to construct OMP_PLACES list with unit 13659 sized places. 13660 (gomp_cancel_var): New global variable. 13661 (parse_int): New function. 13662 (handle_omp_display_env): New function. 13663 (initialize_env): Use it. Initialize default_device_var. 13664 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse 13665 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for 13666 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has 13667 been successfully parsed (and call gomp_init_affinity in that case). 13668 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device, 13669 omp_get_default_device, omp_get_num_devices, omp_get_num_teams, 13670 omp_get_team_num, omp_is_initial_device): New functions. 13671 * libgomp.h: Include stdlib.h. 13672 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call): 13673 Define. 13674 (struct target_mem_desc): Forward declare. 13675 (struct gomp_task_icv): Add default_device_var, target_data, bind_var 13676 and thread_limit_var fields. 13677 (gomp_get_num_devices): New prototype. 13678 (gomp_cancel_var): New extern decl. 13679 (struct gomp_team): Add work_shares_to_free, work_share_cancelled, 13680 team_cancelled and task_queued_count fields. Add comments about 13681 task_{,queued_,running_}count. 13682 (gomp_cancel_kind): New enum. 13683 (gomp_work_share_end_cancel): New prototype. 13684 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup, 13685 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees 13686 and depend fields. 13687 (struct gomp_taskgroup): New type. 13688 (struct gomp_task_depend_entry, 13689 struct gomp_dependers_vec): New types. 13690 (gomp_finish_task): Free depend_hash if non-NULL. 13691 (struct gomp_team_state): Add place_partition_off 13692 and place_partition_len fields. 13693 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list, 13694 gomp_places_list_len): New extern decls. 13695 (struct gomp_thread): Add place field. 13696 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove. 13697 (gomp_init_thread_affinity): Add place argument. 13698 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus, 13699 gomp_affinity_remove_cpu, gomp_affinity_copy_place, 13700 gomp_affinity_same_place, gomp_affinity_finalize_place_list, 13701 gomp_affinity_init_level, gomp_affinity_print_place): New 13702 prototypes. 13703 (gomp_team_start): Add flags argument. 13704 (gomp_thread_limit_var, gomp_remaining_threads_count, 13705 gomp_remaining_threads_lock): Remove. 13706 (gomp_managed_threads_lock): New variable. 13707 (struct gomp_thread_pool): Add threads_busy field. 13708 (gomp_free_thread): New prototype. 13709 * task.c: Include hashtab.h. 13710 (hash_entry_type): New typedef. 13711 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines. 13712 (gomp_init_task): Clear dependers, depend_hash, depend_count, 13713 copy_ctors_done and taskgroup fields. 13714 (GOMP_task): Add depend argument, handle depend clauses. If 13715 gomp_team_barrier_cancelled or if it's taskgroup has been 13716 cancelled, don't queue or start new tasks. Set copy_ctors_done 13717 field if needed. Initialize taskgroup field. If copy_ctors_done 13718 and already cancelled, don't discard the task. If taskgroup is 13719 non-NULL, enqueue the task into taskgroup queue. Increment 13720 num_children field in taskgroup. Increment task_queued_count. 13721 (gomp_task_run_pre, gomp_task_run_post_remove_parent, 13722 gomp_task_run_post_remove_taskgroup): New inline functions. 13723 (gomp_task_run_post_handle_depend_hash, 13724 gomp_task_run_post_handle_dependers, 13725 gomp_task_run_post_handle_depend): New functions. 13726 (GOMP_taskwait): Use them. If more than one new tasks 13727 have been queued, wake other threads if needed. 13728 (gomp_barrier_handle_tasks): Likewise. If 13729 gomp_team_barrier_cancelled, don't start any new tasks, just free 13730 all tasks. 13731 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions. 13732 * omp_lib.f90.in 13733 (omp_proc_bind_kind, omp_proc_bind_false, 13734 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close, 13735 omp_proc_bind_spread): New params. 13736 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device, 13737 omp_get_default_device, omp_get_num_devices, omp_get_num_teams, 13738 omp_get_team_num, omp_is_initial_device): New interfaces. 13739 (omp_get_dynamic, omp_get_nested, omp_in_parallel, 13740 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads, 13741 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels, 13742 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num, 13743 omp_get_team_size, omp_get_active_level, omp_in_final): Remove 13744 useless use omp_lib_kinds. 13745 * omp.h.in (omp_proc_bind_t): New typedef. 13746 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device, 13747 omp_get_default_device, omp_get_num_devices, omp_get_num_teams, 13748 omp_get_team_num, omp_is_initial_device): New prototypes. 13749 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it 13750 through to gomp_team_start. 13751 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start, 13752 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start): 13753 Adjust gomp_parallel_loop_start callers. 13754 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic, 13755 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime, 13756 GOMP_loop_end_cancel): New functions. 13757 (GOMP_parallel_end): Add ialias_redirect. 13758 * hashtab.h: New file. 13759 * libgomp.texi (Environment Variables): Minor cleanup, 13760 update section refs to OpenMP 4.0rc2. 13761 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these 13762 environment variables. 13763 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set 13764 team->work_shares_to_free to thr->ts.work_share before calling 13765 free_work_share. 13766 (gomp_work_share_end_cancel): New function. 13767 * config/linux/proc.c: Include errno.h. 13768 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables. 13769 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of 13770 sizeof (cpu_set_t) to determine number of iterations. Fix up check 13771 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if 13772 gomp_cpuset_size is sizeof (cpu_set_t). 13773 (gomp_init_num_threads): Initialize gomp_cpuset_size, 13774 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead 13775 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t) 13776 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't 13777 contain any logical CPUs. 13778 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp 13779 is NULL. Use gomp_cpusetp instead of &cpuset and pass 13780 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to 13781 pthread_getaffinity_np. Check gomp_places_list instead of 13782 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller. 13783 * config/linux/bar.c (gomp_barrier_wait_end, 13784 gomp_barrier_wait_last): Use BAR_* defines. 13785 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED 13786 from state where needed. Set work_share_cancelled to 0 on last 13787 thread. 13788 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end, 13789 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New 13790 functions. 13791 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden. 13792 Add cpusetsize argument. 13793 (gomp_cpuset_size, gomp_cpusetp): Declare. 13794 * config/linux/affinity.c: Include errno.h, stdio.h and string.h. 13795 (affinity_counter): Remove. 13796 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define 13797 if CPU_ALLOC_SIZE isn't defined. 13798 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try 13799 silently create OMP_PLACES=threads, if it is non-NULL afterwards, 13800 bind current thread to the first place. 13801 (gomp_init_thread_affinity): Rewritten. Add place argument, just 13802 pthread_setaffinity_np to gomp_places_list[place]. 13803 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus, 13804 gomp_affinity_remove_cpu, gomp_affinity_copy_place, 13805 gomp_affinity_same_place, gomp_affinity_finalize_place_list, 13806 gomp_affinity_init_level, gomp_affinity_print_place): New functions. 13807 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST, 13808 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define. 13809 (gomp_barrier_t): Add awaited_final field. 13810 (gomp_barrier_init): Initialize awaited_final field. 13811 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel, 13812 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New 13813 prototypes. 13814 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_* 13815 defines. 13816 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start, 13817 gomp_team_barrier_cancelled): New inline functions. 13818 (gomp_barrier_last_thread, 13819 gomp_team_barrier_set_task_pending, 13820 gomp_team_barrier_clear_task_pending, 13821 gomp_team_barrier_set_waiting_for_tasks, 13822 gomp_team_barrier_waiting_for_tasks, 13823 gomp_team_barrier_done): Use BAR_* defines. 13824 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field. 13825 (gomp_barrier_wait_end): Use BAR_* defines. 13826 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state. 13827 Set work_share_cancelled to 0 on last thread, use __atomic_load_n. 13828 Use BAR_* defines. 13829 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel, 13830 gomp_team_barrier_cancel): New functions. 13831 * config/posix/affinity.c (gomp_init_thread_affinity): Add place 13832 argument. 13833 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus, 13834 gomp_affinity_remove_cpu, gomp_affinity_copy_place, 13835 gomp_affinity_same_place, gomp_affinity_finalize_place_list, 13836 gomp_affinity_init_level, gomp_affinity_print_place): New stubs. 13837 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST, 13838 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define. 13839 (gomp_barrier_t): Add cancellable field. 13840 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end, 13841 gomp_team_barrier_cancel): New prototypes. 13842 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. 13843 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final, 13844 gomp_team_barrier_cancelled): New inline functions. 13845 (gomp_barrier_wait_start, gomp_barrier_last_thread, 13846 gomp_team_barrier_set_task_pending, 13847 gomp_team_barrier_clear_task_pending, 13848 gomp_team_barrier_set_waiting_for_tasks, 13849 gomp_team_barrier_waiting_for_tasks, 13850 gomp_team_barrier_done): Use BAR_* defines. 13851 * barrier.c (GOMP_barrier_cancel): New function. 13852 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false, 13853 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close, 13854 omp_proc_bind_spread): New params. 13855 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device, 13856 omp_get_default_device, omp_get_num_devices, omp_get_num_teams, 13857 omp_get_team_num, omp_is_initial_device): New externals. 13858 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point): 13859 New functions. 13860 (gomp_resolve_num_threads): Adjust for thread_limit now being in 13861 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as 13862 infinity. If not nested, just return minimum of max_num_threads 13863 and icv->thread_limit_var and if thr->thread_pool, set threads_busy 13864 to the returned value. Otherwise, don't update atomically 13865 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy. 13866 (GOMP_parallel_end): Adjust for thread_limit now being in 13867 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as 13868 infinity. Adjust threads_busy in the pool rather than 13869 gomp_remaining_threads_count. Remember team->nthreads and call 13870 gomp_team_end before adjusting threads_busy, if not nested 13871 afterwards, just set it to 1 non-atomically. Add ialias. 13872 (GOMP_parallel_start): Adjust gomp_team_start caller. 13873 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid. 13874 * testsuite/libgomp.c/affinity-1.c: New test. 13875 * testsuite/libgomp.c/atomic-15.c: New test. 13876 * testsuite/libgomp.c/atomic-16.c: New test. 13877 * testsuite/libgomp.c/atomic-17.c: New test. 13878 * testsuite/libgomp.c/cancel-for-1.c: New test. 13879 * testsuite/libgomp.c/cancel-for-2.c: New test. 13880 * testsuite/libgomp.c/cancel-parallel-1.c: New test. 13881 * testsuite/libgomp.c/cancel-parallel-2.c: New test. 13882 * testsuite/libgomp.c/cancel-parallel-3.c: New test. 13883 * testsuite/libgomp.c/cancel-sections-1.c: New test. 13884 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test. 13885 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test. 13886 * testsuite/libgomp.c/depend-1.c: New test. 13887 * testsuite/libgomp.c/depend-2.c: New test. 13888 * testsuite/libgomp.c/depend-3.c: New test. 13889 * testsuite/libgomp.c/depend-4.c: New test. 13890 * testsuite/libgomp.c/for-1.c: New test. 13891 * testsuite/libgomp.c/for-1.h: New file. 13892 * testsuite/libgomp.c/for-2.c: New test. 13893 * testsuite/libgomp.c/for-2.h: New file. 13894 * testsuite/libgomp.c/for-3.c: New test. 13895 * testsuite/libgomp.c/pr58392.c: New test. 13896 * testsuite/libgomp.c/simd-1.c: New test. 13897 * testsuite/libgomp.c/simd-2.c: New test. 13898 * testsuite/libgomp.c/simd-3.c: New test. 13899 * testsuite/libgomp.c/simd-4.c: New test. 13900 * testsuite/libgomp.c/simd-5.c: New test. 13901 * testsuite/libgomp.c/simd-6.c: New test. 13902 * testsuite/libgomp.c/target-1.c: New test. 13903 * testsuite/libgomp.c/target-2.c: New test. 13904 * testsuite/libgomp.c/target-3.c: New test. 13905 * testsuite/libgomp.c/target-4.c: New test. 13906 * testsuite/libgomp.c/target-5.c: New test. 13907 * testsuite/libgomp.c/target-6.c: New test. 13908 * testsuite/libgomp.c/target-7.c: New test. 13909 * testsuite/libgomp.c/taskgroup-1.c: New test. 13910 * testsuite/libgomp.c/thread-limit-1.c: New test. 13911 * testsuite/libgomp.c/thread-limit-2.c: New test. 13912 * testsuite/libgomp.c/thread-limit-3.c: New test. 13913 * testsuite/libgomp.c/udr-1.c: New test. 13914 * testsuite/libgomp.c/udr-2.c: New test. 13915 * testsuite/libgomp.c/udr-3.c: New test. 13916 * testsuite/libgomp.c++/affinity-1.C: New test. 13917 * testsuite/libgomp.c++/atomic-10.C: New test. 13918 * testsuite/libgomp.c++/atomic-11.C: New test. 13919 * testsuite/libgomp.c++/atomic-12.C: New test. 13920 * testsuite/libgomp.c++/atomic-13.C: New test. 13921 * testsuite/libgomp.c++/atomic-14.C: New test. 13922 * testsuite/libgomp.c++/atomic-15.C: New test. 13923 * testsuite/libgomp.c++/cancel-for-1.C: New test. 13924 * testsuite/libgomp.c++/cancel-for-2.C: New test. 13925 * testsuite/libgomp.c++/cancel-parallel-1.C: New test. 13926 * testsuite/libgomp.c++/cancel-parallel-2.C: New test. 13927 * testsuite/libgomp.c++/cancel-parallel-3.C: New test. 13928 * testsuite/libgomp.c++/cancel-sections-1.C: New test. 13929 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test. 13930 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test. 13931 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test. 13932 * testsuite/libgomp.c++/cancel-test.h: New file. 13933 * testsuite/libgomp.c++/for-9.C: New test. 13934 * testsuite/libgomp.c++/for-10.C: New test. 13935 * testsuite/libgomp.c++/for-11.C: New test. 13936 * testsuite/libgomp.c++/simd-1.C: New test. 13937 * testsuite/libgomp.c++/simd-2.C: New test. 13938 * testsuite/libgomp.c++/simd-3.C: New test. 13939 * testsuite/libgomp.c++/simd-4.C: New test. 13940 * testsuite/libgomp.c++/simd-5.C: New test. 13941 * testsuite/libgomp.c++/simd-6.C: New test. 13942 * testsuite/libgomp.c++/simd-7.C: New test. 13943 * testsuite/libgomp.c++/simd-8.C: New test. 13944 * testsuite/libgomp.c++/target-1.C: New test. 13945 * testsuite/libgomp.c++/target-2.C: New test. 13946 * testsuite/libgomp.c++/target-2-aux.cc: New file. 13947 * testsuite/libgomp.c++/target-3.C: New test. 13948 * testsuite/libgomp.c++/taskgroup-1.C: New test. 13949 * testsuite/libgomp.c++/udr-1.C: New test. 13950 * testsuite/libgomp.c++/udr-2.C: New test. 13951 * testsuite/libgomp.c++/udr-3.C: New test. 13952 * testsuite/libgomp.c++/udr-4.C: New test. 13953 * testsuite/libgomp.c++/udr-5.C: New test. 13954 * testsuite/libgomp.c++/udr-6.C: New test. 13955 * testsuite/libgomp.c++/udr-7.C: New test. 13956 * testsuite/libgomp.c++/udr-8.C: New test. 13957 * testsuite/libgomp.c++/udr-9.C: New test. 13958 139592013-09-20 Jakub Jelinek <jakub@redhat.com> 13960 13961 PR testsuite/57605 13962 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to 13963 ALWAYS_CFLAGS. 13964 139652013-09-20 Alan Modra <amodra@gmail.com> 13966 13967 * configure: Regenerate. 13968 139692013-09-19 Jakub Jelinek <jakub@redhat.com> 13970 13971 * testsuite/libgomp.c/sections-2.c: New test. 13972 139732013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com> 13974 13975 * testsuite/libgomp.fortran/strassen.f90: 13976 Add dg-skip-if aarch64_tiny. 13977 139782013-06-20 Iain Sandoe <iain@codesourcery.com> 13979 Cesar Philippidis <cesar@codesourcery.com> 13980 13981 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order. 13982 Do not load_gcc_lib gcc-dg.exp and add a comment as to why. 13983 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp. 13984 * testsuite/libgomp.fortran/fortran.exp: Likewise. 13985 * testsuite/libgomp.graphite/graphite.exp: Likewise. 13986 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp. 13987 Use dg-runtest rather than gfortran-dg-runtest. 13988 139892013-06-10 Thomas Schwinge <thomas@codesourcery.com> 13990 13991 * testsuite/libgomp.c/icv-2.c: Extend current handling of 13992 Linux-based x86 systems to cover all GNU systems. 13993 * testsuite/libgomp.c/lock-3.c: Likewise. 13994 * testsuite/libgomp.c/pr48591.c: Likewise. 13995 139962013-06-06 Thomas Schwinge <thomas@codesourcery.com> 13997 13998 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for 13999 GNU/Hurd, as done for Linux-based systems. 14000 14001 * config/posix/ptrlock.h: Fix comment. 14002 140032013-05-27 Tobias Burnus <burnus@net-b.de> 14004 14005 PR fortran/57423 14006 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested, 14007 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock, 14008 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock, 14009 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock, 14010 omp_destroy_nest_lock): Correct arguments to match the one in 14011 the OpenMP spec. 14012 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock 14013 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock, 14014 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested, 14015 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto. 14016 140172013-05-16 Jakub Jelinek <jakub@redhat.com> 14018 14019 * testsuite/libgomp.c/loop-13.c: New test. 14020 * testsuite/libgomp.c/loop-14.c: New test. 14021 * testsuite/libgomp.c/loop-15.c: New test. 14022 * testsuite/libgomp.c++/loop-13.C: New test. 14023 * testsuite/libgomp.c++/loop-14.C: New test. 14024 * testsuite/libgomp.c++/loop-15.C: New test. 14025 140262013-02-06 Jakub Jelinek <jakub@redhat.com> 14027 14028 PR middle-end/56217 14029 * testsuite/libgomp.c++/pr56217.C: New test. 14030 140312013-02-01 Alan Modra <amodra@gmail.com> 14032 14033 * task.c (GOMP_task, GOMP_taskwait): Comment. 14034 140352013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org> 14036 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch> 14037 14038 PR libgomp/55561 14039 * config/linux/wait.h (do_spin): Use atomic load for addr. 14040 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic 14041 for intptr and ptrlock. 14042 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load 14043 for ptrlock. 14044 140452013-01-22 Alan Modra <amodra@gmail.com> 14046 14047 PR libgomp/51376 14048 PR libgomp/56073 14049 * task.c (GOMP_task): Revert 2011-12-09 change. 14050 (GOMP_taskwait): Likewise. Instead use atomic load with acquire 14051 barrier to read task->children.. 14052 (gomp_barrier_handle_tasks): ..and matching atomic store with 14053 release barrier here when setting parent->children to NULL. 14054 140552013-01-16 Jakub Jelinek <jakub@redhat.com> 14056 Tobias Burnus <burnus@net-b.de> 14057 14058 PR driver/55884 14059 * testsuite/libgomp.fortran/fortran.exp: Use 14060 -fintrinsic-modules-path= instead of 14061 -fintrinsic-modules-path. 14062 140632013-01-14 Richard Sandiford <rdsandiford@googlemail.com> 14064 14065 Update copyright years. 14066 140672012-12-19 Tobias Burnus <burnus@net-b.de> 14068 14069 * testsuite/libgomp.fortran/fortran.exp: Set 14070 -fintrinsic-modules-path. 14071 140722012-12-19 Tobias Burnus <burnus@net-b.de> 14073 14074 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved 14075 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90. 14076 140772012-11-21 Jakub Jelinek <jakub@redhat.com> 14078 14079 PR libgomp/55411 14080 * team.c (gomp_free_thread): Decrease gomp_managed_threads 14081 if pool had any threads_used. 14082 140832012-11-07 Jack Howarth <howarth@bromo.med.uc.edu> 14084 14085 * testsuite/libgomp.c++/pr24455.C: Use 14086 -Wl,-undefined,dynamic_lookup on darwin. 14087 140882012-11-07 David Edelsohn <dje.gcc@gmail.com> 14089 14090 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX. 14091 140922012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr> 14093 14094 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops. 14095 140962012-10-23 Ian Bolton <ian.bolton@arm.com> 14097 Jim MacArthur <jim.macarthur@arm.com> 14098 Marcus Shawcroft <marcus.shawcroft@arm.com> 14099 Nigel Stephens <nigel.stephens@arm.com> 14100 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> 14101 Richard Earnshaw <rearnsha@arm.com> 14102 Sofiane Naci <sofiane.naci@arm.com> 14103 Stephen Thomas <stephen.thomas@arm.com> 14104 Tejas Belagod <tejas.belagod@arm.com> 14105 Yufeng Zhang <yufeng.zhang@arm.com> 14106 14107 * configure.tgt: Add AArch64. 14108 141092012-10-04 Jason Merrill <jason@redhat.com> 14110 14111 * testsuite/libgomp.c++/tls-init1.C: New. 14112 141132012-09-14 David Edelsohn <dje.gcc@gmail.com> 14114 14115 * configure: Regenerated. 14116 141172012-08-29 Chung-Lin Tang <cltang@codesourcery.com> 14118 14119 * config/linux/mips/futex.h (sys_futex0): Change to static 14120 function with noinline, nomips16 attributes under MIPS16. Adjust 14121 asm statement to place 'li v0,SYS_futex' immediately before 14122 syscall insn. 14123 141242012-07-04 Sandra Loosemore <sandra@codesourcery.com> 14125 14126 * libgomp.texi (Library Index): Renamed from "Index" to prevent 14127 conflict with index.html on case-insensitive file systems. 14128 141292012-07-03 Uros Bizjak <ubizjak@gmail.com> 14130 14131 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause. 14132 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto. 14133 141342012-07-02 Richard Guenther <rguenther@suse.de> 14135 Michael Matz <matz@suse.de> 14136 Tobias Grosser <tobias@grosser.es> 14137 Sebastian Pop <sebpop@gmail.com> 14138 14139 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust. 14140 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise. 14141 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise. 14142 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise. 14143 141442012-06-28 Andreas Schwab <schwab@linux-m68k.org> 14145 14146 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi. 14147 141482012-06-22 Richard Guenther <rguenther@suse.de> 14149 14150 Merge from graphite branch 14151 2012-01-13 Tobias Grosser <tobias@grosser.es> 14152 14153 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust. 14154 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise. 14155 141562012-06-07 Jakub Jelinek <jakub@redhat.com> 14157 14158 PR middle-end/53580 14159 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier, 14160 use GOMP_barrier () call instead. 14161 * testsuite/libgomp.c/pr26943-3.c: Likewise. 14162 * testsuite/libgomp.c/pr26943-4.c: Likewise. 14163 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier, 14164 call GOMP_barrier instead. 14165 * testsuite/libgomp.fortran/vla5.f90: Likewise. 14166 141672012-06-06 Jakub Jelinek <jakub@redhat.com> 14168 14169 PR libgomp/52993 14170 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last 14171 argument to memset call. 14172 141732012-05-16 H.J. Lu <hongjiu.lu@intel.com> 14174 14175 * configure: Regenerated. 14176 141772012-04-11 Manuel L��pez-Ib����ez <manu@gcc.gnu.org> 14178 14179 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret. 14180 141812012-03-31 H.J. Lu <hongjiu.lu@intel.com> 14182 14183 PR bootstrap/52812 14184 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64. 14185 141862012-03-22 Jakub Jelinek <jakub@redhat.com> 14187 14188 PR middle-end/52547 14189 * testsuite/libgomp.c/pr52547.c: New test. 14190 141912012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> 14192 14193 * testsuite/lib/libgomp.exp: load fortran-modules.exp 14194 141952012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 14196 14197 * configure.tgt (mips-sgi-irix6*): Remove. 14198 141992012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 14200 14201 * configure.tgt (alpha*-dec-osf*): Remove. 14202 14203 * config/osf/sem.h: Remove. 14204 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally. 14205 142062012-02-29 Eric Botcazou <ebotcazou@adacore.com> 14207 14208 * config/linux/sparc/futex.h (cpu_relax): Read from CC register. 14209 142102012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 14211 14212 PR libstdc++/52188 14213 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming. 14214 Remove ENABLE_SYMVERS_SOL2. 14215 * configure: Regenerate. 14216 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable. 14217 (PREPROCESS): New variable. 14218 (libgomp.ver): New target. 14219 [LIBGOMP_BUILD_VERSIONED_SHLIB && 14220 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove 14221 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling. 14222 Use libgomp.ver. 14223 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun. 14224 * Makefile.in: Regenerate. 14225 142262012-02-14 Walter Lee <walt@tilera.com> 14227 14228 * configure.tgt: Handle tilegx and tilepro. 14229 * config/linux/tile/futex.h: New file. 14230 142312012-02-08 Richard Guenther <rguenther@suse.de> 14232 14233 PR tree-optimization/46886 14234 * testsuite/libgomp.c/pr46886.c: New testcase. 14235 142362012-01-25 Matthias Klose <doko@ubuntu.com> 14237 14238 * config/linux/arm: Remove empty directory. 14239 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*. 14240 142412011-12-09 Alan Modra <amodra@gmail.com> 14242 14243 PR libgomp/51376 14244 * task.c (GOMP_taskwait): Don't access task->children outside of 14245 task_lock mutex region. 14246 (GOMP_task): Likewise. 14247 142482011-12-06 Jakub Jelinek <jakub@redhat.com> 14249 14250 PR libgomp/51132 14251 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays 14252 to file scope. 14253 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise. 14254 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise. 14255 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise. 14256 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise. 14257 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise. 14258 142592011-12-02 Alan Modra <amodra@gmail.com> 14260 14261 * config/linux/affinity.c: Use atomic rather than sync builtin. 14262 * config/linux/lock.c: Likewise. 14263 * config/linux/ptrlock.h: Likewise. 14264 * config/linux/ptrlock.c: Likewise. 14265 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here.. 14266 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here. 14267 * config/linux/futex.h (atomic_write_barrier): Delete unused function. 14268 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise. 14269 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise. 14270 * config/linux/mips/futex.h (atomic_write_barrier): Likewise. 14271 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise. 14272 * config/linux/s390/futex.h (atomic_write_barrier): Likewise. 14273 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise. 14274 * config/linux/x86/futex.h (atomic_write_barrier): Likewise. 14275 142762011-11-30 Alan Modra <amodra@gmail.com> 14277 14278 PR libgomp/51298 14279 * config/linux/bar.h: Use atomic rather than sync builtins. 14280 * config/linux/bar.c: Likewise. Add missing acquire 14281 synchronisation on generation field. 14282 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not 14283 double unlock. 14284 142852011-11-30 Alan Modra <amodra@gmail.com> 14286 14287 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence. 14288 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence. 14289 * config/linux/mutex.h: Use atomic rather than sync builtins. 14290 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state. 14291 * config/linux/omp-lock.h: Comment fix. 14292 * config/linux/arm/mutex.h: Delete. 14293 * config/linux/powerpc/mutex.h: Delete. 14294 * config/linux/ia64/mutex.h: Delete. 14295 * config/linux/mips/mutex.h: Delete. 14296 142972011-11-30 Alan Modra <amodra@gmail.com> 14298 14299 PR libgomp/51249 14300 * config/linux/sem.h: Rewrite. 14301 * config/linux/sem.c: Rewrite. 14302 143032011-11-28 Richard Henderson <rth@redhat.com> 14304 14305 * libgomp.h (enum memmodel): New. 14306 143072011-11-21 Andreas Tobler <andreast@fgznet.ch> 14308 14309 * configure: Regenerate. 14310 143112011-10-10 Matthias Klose <doko@ubuntu.com> 14312 14313 * config/posix95: Remove empty directory. 14314 143152011-08-26 Jakub Jelinek <jakub@redhat.com> 14316 14317 * testsuite/libgomp.fortran/threadprivate4.f90: New test. 14318 143192011-08-19 Jakub Jelinek <jakub@redhat.com> 14320 14321 PR fortran/49792 14322 * testsuite/libgomp.fortran/pr49792-1.f90: New test. 14323 * testsuite/libgomp.fortran/pr49792-2.f90: New test. 14324 143252011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 14326 14327 * config/posix95/lock.c, posix95/omp-lock.h: Remove. 14328 143292011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 14330 14331 PR libgomp/49965 14332 * testsuite/libgomp.c++/task-8.C: Replaced err by errval. 14333 143342011-08-03 Uros Bizjak <ubizjak@gmail.com> 14335 14336 * config/linux/proc.h: New. 14337 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>. 14338 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static. 14339 (gomp_init_num_threads): Update call to cpuset_popcount. 14340 (get_num_procs): Ditto. 14341 * config/linux/affinity.c (gomp_init_affinity): Call 14342 gomp_cpuset_popcount. 14343 143442011-08-02 Jakub Jelinek <jakub@redhat.com> 14345 14346 PR fortran/42041 14347 PR fortran/46752 14348 * omp.h.in (omp_in_final): New prototype. 14349 * omp_lib.f90.in (omp_in_final): New interface. 14350 (omp_integer_kind, omp_logical_kind): Remove 14351 and replace all its uses in the module with 4. 14352 (openmp_version): Change to 201107. 14353 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic, 14354 omp_sched_guided, omp_sched_auto): Use omp_sched_kind 14355 kind for the parameters. 14356 (omp_in_final): New external. 14357 (openmp_version): Change to 201107. 14358 * task.c (omp_in_final): New function. 14359 (gomp_init_task): Initialize final_task. 14360 (GOMP_task): Remove unused attribute from flags. Handle final 14361 tasks. 14362 (GOMP_taskyield): New function. 14363 (omp_in_final): Return true if if (false) or final (true) task 14364 or descendant of final (true). 14365 * fortran.c (omp_in_final_): New function. 14366 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_. 14367 (GOMP_3.0): Export GOMP_taskyield. 14368 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New 14369 variables. 14370 (parse_unsigned_long_list): New function. 14371 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean 14372 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity 14373 even if parse_affinity returned false. 14374 * config/linux/affinity.c (gomp_init_affinity): Handle 14375 gomp_cpu_affinity_len == 0. 14376 * libgomp_g.h (GOMP_taskyield): New prototype. 14377 * libgomp.h (struct gomp_task): Add final_task field. 14378 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs. 14379 * team.c (gomp_team_start): Override new task's nthreads_var icv 14380 if list form OMP_NUM_THREADS has been used and it has value for 14381 the new nesting level. 14382 14383 * testsuite/libgomp.c/atomic-11.c: New test. 14384 * testsuite/libgomp.c/atomic-12.c: New test. 14385 * testsuite/libgomp.c/atomic-13.c: New test. 14386 * testsuite/libgomp.c/atomic-14.c: New test. 14387 * testsuite/libgomp.c/reduction-6.c: New test. 14388 * testsuite/libgomp.c/task-5.c: New test. 14389 * testsuite/libgomp.c++/atomic-2.C: New test. 14390 * testsuite/libgomp.c++/atomic-3.C: New test. 14391 * testsuite/libgomp.c++/atomic-4.C: New test. 14392 * testsuite/libgomp.c++/atomic-5.C: New test. 14393 * testsuite/libgomp.c++/atomic-6.C: New test. 14394 * testsuite/libgomp.c++/atomic-7.C: New test. 14395 * testsuite/libgomp.c++/atomic-8.C: New test. 14396 * testsuite/libgomp.c++/atomic-9.C: New test. 14397 * testsuite/libgomp.c++/task-8.C: New test. 14398 * testsuite/libgomp.c++/reduction-4.C: New test. 14399 * testsuite/libgomp.fortran/allocatable7.f90: New test. 14400 * testsuite/libgomp.fortran/allocatable8.f90: New test. 14401 * testsuite/libgomp.fortran/crayptr3.f90: New test. 14402 * testsuite/libgomp.fortran/omp_atomic3.f90: New test. 14403 * testsuite/libgomp.fortran/omp_atomic4.f90: New test. 14404 * testsuite/libgomp.fortran/pointer1.f90: New test. 14405 * testsuite/libgomp.fortran/pointer2.f90: New test. 14406 * testsuite/libgomp.fortran/task4.f90: New test. 14407 144082011-08-02 Tobias Burnus <burnus@net-b.de> 14409 14410 * libgomp.texi: Update OpenMP spec references to 3.1. 14411 (omp_in_final,OMP_PROC_BIND): New sections. 14412 (OMP_NUM_THREADS): Document that the value can be now a list. 14413 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref. 14414 144152011-08-02 H.J. Lu <hongjiu.lu@intel.com> 14416 14417 * config/linux/x86/futex.h: Check __x86_64__ instead of 14418 __LP64__. 14419 144202011-07-29 Jakub Jelinek <jakub@redhat.com> 14421 14422 PR middle-end/49897 14423 PR middle-end/49898 14424 * testsuite/libgomp.c/pr49897-1.c: New test. 14425 * testsuite/libgomp.c/pr49897-2.c: New test. 14426 * testsuite/libgomp.c/pr49898-1.c: New test. 14427 * testsuite/libgomp.c/pr49898-2.c: New test. 14428 144292011-07-28 H.J. Lu <hongjiu.lu@intel.com> 14430 14431 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486 14432 for ia32 instead of ilp32. 14433 14434 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32. 14435 * testsuite/libgomp.c/atomic-6.c: Likewise. 14436 144372011-07-23 Sebastian Pop <sebastian.pop@amd.com> 14438 14439 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail. 14440 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern. 14441 144422011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 14443 14444 PR libgomp/45351 14445 * config/osf/sem.h: New file. 14446 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path. 14447 144482011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 14449 14450 PR target/49541 14451 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to 14452 ldflags. 14453 144542011-07-15 Jakub Jelinek <jakub@redhat.com> 14455 14456 * config/linux/wait.h (do_spin): New inline, largely copied 14457 from do_wait, just don't do futex_wait here, instead return true if 14458 it should be done. 14459 (do_wait): Implement using do_spin. 14460 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument 14461 to prototype. 14462 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of 14463 __sync_bool_compare_and_swap, pass the oldval to 14464 gomp_mutex_lock_slow. 14465 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument. 14466 If all mutex contenders are just spinning and not sleeping, don't 14467 change state to 2 unnecessarily. Optimize the loop when state has 14468 already become 2 to use just one atomic operation per loop instead 14469 of two. 14470 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument 14471 to prototype. 14472 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of 14473 __sync_bool_compare_and_swap, pass the oldval to 14474 gomp_mutex_lock_slow. 14475 144762011-06-22 Jakub Jelinek <jakub@redhat.com> 14477 14478 PR libgomp/49490 14479 * iter.c (gomp_iter_static_next): For chunk size 0 14480 only use n ceil/ nthreads size for the first 14481 n % nthreads threads in the team instead of 14482 all threads except for the last few ones which 14483 get less work or none at all. 14484 * iter_ull.c (gomp_iter_ull_static_next): Likewise. 14485 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have 14486 chunk argument, set run_sched_modifier to 0 for static 14487 resp. 1 for other kinds. If chunk argument is 0 14488 and not static, set value to 1. 14489 144902011-05-19 Jakub Jelinek <jakub@redhat.com> 14491 14492 PR c++/49043 14493 * testsuite/libgomp.c++/pr49043.C: New test. 14494 14495 PR c++/48869 14496 * testsuite/libgomp.c++/pr48869.C: New test. 14497 144982011-05-06 Jakub Jelinek <jakub@redhat.com> 14499 14500 PR fortran/48894 14501 * fortran.c: Include limits.h. 14502 (TO_INT): Define. 14503 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of 14504 *set. 14505 (omp_set_num_threads_8_, omp_set_schedule_8_, 14506 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_, 14507 omp_get_team_size_8_): Use TO_INT macro. 14508 * testsuite/libgomp.fortran/pr48894.f90: New test. 14509 145102011-04-13 Jakub Jelinek <jakub@redhat.com> 14511 14512 PR middle-end/48591 14513 * testsuite/libgomp.c/pr48591.c: New test. 14514 145152011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 14516 14517 PR bootstrap/48135 14518 * acinclude.m4 (enable_symvers): Handle --disable-symvers. 14519 * configure: Regenerate. 14520 145212011-02-27 Jakub Jelinek <jakub@redhat.com> 14522 14523 PR fortran/47886 14524 * testsuite/libgomp.fortran/task3.f90: New test. 14525 145262011-02-24 Tobias Burnus <burnus@net-b.de> 14527 14528 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE. 14529 145302011-02-23 Jakub Jelinek <jakub@redhat.com> 14531 14532 PR libgomp/47854 14533 * libgomp.texi (omp_get_wtime): Don't say time in the past 14534 must be Unix Epoch. 14535 145362011-02-18 Jakub Jelinek <jakub@redhat.com> 14537 14538 PR libgomp/47804 14539 * testsuite/libgomp.fortran/fortran.exp: Check for both 14540 libquadmath.a and libquadmath.${shlib_ext}. If neither exists, 14541 but $blddir != "", still append ${blddir}/${lang_library_path} 14542 to ld_library_path. 14543 145442011-02-16 Tobias Burnus <burnus@net-b.de> 14545 14546 PR libgomp/47758 14547 * testsuite/libgomp.fortran/fortran.exp: Check for the existence 14548 of libquadmath.a before adding its libpath to ldflags. 14549 145502011-02-14 Jakub Jelinek <jakub@redhat.com> 14551 14552 PR libgomp/47731 14553 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument 14554 to FUTEX_WAIT futex syscall. 14555 * config/linux/wait.h: Include <futex.h> instead of "futex.h". 14556 145572011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 14558 14559 * configure: Regenerate. 14560 145612011-01-20 Benjamin Kosnik <bkoz@redhat.com> 14562 14563 PR libstdc++/36104 14564 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants. 14565 145662011-01-16 Gerald Pfeifer 14567 14568 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS. 14569 145702010-12-14 Jakub Jelinek <jakub@redhat.com> 14571 14572 PR fortran/46874 14573 * libgomp.fortran/allocatable6.f90: New test. 14574 145752010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 14576 14577 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no. 14578 * configure: Regenerate. 14579 145802010-12-06 Dave Korn <dave.korn.cygwin@gmail.com> 14581 14582 PR target/40125 14583 PR lto/46695 14584 * configure.ac: Invoke ACX_LT_HOST_FLAGS. 14585 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags. 14586 * aclocal.m4: Regenerate. 14587 * configure: Regenerate. 14588 * Makefile.in: Regenerate. 14589 * testsuite/Makefile.in: Regenerate. 14590 145912010-12-02 Jakub Jelinek <jakub@redhat.com> 14592 14593 PR fortran/46753 14594 * libgomp.fortran/pr46753.f90: New test. 14595 14596 PR libgomp/43706 14597 * env.c (initialize_env): Default to spin count 300000 14598 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT 14599 is specified. 14600 14601 PR libgomp/45240 14602 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock 14603 at the end if sync builtins aren't supported. 14604 146052010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 14606 14607 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS. 14608 146092010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 14610 14611 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0. 14612 146132010-11-24 Iain Sandoe <iains@gcc.gnu.org> 14614 14615 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath. 14616 146172010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 14618 Tobias Burnus <burnus@net-b.de> 14619 14620 PR fortran/32049 14621 * configure.ac: 14622 * configure: Regenerate. 14623 146242010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com> 14625 14626 * config/linux/futex.h: New. 14627 * config/linux/arm/mutex.h: New. 14628 * configure.tgt (arm*-*-linux*): Add config path. 14629 146302010-09-30 Sebastian Pop <sebastian.pop@amd.com> 14631 14632 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust. 14633 146342010-09-23 Tobias Burnus <burnus@net-b.de> 14635 14636 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic): 14637 Change Fortran datatype to LOGICAL. 14638 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock, 14639 omp_unset_nested_lock): Use intent(inout) instead of intent(out). 14640 146412010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 14642 14643 * configure: Regenerate. 14644 146452010-07-26 Jakub Jelinek <jakub@redhat.com> 14646 14647 * libgomp.texi: Add function keyword to a couple of Fortran 14648 interfaces, use integer instead of int for Fortran. 14649 146502010-07-26 Aldy Hernandez <aldyh@redhat.com> 14651 14652 * libgomp.texi: Fix spelling and pasto problems throughout. 14653 Adjust prototypes to match code. 14654 146552010-07-24 Tobias Burnus <burnus@net-b.de> 14656 14657 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to 14658 silence -fwhole-file warning. 14659 146602010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 14661 14662 * configure.tgt (*-*-solaris2.[56]*): Removed. 14663 146642010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 14665 14666 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style. 14667 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU, 14668 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals. 14669 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless 14670 targetting solaris2*. 14671 * configure: Regenerate. 14672 * config.h.in: Regenerate. 14673 14674 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect 14675 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU. 14676 Add libgomp_version_dep. 14677 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol 14678 versioning. 14679 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep. 14680 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep). 14681 * Makefile.in: Regenerate. 14682 14683 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless 14684 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT. 14685 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0 14686 to common block, protected by 14687 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT. 14688 146892010-06-10 Gerald Pfeifer <gerald@pfeifer.com> 14690 14691 * libgomp.texi: Move to GFDL version 1.3. Update copyright years. 14692 146932010-06-09 Iain Sandoe <iains@gcc.gnu.org> 14694 14695 PR bootstrap/43170 14696 * configure: Regenerate. 14697 146982010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 14699 14700 PR other/43620 14701 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist. 14702 * configure: Regenerate. 14703 * Makefile.in: Regenerate. 14704 * testsuite/Makefile.in: Regenerate. 14705 147062010-04-26 Jakub Jelinek <jakub@redhat.com> 14707 14708 PR c/43893 14709 * testsuite/libgomp.c/pr43893.c: New test. 14710 * testsuite/libgomp.c++/pr43893.C: New test. 14711 147122010-04-21 Jakub Jelinek <jakub@redhat.com> 14713 14714 PR middle-end/43570 14715 * testsuite/libgomp.fortran/vla8.f90: New test. 14716 147172010-04-20 Jakub Jelinek <jakub@redhat.com> 14718 14719 PR libgomp/43706 14720 * config/linux/affinity.c (gomp_init_affinity): Decrease 14721 gomp_available_cpus if affinity mask confines the process to fewer 14722 CPUs. 14723 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is 14724 non-NULL, just return gomp_available_cpus. 14725 14726 PR libgomp/43569 14727 * sections.c (gomp_sections_init): Initialize ws->mode. 14728 147292010-04-14 Uros Bizjak <ubizjak@gmail.com> 14730 14731 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but 14732 not unused bar variable. 14733 * configure: Regenerate. 14734 147352010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 14736 14737 * Makefile.in: Regenerate. 14738 * aclocal.m4: Regenerate. 14739 * testsuite/Makefile.in: Regenerate. 14740 147412010-03-22 Jakub Jelinek <jakub@redhat.com> 14742 14743 PR libgomp/42942 14744 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument. 14745 (initialize_env): Adjust callers. 14746 (omp_set_max_active_levels): Set gomp_max_active_levels_var even 14747 when the argument is 0. 14748 14749 * testsuite/libgomp.c/pr42942.c: New test. 14750 147512010-03-08 Tobias Grosser <grosser@fim.uni-passau.de> 14752 14753 PR middle-end/42644 14754 PR middle-end/42130 14755 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust. 14756 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust. 14757 147582010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 14759 14760 * testsuite/libgomp.c++/task-1.C: Renamed err to e. 14761 * testsuite/libgomp.c++/task-6.C: Likewise. 14762 147632010-01-28 Steve Ellcey <sje@cup.hp.com> 14764 14765 * configure.tgt (*-*-hpux*): Add -frandom-seed flag. 14766 147672010-01-26 Paolo Bonzini <bonzini@gnu.org> 14768 14769 * configure.ac: Test for executability of _the first word_ of GFORTRAN. 14770 * configure: Regenerate. 14771 147722010-01-26 Jakub Jelinek <jakub@redhat.com> 14773 14774 PR fortran/42866 14775 * testsuite/libgomp.fortran/allocatable5.f90: New test. 14776 147772010-01-20 Paolo Bonzini <bonzini@gnu.org> 14778 14779 * configure.ac: Test for executability of GFORTRAN. 14780 * configure: Regenerate. 14781 147822010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 14783 14784 * configure: Regenerate. 14785 147862010-01-04 H.J. Lu <hongjiu.lu@intel.com> 14787 14788 PR libgomp/42602 14789 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic. 14790 147912010-01-03 Richard Guenther <rguenther@suse.de> 14792 14793 * testsuite/libgomp.fortran/recursion1.f90: New testcase. 14794 147952009-12-23 Sebastian Pop <sebpop@gmail.com> 14796 14797 * testsuite/libgomp.graphite/pr4118.c: New. 14798 147992009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk> 14800 14801 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage 14802 for darwin, protect the test with require-effective-target tls_runtime. 14803 * testsuite/libgomp.fortran/pr32550.f90: Ditto. 14804 148052009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk> 14806 14807 PR target/41605 14808 * testsuite/lib/libgomp.exp: Provide -B options to allow for 14809 link spec %s substitutions for static libraries. 14810 148112009-12-18 Jack Howarth <howarth@bromo.med.uc.edu> 14812 14813 PR testsuite/42135 14814 * libgomp.graphite/force-parallel-2.c: Reduce array size. 14815 148162009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 14817 14818 * Makefile.in: Regenerate. 14819 * configure: Regenerate. 14820 * testsuite/Makefile.in: Regenerate. 14821 148222009-11-30 Dave Korn <dave.korn.cygwin@gmail.com> 14823 14824 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent 14825 settings for LC_ALL and LANG. 14826 148272009-11-25 Jakub Jelinek <jakub@redhat.com> 14828 14829 PR fortran/42162 14830 * testsuite/libgomp.fortran/pr42162.f90: New test. 14831 148322009-11-13 Jakub Jelinek <jakub@redhat.com> 14833 14834 PR middle-end/42029 14835 * testsuite/libgomp.c/pr42029.c: New test. 14836 148372009-10-26 Jakub Jelinek <jakub@redhat.com> 14838 14839 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many 14840 *s. Accept ld version without text in ()s. 14841 * configure: Regenerated. 14842 148432009-10-22 Razya Ladelsky <razya@il.ibm.com> 14844 14845 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan. 14846 148472009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 14848 14849 PR libgomp/41418 14850 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no" 14851 or a hyphen (happens with fortran language disabled). 14852 * configure: Regenerate. 14853 148542009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 14855 14856 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head', 14857 use sed script portable to Solaris /bin/sed for extracting ld 14858 version. 14859 * configure: Regenerate. 14860 148612009-09-17 Alexander Monakov <amonakov@ispras.ru> 14862 14863 * testsuite/libgomp.graphite/bounds.c: New test. 14864 148652009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 14866 14867 * Makefile.am (libgomp_la_LINK): New. 14868 * Makefile.in: Regenerate. 14869 148702009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 14871 14872 * configure.ac (AC_PREREQ): Bump to 2.64. 14873 148742009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 14875 14876 * Makefile.am (install-html, install-pdf): Remove. 14877 * Makefile.in: Regenerate. 14878 14879 * Makefile.in: Regenerate. 14880 * aclocal.m4: Regenerate. 14881 * config.h.in: Regenerate. 14882 * configure: Regenerate. 14883 * testsuite/Makefile.in: Regenerate. 14884 148852009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 14886 14887 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS). 14888 * Makefile.in: Regenerate. 14889 148902009-08-20 Dave Korn <dave.korn.cygwin@gmail.com> 14891 14892 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag. 14893 * Makefile.in: Regenerate. 14894 148952009-08-19 Tobias Burnus <burnus@net-b.de> 14896 14897 PR fortran/41102 14898 omp_lib.h.in: Fix -std=f95 errors. 14899 149002009-08-14 David Edelsohn <edelsohn@gnu.org> 14901 14902 * testsuite/libgomp.graphite: Move from gcc.dg/graphite. 14903 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete. 14904 * testsuite/libgomp.graphite/graphite.exp: New. 14905 149062009-08-05 Andreas Tobler <a.tobler@schweiz.org> 14907 14908 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared 14909 only build. 14910 149112009-08-04 David Daney <ddaney@caviumnetworks.com> 14912 14913 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about 14914 needed memory barrier semantics. 14915 * config/linux/mips/mutex.h: New file. 14916 149172009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 14918 14919 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force. 14920 149212009-07-16 Joseph Myers <joseph@codesourcery.com> 14922 14923 * configure: Regenerate. 14924 149252009-07-11 Richard Sandiford <rdsandiford@googlemail.com> 14926 14927 PR testsuite/40699 14928 PR testsuite/40707 14929 PR testsuite/40709 14930 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits. 14931 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp, 14932 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits. 14933 149342009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com> 14935 14936 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS 14937 options when choosing a multilib. 14938 149392009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com> 14940 14941 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to 14942 ld_library_path. Use add_path. Add just find_libgcc_s to 14943 ld_library_path, not every libgcc multilib directory. 14944 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call 14945 gcc-set-multilib-library-path; rely on $always_ld_library_path instead. 14946 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise. 14947 Use add_path. 14948 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise. 14949 149502009-06-09 Nathan Froyd <froydnj@codesourcery.com> 14951 14952 * Makefile.am (LTLDFLAGS): Define. 14953 (LINK): Define. 14954 * Makefile.in: Regenerate. 14955 149562009-05-27 Janne Blomqvist <jb@gcc.gnu.org> 14957 14958 PR fortran/39718 14959 * testsuite/libgomp.fortran/fortran.exp: Don't link with 14960 libgfortranbegin, check existence of libgfortran.a instead of 14961 libgfortranbegin.a. 14962 149632009-05-20 Jakub Jelinek <jakub@redhat.com> 14964 14965 PR libgomp/40174 14966 * team.c (gomp_thread_start): Destroy thr->release semaphore. 14967 (gomp_free_pool_helper): Likewise. 14968 149692009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com> 14970 Jakub Jelinek <jakub@redhat.com> 14971 14972 PR fortran/35423 14973 * testsuite/libgomp.fortran/workshare2.f90: New test. 14974 149752009-04-09 Nick Clifton <nickc@redhat.com> 14976 14977 * iter.c: Change copyright header to refer to version 3 of the 14978 GNU General Public License with version 3.1 of the GCC Runtime 14979 Library Exception and to point readers at the COPYING3 and 14980 COPYING3.RUNTIME files and the FSF's license web page. 14981 * alloc.c: Likewise. 14982 * barrier.c: Likewise. 14983 * config/bsd/proc.c: Likewise. 14984 * config/linux/affinity.c: Likewise. 14985 * config/linux/alpha/futex.h: Likewise. 14986 * config/linux/bar.c: Likewise. 14987 * config/linux/bar.h: Likewise. 14988 * config/linux/ia64/futex.h: Likewise. 14989 * config/linux/ia64/mutex.h: Likewise. 14990 * config/linux/lock.c: Likewise. 14991 * config/linux/mips/futex.h: Likewise. 14992 * config/linux/mutex.c: Likewise. 14993 * config/linux/mutex.h: Likewise. 14994 * config/linux/powerpc/futex.h: Likewise. 14995 * config/linux/proc.c: Likewise. 14996 * config/linux/ptrlock.c: Likewise. 14997 * config/linux/ptrlock.h: Likewise. 14998 * config/linux/s390/futex.h: Likewise. 14999 * config/linux/sem.c: Likewise. 15000 * config/linux/sem.h: Likewise. 15001 * config/linux/sparc/futex.h: Likewise. 15002 * config/linux/wait.h: Likewise. 15003 * config/linux/x86/futex.h: Likewise. 15004 * config/mingw32/proc.c: Likewise. 15005 * config/mingw32/time.c: Likewise. 15006 * config/posix/affinity.c: Likewise. 15007 * config/posix/bar.c: Likewise. 15008 * config/posix/bar.h: Likewise. 15009 * config/posix/lock.c: Likewise. 15010 * config/posix/mutex.h: Likewise. 15011 * config/posix/proc.c: Likewise. 15012 * config/posix/ptrlock.h: Likewise. 15013 * config/posix/sem.c: Likewise. 15014 * config/posix/sem.h: Likewise. 15015 * config/posix/time.c: Likewise. 15016 * config/posix95/lock.c: Likewise. 15017 * critical.c: Likewise. 15018 * env.c: Likewise. 15019 * error.c: Likewise. 15020 * fortran.c: Likewise. 15021 * iter_ull.c: Likewise. 15022 * libgomp.h: Likewise. 15023 * libgomp_f.h.in: Likewise. 15024 * libgomp_g.h: Likewise. 15025 * loop.c: Likewise. 15026 * loop_ull.c: Likewise. 15027 * omp.h.in: Likewise. 15028 * omp_lib.f90.in: Likewise. 15029 * omp_lib.h.in: Likewise. 15030 * ordered.c: Likewise. 15031 * parallel.c: Likewise. 15032 * sections.c: Likewise. 15033 * single.c: Likewise. 15034 * task.c: Likewise. 15035 * team.c: Likewise. 15036 * work.c: Likewise. 15037 150382009-04-09 Jakub Jelinek <jakub@redhat.com> 15039 15040 * testsuite/config/default.exp: Change copyright header to refer to 15041 version 3 of the GNU General Public License and to point readers 15042 at the COPYING3 file and the FSF's license web page. 15043 150442009-04-08 Jakub Jelinek <jakub@redhat.com> 15045 15046 PR middle-end/39573 15047 * libgomp.c++/pr39573.C: New test. 15048 150492009-04-01 Jakub Jelinek <jakub@redhat.com> 15050 15051 PR other/39591 15052 * testsuite/libgomp.c/pr39591-1.c: New test. 15053 * testsuite/libgomp.c/pr39591-2.c: New test. 15054 * testsuite/libgomp.c/pr39591-3.c: New test. 15055 150562009-03-25 Uros Bizjak <ubizjak@gmail.com> 15057 15058 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage. 15059 * testsuite/libgomp.c/atomic-6.c: Ditto. 15060 150612009-03-23 Jakub Jelinek <jakub@redhat.com> 15062 15063 PR c/39495 15064 * testsuite/libgomp.c/loop-12.c: New test. 15065 * testsuite/libgomp.c/loop-11.c: New test. 15066 * testsuite/libgomp.c++/loop-11.C: New test. 15067 * testsuite/libgomp.c++/loop-12.C: New test. 15068 * testsuite/libgomp.c++/for-8.C: New test. 15069 150702009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 15071 15072 * configure: Regenerate. 15073 150742009-02-11 Jakub Jelinek <jakub@redhat.com> 15075 15076 PR middle-end/39154 15077 * testsuite/libgomp.c/pr39154.c: New test. 15078 150792009-01-30 Ian Lance Taylor <iant@google.com> 15080 15081 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set 15082 libgomp_ld_is_gold. Get gold version number. 15083 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning. 15084 * configure: Rebuild. 15085 150862009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk> 15087 15088 * testsuite/lib/libgomp.exp: Add -B option for targets that 15089 use libgfortran.a%s in their specs. 15090 150912009-01-07 Jakub Jelinek <jakub@redhat.com> 15092 15093 PR libgomp/38086 15094 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check. 15095 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if 15096 HAVE_AS_SYMVER_DIRECTIVE is not defined. 15097 * configure: Regenerated. 15098 * config.h.in: Likewise. 15099 151002008-12-28 Jakub Jelinek <jakub@redhat.com> 15101 15102 PR c++/38650 15103 * testsuite/libgomp.c/pr38650.c: New test. 15104 * testsuite/libgomp.c++/pr38650.C: New test. 15105 151062008-12-27 Jakub Jelinek <jakub@redhat.com> 15107 15108 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause. 15109 151102008-12-26 Uros Bizjak <ubizjak@gmail.com> 15111 15112 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets. 15113 151142008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 15115 15116 * configure: Regenerate. 15117 151182008-12-08 Jakub Jelinek <jakub@redhat.com> 15119 15120 PR middle-end/36802 15121 * testsuite/libgomp.c/pr36802-1.c: New test. 15122 * testsuite/libgomp.c/pr36802-2.c: New test. 15123 * testsuite/libgomp.c/pr36802-3.c: New test. 15124 151252008-12-01 Janis Johnson <janis187@us.ibm.com> 15126 15127 PR libgomp/38270 15128 * config/linux/powerpc/mutex.h: New. 15129 151302008-12-01 Jakub Jelinek <jakub@redhat.com> 15131 15132 PR c++/38257 15133 * testsuite/libgomp.c++/for-7.C: New test. 15134 15135 PR c++/38348 15136 * testsuite/libgomp.c++/for-6.C: New test. 15137 151382008-11-26 Janis Johnson <janis187@us.ibm.com> 15139 15140 PR testsuite/28870 15141 * testsuite/lib/libgomp.exp: Include new timeout library files. 15142 (libgomp_target_compile): Set timeout value from new proc. 15143 151442008-11-13 Steve Ellcey <sje@cup.hp.com> 15145 15146 PR libgomp/37938 15147 * config/linux/ia64/mutex.h: New. 15148 151492008-11-04 Tobias Burnus <burnus@net-b.de> 15150 15151 PR libgomp/37935 15152 * libgomp.texi (Runtime library routines, environment variables): 15153 Update for OpenMP version 3.0. 15154 151552008-09-26 Peter O'Gorman <pogma@thewrittenword.com> 15156 Steve Ellcey <sje@cup.hp.com> 15157 15158 * configure: Regenerate for new libtool. 15159 * Makefile.in: Ditto. 15160 * testsuite/Makefile.in: Ditto. 15161 151622008-09-19 Jakub Jelinek <jakub@redhat.com> 15163 Andreas Tobler <a.tobler@schweiz.org> 15164 15165 * config/bsd/proc.c: New file. 15166 * configure.tgt (*-*-darwin*): Use config_path "bsd posix". 15167 * configure.ac: Check for header <sys/sysctl.h> 15168 * configure: Regenerate. 15169 * config.h.in: Likewise. 15170 151712008-09-05 Janis Johnson <janis187@us.ibm.com> 15172 15173 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists. 15174 151752008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com> 15176 15177 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined. 15178 * Makefile.in: Regenerated. 15179 * testsuite/Makefile.in: Regenerated. 15180 151812008-08-21 Nathan Froyd <froydnj@codesourcery.com> 15182 15183 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that 15184 depend on blddir if blddir exists. 15185 (libgomp_target_compile): Likewise. 15186 * testsuite/libgomp.c++/c++.exp: Likewise. 15187 * testsuite/libgomp.fortran/fortran.exp: Likewise. 15188 151892008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 15190 15191 * libgomp.texi: Update to GFDL 1.2. Update copyright years. 15192 Do not list GPL as Invariant Section. 15193 151942008-07-28 Ilie Garbacea <ilie@mips.com> 15195 Chao-ying Fu <fu@mips.com> 15196 15197 * configure.tgt: Enable futex for MIPS. 15198 * config/linux/mips/futex.h: New file. 15199 152002008-07-16 Jakub Jelinek <jakub@redhat.com> 15201 15202 * team.c (gomp_team_end): Free team immediately if it has 15203 just one thread. 15204 152052008-07-08 David Edelsohn <edelsohn@gnu.org> 15206 15207 * testsuite/libgomp.c++/c++.exp: Append multilib library path. 15208 * testsuite/libgomp.fortran/fortran.exp: Same. 15209 * testsuite/libgomp.c/c.exp: Same. 15210 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib 15211 directory to library path first. 15212 152132008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com> 15214 15215 * env.c (parse_stacksize): Add cast to avoid warning. 15216 (parse_spincount): Likewise. 15217 152182008-06-27 Jakub Jelinek <jakub@redhat.com> 15219 15220 * testsuite/libgomp.c/loop-10.c: New test. 15221 * libgomp.c/loop-3.c (main): Add lastprivate clause. 15222 * libgomp.c++/loop-6.C (main): Likewise. 15223 15224 PR debug/36617 15225 * testsuite/libgomp.c/debug-1.c: New test. 15226 152272008-06-19 Jakub Jelinek <jakub@redhat.com> 15228 15229 * testsuite/libgomp.c/nqueens-1.c: New test. 15230 15231 PR c++/36523 15232 * testsuite/libgomp.c++/task-7.C: New function. 15233 152342008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 15235 15236 * configure: Regenerate. 15237 152382008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 15239 15240 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock 15241 mutex when HAVE_SYNC_BUILTINS isn't defined. 15242 152432008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 15244 15245 * libgomp.texi (omp_test_lock): Fix typo. 15246 152472008-06-12 Tobias Burnus <burnus@net-b.de> 15248 15249 * omp_lib.f90.in: Add "implicit none". 15250 152512008-06-12 Jakub Jelinek <jakub@redhat.com> 15252 15253 PR middle-end/36506 15254 * testsuite/libgomp.c/reduction-5.c: New test. 15255 152562008-06-11 Jakub Jelinek <jakub@redhat.com> 15257 15258 * libgomp.h (struct gomp_task): Add in_tied_task field. 15259 * task.c (gomp_init_task): Initialize it. 15260 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending 15261 unconditionally. Don't call gomp_team_barrier_wake if 15262 current task is implicit or if(0) from implicit and number of 15263 running tasks is equal to nthreads - 1. 15264 15265 PR libgomp/36471 15266 * omp_lib.f90.in (omp_get_ancestor_thread_num_8, 15267 omp_get_team_size_8): Fix pastos. 15268 15269 PR libgomp/36469 15270 * configure.ac: Add AC_CHECK_FUNCS (strtoull). 15271 * configure: Regenerated. 15272 * config.h.in: Regenerated. 15273 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not 15274 defined. 15275 152762008-06-06 Andreas Tobler <a.tobler@schweiz.org> 15277 15278 PR bootstrap/36452 15279 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API. 15280 (GOMP_loop_ull_dynamic_start): Likewise. 15281 (GOMP_loop_ull_guided_start): Likewise. 15282 (GOMP_loop_ull_ordered_static_start): Likewise. 15283 (GOMP_loop_ull_ordered_dynamic_start): Likewise. 15284 (GOMP_loop_ull_ordered_guided_start): Likewise. 15285 152862008-06-06 Jakub Jelinek <jakub@redhat.com> 15287 Richard Henderson <rth@redhat.com> 15288 Ulrich Drepper <drepper@redhat.com> 15289 Jakob Blomer <jakob.blomer@ira.uka.de> 15290 15291 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE. 15292 Substitute also OMP_*LOCK_25*. 15293 * configure: Regenerated. 15294 * config.h.in: Regenerated. 15295 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c, 15296 ptrlock.c and task.c. 15297 * Makefile.in: Regenerated. 15298 * testsuite/Makefile.in: Regenerated. 15299 * task.c: New file. 15300 * loop_ull.c: New file. 15301 * iter_ull.c: New file. 15302 * libgomp.h: Include ptrlock.h. 15303 (enum gomp_task_kind): New type. 15304 (struct gomp_team): Add task_lock, task_queue, task_count, 15305 task_running_count, single_count fields. Add 15306 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS. 15307 Remove work_share_lock, generation_mask, 15308 oldest_live_gen, num_live_gen and init_work_shares fields, add 15309 work work_share_list_alloc, work_share_list_free and work_share_chunk 15310 fields. Change work_shares from pointer to pointers into an array. 15311 Change ordered_release field into gomp_sem_t ** from flexible array 15312 member. Add implicit_task and initial_work_shares fields. 15313 Move close to the end of the struct. 15314 (struct gomp_team_state): Add single_count, last_work_share, 15315 active_level and level fields, remove work_share_generation. 15316 (gomp_barrier_handle_tasks): New prototype. 15317 (gomp_finish_task): New inline function. 15318 (struct gomp_work_share): Move chunk_size, end, incr into 15319 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and 15320 next_ll fields. Reshuffle fields. Add next_alloc, 15321 next_ws, next_free and inline_ordered_team_ids fields, change 15322 ordered_team_ids into pointer from flexible array member. 15323 Add mode field. Put lock and next into a different cache line 15324 from most of the write-once fields. 15325 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked, 15326 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next, 15327 gomp_iter_ull_guided_next): New prototypes. 15328 (gomp_new_icv): New prototype. 15329 (struct gomp_thread): Add thread_pool and task fields. 15330 (struct gomp_thread_pool): New type. 15331 (gomp_new_team): New prototype. 15332 (gomp_team_start): Change type of last argument. 15333 (gomp_new_work_share): Removed. 15334 (gomp_init_work_share, gomp_fini_work_share): New prototypes. 15335 (gomp_work_share_init_done): New static inline. 15336 (gomp_throttled_spin_count_var, gomp_available_cpus, 15337 gomp_managed_threads): New extern decls. 15338 (gomp_init_task): New prototype. 15339 (gomp_spin_count_var): New extern var decl. 15340 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility 15341 or no alias support, or if not PIC. 15342 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30, 15343 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30, 15344 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30, 15345 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25, 15346 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25, 15347 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25, 15348 gomp_set_nest_lock_25, gomp_unset_nest_lock_25, 15349 gomp_test_nest_lock_25): New prototypes. 15350 (omp_lock_symver, strong_alias): Define. 15351 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New 15352 decls. 15353 (gomp_end_task): New. 15354 (struct gomp_task_icv, gomp_global_icv): New. 15355 (gomp_thread_limit_var, gomp_max_active_levels_var): New. 15356 (struct gomp_task): New. 15357 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var, 15358 gomp_run_sched_var, gomp_run_sched_chunk): Remove. 15359 (gomp_icv): New. 15360 (gomp_schedule_type): Reorder enum to match 15361 omp_sched_t. 15362 * team.c (struct gomp_thread_start_data): Add thread_pool and task 15363 fields. 15364 (gomp_thread_start): Add gomp_team_barrier_wait call. 15365 For non-nested case remove clearing of docked thread thr fields. 15366 Use pool fields instead of global gomp_* variables. Use 15367 gomp_barrier_wait_last when needed. Initialize ts.active_level. 15368 Create tasks for each member thread. 15369 (free_team): Only destroy team barrier, task_lock here and free it. 15370 (gomp_free_thread): Free last_team if non-NULL. 15371 (gomp_team_end): Call gomp_team_barrier_wait instead of 15372 gomp_barrier_wait. For nested case call one extra 15373 gomp_barrier_wait. Move here some destruction from free_team. 15374 Call free_team on pool->last_team if any, rather than freeing 15375 current team. Destroy work_share_list_free_lock ifndef 15376 HAVE_SYNC_BUILTINS. 15377 (gomp_new_icv): New function. 15378 (gomp_threads, gomp_threads_size, gomp_threads_used, 15379 gomp_threads_dock): Removed. 15380 (gomp_thread_destructor): New variable. 15381 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New 15382 functions. 15383 (gomp_team_start): Create new pool if current thread doesn't have 15384 one. Use pool fields instead of global gomp_* variables. 15385 Initialize thread_pool field for new threads. Clear single_count. 15386 Change last argument from ws to team, don't create 15387 new team, set ts.work_share to &team->work_shares[0] and clear 15388 ts.last_work_share. Don't clear ts.work_share_generation. 15389 If number of threads changed, adjust atomically gomp_managed_threads. 15390 Use gomp_init_task instead of gomp_new_task, 15391 set thr->task to the corresponding implicit_task array entry. 15392 Create tasks for each member thread. Initialize ts.level. 15393 (initialize_team): Call pthread_key_create on 15394 gomp_thread_destructor. 15395 (team_destructor): New function. 15396 (new_team): Removed. 15397 (gomp_new_team): New function. 15398 (free_team): Free gomp_work_share blocks chained through next_alloc, 15399 instead of freeing work_shares and destroying work_share_lock. 15400 (gomp_team_end): Call gomp_fini_work_share. If number of threads 15401 changed, adjust atomically gomp_managed_threads. Use gomp_end_task. 15402 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead 15403 of gomp_barrier_wait. 15404 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait 15405 instead of gomp_barrier_wait. Call gomp_work_share_init_done 15406 if gomp_work_share_start returned true. Don't unlock ws->lock. 15407 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead 15408 of gomp_barrier_wait. 15409 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call 15410 gomp_work_share_init_done if gomp_work_share_start returned true. 15411 Don't unlock ws->lock. 15412 * work.c: Include stddef.h. 15413 (free_work_share): Use work_share_list_free_lock instead 15414 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument. 15415 Call gomp_fini_work_share and then either free ws if orphaned, or 15416 put it into work_share_list_free list of the current team. 15417 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New 15418 functions. 15419 (gomp_work_share_start, gomp_work_share_end, 15420 gomp_work_share_end_nowait): Rewritten. 15421 * omp_lib.f90.in Change some tabs to spaces to prevent warnings. 15422 (openmp_version): Set to 200805. 15423 (omp_sched_kind, omp_sched_static, omp_sched_dynamic, 15424 omp_sched_guided, omp_sched_auto): New parameters. 15425 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit, 15426 omp_set_max_active_levels, omp_get_max_active_levels, 15427 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size, 15428 omp_get_active_level): New interfaces. 15429 * omp_lib.h.in (openmp_version): Set to 200805. 15430 (omp_sched_kind, omp_sched_static, omp_sched_dynamic, 15431 omp_sched_guided, omp_sched_auto): New parameters. 15432 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit, 15433 omp_set_max_active_levels, omp_get_max_active_levels, 15434 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size, 15435 omp_get_active_level): New externals. 15436 * loop.c: Include limits.h. 15437 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle 15438 GFS_AUTO. 15439 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start): 15440 Likewise. Use gomp_icv. 15441 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear 15442 ts.static_trip here. 15443 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call 15444 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock. 15445 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call 15446 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS, 15447 don't unlock ws->lock, otherwise lock it. 15448 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call 15449 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock. 15450 (gomp_parallel_loop_start): Call gomp_new_team instead of 15451 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0]. 15452 Adjust gomp_team_start caller. Pass 0 as second argument to 15453 gomp_resolve_num_threads. 15454 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr. 15455 If adding ws->chunk_size nthreads + 1 times after end won't 15456 overflow, set ws->mode to 1. 15457 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start, 15458 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start, 15459 GOMP_loop_ull_ordered_static_start, 15460 GOMP_loop_ull_ordered_dynamic_start, 15461 GOMP_loop_ull_ordered_guided_start, 15462 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next, 15463 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next, 15464 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next, 15465 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next, 15466 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New 15467 prototypes. 15468 * libgomp.map: Export lock routines also @@OMP_2.0. 15469 (GOMP_loop_ordered_dynamic_first, 15470 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first, 15471 GOMP_loop_ordered_static_first): Remove. 15472 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start, 15473 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start, 15474 GOMP_loop_ull_ordered_dynamic_next, 15475 GOMP_loop_ull_ordered_dynamic_start, 15476 GOMP_loop_ull_ordered_guided_next, 15477 GOMP_loop_ull_ordered_guided_start, 15478 GOMP_loop_ull_ordered_runtime_next, 15479 GOMP_loop_ull_ordered_runtime_start, 15480 GOMP_loop_ull_ordered_static_next, 15481 GOMP_loop_ull_ordered_static_start, 15482 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start, 15483 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start, 15484 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0. 15485 (omp_set_schedule, omp_get_schedule, 15486 omp_get_thread_limit, omp_set_max_active_levels, 15487 omp_get_max_active_levels, omp_get_level, 15488 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level, 15489 omp_set_schedule_, omp_set_schedule_8_, 15490 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_, 15491 omp_set_max_active_levels_, omp_set_max_active_levels_8_, 15492 omp_get_max_active_levels_, omp_get_level_, 15493 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_, 15494 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_): 15495 New exports @@OMP_3.0. 15496 * omp.h.in (omp_sched_t): New type. 15497 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit, 15498 omp_set_max_active_levels, omp_get_max_active_levels, 15499 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size, 15500 omp_get_active_level): New prototypes. 15501 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var, 15502 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var, 15503 gomp_thread_limit_var, gomp_remaining_threads_count, 15504 gomp_remaining_threads_lock): New variables. 15505 (parse_spincount): New function. 15506 (initialize_env): Call gomp_init_num_threads unconditionally. 15507 Initialize gomp_available_cpus. Call parse_spincount, 15508 initialize gomp_{,throttled_}spin_count_var 15509 depending on presence and value of OMP_WAIT_POLICY and 15510 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var. 15511 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS, 15512 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification 15513 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and 15514 gomp_remaining_threads_lock if needed. Use gomp_global_icv. 15515 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var, 15516 gomp_run_sched_var, gomp_run_sched_chunk): Remove. 15517 (gomp_global_icv): New. 15518 (parse_schedule): Use it. Parse "auto". 15519 (omp_set_num_threads): Use gomp_icv. 15520 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested): 15521 Likewise. 15522 (omp_get_max_threads): Move from parallel.c. 15523 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit, 15524 omp_set_max_active_levels, omp_get_max_active_levels): New functions, 15525 add ialias. 15526 (parse_stacksize, parse_wait_policy): New functions. 15527 * fortran.c: Rewrite lock wrappers, if symbol versioning provide 15528 both wrappers for compatibility and new locks. 15529 (omp_set_schedule, omp_get_schedule, 15530 omp_get_thread_limit, omp_set_max_active_levels, 15531 omp_get_max_active_levels, omp_get_level, 15532 omp_get_ancestor_thread_num, omp_get_team_size, 15533 omp_get_active_level): New ialias_redirect. 15534 (omp_set_schedule_, omp_set_schedule_8_, 15535 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_, 15536 omp_set_max_active_levels_, omp_set_max_active_levels_8_, 15537 omp_get_max_active_levels_, omp_get_level_, 15538 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_, 15539 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_): 15540 New functions. 15541 * parallel.c: Include limits.h. 15542 (gomp_resolve_num_threads): Add count argument. Rewritten. 15543 (GOMP_parallel_start): Call gomp_new_team and pass that as last 15544 argument to gomp_team_start. Pass 0 as second argument to 15545 gomp_resolve_num_threads. 15546 (GOMP_parallel_end): Decrease gomp_remaining_threads_count 15547 if gomp_thread_limit_var != ULONG_MAX. 15548 (omp_in_parallel): Implement using ts.active_level. 15549 (omp_get_max_threads): Move to env.c. 15550 (omp_get_level, omp_get_ancestor_thread_num, 15551 omp_get_team_size, omp_get_active_level): New functions, 15552 add ialias. 15553 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done 15554 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call 15555 gomp_iter_dynamic_next instead of the _locked variant and don't take 15556 lock around it, otherwise acquire it before calling 15557 gomp_iter_dynamic_next_locked. 15558 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call 15559 gomp_iter_dynamic_next instead of the _locked variant and don't take 15560 lock around it. 15561 (GOMP_parallel_sections_start): Call gomp_new_team instead of 15562 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0]. 15563 Adjust gomp_team_start caller. Pass count as second argument to 15564 gomp_resolve_num_threads, don't adjust num_threads after the call. 15565 Use gomp_icv. 15566 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply 15567 ws->chunk_size by incr. 15568 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient 15569 code. 15570 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New 15571 types. 15572 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros. 15573 (omp_check_defines): Check even the compat defines. 15574 * config/linux/ptrlock.c: New file. 15575 * config/linux/ptrlock.h: New file. 15576 * config/linux/wait.h: New file. 15577 * config/posix/ptrlock.c: New file. 15578 * config/posix/ptrlock.h: New file. 15579 * config/linux/bar.h (gomp_team_barrier_wait, 15580 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes. 15581 (gomp_team_barrier_set_task_pending, 15582 gomp_team_barrier_clear_task_pending, 15583 gomp_team_barrier_set_waiting_for_tasks, 15584 gomp_team_barrier_waiting_for_tasks, 15585 gomp_team_barrier_done): New inlines. 15586 (gomp_barrier_t): Rewritten. 15587 (gomp_barrier_state_t): New typedef. 15588 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy, 15589 gomp_barrier_wait_start): Rewritten. 15590 (gomp_barrier_wait_end): Change second argument to 15591 gomp_barrier_state_t. 15592 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static 15593 inlines. 15594 * config/linux/bar.c: Include wait.h instead of libgomp.h and 15595 futex.h. 15596 (gomp_barrier_wait_end): Rewritten. 15597 (gomp_team_barrier_wait, gomp_team_barrier_wait_end, 15598 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions. 15599 * config/posix/bar.h (gomp_barrier_t): Add generation field. 15600 (gomp_barrier_state_t): New typedef. 15601 (gomp_team_barrier_wait, 15602 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes. 15603 (gomp_barrier_wait_start): Or all but low 2 bits from generation 15604 into the return value. Return gomp_barrier_state_t. 15605 (gomp_team_barrier_set_task_pending, 15606 gomp_team_barrier_clear_task_pending, 15607 gomp_team_barrier_set_waiting_for_tasks, 15608 gomp_team_barrier_waiting_for_tasks, 15609 gomp_team_barrier_done): New inlines. 15610 (gomp_barrier_wait_end): Change second argument to 15611 gomp_barrier_state_t. 15612 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static 15613 inlines. 15614 * config/posix/bar.c (gomp_barrier_init): Clear generation field. 15615 (gomp_barrier_wait_end): Change second argument to 15616 gomp_barrier_state_t. 15617 (gomp_team_barrier_wait, gomp_team_barrier_wait_end, 15618 gomp_team_barrier_wake): New functions. 15619 * config/linux/mutex.c: Include wait.h instead of libgomp.h and 15620 futex.h. 15621 (gomp_futex_wake, gomp_futex_wait): New variables. 15622 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait. 15623 * config/linux/lock.c: Rewrite to make locks task owned, 15624 for backwards compatibility provide the old entrypoints 15625 if symbol versioning. Include wait.h instead of libgomp.h and 15626 futex.h. 15627 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait. 15628 * config/posix95/lock.c: Rewrite to make locks task owned, 15629 for backwards compatibility provide the old entrypoints 15630 if symbol versioning. 15631 * config/posix/lock.c: Rewrite to make locks task owned, 15632 for backwards compatibility provide the old entrypoints 15633 if symbol versioning. 15634 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv. 15635 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv. 15636 * config/posix/proc.c, config/mingw32/proc.c: Similarly. 15637 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove. 15638 (sys_futex0): Return error code. 15639 (futex_wake, futex_wait): If ENOSYS was returned, clear 15640 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry. 15641 (cpu_relax, atomic_write_barrier): New static inlines. 15642 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove. 15643 (futex_wake, futex_wait): If ENOSYS was returned, clear 15644 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry. 15645 (cpu_relax, atomic_write_barrier): New static inlines. 15646 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove. 15647 (sys_futex0): Return error code. 15648 (futex_wake, futex_wait): If ENOSYS was returned, clear 15649 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry. 15650 (cpu_relax, atomic_write_barrier): New static inlines. 15651 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove. 15652 (sys_futex0): Return error code. 15653 (futex_wake, futex_wait): If ENOSYS was returned, clear 15654 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry. 15655 (cpu_relax, atomic_write_barrier): New static inlines. 15656 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove. 15657 (sys_futex0): Return error code. 15658 (futex_wake, futex_wait): If ENOSYS was returned, clear 15659 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry. 15660 (cpu_relax, atomic_write_barrier): New static inlines. 15661 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove. 15662 (sys_futex0): Return error code. 15663 (futex_wake, futex_wait): If ENOSYS was returned, clear 15664 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry. 15665 (cpu_relax, atomic_write_barrier): New static inlines. 15666 * config/linux/sem.c: Include wait.h instead of libgomp.h and 15667 futex.h. 15668 (gomp_sem_wait_slow): Call do_wait instead of futex_wait. 15669 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS. 15670 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New 15671 types. 15672 (omp_nest_lock_t): Change owner into void *, add lock field. 15673 * config/posix95/omp-lock.h: Include semaphore.h. 15674 (omp_lock_25_t, omp_nest_lock_25_t): New types. 15675 (omp_lock_t): Use sem_t instead of mutex if semaphores 15676 aren't broken. 15677 (omp_nest_lock_t): Likewise. Change owner to void *. 15678 * config/posix/omp-lock.h: Include semaphore.h. 15679 (omp_lock_25_t, omp_nest_lock_25_t): New types. 15680 (omp_lock_t): Use sem_t instead of mutex if semaphores 15681 aren't broken. 15682 (omp_nest_lock_t): Likewise. Add owner field. 15683 156842008-06-06 Jakub Jelinek <jakub@redhat.com> 15685 15686 * testsuite/libgomp.c/collapse-1.c: New test. 15687 * testsuite/libgomp.c/collapse-2.c: New test. 15688 * testsuite/libgomp.c/collapse-3.c: New test. 15689 * testsuite/libgomp.c/icv-1.c: New test. 15690 * testsuite/libgomp.c/icv-2.c: New test. 15691 * testsuite/libgomp.c/lib-2.c: New test. 15692 * testsuite/libgomp.c/lock-1.c: New test. 15693 * testsuite/libgomp.c/lock-2.c: New test. 15694 * testsuite/libgomp.c/lock-3.c: New test. 15695 * testsuite/libgomp.c/loop-4.c: New test. 15696 * testsuite/libgomp.c/loop-5.c: New test. 15697 * testsuite/libgomp.c/loop-6.c: New test. 15698 * testsuite/libgomp.c/loop-7.c: New test. 15699 * testsuite/libgomp.c/loop-8.c: New test. 15700 * testsuite/libgomp.c/loop-9.c: New test. 15701 * testsuite/libgomp.c/nested-3.c: New test. 15702 * testsuite/libgomp.c/nestedfn-6.c: New test. 15703 * testsuite/libgomp.c/sort-1.c: New test. 15704 * testsuite/libgomp.c/task-1.c: New test. 15705 * testsuite/libgomp.c/task-2.c: New test. 15706 * testsuite/libgomp.c/task-3.c: New test. 15707 * testsuite/libgomp.c/task-4.c: New test. 15708 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes 15709 to C++ testsuite default compiler options. 15710 * testsuite/libgomp.c++/collapse-1.C: New test. 15711 * testsuite/libgomp.c++/collapse-2.C: New test. 15712 * testsuite/libgomp.c++/ctor-10.C: New test. 15713 * testsuite/libgomp.c++/for-1.C: New test. 15714 * testsuite/libgomp.c++/for-2.C: New test. 15715 * testsuite/libgomp.c++/for-3.C: New test. 15716 * testsuite/libgomp.c++/for-4.C: New test. 15717 * testsuite/libgomp.c++/for-5.C: New test. 15718 * testsuite/libgomp.c++/loop-8.C: New test. 15719 * testsuite/libgomp.c++/loop-9.C: New test. 15720 * testsuite/libgomp.c++/loop-10.C: New test. 15721 * testsuite/libgomp.c++/task-1.C: New test. 15722 * testsuite/libgomp.c++/task-2.C: New test. 15723 * testsuite/libgomp.c++/task-3.C: New test. 15724 * testsuite/libgomp.c++/task-4.C: New test. 15725 * testsuite/libgomp.c++/task-5.C: New test. 15726 * testsuite/libgomp.c++/task-6.C: New test. 15727 * testsuite/libgomp.fortran/allocatable1.f90: New test. 15728 * testsuite/libgomp.fortran/allocatable2.f90: New test. 15729 * testsuite/libgomp.fortran/allocatable3.f90: New test. 15730 * testsuite/libgomp.fortran/allocatable4.f90: New test. 15731 * testsuite/libgomp.fortran/collapse1.f90: New test. 15732 * testsuite/libgomp.fortran/collapse2.f90: New test. 15733 * testsuite/libgomp.fortran/collapse3.f90: New test. 15734 * testsuite/libgomp.fortran/collapse4.f90: New test. 15735 * testsuite/libgomp.fortran/lastprivate1.f90: New test. 15736 * testsuite/libgomp.fortran/lastprivate2.f90: New test. 15737 * testsuite/libgomp.fortran/lib4.f90: New test. 15738 * testsuite/libgomp.fortran/lock-1.f90: New test. 15739 * testsuite/libgomp.fortran/lock-2.f90: New test. 15740 * testsuite/libgomp.fortran/nested1.f90: New test. 15741 * testsuite/libgomp.fortran/nestedfn4.f90: New test. 15742 * testsuite/libgomp.fortran/strassen.f90: New test. 15743 * testsuite/libgomp.fortran/tabs1.f90: New test. 15744 * testsuite/libgomp.fortran/tabs2.f: New test. 15745 * testsuite/libgomp.fortran/task1.f90: New test. 15746 * testsuite/libgomp.fortran/task2.f90: New test. 15747 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning. 15748 * testsuite/libgomp.fortran/vla5.f90: Likewise. 15749 * testsuite/libgomp.c/pr26943-2.c: Likewise. 15750 * testsuite/libgomp.c/pr26943-3.c: Likewise. 15751 * testsuite/libgomp.c/pr26943-4.c: Likewise. 15752 157532008-05-23 Jakub Jelinek <jakub@redhat.com> 15754 15755 PR c++/36308 15756 * testsuite/libgomp.c++/ctor-11.C: New test. 15757 * testsuite/libgomp.c++/ctor-12.C: New test. 15758 157592008-05-15 Janis Johnson <janis187@us.ibm.com> 15760 15761 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib. 15762 157632008-05-07 Jakub Jelinek <jakub@redhat.com> 15764 15765 PR middle-end/36106 15766 * testsuite/libgomp.c/atomic-5.c: New test. 15767 * testsuite/libgomp.c/atomic-6.c: New test. 15768 * testsuite/libgomp.c/autopar-1.c: New test. 15769 157702008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 15771 15772 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS) 15773 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY) 15774 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT) 15775 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names. 15776 * configure: Regenerate. 15777 * Makefile.in, testsuite/Makefile.in: Likewise. 15778 157792008-04-18 Paolo Bonzini <bonzini@gnu.org> 15780 15781 PR bootstrap/35457 15782 * aclocal.m4: Regenerate. 15783 * configure: Regenerate. 15784 157852008-03-18 Jakub Jelinek <jakub@redhat.com> 15786 15787 PR middle-end/35611 15788 * testsuite/libgomp.c/atomic-4.c: New test. 15789 15790 PR libgomp/35625 15791 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end. 15792 (gomp_iter_guided_next): Likewise. 15793 * testsuite/libgomp.c/pr35625.c: New test. 15794 157952008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 15796 15797 * aclocal.m4: Regenerate. 15798 * configure: Likewise. 15799 * Makefile.in: Likewise. 15800 * testsuite/Makefile.in: Likewise. 15801 158022008-03-13 Jakub Jelinek <jakub@redhat.com> 15803 15804 PR middle-end/35185 15805 * testsuite/libgomp.c++/pr35185.C: New test. 15806 158072008-03-12 Jakub Jelinek <jakub@redhat.com> 15808 15809 PR middle-end/35549 15810 * testsuite/libgomp.c/pr35549.c: New test. 15811 158122008-03-06 Jakub Jelinek <jakub@redhat.com> 15813 15814 * testsuite/libgomp.c/atomic-3.c: New test. 15815 158162008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 15817 15818 PR fortran/33197 15819 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and 15820 .F08 file suffixes. 15821 158222008-03-03 Peter O'Gorman <pogma@thewrittenword.com> 15823 15824 PR libgomp/33131 15825 * configure.ac: Add ACX_HEADER_STRING. 15826 * env.c: Include strings.h. 15827 * aclocal.m4: Regenerate. 15828 * config.h.in: Regenerate. 15829 * configure: Regenerate. 15830 * Makefile.in: Regenerate. 15831 * testsuite/Makefile.in: Regenerate. 15832 158332008-02-15 Jakub Jelinek <jakub@redhat.com> 15834 15835 PR middle-end/35196 15836 * testsuite/libgomp.c/pr35196.c: New test. 15837 15838 PR middle-end/35130 15839 * testsuite/libgomp.fortran/pr35130.f90: New test. 15840 * testsuite/libgomp.c/pr35130.c: New test. 15841 158422008-01-25 Jakub Jelinek <jakub@redhat.com> 15843 15844 PR middle-end/33880 15845 * testsuite/libgomp.c/pr33880.c: New test. 15846 * testsuite/libgomp.fortran/pr33880.f90: New test. 15847 158482008-01-24 David Edelsohn <edelsohn@gnu.org> 15849 15850 * configure: Regenerate. 15851 158522008-01-08 Jakub Jelinek <jakub@redhat.com> 15853 15854 * configure.ac: Move futex checking into ../config/futex.m4. 15855 * configure: Rebuilt. 15856 * aclocal.m4: Rebuilt. 15857 * Makefile.in: Rebuilt. 15858 15859 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match 15860 2007-10-15 ../config/tls.m4 change. 15861 158622007-12-19 Jakub Jelinek <jakub@redhat.com> 15863 15864 PR c++/34513 15865 * testsuite/libgomp.c/pr34513.c: New test. 15866 * testsuite/libgomp.c++/pr34513.C: New test. 15867 158682007-12-17 Jack Howarth <howarth@bromo.med.uc.edu> 15869 15870 PR target/32765 15871 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin. 15872 158732007-12-04 Jakub Jelinek <jakub@redhat.com> 15874 15875 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes. 15876 158772007-12-03 Jakub Jelinek <jakub@redhat.com> 15878 15879 * testsuite/libgomp.c/private-1.c: New test. 15880 158812007-11-29 Andris Pavenis <andris.pavenis@iki.fi> 15882 Paolo Bonzini <bonzini@gnu.org> 15883 15884 * Makefile.am: Use space as vpath separator. Use 'vpath %' 15885 instead of 'VPATH ='. 15886 * Makefile.in: Regenerate. 15887 158882007-11-23 Matthias Klose <doko@ubuntu.com> 15889 15890 * configure.ac: Adjust makeinfo version check. 15891 * configure: Regenerate. 15892 158932007-11-10 Jakub Jelinek <jakub@redhat.com> 15894 15895 PR fortran/34020 15896 * testsuite/libgomp.fortran/pr34020.f90: New test. 15897 158982007-11-06 Jakub Jelinek <jakub@redhat.com> 15899 15900 PR c++/33894 15901 * testsuite/libgomp.c++/atomic-1.C: New test. 15902 159032007-10-25 Jakub Jelinek <jakub@redhat.com> 15904 15905 PR libgomp/33275 15906 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate): 15907 Make x and y integers rather than (implicit) reals. Add private (j) 15908 clause to the last omp parallel. 15909 159102007-10-15 Maciej W. Rozycki <macro@linux-mips.org> 15911 15912 * configure: Regenerate following changes to ../config/tls.m4. 15913 159142007-09-28 Jakub Jelinek <jakub@redhat.com> 15915 15916 * testsuite/libgomp.fortran/stack.f90: New test. 15917 159182007-09-10 Danny Smith <dannysmith@users.sourceforge.net> 15919 15920 * config/mingw32/proc.c: New file. 15921 159222007-09-05 Uros Bizjak <ubizjak@gmail.com> 15923 15924 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets. 15925 (main): Use __get_cpuid to get i386 target fetaures. 15926 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets. 15927 (main): Use __get_cpuid to get x86_64 target fetaures. 15928 159292007-08-15 Jack Howarth <howarth@bromo.med.uc.edu> 15930 15931 PR target/32765 15932 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin. 15933 * testsuite/libgomp.fortran/crayptr2.f90: Likwise. 15934 159352007-07-12 Jakub Jelinek <jakub@redhat.com> 15936 15937 PR fortran/32550 15938 * testsuite/libgomp.fortran/pr32550.f90: New test. 15939 * testsuite/libgomp.fortran/crayptr2.f90: New test. 15940 159412007-07-05 H.J. Lu <hongjiu.lu@intel.com> 15942 15943 * aclocal.m4: Regenerated. 15944 159452007-07-05 Tobias Burnus <burnus@net-b.de> 15946 15947 PR fortran/32359 15948 * testsuite/libgomp.fortran/pr32359.f90: New. 15949 159502007-07-02 Jakub Jelinek <jakub@redhat.com> 15951 15952 PR libgomp/32468 15953 * sections.c (GOMP_parallel_sections_start): Only decrease 15954 number of threads to COUNT if dyn_var is true. 15955 * testsuite/libgomp.c/pr32468.c: New test. 15956 159572007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 15958 15959 PR libgomp/26308 15960 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX. 15961 159622007-06-21 Jakub Jelinek <jakub@redhat.com> 15963 15964 PR middle-end/32362 15965 * testsuite/libgomp.c/pr32362-1.c: New test. 15966 * testsuite/libgomp.c/pr32362-2.c: New test. 15967 * testsuite/libgomp.c/pr32362-3.c: New test. 15968 159692007-06-07 Jakub Jelinek <jakub@redhat.com> 15970 15971 * team.c (gomp_team_start): Fix setting up thread_attr 15972 stack size. 15973 159742007-06-02 Paolo Bonzini <bonzini@gnu.org> 15975 15976 * configure: Regenerate. 15977 159782007-05-23 Steve Ellcey <sje@cup.hp.com> 15979 15980 * Makefile.in: Regenerate. 15981 * configure: Regenerate. 15982 * aclocal.m4: Regenerate. 15983 * testsuite/Makefile.in: Regenerate. 15984 159852007-05-04 Jakub Jelinek <jakub@redhat.com> 15986 15987 * config/linux/proc.c: New file. 15988 15989 PR libgomp/28482 15990 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux. 15991 159922007-04-19 Daniel Franke <franke.daniel@gmail.com> 15993 15994 * libgomp.texi (GOMP_CPU_AFFINITY): Updated. 15995 159962007-04-16 Matthias Klose <doko@debian.org> 15997 15998 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific 15999 flags if not building with -m64. 16000 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march 16001 flag for i?86-*-* targets, if current target matches -m64. 16002 160032007-04-14 Steve Ellcey <sje@cup.hp.com> 16004 16005 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS. 16006 * Makefile.in: Regenerate. 16007 160082007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 16009 16010 PR testsuite/31369 16011 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting 16012 ld_library_path. 16013 * testsuite/libgomp.fortran/fortran.exp: Likewise. 16014 160152007-04-04 Jakub Jelinek <jakub@redhat.com> 16016 16017 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern 16018 decls. 16019 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes. 16020 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables. 16021 (parse_affinity): New function. 16022 (initialize_env): Call it and gomp_init_affinity. 16023 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL, 16024 create new pthread_attr_t and call gomp_init_thread_affinity 16025 on it for each thread before passing the attribute to pthread_create. 16026 * config/linux/affinity.c: New file. 16027 * config/posix/affinity.c: New file. 16028 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test. 16029 * configure: Rebuilt. 16030 * config.h.in: Rebuilt. 16031 * Makefile.am (libgomp_la_SOURCES): Add affinity.c. 16032 * Makefile.in: Rebuilt. 16033 160342007-03-23 Andreas Tobler <a.tobler@schweiz.org> 16035 16036 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for 16037 *-*-darwin*. 16038 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library 16039 and use it if found. 16040 160412007-03-18 Uros Bizjak <ubizjak@gmail.com> 16042 16043 * testsuite/config/default.exp: New file. 16044 * testsuite/lib/libgomp.exp: New file. 16045 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init, 16046 libgomp_target_compile, libgomp_option_help, libgomp_option_proc, 16047 load_lib *, load_gcc_lib *): Move to libgomp.exp. 16048 (libgomp_load): Remove. 16049 * testsuite/lib/libgomp.exp (libgomp_init): Compute 16050 always_ld_library_path, not ld_library_path. Set additional_flags 16051 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets. 16052 (target_compile): Do not call libgomp_init. Append lang_library_path 16053 and lang_link_flags to options. 16054 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set 16055 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH 16056 here. 16057 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from 16058 always_ld_library_path. Set LD_LIBRARY_PATH here. 16059 * testsuite/libgomp.fortran/fortran.exp: Ditto. 16060 * testsuite/libgomp.c/atomic-1.c: Set dg-options to 16061 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for 16062 CX8 flag. 16063 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for 16064 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3. 16065 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options. 16066 * testsuite/libgomp.c/pr29947-1.c: Ditto. 16067 * testsuite/libgomp.c/atomic-10.c: Ditto. 16068 160692007-03-21 Jakub Jelinek <jakub@redhat.com> 16070 16071 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add 16072 dg-final cleanup-modules line. 16073 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise. 16074 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise. 16075 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise. 16076 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise. 16077 * testsuite/libgomp.fortran/reduction5.f90: Likewise. 16078 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise. 16079 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. 16080 160812007-03-18 Andreas Schwab <schwab@suse.de> 16082 16083 * acinclude.m4: Adjust regular expression for ld version 16084 extraction. 16085 * configure: Regenerate. 16086 160872007-03-01 Brooks Moses <brooks.moses@codesourcery.com> 16088 16089 * Makefile.am: Add install-pdf target as copied from 16090 automake v1.10 rules. 16091 * Makefile.in: Regenerate 16092 160932007-02-07 Jakub Jelinek <jakub@redhat.com> 16094 16095 PR libgomp/28486 16096 * configure: Regenerate. 16097 16098 PR c++/30703 16099 * testsuite/libgomp.c++/pr30703.C: New test. 16100 161012007-02-02 Jakub Jelinek <jakub@redhat.com> 16102 16103 Revert: 16104 2006-07-05 Eric Christopher <echristo@apple.com> 16105 * configure.ac: Depend addition of -pthread on host OS. 16106 * configure: Regenerate. 16107 161082007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 16109 16110 * libgomp.texi: Fix spacing after abbreviations. 16111 161122007-01-31 Daniel Franke <franke.daniel@gmail.com> 16113 16114 PR libgomp/30546 16115 * configure.ac: Add check for makeinfo 16116 * Makefile.am: Redefined target libgomp.info, build libgomp.info only 16117 if an appropriate version of makeinfo is found. 16118 * aclocal.m4: Regenerated. 16119 * configure: Regenerated. 16120 * Makefile.in: Regenerated. 16121 * testsuite/Makefile.in: Regenerated. 16122 161232007-01-29 Daniel Franke <franke.daniel@gmail.com> 16124 16125 PR libgomp/30540 16126 * libgomp.texi: More about implementation-dependent settings. 16127 161282007-01-26 Tobias Burnus <burnus@net-b.de> 16129 16130 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension. 16131 161322007-01-24 Jakub Jelinek <jakub@redhat.com> 16133 16134 PR middle-end/30494 16135 * testsuite/libgomp.c/pr30494.c: New test. 16136 161372007-01-15 Tom Tromey <tromey@redhat.com> 16138 16139 * configure: Rebuilt. 16140 * configure.ac: Fixed comment. 16141 161422007-01-14 Daniel Franke <franke.daniel@gmail.com> 16143 16144 * libgomp.texi: Document implementation specific default values of 16145 environment variables. 16146 161472006-12-21 Daniel Franke <franke.daniel@gmail.com> 16148 16149 PR libgomp/28209 16150 * libgomp.texi: New file. 16151 * configure.ac: Add --enable-generated-files-in-srcdir option. 16152 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy 16153 files to srcdir. 16154 * Makefile.in: Regenerated. 16155 * config.h.in: Regenerated. 16156 * testsuite/Makefile.in: Regenerated. 16157 * NOTES: Removed. 16158 161592006-12-04 Daniel Franke <franke.daniel@gmail.com> 16160 16161 PR libgomp/29949 16162 * env.c (omp_set_num_threads): Set illegal thread count to 1. 16163 161642006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr> 16165 16166 * configure: Regenerate. 16167 161682006-12-04 Jakub Jelinek <jakub@redhat.com> 16169 16170 PR libgomp/29947 16171 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to 16172 start if there shouldn't be any loop iterations. 16173 (gomp_loop_ordered_static_start): Remove start == end test. 16174 * testsuite/libgomp.c/pr29947-1.c: New test. 16175 * testsuite/libgomp.c/pr29947-2.c: New test. 16176 161772006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr> 16178 16179 * configure.tgt: Force initial-exec TLS model on Linux only. 16180 161812006-11-13 Daniel Jacobowitz <dan@codesourcery.com> 16182 16183 * configure: Regenerated. 16184 161852006-11-09 Uros Bizjak <ubizjak@gmail.com> 16186 16187 * env.c (parse_schedule): Reject out of range values. 16188 (parse_unsigned_long): Reject out of range, negative or zero values. 16189 161902006-10-29 Jakub Jelinek <jakub@redhat.com> 16191 16192 PR fortran/29629 16193 * testsuite/libgomp.fortran/pr29629.f90: New test. 16194 161952006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr> 16196 16197 PR libgomp/29494 16198 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6. 16199 * config/posix95: New directory. 16200 * config/posix95/omp-lock.h: New file. 16201 * config/posix95/lock.c: Likewise. 16202 162032006-10-14 Geoffrey Keating <geoffk@apple.com> 16204 16205 * aclocal.m4: Regenerate. 16206 * configure: Regenerate. 16207 162082006-10-05 Danny Smith <dannysmith@users.sourceforge.net> 16209 16210 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from 16211 '<' to '<='. 16212 162132006-10-05 Danny Smith <dannysmith@users.sourceforge.net> 16214 16215 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from 16216 test. 16217 * configure: Regenerate. 16218 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias. 16219 162202006-09-26 Jakub Jelinek <jakub@redhat.com> 16221 16222 PR middle-end/25261 16223 PR middle-end/28790 16224 * testsuite/libgomp.c/nestedfn-4.c: New test. 16225 * testsuite/libgomp.c/nestedfn-5.c: New test. 16226 * testsuite/libgomp.fortran/nestedfn3.f90: New test. 16227 16228 PR fortran/29097 16229 * testsuite/libgomp.fortran/condinc1.f: New test. 16230 * testsuite/libgomp.fortran/condinc2.f: New test. 16231 * testsuite/libgomp.fortran/condinc3.f90: New test. 16232 * testsuite/libgomp.fortran/condinc4.f90: New test. 16233 * testsuite/libgomp.fortran/condinc1.inc: New file. 16234 162352006-09-18 Tom Tromey <tromey@redhat.com> 16236 16237 * configure: Rebuilt. 16238 162392006-09-13 Joseph S. Myers <joseph@codesourcery.com> 16240 16241 PR c/28768 16242 PR preprocessor/14634 16243 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument 16244 to AC_DEFINE. 16245 * configure: Regenerate. 16246 162472006-09-08 Steven G. Kargl <kargl@gcc.gnu.org> 16248 16249 * testsuite/libgomp.fortran/reduction3.f90: Change 16250 -2147483648 to -huge(i)-1 to avoid overflow. 16251 * testsuite/libgomp.fortran/reduction4.f90: Change 16252 Z'ffffffff' to not(0) to avoid overflow. 16253 162542006-08-26 Joseph S. Myers <joseph@codesourcery.com> 16255 16256 PR libgomp/25938 16257 * Makefile.am (libsubincludedir): New. 16258 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS. 16259 * Makefile.in: Regenerate. 16260 162612006-08-17 Jakub Jelinek <jakub@redhat.com> 16262 16263 PR libgomp/28725 16264 * env.c: Include ctype.h. 16265 (parse_schedule, parse_unsigned_long, parse_boolean): Allow 16266 leading and/or trailing whitespace and compare strings case 16267 insensitively. 16268 162692006-07-16 Jakub Jelinek <jakub@redhat.com> 16270 16271 PR fortran/28390 16272 * testsuite/libgomp.fortran/pr28390.f: New test. 16273 162742006-07-05 Eric Christopher <echristo@apple.com> 16275 16276 * configure.ac: Depend addition of -pthread on host OS. 16277 * configure: Regenerate. 16278 162792006-06-21 Jakub Jelinek <jakub@redhat.com> 16280 16281 * critical.c (GOMP_critical_name_start): Fix *pptr initialization 16282 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is 16283 defined. 16284 162852006-06-20 Jakub Jelinek <jakub@redhat.com> 16286 16287 PR libgomp/26175 16288 PR libgomp/26477 16289 * configure.ac: If neither --enable-linux-futex nor 16290 --disable-linux-futex is passed, determine the default by checking 16291 for compiling and/or running against NPTL. With --enable-linux-futex, 16292 check if SYS_gettid and SYS_futex are defined. 16293 * configure: Rebuilt. 16294 162952006-06-14 Richard Henderson <rth@redhat.com> 16296 16297 PR libgomp/28008 16298 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when 16299 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment. 16300 163012006-06-09 Richard Henderson <rth@redhat.com> 16302 16303 * env.c (gomp_nthreads_var): Change to unsigned long. 16304 (gomp_run_sched_chunk): Likewise. 16305 (parse_unsigned_long): Rename from parse_num_threads and generalize. 16306 (initialize_env): Initialize gomp_thread_attr. 16307 * libgomp.h (gomp_nthreads_var): Update decl. 16308 (gomp_run_sched_chunk): Likewise. 16309 (gomp_thread_attr): Declare. 16310 * team.c (gomp_thread_attr): Export. 16311 (initialize_team): Don't initialize it. 16312 163132006-06-09 Jakub Jelinek <jakub@redhat.com> 16314 16315 PR fortran/27916 16316 * testsuite/libgomp.fortran/pr27916-1.f90: New test. 16317 * testsuite/libgomp.fortran/pr27916-2.f90: New test. 16318 163192006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr> 16320 16321 * config/mingw32/time.c: New file. 16322 * configure.tgt: Use it. 16323 163242006-05-23 Carlos O'Donell <carlos@codesourcery.com> 16325 16326 * Makefile.am: Add install-html target. Add install-html to .PHONY 16327 * Makefile.in: Regenerate. 16328 163292006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 16330 16331 PR libgomp/27612 16332 * testsuite/libgomp.c/sections-1.c: Require sync_int_long. 16333 * testsuite/libgomp.c/critical-1.c: Likewise. 16334 * testsuite/libgomp.c/loop-1.c: Likewise. 16335 * testsuite/libgomp.c/loop-2.c: Likewise. 16336 * testsuite/libgomp.c/single-1.c: Likewise. 16337 * testsuite/libgomp.c/ordered-1.c: Likewise. 16338 * testsuite/libgomp.c/ordered-2.c: Likewise. 16339 163402006-05-15 Jakub Jelinek <jakub@redhat.com> 16341 16342 PR middle-end/27416 16343 * libgomp.fortran/pr27416-1.f90: New test. 16344 163452006-05-03 Jakub Jelinek <jakub@redhat.com> 16346 16347 PR fortran/27395 16348 * testsuite/libgomp.fortran/pr27395-1.f90: New test. 16349 * testsuite/libgomp.fortran/pr27395-2.f90: New test. 16350 163512006-05-02 Jakub Jelinek <jakub@redhat.com> 16352 16353 PR c++/26943 16354 * testsuite/libgomp.c/pr26943-1.c: New test. 16355 * testsuite/libgomp.c/pr26943-2.c: New test. 16356 * testsuite/libgomp.c/pr26943-3.c: New test. 16357 * testsuite/libgomp.c/pr26943-4.c: New test. 16358 * testsuite/libgomp.c++/pr27337.C: Remove barrier. 16359 * testsuite/libgomp.c++/pr26943.C: New test. 16360 163612006-05-02 Jakub Jelinek <jakub@redhat.com> 16362 16363 PR middle-end/27337 16364 * testsuite/libgomp.c++/pr27337.C: New test. 16365 163662006-04-26 Jakub Jelinek <jakub@redhat.com> 16367 16368 PR c/26171 16369 * testsuite/libgomp.c/pr26171.c: New test. 16370 163712006-04-25 Richard Henderson <rth@redhat.com> 16372 16373 PR libgomp/25865 16374 * configure.ac: Use GCC_CHECK_TLS. 16375 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove. 16376 * Makefile.in, aclocal.m4, configure: Regenerate. 16377 163782006-04-10 Matthias Klose <doko@debian.org> 16379 16380 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib 16381 directory names containing underscores. 16382 163832006-03-21 Jakub Jelinek <jakub@redhat.com> 16384 16385 PR c++/26691 16386 * testsuite/libgomp.c++/pr26691.C: New test. 16387 163882006-03-13 Jakub Jelinek <jakub@redhat.com> 16389 16390 * testsuite/libgomp.fortran/retval2.f90: New test. 16391 163922006-03-09 Diego Novillo <dnovillo@redhat.com> 16393 16394 * testsuite/libgomp.c++: New directory. 16395 163962006-02-25 Shantonu Sen <ssen@opendarwin.org> 16397 16398 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions. 16399 * config/posix/sem.c: Implement the above. 16400 164012006-02-25 Andreas Tobler <a.tobler@schweiz.ch> 16402 16403 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and 16404 define HAVE_BROKEN_POSIX_SEMAPHORES. 16405 * configure: Rebuilt. 16406 * config.h.in: Rebuilt. 16407 164082006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr> 16409 16410 PR bootstrap/26161 16411 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment 16412 for the other pthread check. 16413 * configure: Regenerate. 16414 * config.h.in: Regenerate. 16415 164162006-02-15 Jakub Jelinek <jakub@redhat.com> 16417 16418 PR libgomp/25938 16419 PR libgomp/25984 16420 * Makefile.am (fincludedir): New variable. 16421 (nodist_include_HEADERS): Remove Fortran files. 16422 (nodist_finclude_HEADERS): New variable. 16423 * Makefile.in: Regenerated. 16424 164252006-02-13 Jakub Jelinek <jakub@redhat.com> 16426 16427 * testsuite/libgomp.fortran/vla7.f90: Add -w to options. 16428 Remove tests for returning assumed character length arrays. 16429 164302006-02-12 Roger Sayle <roger@eyesopen.com> 16431 John David Anglin <dave@hiauly1.hia.nrc.ca> 16432 16433 PR libgomp/25936 16434 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems. 16435 164362006-02-08 Ulrich Weigand <uweigand@de.ibm.com> 16437 16438 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library. 16439 164402006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr> 16441 16442 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related 16443 part of LD_LIBRARY_PATH manually. 16444 164452006-02-03 H.J. Lu <hongjiu.lu@intel.com> 16446 16447 PR libgomp/25852 16448 * testsuite/lib/libgomp-dg.exp (blddir): Set it in 16449 libgomp_init. 16450 164512005-01-25 Paolo Bonzini <bonzini@gnu.org> 16452 16453 PR libgomp/25884 16454 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove. 16455 * configure.ac (PERL): Don't set. 16456 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here. 16457 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE, 16458 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions. 16459 * omp.h.in: Wrap the new configure substitutions with @ characters. 16460 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise. 16461 * aclocal.m4, configure, Makefile.in: Regenerate. 16462 * mkomp_h.pl: Delete. 16463 164642005-01-24 Paolo Bonzini <bonzini@gnu.org> 16465 16466 PR libgomp/25259 16467 * configure.ac: Use GCC_HEADER_STDINT. 16468 * libgomp.h: Include gstdint.h. 16469 * libgomp_f.h.in: Don't include stdint.h or inttypes.h. 16470 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild. 16471 164722006-01-24 Richard Henderson <rth@redhat.com> 16473 16474 PR libgomp/25942 16475 * configure.ac: Add AM_MAINTAINER_MODE. 16476 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild. 16477 164782006-01-24 Diego Novillo <dnovillo@redhat.com> 16479 16480 * Makefile.in: Regenerate. 16481 * testsuite/Makefile.in: Regenerate. 16482 * aclocal.m4: Regenerate. 16483 164842006-01-23 Andreas Tobler <a.tobler@schweiz.ch> 16485 16486 * config/posix/proc.c: Conditional include of sys/loadavg.h for 16487 Solaris. 16488 * configure.ac: Add check for loadavg.h. 16489 (link_gomp): Adjust comment. 16490 * configure: Regenerate. 16491 * config.h.in: Regenerate. 16492 164932006-01-21 Steve Ellcey <sje@cup.hp.com> 16494 16495 PR libgomp/25877 16496 * configure.ac: Remove check for alloca.h. 16497 * configure: Regenerate. 16498 * config.h.in: Regenerate. 16499 * libgomp.h: define gomp_alloca to be __builtin_alloca. 16500 * team.c: Remove use of alloca.h. 16501 Call gomp_alloca instead of alloca. 16502 165032006-01-20 Steve Ellcey <sje@cup.hp.com> 16504 16505 PR libgomp/25877 16506 * team.c: Add include of alloca.h. 16507 * configure.ac: Add check for alloca.h. 16508 * configure: Regenerate. 16509 * config.h.in: Regenerate. 16510 165112006-01-17 Jakub Jelinek <jakub@redhat.com> 16512 16513 PR fortran/25219 16514 * testsuite/libgomp.fortran/pr25219.f90: New test. 16515 165162005-12-05 Uros Bizjak <uros@kss-loka.si> 16517 16518 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c, 16519 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c, 16520 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C, 16521 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C, 16522 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C, 16523 testsuite/libgomp.fortran/threadprivate1.f90, 16524 testsuite/libgomp.fortran/threadprivate2.f90, 16525 testsuite/libgomp.fortran/threadprivate3.f90, 16526 testsuite/libgomp.fortran/appendix-a/a.22.7.f9, 16527 testsuite/libgomp.fortran/appendix-a/a.22.8.f9, 16528 testsuite/libgomp.fortran/omp_parse3.f90: Change required 16529 effective-target to TLS runtime. 16530 16531 * testsuite/libgomp.fortran/pr25162.f: Require 16532 effective-target TLS runtime. 16533 165342005-12-01 Jakub Jelinek <jakub@redhat.com> 16535 16536 * testsuite/libgomp.fortran/nestedfn2.f90: New test. 16537 * testsuite/libgomp.c/nestedfn-3.c: New test. 16538 165392005-11-30 Jakub Jelinek <jakub@redhat.com> 16540 16541 PR fortran/25162 16542 * testsuite/libgomp.fortran/pr25162.f: New test. 16543 165442005-11-28 Jakub Jelinek <jakub@redhat.com> 16545 16546 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to 16547 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed. 16548 165492005-11-25 Jakub Jelinek <jakub@redhat.com> 16550 16551 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c, 16552 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in, 16553 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c, 16554 single.c, team.c, work.c, config/linux/alpha/futex.h, 16555 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h, 16556 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h, 16557 config/linux/powerpc/futex.h, config/linux/s390/futex.h, 16558 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h, 16559 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h, 16560 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c, 16561 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update 16562 FSF address. 16563 165642005-11-18 Jakub Jelinek <jakub@redhat.com> 16565 16566 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS 16567 to nodist_noinst_HEADERS. 16568 * Makefile.in: Rebuilt. 16569 16570 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct, 16571 add integer count field. 16572 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for 16573 omp_nest_lock_t type change. 16574 (omp_init_nest_lock): Likewise. Initialize count to 0. 16575 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change. 16576 Increment count. 16577 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change. 16578 Decrement count. 16579 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change. 16580 Increment count if successful and return the new nesting level. 16581 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level. 16582 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type. 16583 * testsuite/libgomp.c/lib-1.c: New test. 16584 * testsuite/libgomp.fortran/lib1.f90: New test. 16585 * testsuite/libgomp.fortran/lib2.f: New test. 16586 * testsuite/libgomp.fortran/lib3.f: New test. 16587 165882005-11-17 Richard Henderson <rth@redhat.com> 16589 16590 PR 24845 16591 * Makefile.am (nodist_toolexeclib_HEADERS): New. 16592 * configure.ac (link_gomp): New. Substitute it. 16593 (AC_CONFIG_FILES): Add libgomp.spec. 16594 * libgomp.spec.in: New file. 16595 * Makefile.in, testsuite/Makefile.in, configure: Rebuild. 16596 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags. 16597 165982005-11-18 Jakub Jelinek <jakub@redhat.com> 16599 16600 * testsuite/libgomp.fortran/reduction1.f90: Adjust for 16601 reduction(-:var) behaving the same as reduction(+:var). 16602 * testsuite/libgomp.c/reduction-4.c: New test. 16603 166042005-11-15 Uros Bizjak <uros@kss-loka.si> 16605 16606 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c, 16607 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c, 16608 testsuite/libgomp.c/copyin-3.c, 16609 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C, 16610 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C, 16611 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C, 16612 testsuite/libgomp.c++/pr24455.C, 16613 testsuite/libgomp.fortran/threadprivate1.f90, 16614 testsuite/libgomp.fortran/threadprivate2.f90, 16615 testsuite/libgomp.fortran/threadprivate3.f90, 16616 testsuite/libgomp.fortran/appendix-a/a.22.7.f9, 16617 testsuite/libgomp.fortran/appendix-a/a.22.8.f9, 16618 testsuite/libgomp.fortran/omp_parse3.f90: Require 16619 effective-target TLS. 16620 166212005-11-14 Diego Novillo <dnovillo@redhat.com> 16622 16623 * HEADER: Remove. 16624 166252005-11-13 Jakub Jelinek <jakub@redhat.com> 16626 16627 PR libgomp/24797 16628 * team.c (initialize_team): Pass NULL rather than free as 16629 pthread_key_create destructor. Initialize thread specific data 16630 pointer in initial thread to a static local variable rather than 16631 malloced memory. 16632 166332005-11-11 Uros Bizjak <uros@kss-loka.si> 16634 16635 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append 16636 its location to ld_library_path. 16637 166382005-11-10 Diego Novillo <dnovillo@redhat.com> 16639 16640 * testsuite/libgomp.c/c.exp: Rename from dg.exp. 16641 166422005-11-10 Diego Novillo <dnovillo@redhat.com> 16643 16644 * testsuite/libgomp.c: Rename from libgomp.dg. 16645 166462005-11-09 Diego Novillo <dnovillo@redhat.com> 16647 16648 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for 16649 threadprivate variable 'i'. 16650 166512005-11-09 Jakub Jelinek <jakub@redhat.com> 16652 16653 * config/linux/s390/futex.h: New file. 16654 * configure.tgt: Use it. 16655 16656 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization 16657 before the parallel. 16658 166592005-11-08 Jakub Jelinek <jakub@redhat.com> 16660 16661 PR c++/24734 16662 * testsuite/libgomp.c++/master-1.C: New test. 16663 166642005-11-07 Jakub Jelinek <jakub@redhat.com> 16665 16666 * testsuite/libgomp.dg/copyin-3.c: New test. 16667 166682005-11-07 Jakub Jelinek <jakub@redhat.com> 16669 16670 * testsuite/libgomp.fortran/retval1.f90: New test. 16671 * testsuite/libgomp.fortran/vla7.f90: New test. 16672 166732005-11-06 Jakub Jelinek <jakub@redhat.com> 16674 16675 * testsuite/libgomp.fortran/vla2.f90: New test. 16676 * testsuite/libgomp.fortran/vla3.f90: New test. 16677 * testsuite/libgomp.fortran/vla4.f90: New test. 16678 * testsuite/libgomp.fortran/vla5.f90: New test. 16679 * testsuite/libgomp.fortran/vla6.f90: New test. 16680 166812005-11-01 Jakub Jelinek <jakub@redhat.com> 16682 16683 * config/linux/sparc/futex.h: New file. 16684 * configure.tgt: Use it. 16685 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing. 16686 16687 * critical.c: Include stdlib.h. 16688 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about 16689 ignoring return value. 16690 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after 16691 LIBGOMP_CHECK_SYNC_BUILTINS check. 16692 * configure: Rebuilt. 16693 166942005-10-31 Jakub Jelinek <jakub@redhat.com> 16695 16696 * testsuite/libgomp.fortran/vla1.f90: New test. 16697 166982005-10-31 Richard Henderson <rth@redhat.com> 16699 16700 * testsuite/libgomp.fortran/character2.f90: Fix race condition 16701 setting 's' in different threads. 16702 167032005-10-31 Jakub Jelinek <jakub@redhat.com> 16704 16705 * libgomp.h (attribute_hidden, ialias): Define. 16706 * config/posix/proc.c (omp_get_num_procs): Add ialias. 16707 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise. 16708 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock, 16709 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock, 16710 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock, 16711 omp_test_lock, omp_test_nest_lock): Likewise. 16712 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock, 16713 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock, 16714 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock, 16715 omp_test_lock, omp_test_nest_lock): Likewise. 16716 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads, 16717 omp_get_dynamic, omp_get_nested): Likewise. 16718 * parallel.c (omp_get_num_threads, omp_get_max_threads, 16719 omp_get_thread_num, omp_in_parallel): Likewise. 16720 * fortran.c (ialias_redirect): Define. 16721 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock, 16722 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, 16723 omp_unset_lock, omp_unset_nest_lock, omp_test_lock, 16724 omp_test_nest_lock, omp_set_dynamic, omp_set_nested, 16725 omp_set_num_threads, omp_get_dynamic, omp_get_nested, 16726 omp_in_parallel, omp_get_max_threads, omp_get_num_procs, 16727 omp_get_num_threads, omp_get_thread_num, omp_get_wtick, 16728 omp_get_wtime): Add ialias_redirect. 16729 167302005-10-30 Jakub Jelinek <jakub@redhat.com> 16731 16732 * fortran.c: Include stdlib.h. 16733 167342005-10-29 Jakub Jelinek <jakub@redhat.com> 16735 16736 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h. 16737 * Makefile.in: Regenerated. 16738 167392005-10-28 Jakub Jelinek <jakub@redhat.com> 16740 16741 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE. 16742 * libgomp_f.h.in (omp_check_defines): New function. 16743 * env.c: Include libgomp_f.h. 16744 (initialize_env): Call omp_check_defines. 16745 16746 * testsuite/libgomp.dg/copyin-2.c: New test. 16747 * testsuite/libgomp.c++/copyin-2.C: New test. 16748 * testsuite/libgomp.fortran/threadprivate3.f90: New test. 16749 16750 * testsuite/libgomp.fortran/threadprivate2.f90: New test. 16751 * testsuite/libgomp.fortran/sharing2.f90: New test. 16752 16753 * testsuite/libgomp.dg/copyin-1.c: New test. 16754 * testsuite/libgomp.c++/copyin-1.C: New test. 16755 167562005-10-26 Jakub Jelinek <jakub@redhat.com> 16757 16758 * testsuite/libgomp.fortran/crayptr1.f90: New test. 16759 16760 * testsuite/libgomp.fortran/workshare1.f90: New test. 16761 16762 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile 16763 only test. 16764 * libgomp.fortran/sharing1.f90: New test. 16765 167662005-10-24 Jakub Jelinek <jakub@redhat.com> 16767 16768 PR c++/24502 16769 * testsuite/libgomp.c++/loop-7.C: New test. 16770 16771 * testsuite/libgomp.dg/nestedfn-2.c: New test. 16772 16773 * testsuite/libgomp.dg/nestedfn-1.c: New test. 16774 * testsuite/libgomp.fortran/reduction6.f90: New test. 16775 * testsuite/libgomp.fortran/nestedfn1.f90: New test. 16776 167772005-10-23 Richard Henderson <rth@redhat.com> 16778 16779 * testsuite/libgomp.c++/ctor-1.C: New. 16780 * testsuite/libgomp.c++/ctor-2.C: New. 16781 * testsuite/libgomp.c++/ctor-3.C: New. 16782 * testsuite/libgomp.c++/ctor-4.C: New. 16783 * testsuite/libgomp.c++/ctor-5.C: New. 16784 * testsuite/libgomp.c++/ctor-6.C: New. 16785 * testsuite/libgomp.c++/ctor-7.C: New. 16786 * testsuite/libgomp.c++/ctor-8.C: New. 16787 * testsuite/libgomp.c++/ctor-9.C: New. 16788 167892005-10-21 Diego Novillo <dnovillo@redhat.com> 16790 16791 PR 24455 16792 * testsuite/libgomp.c++/pr24455-1.C: New test. 16793 * testsuite/libgomp.c++/pr24455.C: New test. 16794 * testsuite/libgomp.dg/pr24455-1.c: New test. 16795 * testsuite/libgomp.dg/pr24455.c: New test. 16796 167972005-10-20 Richard Henderson <rth@redhat.com> 16798 16799 * testsuite/libgomp.c++/loop-6.C: New. 16800 * testsuite/libgomp.dg/loop-3.c: New. 16801 168022005-10-20 Jakub Jelinek <jakub@redhat.com> 16803 16804 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j 16805 explicitly private. 16806 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i 16807 explicitly shared. 16808 168092005-10-19 Diego Novillo <dnovillo@redhat.com> 16810 16811 * testsuite/libgomp.fortran/jacobi.f: New test. 16812 168132005-10-19 Richard Henderson <rth@redhat.com> 16814 16815 * configure.tgt (i?86-linux): Default to with_arch instead of 16816 CFLAGS. Add -mtune to match target_cpu. 16817 (x86_64-linux): Tune to i686. 16818 16819 * fortran.c (omp_test_nest_lock_): Fix typo. 16820 168212005-10-19 Jakub Jelinek <jakub@redhat.com> 16822 16823 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next, 16824 gomp_ordered_sync): Do nothing if team->nthreads == 1. 16825 * testsuite/libgomp.dg/ordered-3.c: New test. 16826 16827 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort. 16828 Remove volatile keyword. 16829 16830 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables 16831 in COMMON block to avoid warnings on 64-bit targets. 16832 168332005-10-18 Diego Novillo <dnovillo@redhat.com> 16834 16835 * testsuite/libgomp.dg/shared-3.c: New test. 16836 168372005-10-18 Jakub Jelinek <jakub@redhat.com> 16838 16839 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed. 16840 * testsuite/libgomp.fortran/reduction5.f90: New test. 16841 168422005-10-18 Jakub Jelinek <jakub@redhat.com> 16843 16844 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to 16845 dg-options. 16846 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable 16847 flush loop now that __sync_synchronize has proper memory barrier. 16848 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo. 16849 Add -ffixed-form to dg-options. 16850 168512005-10-17 Diego Novillo <dnovillo@redhat.com> 16852 16853 * testsuite/libgomp.fortran/fortran.exp: Also gather tests 16854 from subdirectories. 16855 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test. 16856 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test. 16857 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test. 16858 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test. 16859 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test. 16860 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test. 16861 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test. 16862 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test. 16863 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test. 16864 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test. 16865 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test. 16866 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test. 16867 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test. 16868 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test. 16869 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test. 16870 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test. 16871 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test. 16872 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test. 16873 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test. 16874 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test. 16875 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test. 16876 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test. 16877 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test. 16878 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test. 16879 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test. 16880 168812005-10-17 Jakub Jelinek <jakub@redhat.com> 16882 16883 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if 16884 lang_library_path exists. Use find instead of glob to gather tests. 16885 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed. 16886 168872005-10-17 Diego Novillo <dnovillo@redhat.com> 16888 16889 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test. 16890 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test. 16891 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test. 16892 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test. 16893 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test. 16894 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test. 16895 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test. 16896 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test. 16897 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test. 16898 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test. 16899 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test. 16900 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test. 16901 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file. 16902 169032005-10-15 Jakub Jelinek <jakub@redhat.com> 16904 16905 * testsuite/libgomp.dg/vla-1.c: New test. 16906 16907 * testsuite/libgomp.fortran/reference2.f90: New test. 16908 16909 * testsuite/libgomp.fortran/character2.f90: Remove explicit 16910 declaration of omp_get_thread_num. 16911 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add 16912 use omp_lib. 16913 16914 * testsuite/libgomp.fortran/reduction1.f90: New test. 16915 * testsuite/libgomp.fortran/reduction2.f90: New test. 16916 * testsuite/libgomp.fortran/reduction3.f90: New test. 16917 * testsuite/libgomp.fortran/reduction4.f90: New test. 16918 169192005-10-13 Richard Henderson <rth@redhat.com> 16920 16921 * Makefile.am (libgomp_la_SOURCES): Add bar.c. 16922 * Makefile.in: Regenerate. 16923 * barrier.c (GOMP_barrier): Use gomp_barrier_wait. 16924 * libgomp.h: Include bar.h. 16925 (struct gomp_barrier): Remove. 16926 (struct gomp_team): Add barrier. Replace master_barrier with 16927 master_release. Replace threads with ordered_release. 16928 (struct gomp_thread): Replace barrier with release. 16929 * ordered.c (gomp_ordered_first): Update for ordered_release change. 16930 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init, 16931 gomp_ordered_static_next, gomp_ordered_sync): Likewise. 16932 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait. 16933 (GOMP_single_copy_end): Likewise. 16934 * team.c (gomp_threads_dock): New. 16935 (gomp_barrier_init, gomp_barrier_destroy): Remove. 16936 (gomp_thread_start): Use gomp_barrier_wait. 16937 (new_team, free_team): Update for gomp_team changes. 16938 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit. 16939 (gomp_team_end): Use gomp_barrier_wait. 16940 (initialize_team): Update for gomp_thread changes. 16941 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start. 16942 (gomp_work_share_end_nowait): Use atomic ops when available. 16943 * config/linux/bar.c, config/linux/bar.h: New files. 16944 * config/posix/bar.c, config/posix/bar.h: New files. 16945 169462005-10-13 Jakub Jelinek <jakub@redhat.com> 16947 16948 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL. 16949 * testsuite/libgomp.dg/single-2.c: New test. 16950 16951 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file, 16952 lang_link_flags): Unset, so that they aren't inherited from previously 16953 sourced *.exp. 16954 16955 * testsuite/libgomp.fortran/threadprivate1.f90: New test. 16956 169572005-10-12 Richard Henderson <rth@redhat.com> 16958 16959 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel. 16960 (libgomp_init): Use lang_test_file, lang_library_path, and 16961 lang_link_flags, set by the subdirectory files. Add -fopenmp here. 16962 16963 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New. 16964 (lang_test_file, lang_link_flags): New. 16965 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove. 16966 16967 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C, 16968 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C, 16969 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C, 16970 testsuite/libgomp.c++/parallel-1.C, 16971 testsuite/libgomp.c++/reduction-1.C, 16972 testsuite/libgomp.c++/reduction-2.C, 16973 testsuite/libgomp.c++/reduction-3.C, 16974 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C, 16975 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C, 16976 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C: 16977 New files, largely cribbed from the C testsuite. 16978 169792005-10-12 Jakub Jelinek <jakub@redhat.com> 16980 16981 * testsuite/libgomp.fortran/character1.f90: New test. 16982 * testsuite/libgomp.fortran/character2.f90: New test. 16983 16984 * testsuite/libgomp.dg/nested-1.c: New test. 16985 * testsuite/libgomp.dg/nested-2.c: New test. 16986 * testsuite/libgomp.fortran/do1.f90: New test. 16987 * testsuite/libgomp.fortran/do2.f90: New test. 16988 16989 * testsuite/libgomp.fortran/reference1.f90: New test. 16990 169912005-10-11 Jakub Jelinek <jakub@redhat.com> 16992 16993 * testsuite/libgomp.dg/reduction-1.c: New test. 16994 * testsuite/libgomp.dg/reduction-2.c: New test. 16995 * testsuite/libgomp.dg/reduction-3.c: New test. 16996 169972005-10-10 Jakub Jelinek <jakub@redhat.com> 16998 16999 * testsuite/libgomp.dg/atomic-1.c: New test. 17000 * testsuite/libgomp.dg/atomic-2.c: New test. 17001 170022005-10-09 Richard Henderson <rth@redhat.com> 17003 17004 * critical.c (atomic_lock): New. 17005 (initialize_critical): Initialize it. 17006 (GOMP_atomic_start, GOMP_atomic_end): New. 17007 * libgomp.map: Export them. 17008 * libgomp_g.h: Declare them. 17009 17010 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite. 17011 170122005-10-02 Richard Henderson <rth@redhat.com> 17013 17014 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror 17015 to XCFLAGS instead of CFLAGS. 17016 170172005-09-30 Richard Henderson <rth@redhat.com> 17018 17019 * configure.ac: Determine whether -pthread or -lpthread is needed. 17020 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread. 17021 * Makefile.in, configure: Rebuild. 17022 170232005-09-28 Richard Henderson <rth@redhat.com> 17024 17025 * testsuite/libgomp.dg/omp-loop03.c: Fix return code. 17026 * testsuite/libgomp.dg/omp-single-3.c: New test. 17027 170282005-09-28 Diego Novillo <dnovillo@redhat.com> 17029 17030 * testsuite/libgomp.dg/omp-single-2.c: New test. 17031 * testsuite/libgomp.dg/shared-2.c: Fix return code. 17032 170332005-09-27 Richard Henderson <rth@redhat.com> 17034 17035 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier. 17036 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule. 17037 170382005-09-27 Jakub Jelinek <jakub@redhat.com> 17039 17040 * testsuite/libgomp.dg/omp-loop03.c: New test. 17041 170422005-09-27 Diego Novillo <dnovillo@redhat.com> 17043 17044 * testsuite/libgomp.dg/omp-parallel-for.c: New test. 17045 170462005-09-27 Diego Novillo <dnovillo@redhat.com> 17047 17048 * testsuite/libgomp.dg/omp-single-1.c: New test. 17049 * testsuite/libgomp.dg/shared-1.c: Return 0. 17050 Add prototype for abort. 17051 * testsuite/libgomp.dg/shared-2.c: Likewise. 17052 170532005-09-26 Jakub Jelinek <jakub@redhat.com> 17054 17055 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming 17056 constructs. 17057 170582005-09-26 Diego Novillo <dnovillo@redhat.com> 17059 17060 * testsuite/libgomp.dg/shared-1.c: New test. 17061 * testsuite/libgomp.dg/shared-2.c: New test. 17062 170632005-09-24 Richard Henderson <rth@redhat.com> 17064 17065 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error. 17066 170672005-09-24 Richard Henderson <rth@redhat.com> 17068 17069 * iter.c (gomp_iter_static_next): Round up when computing number 17070 of iterations. Don't bother distributing a remainder equally. 17071 17072 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main. 17073 Don't call srand. Zero b before testing. 17074 (main): New. 17075 170762005-09-24 Jakub Jelinek <jakub@redhat.com> 17077 17078 * testsuite/libgomp.fortran/omp_atomic1.f90: New test. 17079 * testsuite/libgomp.fortran/omp_atomic2.f90: New test. 17080 170812005-09-23 Jakub Jelinek <jakub@redhat.com> 17082 17083 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do 17084 without !$omp end do, followed immediately by subroutine end. 17085 170862005-09-23 Diego Novillo <dnovillo@redhat.com> 17087 17088 * testsuite/libgomp.dg/omp-parallel-if.c: New test. 17089 170902005-09-22 Richard Henderson <rth@redhat.com> 17091 17092 * critical.c (GOMP_critical_name_start): Change argument to void**. 17093 Reuse the pointer space if the mutex fits. 17094 (GOMP_critical_name_end): Likewise. 17095 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0. 17096 * libgomp_g.h (GOMP_critical_name_start): Update decl. 17097 (GOMP_critical_name_end): Likewise. 17098 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New. 17099 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New. 17100 171012005-09-20 Richard Henderson <rth@redhat.com> 17102 17103 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New. 17104 (create_lock_lock): New. 17105 (initialize_critical): Initialize it. 17106 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New. 17107 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare. 17108 171092005-09-20 Diego Novillo <dnovillo@redhat.com> 17110 17111 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h. 17112 171132005-09-20 Diego Novillo <dnovillo@redhat.com> 17114 17115 * testsuite/libgomp.dg/omp-loop01.c: New test. 17116 * testsuite/libgomp.dg/omp-loop02.c: New test. 17117 171182005-09-20 Jakub Jelinek <jakub@redhat.com> 17119 17120 * configure.ac (AC_PROG_FC): Add. 17121 (USE_FORTRAN): New automake conditional. 17122 * configure: Rebuilt. 17123 * Makefile.am (libgomp_la_SOURCES): Add fortran.c. 17124 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h. 17125 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod. 17126 Add rules to build them. 17127 * Makefile.in: Rebuilt. 17128 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and 17129 OMP_NEST_LOCK_KIND. 17130 * libgomp.map: Add Fortran wrappers. 17131 * libgomp_f.h.in: New file. 17132 * omp_lib.h.in: New file. 17133 * omp_lib.f90.in: New file. 17134 * fortran.c: New file. 17135 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files. 17136 Append libgfortran directory to LD_LIBRARY_PATH if it exists. 17137 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if 17138 libgfortran has been built. 17139 * testsuite/libgomp.fortran/fortran.exp: New file. 17140 * testsuite/libgomp.fortran/omp_cond1.f: New test. 17141 * testsuite/libgomp.fortran/omp_cond2.f: New test. 17142 * testsuite/libgomp.fortran/omp_cond3.F90: New test. 17143 * testsuite/libgomp.fortran/omp_cond4.F90: New test. 17144 * testsuite/libgomp.fortran/omp_hello.f: New test. 17145 * testsuite/libgomp.fortran/omp_orphan.f: New test. 17146 * testsuite/libgomp.fortran/omp_parse1.f90: New test. 17147 * testsuite/libgomp.fortran/omp_parse2.f90: New test. 17148 * testsuite/libgomp.fortran/omp_parse3.f90: New test. 17149 * testsuite/libgomp.fortran/omp_parse4.f90: New test. 17150 * testsuite/libgomp.fortran/omp_reduction.f: New test. 17151 * testsuite/libgomp.fortran/omp_workshare1.f: New test. 17152 * testsuite/libgomp.fortran/omp_workshare2.f: New test. 17153 171542005-08-30 Richard Henderson <rth@redhat.com> 17155 17156 * loop.c (GOMP_loop_static_start): Provide fallback wrapper 17157 function for when aliases are not usable. 17158 (GOMP_loop_dynamic_start, GOMP_loop_guided_start, 17159 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start, 17160 GOMP_loop_ordered_guided_start, GOMP_loop_static_next, 17161 GOMP_loop_dynamic_next, GOMP_loop_guided_next, 17162 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next, 17163 GOMP_loop_ordered_guided_next): Likewise. 17164 * ordered.c (GOMP_ordered_start): Likewise. 17165 171662005-08-01 Diego Novillo <dnovillo@redhat.com> 17167 17168 * testsuite/libgomp.dg/dg.exp: Use -O2 for now. 17169 * testsuite/libgomp.dg/omp_hello.c: Fix return code 17170 * testsuite/libgomp.dg/omp_matvec.c: Likewise. 17171 * testsuite/libgomp.dg/omp_orphan.c: Likewise 17172 * testsuite/libgomp.dg/omp_reduction.c: Likewise 17173 * testsuite/libgomp.dg/omp_workshare1.c: Likewise 17174 * testsuite/libgomp.dg/omp_workshare2.c: Likewise 17175 * testsuite/libgomp.dg/omp_workshare3.c: Likewise 17176 * testsuite/libgomp.dg/omp_workshare4.c: Likewise 17177 171782005-07-07 Eric Christopher <echristo@redhat.com> 17179 Diego Novillo <dnovillo@redhat.com> 17180 17181 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS. 17182 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix 17183 up code. 17184 * testsuite/libgomp.dg/omp_matvec.c: Ditto. 17185 * testsuite/libgomp.dg/omp_orphan.c: Ditto. 17186 * testsuite/libgomp.dg/omp_reduction.c: Ditto. 17187 * testsuite/libgomp.dg/omp_workshare1.c: Ditto. 17188 * testsuite/libgomp.dg/omp_workshare2.c: Ditto. 17189 * testsuite/libgomp.dg/omp_workshare3.c: Ditto. 17190 * testsuite/libgomp.dg/omp_workshare4.c: Ditto. 17191 171922005-06-13 Diego Novillo <dnovillo@redhat.com> 17193 17194 * TOPLEVEL.patch: Remove. 17195 171962005-05-16 Richard Henderson <rth@redhat.com> 17197 17198 * configure.ac: Test for clock_gettime. 17199 * config.h.in, configure: Rebuild. 17200 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern. 17201 (omp_get_wtime): Use clock_gettime if available. 17202 (omp_get_wtick): Use clock_getres if available. 17203 172042005-05-11 Richard Henderson <rth@redhat.com> 17205 17206 * config/linux/ia64/futex.h: New file. 17207 * configure.tgt: Use it. 17208 17209 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline. 17210 172112005-05-07 Richard Henderson <rth@redhat.com> 17212 17213 * config/linux/powerpc/futex.h: New file. 17214 * configure.tgt: Use it. 17215 17216 * config/linux/i486/futex.h: Merge ... 17217 * config/linux/x86_64/futex.h: ... into ... 17218 * config/linux/x86/futex.h: ... here. 17219 * configure.tgt: Update to match. 17220 172212005-05-06 Richard Henderson <rth@redhat.com> 17222 17223 * config/linux/alpha/futex.h: Conditionally define SYS_futex. 17224 * config/linux/i486/futex.h: Likewise. 17225 * config/linux/x86_64/futex.h: Likewise. 17226 17227 * config/linux/lock.c: New file. 17228 * config/linux/omp-lock.h: New file. 17229 17230 * critical.c, env.h: Don't include omp.h 17231 * config/posix/lock.c: Include libgomp.h instead of omp.h. 17232 * config/posix/time.c: Likewise. 17233 * config/posix/omp-lock.h: New file. 17234 * libgomp.h: Include omp-lock.h and omp.h. 17235 * Makefile.am (nodist_include_HEADERS): New. 17236 (omp.h): New rule. 17237 * configure.ac (PERL): New. 17238 * mkomp_h.pl: New file. 17239 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t 17240 with templates. 17241 * Makefile.in, configure, testsuite/Makefile.in: Rebuild. 17242 17243 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into 17244 build directory. Re-add -march=i486 hack. 17245 17246 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove. 17247 (libgomp_link_flags): Remove. 17248 (libgomp_initialized): Remove. 17249 (libgomp_init): Don't protect from reinitialization. Copy code 17250 from libstdc++ for getting the multilib set correctly. 17251 172522005-05-05 Richard Henderson <rth@redhat.com> 17253 17254 * config/linux/alpha/futex.h: New file. 17255 * configure.tgt (alpha*-*-linux*): Use it. 17256 17257 * config/posix/mutex.c: New file. 17258 * config/posix/sem.c: Use libgomp.h. 17259 17260 * configure.tgt (x86_64-linux): Also test CC for -m32. 17261 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage. 17262 17263 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add / 17264 after $gccpath. 17265 17266 * Makefile.am (SUBDIRS): New. 17267 (libgomp_la_LDFLAGS): Add -lpthread. 17268 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies. 17269 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild. 17270 17271 * libgomp_g.h: New file. 17272 * libgomp.h: Split out all public declarations to libgomp_g.h. 17273 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN. 17274 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN. 17275 * config/linux/sem.h: Likewise. 17276 * config/posix/sem.h: Likewise. 17277 17278 * Makefile.am (AM_LDFLAGS): New. 17279 (libgomp_version_script): Split out from ... 17280 (libgomp_la_LDFLAGS): ... here. 17281 (libgomp_version_info): New. 17282 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE. 17283 (LIBGOMP_ENABLE): New. 17284 (LIBGOMP_CHECK_LINKER_FEATURES): New. 17285 (LIBGOMP_ENABLE_SYMVERS): New. 17286 * configure.ac (AC_INIT): Version 1.0. 17287 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE. 17288 (enable-linux-futex): Likewise. Rename from enable-futex. 17289 (libtool_VERSION): New. 17290 (LIBGOMP_ENABLE_SYMVERS): Use it. 17291 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations. 17292 * Makefile.in, aclocal.m4, configure: Rebuild. 17293 17294 * config/linux/mutex.c: Include libgomp.h instead of mutex.h. 17295 (gomp_mutex_unlock_slow): Fix typo. 17296 * config/linux/sem.c: Similarly. 17297 (gomp_sem_post_slow): Fix typo. 17298 * config/linux/sem.h (gomp_sem_post_slow): Fix typo. 17299 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code. 17300 [__PIC__] (sys_futex0): Don't use tmp output in asm. 17301 17302 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS. 17303 (libgomp_la_LDFLAGS): Add top_srcdir to path. 17304 * acinclude.m4: Copy libtool.m4 stuff from libgfortran. 17305 * configure.ac: Check for getloadavg. Substitute XCFLAGS and 17306 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS. 17307 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and 17308 LDFLAGS. Pull enable_futex check to top-level. 17309 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN. 17310 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate. 17311 17312 First attempt at real configury. 17313 * Makefile, config.h: Remove file. 17314 * Makefile.am, Makefile.in: New file. 17315 * acinclude.m4 aclocal.m4: New file. 17316 * configure.ac, configure.tgt, configure: New file. 17317 17318 * config/posix/lock.c: Rename from sys-lock.c. 17319 * config/posix/mutex.h: Rename from sys-mutex.h. 17320 * config/posix/sem.c: Rename from sys-sem.c. 17321 * config/posix/sem.h: Rename from sys-sem.h. 17322 * config/posix/proc.c: Rename from sys-proc.c. 17323 * config/posix/time.c: Rename from sys-proc.c. 17324 17325 * config/linux/mutex.c: New file. 17326 * config/linux/mutex.h: New file. 17327 * config/linux/sem.c: New file. 17328 * config/linux/sem.h: New file. 17329 * config/linux/i486/futex.h: New file. 17330 * config/linux/x86_64/futex.h: New file. 17331 173322005-05-04 Richard Henderson <rth@redhat.com> 17333 17334 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New. 17335 * libgomp.h: Declare them. 17336 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start, 17337 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them. 17338 173392005-05-04 Richard Henderson <rth@redhat.com> 17340 17341 * libgomp-1 code drop 17342 173432005-05-04 Richard Henderson <rth@redhat.com> 17344 17345 * iter.c (gomp_iter_static_next): Return tri-state on 0. 17346 * ordered.c (gomp_ordered_static_next): Remove not_last argument. 17347 * libgomp.h (struct gomp_team_state): Make static_trip unsigned. 17348 (gomp_iter_static_next): Update. 17349 (gomp_ordered_static_next): Update. 17350 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next. 17351 (gomp_loop_ordered_static_start): Likewise. Exit early for a 17352 totally empty range. 17353 (gomp_loop_ordered_static_next): Refine test for calling 17354 gomp_ordered_static_next. 17355 * testsuite/ordered-1.c: Add case for more threads than iterations. 17356 17357 * iter.c (gomp_iter_runtime_next_locked): Remove. 17358 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start, 17359 gomp_loop_guided_start, gomp_loop_ordered_static_start, 17360 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start, 17361 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next, 17362 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next, 17363 gomp_loop_ordered_guided_next): Downcase name, make static, add 17364 an external alias with the old name. 17365 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start, 17366 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a 17367 switch and call one of the above static functions. 17368 * libgomp.h: Update. 17369 17370 * work.c (gomp_work_share_start): Lock the mutex for !first too. 17371 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start, 17372 GOMP_loop_guided_start, GOMP_loop_runtime_start, 17373 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start, 17374 GOMP_loop_ordered_guided_start): Update to match. 17375 * sections.c (GOMP_sections_start): Likewise. 17376 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise. 17377 17378 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next, 17379 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//. 17380 Use bounds check instead of modulus. 17381 (gomp_ordered_sync): Split out of GOMP_ordered_start. 17382 (gomp_ordered_last): Don't sync with ordered_owner here. 17383 (gomp_ordered_next): Likewise. 17384 (gomp_ordered_static_loop_next): Likewise. 17385 * loop.c, libgomp.h: Update to match. 17386 17387 * libgomp.h (GOMP_barrier): Declare. 17388 17389 * testsuite/barrier-1.c: New file. 17390 * testsuite/critical-1.c: New file. 17391 * testsuite/ordered-2.c: New file. 17392 * testsuite/ordered-1.c: New file. 17393 * testsuite/sections-1.c: New file. 17394 * testsuite/single-1.c: New file. 17395 * testsuite/Makefile (TESTS): Add them. 17396 173972005-05-04 Richard Henderson <rth@redhat.com> 17398 17399 * libgomp.h (struct gomp_work_share): Add ordered_owner. 17400 * loop.c (GOMP_loop_static_start): If not the startup thread, 17401 acquire the mutex to wait for initialization complete. 17402 (GOMP_loop_ordered_static_start): Likewise. 17403 (GOMP_loop_ordered_runtime_start): Likewise. 17404 (GOMP_loop_ordered_static_first): Remove. 17405 (GOMP_loop_ordered_dynamic_first): Remove. 17406 (GOMP_loop_ordered_guided_first): Remove. 17407 (GOMP_loop_ordered_runtime_first): Remove. 17408 * ordered.c (gomp_ordered_loop_first): Post to own release when 17409 we're the first thread. 17410 (gomp_ordered_loop_last): Wait on release if not owner. 17411 (gomp_ordered_loop_next): Likewise. 17412 (gomp_ordered_static_loop_init): New. 17413 (gomp_ordered_static_loop_next): Use ordered_owner. 17414 (GOMP_ordered_start): Likewise. 17415 * work.c (gomp_new_work_share): Initialize ordered_owner. 17416 174172005-05-03 Richard Henderson <rth@redhat.com> 17418 17419 * Makefile (OPT): New. 17420 (CFLAGS): Use it. 17421 17422 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New. 17423 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New. 17424 * libgomp.h, libgomp.map, NOTES: Update to match. 17425 17426 * team.c (struct gomp_thread_start_data): Remove ts, fn, data. 17427 Add initialized and thr members. 17428 (gomp_thread_start): Pause when initially spawned to wait for 17429 the whole team to be created. 17430 (gomp_team_start): Release team members at the end. 17431 17432 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100. 17433 (f_foo_1): Use GOMP_loop_end. 17434 (f_foo_2): Use GOMP_loop_end_nowait. 17435 17436 * testsuite/loop-2.c: New file. 17437 * testsuite/Makefile (TESTS): Add it. 17438 174392005-05-03 Richard Henderson <rth@redhat.com> 17440 17441 * iter.c (gomp_iter_static_next): Fix overflow check typo. 17442 (gomp_iter_dynamic_next_locked): Fix overflow check thinko. 17443 * team.c (new_team): Initialize oldest_live_gen to 1 if no 17444 initial work_share. 17445 17446 * testsuite/Makefile: New file. 17447 * testsuite/loop-1.c: New file. 17448 174492005-05-03 Richard Henderson <rth@redhat.com> 17450 17451 Initial implementation and checkin. 17452 17453Copyright (C) 2005-2022 Free Software Foundation, Inc. 17454 17455Copying and distribution of this file, with or without modification, 17456are permitted in any medium without royalty provided the copyright 17457notice and this notice are preserved. 17458