12020-07-23 Release Manager 2 3 * GCC 10.2.0 released. 4 52020-07-14 Kwok Cheung Yeung <kcy@codesourcery.com> 6 7 Backported from master: 8 2020-07-14 Tom de Vries <tom@codesourcery.com> 9 Cesar Philippidis <cesar@codesourcery.com> 10 Thomas Schwinge <thomas@codesourcery.com> 11 Kwok Cheung Yeung <kcy@codesourcery.com> 12 13 * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread): 14 New variable. 15 (acc_init_1): Set acc_init_thread to pthread_self (). Set 16 acc_init_state to initializing at the start, and to initialized at the 17 end. 18 (self_initializing_p): New function. 19 (acc_get_device_type): Return acc_device_none if called by thread that 20 is currently executing acc_init_1. 21 * libgomp.texi (acc_get_device_type): Update documentation. 22 (Implementation Status and Implementation-Defined Behavior): Likewise. 23 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New. 24 252020-07-13 Julian Brown <julian@codesourcery.com> 26 27 Backported from master: 28 2020-07-13 Julian Brown <julian@codesourcery.com> 29 Thomas Schwinge <thomas@codesourcery.com> 30 31 * testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test. 32 332020-07-13 Julian Brown <julian@codesourcery.com> 34 35 Backported from master: 36 2020-07-10 Julian Brown <julian@codesourcery.com> 37 Thomas Schwinge <thomas@codesourcery.com> 38 39 * libgomp.h (struct splay_tree_key_s): Change virtual_refcount to 40 dynamic_refcount. 41 (struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA. 42 * oacc-mem.c (acc_map_data): Substitute virtual_refcount for 43 dynamic_refcount. 44 (acc_unmap_data): Update comment. 45 (goacc_map_var_existing, goacc_enter_datum): Adjust for 46 dynamic_refcount semantics. 47 (goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking. 48 Adjust for dynamic_refcount semantics. 49 (goacc_enter_data_internal): Implement "present" case of dynamic 50 memory-map handling here. Update "non-present" case for 51 dynamic_refcount semantics. 52 (goacc_exit_data_internal): Use goacc_exit_datum_1. 53 * target.c (gomp_map_vars_internal): Remove 54 GOMP_MAP_VARS_OPENACC_ENTER_DATA handling. Update for dynamic_refcount 55 handling. 56 (gomp_unmap_vars_internal): Remove virtual_refcount handling. 57 (gomp_load_image_to_device): Substitute dynamic_refcount for 58 virtual_refcount. 59 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs. 60 * testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test. 61 * testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test. 62 * testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test. 63 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and 64 trace output. 65 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove 66 trace output. 67 * testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New 68 test. 69 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c: 70 Remove stale comment. 71 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs. 72 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise. 73 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise. 74 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise. 75 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise. 76 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL. 77 782020-07-13 Julian Brown <julian@codesourcery.com> 79 80 Backported from master: 81 2020-07-10 Julian Brown <julian@codesourcery.com> 82 Thomas Schwinge <thomas@codesourcery.com> 83 84 * oacc-mem.c (goacc_map_var_existing): New function. 85 (goacc_enter_datum): Use above function. 86 (goacc_exit_datum_1): New function. 87 (goacc_exit_datum): Use above function. 88 892020-07-13 Julian Brown <julian@codesourcery.com> 90 91 Backported from master: 92 2020-07-09 Julian Brown <julian@codesourcery.com> 93 Thomas Schwinge <thomas@codesourcery.com> 94 95 PR middle-end/95270 96 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test. 97 * testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test. 98 992020-07-13 Julian Brown <julian@codesourcery.com> 100 101 Backported from master: 102 2020-07-09 Julian Brown <julian@codesourcery.com> 103 104 * oacc-mem.c (find_group_last): Group data-movement clauses 105 (GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent 106 GOMP_MAP_ATTACH. Allow standalone GOMP_MAP_ATTACH also. 107 1082020-07-03 Thomas Schwinge <thomas@codesourcery.com> 109 110 Backported from master: 111 2020-07-03 Thomas Schwinge <thomas@codesourcery.com> 112 113 * oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom 114 behavior for 'GOMP_MAP_FORCE_FROM'. 115 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL. 116 1172020-07-03 Thomas Schwinge <thomas@codesourcery.com> 118 119 Backported from master: 120 2020-07-03 Thomas Schwinge <thomas@codesourcery.com> 121 122 * oacc-mem.c (goacc_exit_data_internal): Remove 123 'GOMP_MAP_ALWAYS_FROM' handling. 124 1252020-06-30 Thomas Schwinge <thomas@codesourcery.com> 126 127 Backported from master: 128 2020-06-30 Thomas Schwinge <thomas@codesourcery.com> 129 130 * target.c (gomp_map_vars_existing): Assert 'kind != 131 GOMP_MAP_ATTACH'. 132 (gomp_map_vars_internal): Clean up. 133 1342020-06-17 Thomas Schwinge <thomas@codesourcery.com> 135 136 Backported from master: 137 2020-06-17 Thomas Schwinge <thomas@codesourcery.com> 138 139 PR lto/94848 140 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add 141 'dg-do run'. 142 1432020-06-15 Tobias Burnus <tobias@codesourcery.com> 144 145 PR lto/94848 146 PR middle-end/95551 147 * testsuite/libgomp.fortran/target-var.f90: New test. 148 1492020-06-05 Thomas Schwinge <thomas@codesourcery.com> 150 Julian Brown <julian@codesourcery.com> 151 152 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain 153 special handling. 154 1552020-06-05 Thomas Schwinge <thomas@codesourcery.com> 156 Julian Brown <julian@codesourcery.com> 157 158 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: 159 Simplify. 160 1612020-06-05 Julian Brown <julian@codesourcery.com> 162 163 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test. 164 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test. 165 1662020-06-04 Thomas Schwinge <thomas@codesourcery.com> 167 168 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: 169 Evaluate 'copyfrom' individually for each entry. 170 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update. 171 1722020-06-04 Thomas Schwinge <thomas@codesourcery.com> 173 174 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: 175 Evaluate 'finalize' individually for each entry. 176 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file. 177 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove 178 file. 179 1802020-06-04 Thomas Schwinge <thomas@codesourcery.com> 181 182 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof' 183 usage. 184 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise. 185 1862020-06-04 Thomas Schwinge <thomas@codesourcery.com> 187 Julian Brown <julian@codesourcery.com> 188 189 * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped' 190 checking. 191 (acc_unmap_data, goacc_exit_data_internal): Restore 192 'is_tgt_unmapped' checking. 193 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New 194 file. 195 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust. 196 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise. 197 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise. 198 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise. 199 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise. 200 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise. 201 2022020-06-04 Thomas Schwinge <thomas@codesourcery.com> 203 Julian Brown <julian@codesourcery.com> 204 205 * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'. 206 2072020-06-04 Thomas Schwinge <thomas@codesourcery.com> 208 209 PR libgomp/92854 210 * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting. 211 2122020-06-04 Thomas Schwinge <thomas@codesourcery.com> 213 214 PR libgomp/92854 215 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some 216 more. 217 2182020-06-04 Thomas Schwinge <thomas@codesourcery.com> 219 Julian Brown <julian@codesourcery.com> 220 221 * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from 222 'gomp_map_vars'. 223 (acc_map_data): Clean up accordingly. 224 2252020-06-04 Thomas Schwinge <thomas@codesourcery.com> 226 227 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior 228 of over-eager 'finalize' clause. 229 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New 230 file. 231 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise. 232 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise. 233 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise. 234 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise. 235 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise. 236 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise. 237 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise. 238 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise. 239 2402020-06-04 Thomas Schwinge <thomas@codesourcery.com> 241 242 * oacc-mem.c (goacc_exit_data_internal): Unlock on error path. 243 2442020-06-04 Julian Brown <julian@codesourcery.com> 245 246 * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on 247 error path. 248 (goacc_detach_internal): Likewise. 249 2502020-06-04 Thomas Schwinge <thomas@codesourcery.com> 251 252 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before 253 the checkpoint. 254 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise. 255 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise. 256 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise. 257 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise. 258 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise. 259 2602020-05-26 Thomas Koenig <tkoenig@gcc.gnu.org> 261 262 PR libfortran/95191 263 * testsuite/libgomp.fortran/async_io_9.f90: New test. 264 2652020-05-22 Thomas Koenig <tkoenig@gcc.gnu.org> 266 267 PR libfortran/95119 268 * testsuite/libgomp.fortran/close_errors_1.f90: New test. 269 2702020-05-07 Release Manager 271 272 * GCC 10.1.0 released. 273 2742020-04-29 Thomas Schwinge <thomas@codesourcery.com> 275 276 * config/accel/openacc.f90 (acc_device_current): Set to '-1'. 277 * openacc.f90 (acc_device_current): Likewise. 278 * openacc.h (acc_device_current): Likewise. 279 * openacc_lib.h (acc_device_current): Likewise. 280 281 PR target/94282 282 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove 283 'dg-allow-blank-lines-in-output'. 284 285 * oacc-init.c (get_openacc_name): Handle 'gcn'. 286 * testsuite/lib/libgomp.exp 287 (offload_target_to_openacc_device_type) [amdgcn*]: Return 288 'radeon'. Adjust all users. 289 (check_effective_target_openacc_amdgcn_accel_present): Rename 290 to... 291 (check_effective_target_openacc_radeon_accel_present): ... this. 292 Adjust all users. 293 (check_effective_target_openacc_amdgcn_accel_selected): Rename to... 294 (check_effective_target_openacc_radeon_accel_selected): ... this. 295 Adjust all users. 296 297 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add 298 'dg-do run'. 299 3002020-04-23 Andrew Stubbs <ams@codesourcery.com> 301 302 PR other/94629 303 304 * plugin/plugin-gcn.c (init_hsa_context): Check return value from 305 hsa_iterate_agents. 306 (GOMP_OFFLOAD_init_device): Check return values from both calls to 307 hsa_agent_iterate_regions. 308 3092020-04-20 Thomas Schwinge <thomas@codesourcery.com> 310 311 PR middle-end/94635 312 * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do 313 run'. 314 3152020-04-20 Tobias Burnus <tobias@codesourcery.com> 316 317 PR middle-end/94120 318 * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)' 319 test case. 320 3212020-04-17 Tobias Burnus <tobias@codesourcery.com> 322 323 PR middle-end/94635 324 * testsuite/libgomp.fortran/target-enter-data-2.F90: New. 325 3262020-04-13 Thomas Schwinge <thomas@codesourcery.com> 327 328 PR libgomp/92843 329 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c: 330 Rename to... 331 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c: 332 ... this. 333 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c: 334 Rename to... 335 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c: 336 ... this. 337 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c: 338 Rename to... 339 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c: 340 ... this. 341 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c: 342 Rename to... 343 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c: 344 ... this. 345 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c: 346 Rename to... 347 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c: 348 ... this. 349 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c: 350 Rename to... 351 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c: 352 ... this. 353 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c: 354 Rename to... 355 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c: 356 ... this. 357 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c: 358 Rename to... 359 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c: 360 ... this. 361 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c: 362 Rename to... 363 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c: 364 ... this. 365 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c: 366 Rename to... 367 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c: 368 ... this. 369 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c: 370 Rename to... 371 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c: 372 ... this. 373 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c: 374 Rename to... 375 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c: 376 ... this. 377 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c: 378 Rename to... 379 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c: 380 ... this. 381 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c: 382 Rename to... 383 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c: 384 ... this. 385 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c: 386 Rename to... 387 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c: 388 ... this. 389 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:: 390 Rename to... 391 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c: 392 ... this. 393 3942020-04-10 Julian Brown <julian@codesourcery.com> 395 Thomas Schwinge <thomas@codesourcery.com> 396 397 PR libgomp/92843 398 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c: 399 New file. 400 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c: 401 Likewise. 402 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c: 403 Likewise. 404 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c: 405 Likewise. 406 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c: 407 Likewise. 408 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c: 409 Likewise. 410 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c: 411 Likewise. 412 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c: 413 Likewise. 414 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c: 415 Likewise. 416 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c: 417 Likewise. 418 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c: 419 Likewise. 420 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c: 421 Likewise. 422 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c: 423 Likewise. 424 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c: 425 Likewise. 426 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c: 427 Likewise. 428 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c: 429 Likewise. 430 4312020-04-10 Thomas Schwinge <thomas@codesourcery.com> 432 433 * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do 434 run'. 435 4362020-04-08 Tobias Burnus <tobias@codesourcery.com> 437 438 PR middle-end/94120 439 * libgomp.oacc-c++/declare-pr94120.C: New. 440 4412020-04-06 Maciej W. Rozycki <macro@wdc.com> 442 443 * configure.ac: Add testsuite/libgomp-site-extra.exp to output 444 files. 445 * configure: Regenerate. 446 * testsuite/libgomp-site-extra.exp.in: New file. 447 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove 448 variable. 449 * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New 450 variable. 451 * testsuite/Makefile.in: Regenerate. 452 4532020-04-03 Thomas Schwinge <thomas@codesourcery.com> 454 455 PR tree-optimization/89713 456 PR c/94392 457 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect 458 'bar.sync'. 459 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise. 460 4612020-03-31 Tobias Burnus <tobias@codesourcery.com> 462 463 * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER. 464 * testsuite/libgomp.fortran/target-enter-data-1.f90: New. 465 4662020-03-24 Tobias Burnus <tobias@codesourcery.com> 467 468 PR libgomp/81689 469 * testsuite/libgomp.c/target-link-1.c: Remove xfail. 470 4712020-03-20 Tobias Burnus <tobias@codesourcery.com> 472 473 PR libgomp/94251 474 * target.c (gomp_load_image_to_device): Fix link 475 variable handling. 476 4772020-03-19 Jakub Jelinek <jakub@redhat.com> 478 479 PR c++/93931 480 * testsuite/libgomp.c++/pr93931.C: New test. 481 4822020-03-19 Tobias Burnus <tobias@codesourcery.com> 483 484 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add 485 dg-allow-blank-lines-in-output. 486 4872020-03-18 Julian Brown <julian@codesourcery.com> 488 Tobias Burnus <tobias@codesourcery.com> 489 490 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make 491 it work concurrently. 492 4932020-03-18 Tobias Burnus <tobias@codesourcery.com> 494 495 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add 496 #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn. 497 * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise. 498 4992020-03-14 Jakub Jelinek <jakub@redhat.com> 500 501 PR middle-end/93566 502 * testsuite/libgomp.c/pr93566.c: New test. 503 5042020-02-21 Frederik Harwath <frederik@codesourcery.com> 505 506 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to 507 changes from 2020-02-19, i.e. use integer(c_size_t) instead of 508 integer(acc_device_property) for the type of the return value of 509 acc_get_property. 510 5112020-02-19 Tobias Burnus <tobias@codesourcery.com> 512 513 * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h. 514 * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current. 515 (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup. 516 * libgomp.texi (Enabling OpenACC): No longer mark as experimental. 517 (acc_set_device_num): Fix Fortran argument name, use same name for C. 518 (acc_get_property): Update Fortran interface to post-OpenACC 3.0 519 corrections; add note about the previous interface and named constant. 520 (OpenACC library and environment variables): Fix two typos. 521 * openacc.f90: Use for all procedures the argument names from the spec 522 as for …_h they are user visible. 523 (openacc_kinds): Rename acc_device_property to 524 acc_device_property_kinds and change value to int32 ; and update users. 525 Re-add acc_device_property for for backward compatibility. 526 (acc_get_property_string_h): Clean up as acc_device_property_kind 527 changed. 528 (acc_get_property_h): Likewise and return c_size_t instead of 529 acc_device_property. 530 (openacc): Also export acc_device_property_kinds. 531 (acc_async_test_h, acc_async_test_all_h, acc_on_device_h, 532 acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value 533 handling; check against /= 0 instead of == 1 to match C. 534 * openacc_lib.h: Use for all procedures the argument names from the spec 535 as for …_h they are user visible. Place !GCC$ into the first column to 536 be active also for fixed-form souce form. 537 (acc_device_current, acc_device_property_kind, acc_device_property, 538 acc_property_memory, acc_property_free_memory, acc_property_name, 539 acc_property_vendor, acc_property_driver): New named constants. 540 (acc_get_property, acc_get_property_string): New generic interface. 541 5422020-02-13 Frederik Harwath <frederik@codesourcery.com> 543 544 PR libgomp/93481 545 * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub. 546 * target.c (gomp_load_plugin_for_device): Make "async_run" loading 547 optional. 548 (gomp_target_task_fn): Assert "devicep->async_run_func". 549 (clear_unsupported_flags): New function to remove unsupported flags 550 (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored. 551 (GOMP_target_ext): Apply clear_unsupported_flags to flags. 552 * testsuite/libgomp.c/target-33.c: 553 Remove xfail for offload_target_nvptx. 554 * testsuite/libgomp.c/target-34.c: Likewise. 555 5562020-02-10 Frederik Harwath <frederik@codesourcery.com> 557 558 * testsuite/libgomp.c/target-33.c: Add xfail for execution on 559 offload_target_nvptx, cf. https://gcc.gnu.org/PR81688. 560 * testsuite/libgomp.c/target-34.c: Likewise. 561 * testsuite/libgomp.c/target-link-1.c: Add xfail for 562 offload_target_nvptx, cf. https://gcc.gnu.org/PR81689. 563 5642020-02-09 Jakub Jelinek <jakub@redhat.com> 565 566 * testsuite/libgomp.c/target-38.c: New test. 567 5682020-02-06 Jakub Jelinek <jakub@redhat.com> 569 570 PR libgomp/93515 571 * testsuite/libgomp.c-c++-common/pr93515.c: New test. 572 5732020-02-05 Tobias Burnus <tobias@codesourcery.com> 574 575 * testsuite/lib/libgomp.exp 576 (check_effective_target_offload_target_nvptx): Pass flags as 'options' 577 and not as 'source' argument to libgomp_target_compile. 578 5792020-02-03 Andrew Stubbs <ams@codesourcery.com> 580 581 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove. 582 (gcn_gfx801_s): Remove. 583 (isa_hsa_name): Remove gfx801. 584 (isa_gcc_name): Remove gfx801/carizzo. 585 (isa_code): Remove gfx801. 586 5872020-02-03 Julian Brown <julian@codesourcery.com> 588 Tobias Burnus <tobias@codesourcery.com> 589 590 * libgomp.texi (OpenACC Runtime Library Routines): Document *_async 591 and *_finalize variants; document acc_attach and acc_detach; update 592 references from OpenACC 2.0 to 2.6. 593 * openacc.f90 (openacc_version): Update to 201711. 594 * openacc_lib.h (openacc_version): Update to 201711. 595 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected 596 openacc_version to 201711. 597 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise. 598 5992020-01-31 Kwok Cheung Yeung <kcy@codesourcery.com> 600 601 * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count 602 and vgpr_count fields. 603 (struct kernel_info): Add a field for a hsa_kernel_description. 604 (run_kernel): Reduce the number of threads/workers if the requested 605 number would require too many VGPRs. 606 (init_basic_kernel_info): Initialize description field with 607 the hsa_kernel_description entry for the kernel. 608 6092020-01-29 Tobias Burnus <tobias@codesourcery.com> 610 611 PR bootstrap/93409 612 * plugin/configfrag.ac (enable_offload_targets): Skip 613 HSA and GCN plugin besides -m32 also for -mx32. 614 * configure: Regenerate. 615 6162020-01-29 Frederik Harwath <frederik@codesourcery.com> 617 618 * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon. 619 6202020-01-29 Frederik Harwath <frederik@codesourcery.com> 621 622 * plugin-gcn.c (struct agent_info): Add fields "name" and 623 "vendor_name" ... 624 (GOMP_OFFLOAD_init_device): ... and init from here. 625 (struct hsa_context_info): Add field "driver_version_s" ... 626 (init_hsa_contest): ... and init from here. 627 (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper 628 implementation. 629 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: 630 Enable test execution for amdgcn and host offloading targets. 631 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise. 632 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c 633 (expect_device_properties): Split function into ... 634 (expect_device_string_properties): ... this new function ... 635 (expect_device_memory): ... and this new function. 636 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c: 637 Add test. 638 6392020-01-28 Julian Brown <julian@codesourcery.com> 640 641 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here. 642 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed 643 component/non-component variable refs in a single directive. 644 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise. 645 6462020-01-24 Maciej W. Rozycki <macro@wdc.com> 647 648 * configure.ac: Handle `--with-toolexeclibdir='. 649 * Makefile.in: Regenerate. 650 * aclocal.m4: Regenerate. 651 * configure: Regenerate. 652 * testsuite/Makefile.in: Regenerate. 653 6542020-01-24 Frederik Harwath <frederik@codesourcery.com> 655 656 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c 657 (expect_device_properties): Remove "expected_free_mem" argument, 658 change "expected_total_mem" argument type to size_t; 659 change types of acc_get_property results to size_t, 660 adapt format strings. 661 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: 662 Use %zu instead of %zd to print size_t values. 663 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and 664 rename to ... 665 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this. 666 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and 667 rename to ... 668 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this. 669 6702020-01-23 Andrew Stubbs <ams@codesourcery.com> 671 672 * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for 673 the device id. 674 6752020-01-20 Andrew Stubbs <ams@codesourcery.com> 676 677 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn. 678 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main): 679 Adjust test dimensions for amdgcn. 680 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust 681 gang/worker/vector expectations dynamically. 682 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c 683 (main): Likewise. 684 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise. 685 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise. 686 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise. 687 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise. 688 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise. 689 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise. 690 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise. 691 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise. 692 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c 693 (acc_gang): Recognise acc_device_radeon. 694 (acc_worker): Likewise. 695 (acc_vector): Likewise. 696 (main): Set expectations for amdgcn. 697 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c 698 (main): Adjust gang/worker/vector expectations dynamically. 699 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise. 700 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise. 701 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise. 702 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations 703 for amdgcn. 704 7052020-01-17 Andrew Stubbs <ams@codesourcery.com> 706 707 * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to 708 acc_device_radeon. 709 (openacc): Likewise. 710 * openacc.f90 (openacc_kinds): Likewise. 711 (openacc): Likewise. 712 * openacc.h (acc_device_t): Likewise. 713 * openacc_lib.h: Likewise. 714 * testsuite/lib/libgomp.exp 715 (check_effective_target_openacc_amdgcn_accel_present): Likewise. 716 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c 717 (cb_compute_construct_end): Likewise. 718 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c 719 (cb_enqueue_launch_start): Likewise. 720 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c 721 (cb_enter_data_end): Likewise. 722 (cb_exit_data_start): Likewise. 723 (cb_exit_data_end): Likewise. 724 (cb_compute_construct_end): Likewise. 725 (cb_enqueue_launch_start): Likewise. 726 (cb_enqueue_launch_end): Likewise. 727 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c 728 (main): Likewise. 729 7302020-01-10 Thomas Schwinge <thomas@codesourcery.com> 731 732 * libgomp-plugin.h (enum goacc_property): New. Adjust all users 733 to use this instead of 'enum gomp_device_property'. 734 (GOMP_OFFLOAD_get_property): Rename to... 735 (GOMP_OFFLOAD_openacc_get_property): ... this. Adjust all users. 736 * libgomp.h (struct gomp_device_descr): Move 737 'GOMP_OFFLOAD_openacc_get_property'... 738 (struct acc_dispatch_t): ... here. Adjust all users. 739 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove. 740 741 * target.c (gomp_map_vars_internal) 742 <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code 743 paths. 744 7452020-01-10 Jakub Jelinek <jakub@redhat.com> 746 747 PR libgomp/93219 748 * libgomp.h (gomp_print_string): Change return type from void to int. 749 * affinity-fmt.c (gomp_print_string): Likewise. Return true if 750 not all characters have been written. 751 7522020-01-08 Tobias Burnus <tobias@codesourcery.com> 753 754 * libgomp.texi: Fix typos, use https. 755 7562020-01-03 Tobias Burnus <tobias@codesourcery.com> 757 758 * testsuite/libgomp.fortran/optional-map.f90: Add test for 759 unallocated/disassociated actual arguments to nonallocatable/nonpointer 760 dummy arguments; those are/shall be regarded as absent arguments. 761 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto. 762 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New. 763 7642020-01-01 Jakub Jelinek <jakub@redhat.com> 765 766 Update copyright years. 767 768 * libgomp.texi: Bump @copying's copyright year. 769 7702019-12-31 Ayush Mittal <ayush.m@samsung.com> 771 772 PR libgomp/93065 773 * oacc-init.c (goacc_runtime_deinitialize): New function. 774 7752019-12-28 Jakub Jelinek <jakub@redhat.com> 776 777 PR bootstrap/93074 778 * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare. 779 (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2. 780 7812019-12-22 Maciej W. Rozycki <macro@codesourcery.com> 782 Frederik Harwath <frederik@codesourcery.com> 783 Thomas Schwinge <tschwinge@codesourcery.com> 784 785 * libgomp.h (gomp_device_descr): Add `get_property_func' member. 786 * libgomp-plugin.h (gomp_device_property_value): New union. 787 (gomp_device_property_value): New prototype. 788 * openacc.h (acc_device_t): Add `acc_device_current' enumeration 789 constant. 790 (acc_device_property_t): New enum. 791 (acc_get_property, acc_get_property_string): New prototypes. 792 * oacc-init.c (acc_get_device_type): Also assert that result 793 is not `acc_device_current'. 794 (get_property_any, acc_get_property, acc_get_property_string): 795 New functions. 796 * openacc.f90 (openacc_kinds): Add `acc_device_current' and 797 `acc_property_memory', `acc_property_free_memory', 798 `acc_property_name', `acc_property_vendor' and 799 `acc_property_driver' constants. Add `acc_device_property' data 800 type. 801 (openacc_internal): Add `acc_get_property' and 802 `acc_get_property_string' interfaces. Add `acc_get_property_h', 803 `acc_get_property_string_h', `acc_get_property_l' and 804 `acc_get_property_string_l'. 805 * oacc-host.c (host_get_property): New function. 806 (host_dispatch): Wire it. 807 * target.c (gomp_load_plugin_for_device): Handle `get_property'. 808 * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_', 809 `acc_get_property_string' and `acc_get_property_string_h_' symbols. 810 * libgomp.texi (OpenACC Runtime Library Routines): Add 811 `acc_get_property'. 812 (acc_get_property): New node. 813 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New 814 function (stub). 815 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function. 816 * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName', 817 `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo' 818 calls. 819 (GOMP_OFFLOAD_get_property): New function. 820 (struct ptx_device): Add new field "name". 821 (cuda_driver_version_s): Add new static variable ... 822 (nvptx_init): ... and init from here. 823 824 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test. 825 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test. 826 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test. 827 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file 828 with test helper functions. 829 830 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test. 831 8322019-12-22 Maciej W. Rozycki <macro@wdc.com> 833 834 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New 835 variable. 836 8372019-12-21 Thomas Schwinge <thomas@codesourcery.com> 838 839 * target.c (gomp_map_vars_internal): Restore 'omp declare target 840 link' handling. 841 8422019-12-19 Julian Brown <julian@codesourcery.com> 843 844 * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test. 845 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test. 846 * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test. 847 8482019-12-19 Julian Brown <julian@codesourcery.com> 849 Cesar Philippidis <cesar@codesourcery.com> 850 851 * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test. 852 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test. 853 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test. 854 * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test. 855 * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test. 856 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test. 857 * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test. 858 * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test. 859 * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test. 860 * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test. 861 * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test. 862 * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test. 863 * testsuite/libgomp.oacc-fortran/update-2.f90: New test. 864 8652019-12-19 Julian Brown <julian@codesourcery.com> 866 867 * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test. 868 * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test. 869 * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test. 870 * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test. 871 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test. 872 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test. 873 * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test. 874 * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test. 875 * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test. 876 * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test. 877 * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test. 878 * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test. 879 8802019-12-19 Julian Brown <julian@codesourcery.com> 881 882 * libgomp.h (struct target_var_desc): Add do_detach flag. 883 * oacc-init.c (acc_shutdown_1): Free aux block if present. 884 * oacc-mem.c (find_group_last): Add SIZES parameter. Support 885 struct components. Tidy up and add some new checks. 886 (goacc_enter_data_internal): Update call to find_group_last. 887 (goacc_exit_data_internal): Support detach operations and 888 GOMP_MAP_STRUCT. 889 (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or 890 GOMP_MAP_FORCE_PRESENT in finalization detection code. Handle 891 attach/detach in enter/exit data detection code. 892 * target.c (gomp_map_vars_existing): Initialise do_detach field of 893 tgt_var_desc. 894 (gomp_map_vars_internal): Support attach. 895 (gomp_unmap_vars_internal): Support detach. 896 8972019-12-19 Julian Brown <julian@codesourcery.com> 898 Thomas Schwinge <thomas@codesourcery.com> 899 900 * libgomp.h (struct splay_tree_aux): Add attach_count field. 901 (gomp_attach_pointer, gomp_detach_pointer): Add prototypes. 902 * libgomp.map (OACC_2.6): New section. Add acc_attach, 903 acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize, 904 acc_detach_finalize_async. 905 * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal, 906 acc_detach, acc_detach_async, acc_detach_finalize, 907 acc_detach_finalize_async): New functions. 908 * openacc.h (acc_attach, acc_attach_async, acc_detach, 909 (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add 910 prototypes. 911 * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions. 912 (gomp_remove_var_internal): Free attachment counts if present. 913 * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test. 914 * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test. 915 9162019-12-19 Julian Brown <julian@codesourcery.com> 917 Cesar Philippidis <cesar@codesourcery.com> 918 919 * libgomp.h (gomp_map_val): Add prototype. 920 * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of 921 open-coding device-address calculation. 922 * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in 923 non-present case. 924 9252019-12-19 Julian Brown <julian@codesourcery.com> 926 927 * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount 928 field for virtual_refcount. 929 (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA. 930 (gomp_free_memmap): Remove prototype. 931 * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var 932 instead of calling gomp_free_memmap. 933 * oacc-mem.c (acc_map_data): Use virtual_refcount instead of 934 dynamic_refcount. 935 (acc_unmap_data): Open code instead of forcing target_mem_desc's 936 to_free field to NULL then calling gomp_unmap_vars. Handle 937 REFCOUNT_INFINITY on target blocks. 938 (goacc_enter_data): Rename to... 939 (goacc_enter_datum): ...this. Remove MAPNUM parameter and special 940 handling for mapping groups. Use virtual_refcount instead of 941 dynamic_refcount. Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for 942 map_map_vars_async call. Re-do lookup for target pointer return value. 943 (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call 944 renamed goacc_enter_datum function. 945 (goacc_exit_data): Rename to... 946 (goacc_exit_datum): ...this. Update for virtual_refcount semantics. 947 (acc_delete, acc_delete_async, acc_delete_finalize, 948 acc_delete_finalize_async, acc_copyout, acc_copyout_async, 949 acc_copyout_finalize, acc_copyout_finalize_async): Call renamed 950 goacc_exit_datum function. 951 (gomp_acc_remove_pointer, find_pointer): Remove functions. 952 (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal): 953 New functions. 954 (GOACC_enter_exit_data): Use goacc_enter_data_internal and 955 goacc_exit_data_internal helper functions. 956 * target.c (gomp_map_vars_internal): Handle 957 GOMP_MAP_VARS_OPENACC_ENTER_DATA. Update for virtual_refcount 958 semantics. 959 (gomp_unmap_vars_internal): Update for virtual_refcount semantics. 960 (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise 961 virtual_refcount field instead of dynamic_refcount. 962 (gomp_free_memmap): Remove function. 963 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test. 964 * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test. 965 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL. 966 9672019-12-19 Julian Brown <julian@codesourcery.com> 968 Thomas Schwinge <thomas@codesourcery.com> 969 970 * libgomp.h (struct splay_tree_aux): New. 971 (struct splay_tree_key_s): Replace link_key field with aux pointer. 972 * target.c (gomp_map_vars_internal): Adjust for link_key being moved 973 to aux struct. 974 (gomp_remove_var_internal): Free aux block if present. 975 (gomp_load_image_to_device): Zero-initialise aux field instead of 976 link_key field. 977 (omp_target_associate_pointer): Zero-initialise aux field. 978 9792019-12-18 Jakub Jelinek <jakub@redhat.com> 980 981 PR middle-end/86416 982 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than 983 q or none. 984 * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than 985 L or none. 986 9872019-12-19 Julian Brown <julian@codesourcery.com> 988 Maciej W. Rozycki <macro@codesourcery.com> 989 Tobias Burnus <tobias@codesourcery.com> 990 Thomas Schwinge <thomas@codesourcery.com> 991 992 * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC. 993 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test. 994 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test. 995 * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test. 996 * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test. 997 * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test. 998 * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test. 999 * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test. 1000 * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test. 1001 10022019-12-18 Thomas Schwinge <thomas@codesourcery.com> 1003 1004 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be 1005 called... 1006 (goacc_insert_pointer): ... from here, "present" case. 1007 (goacc_insert_pointer): Inline function into... 1008 (GOACC_enter_exit_data): ... here, and simplify. 1009 1010 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be 1011 called... 1012 (goacc_insert_pointer): ... from here, "not present" case. 1013 1014 * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust 1015 all users. 1016 1017 * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call 1018 'goacc_enter_data', 'goacc_exit_data'. 1019 1020 * oacc-mem.c (delete_copyout): Refactor into... 1021 (goacc_exit_data): ... this. Adjust all users. 1022 1023 * oacc-mem.c (present_create_copy): Refactor into... 1024 (goacc_enter_data): ... this. Adjust all users. 1025 1026 * target.c (gomp_unmap_vars_internal): Add a safeguard to 1027 'gomp_remove_var'. 1028 1029 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM' 1030 like 'GOMP_MAP_FROM'. 1031 1032 PR libgomp/92726 1033 PR libgomp/92970 1034 PR libgomp/92984 1035 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host' 1036 fails. 1037 (GOACC_enter_exit_data): Simplify accordingly. 1038 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file, 1039 subsuming... 1040 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file... 1041 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this 1042 file. 1043 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file, 1044 subsuming... 1045 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file... 1046 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this 1047 file. 1048 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file, 1049 subsuming... 1050 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file. 1051 1052 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data' 1053 'finalize' handling. 1054 1055 PR libgomp/92848 1056 * oacc-mem.c (acc_map_data, present_create_copy) 1057 (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'. 1058 (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust. 1059 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove. 1060 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file 1061 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise. 1062 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise. 1063 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise. 1064 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c: 1065 Remove "XFAIL"s. 1066 1067 * target.c (gomp_unmap_tgt): Make it 'static'. 1068 * libgomp.h (gomp_unmap_tgt): Remove. 1069 10702019-12-18 Tobias Burnus <tobias@codesourcery.com> 1071 1072 PR middle-end/86416 1073 * testsuite/libgomp.c/pr86416-1.c: New. 1074 * testsuite/libgomp.c/pr86416-2.c: New. 1075 10762019-12-17 Tobias Burnus <tobias@codesourcery.com> 1077 1078 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark 1079 all symbols as public except for the 'use …, only' imported symbol, 1080 which is private. 1081 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark 1082 all symbols from module openacc_kinds as PUBLIC 1083 * openacc.f90: Add comment with crossref to that file and openmp_lib.h; 1084 fix comment typo. 1085 * openacc_lib.h (acc_device_gcn): Add this PARAMETER. 1086 10872019-12-13 Julian Brown <julian@codesourcery.com> 1088 1089 PR libgomp/92881 1090 1091 * libgomp.h (gomp_remove_var_async): Add prototype. 1092 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of 1093 gomp_remove_var. 1094 * target.c (gomp_unref_tgt): Change return type to bool, indicating 1095 whether target_mem_desc was unmapped. 1096 (gomp_unref_tgt_void): New. 1097 (gomp_remove_var): Reimplement in terms of... 1098 (gomp_remove_var_internal): ...this new helper function. 1099 (gomp_remove_var_async): New, implemented using above helper function. 1100 (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of 1101 gomp_unref_tgt. 1102 11032019-12-13 Andrew Stubbs <ams@codesourcery.com> 1104 1105 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn. 1106 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise. 1107 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise. 1108 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise. 1109 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: 1110 Likewise. 1111 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN. 1112 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise. 1113 11142019-12-13 Tobias Burnus <tobias@codesourcery.com> 1115 1116 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols 1117 as public except for the 'use …, only' imported symbol, which is 1118 private. 1119 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark 1120 all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC 1121 attributes for acc_copyout_finalize and acc_delete_finalize. 1122 11232019-12-11 Jakub Jelinek <jakub@redhat.com> 1124 1125 PR fortran/92899 1126 * testsuite/libgomp.fortran/atomic1.f90: New test. 1127 11282019-12-11 Thomas Schwinge <thomas@codesourcery.com> 1129 1130 PR libgomp/92843 1131 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic 1132 reference counting for structured 'REFCOUNT_INFINITY'. Add some 1133 assertions. 1134 (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly. 1135 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file. 1136 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC. 1137 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise. 1138 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise. 1139 1140 * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move... 1141 * oacc-mem.c: ... here. 1142 (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to 1143 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'. 1144 * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer): 1145 Remove. 1146 * libgomp_g.h: Update. 1147 1148 * oacc-parallel.c (GOACC_wait, goacc_wait): Move... 1149 * oacc-async.c: ... here. 1150 * oacc-int.h (goacc_wait): Declare. 1151 * libgomp_g.h: Update 1152 1153 PR libgomp/92854 1154 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c: 1155 New file. 1156 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c: 1157 Likewise. 1158 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c: 1159 Likewise. 1160 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c: 1161 Likewise. 1162 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c: 1163 Likewise. 1164 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c: 1165 Likewise. 1166 11672019-12-11 Thomas Schwinge <thomas@codesourcery.com> 1168 Julian Brown <julian@codesourcery.com> 1169 1170 * target.c (gomp_load_image_to_device, omp_target_associate_ptr): 1171 Initialize 'dynamic_refcount' whenever we initialize 'refcount'. 1172 11732019-12-11 Tobias Burnus <tobias@codesourcery.com> 1174 1175 * omp_lib.h.in: Fix spelling of function declaration 1176 omp_get_cancell(l)ation. 1177 * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all): 1178 Fix typos. 1179 * env.c: Fix comment typos. 1180 * oacc-host.c: Likewise. 1181 * ordered.c: Likewise. 1182 * task.c: Likewise. 1183 * team.c: Likewise. 1184 * config/gcn/task.c: Likewise. 1185 * config/gcn/team.c: Likewise. 1186 * config/nvptx/task.c: Likewise. 1187 * config/nvptx/team.c: Likewise. 1188 * plugin/plugin-gcn.c: Likewise. 1189 * testsuite/libgomp.fortran/jacobi.f: Likewise. 1190 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise. 1191 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise. 1192 11932019-12-11 Tobias Burnus <tobias@codesourcery.com> 1194 1195 * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'. 1196 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove 1197 unnecessary 'dg-additional-options "-w"'. 1198 11992019-12-09 Thomas Schwinge <thomas@codesourcery.com> 1200 Julian Brown <julian@codesourcery.com> 1201 1202 PR libgomp/92116 1203 PR libgomp/92877 1204 1205 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users. 1206 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member. 1207 Adjust all users. 1208 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c: 1209 Remove XFAIL. 1210 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c: 1211 Likewise. 1212 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file. 1213 12142019-12-09 Thomas Schwinge <thomas@codesourcery.com> 1215 1216 PR libgomp/92503 1217 * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'. 1218 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New 1219 file. 1220 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c: 1221 Likewise. 1222 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c: 1223 Likewise. 1224 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c: 1225 Likewise. 1226 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c: 1227 Likewise. 1228 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c: 1229 Likewise. 1230 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust. 1231 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise. 1232 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise. 1233 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise. 1234 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise. 1235 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise. 1236 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise. 1237 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise. 1238 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise. 1239 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise. 1240 1241 PR libgomp/92840 1242 * oacc-mem.c (acc_map_data): Clarify reference counting behavior. 1243 (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'. 1244 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c: 1245 New file. 1246 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c: 1247 Likewise. 1248 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c: 1249 Likewise. 1250 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust. 1251 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust. 1252 1253 PR libgomp/92511 1254 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove 1255 this file... 1256 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and 1257 this file... 1258 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this 1259 file... 1260 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this 1261 file... 1262 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c: 1263 ... with their content moved into, and extended in this new file. 1264 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c: 1265 New file. 1266 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c: 1267 Likewise. 1268 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c: 1269 Likewise. 1270 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c: 1271 Likewise. 1272 1273 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file. 1274 1275 PR libgomp/92854 1276 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file. 1277 1278 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file. 1279 1280 * target.c (gomp_exit_data): Use 'gomp_remove_var'. 1281 12822019-12-09 Tobias Burnus <tobias@codesourcery.com> 1283 1284 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes 1285 unique. 1286 * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto. 1287 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto. 1288 * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto. 1289 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: 1290 Ditto. 1291 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto. 1292 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto. 1293 12942019-12-06 Kwok Cheung Yeung <kcy@codesourcery.com> 1295 1296 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro. 1297 12982019-12-06 Tobias Burnus <tobias@codesourcery.com> 1299 Kwok Cheung Yeung <kcy@codesourcery.com> 1300 1301 * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return 1302 if input it a NULL pointer. 1303 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on 1304 diagnostic of NULL pointer. 1305 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto. 1306 * testsuite/libgomp.fortran/optional-map.f90: New. 1307 * testsuite/libgomp.fortran/use_device_addr-1.f90 1308 (test_dummy_opt_callee_1_absent): New. 1309 (test_dummy_opt_call_1): Call it. 1310 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise. 1311 * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise. 1312 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise. 1313 * testsuite/libgomp.oacc-fortran/optional-cache.f95: New. 1314 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New. 1315 * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New. 1316 * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New. 1317 * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New. 1318 * testsuite/libgomp.oacc-fortran/optional-declare.f90: New. 1319 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New. 1320 * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New. 1321 * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New. 1322 * testsuite/libgomp.oacc-fortran/optional-private.f90: New. 1323 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New. 1324 * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New. 1325 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New. 1326 13272019-12-05 Tobias Burnus <tobias@codesourcery.com> 1328 1329 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't 1330 expect dg-output of 'Error termination.' for GCN. 1331 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise. 1332 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise. 1333 13342019-12-04 Jakub Jelinek <jakub@redhat.com> 1335 1336 PR fortran/92756 1337 * testsuite/libgomp.fortran/teams1.f90: New test. 1338 * testsuite/libgomp.fortran/teams2.f90: New test. 1339 13402019-12-03 Frederik Harwath <frederik@codesourcery.com> 1341 1342 * oacc-init.c (acc_known_device_type): Add function. 1343 (unknown_device_type_error): Add function. 1344 (name_of_acc_device_t): Change to call unknown_device_type_error 1345 on unknown type. 1346 (resolve_device): Use acc_known_device_type. 1347 (acc_init): Fail if acc_device_t argument is not valid. 1348 (acc_shutdown): Likewise. 1349 (acc_get_num_devices): Likewise. 1350 (acc_set_device_type): Likewise. 1351 (acc_get_device_num): Likewise. 1352 (acc_set_device_num): Likewise. 1353 (acc_on_device): Add comment that argument validity is not checked. 1354 13552019-12-03 Andrew Stubbs <ams@codesourcery.com> 1356 1357 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type): 1358 Recognize amdgcn. 1359 (check_effective_target_openacc_amdgcn_accel_present): New proc. 1360 (check_effective_target_openacc_amdgcn_accel_selected): New proc. 1361 * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn. 1362 * testsuite/libgomp.oacc-c/c.exp: Likewise. 1363 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 1364 13652019-12-03 Szabolcs Nagy <szabolcs.nagy@arm.com> 1366 1367 PR libgomp/91938 1368 * configure.tgt: Avoid IE tls on *-*-musl*. 1369 13702019-11-29 Tobias Burnus <tobias@codesourcery.com> 1371 1372 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by 1373 adding a common-block test case. 1374 13752019-11-29 Jakub Jelinek <jakub@redhat.com> 1376 1377 PR c++/60228 1378 * testsuite/libgomp.c++/udr-20.C: New test. 1379 * testsuite/libgomp.c++/udr-21.C: New test. 1380 13812019-11-27 Thomas Schwinge <thomas@codesourcery.com> 1382 1383 * testsuite/lib/libgomp.exp 1384 (check_effective_target_offload_target_nvptx): New proc. 1385 * testsuite/libgomp.fortran/target-print-1.f90: Use it with 1386 'dg-skip-if'. 1387 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise. 1388 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file. 1389 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise. 1390 13912019-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 1392 1393 * testsuite/libgomp.c/pr39591-1.c: Rename err to e. 1394 * testsuite/libgomp.c/pr39591-2.c: Likewise. 1395 * testsuite/libgomp.c/pr39591-3.c: Likewise. 1396 * testsuite/libgomp.c/private-1.c: Likewise. 1397 * testsuite/libgomp.c/task-1.c: Likewise. 1398 * testsuite/libgomp.c/task-5.c: Renamed err to serr. 1399 14002019-11-20 Julian Brown <julian@codesourcery.com> 1401 1402 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock 1403 aq->mutex here. 1404 (queue_push_launch): Lock aq->mutex before calling 1405 wait_for_queue_nonfull. 1406 (queue_push_callback): Likewise. 1407 (queue_push_asyncwait): Likewise. 1408 (queue_push_placeholder): Likewise. 1409 14102019-11-20 Julian Brown <julian@codesourcery.com> 1411 1412 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New. 1413 (copy_data, GOMP_OFFLOAD_host2dev): Use above function. 1414 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy 1415 return code. 1416 14172019-11-20 Julian Brown <julian@codesourcery.com> 1418 1419 PR libgomp/92511 1420 1421 * oacc-mem.c (present_create_copy): Fix device pointer return value in 1422 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free 1423 in non-present/create case. 1424 (delete_copyout): Change error condition to fail only on copies outside 1425 of mapped block. Adjust error message accordingly. 1426 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test. 1427 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test. 1428 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error 1429 message. 1430 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. 1431 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now. 1432 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise. 1433 14342019-11-20 Maciej W. Rozycki <macro@wdc.com> 1435 1436 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find 1437 libatomic in build-tree testing. 1438 14392019-11-18 Maciej W. Rozycki <macro@wdc.com> 1440 1441 * testsuite/Makefile.in: Regenerate. 1442 14432019-11-15 Andrew Stubbs <ams@codesourcery.com> 1444 1445 * testsuite/libgomp.c/target-print-1.c: New file. 1446 * testsuite/libgomp.fortran/target-print-1.f90: New file. 1447 * testsuite/libgomp.oacc-c/print-1.c: New file. 1448 * testsuite/libgomp.oacc-fortran/print-1.f90: New file. 1449 14502019-11-13 Andrew Stubbs <ams@codesourcery.com> 1451 Kwok Cheung Yeung <kcy@codesourcery.com> 1452 Julian Brown <julian@codesourcery.com> 1453 Tom de Vries <tom@codesourcery.com> 1454 1455 * plugin/Makefrag.am: Add amdgcn plugin support. 1456 * plugin/configfrag.ac: Likewise. 1457 * plugin/plugin-gcn.c: New file. 1458 * configure: Regenerate. 1459 * Makefile.in: Regenerate. 1460 * testsuite/Makefile.in: Regenerate. 1461 14622019-11-13 Andrew Stubbs <ams@codesourcery.com> 1463 1464 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena 1465 and use team_malloc variants. 1466 (gomp_gcn_exit_kernel): Use team_free. 1467 * libgomp.h (TEAM_ARENA_SIZE): Define. 1468 (TEAM_ARENA_START): Define. 1469 (TEAM_ARENA_FREE): Define. 1470 (TEAM_ARENA_END): Define. 1471 (team_malloc): New function. 1472 (team_malloc_cleared): New function. 1473 (team_free): New function. 1474 * team.c (gomp_new_team): Initialize and use team_malloc. 1475 (free_team): Use team_free. 1476 (gomp_free_thread): Use team_free. 1477 (gomp_pause_host): Use team_free. 1478 * work.c (gomp_init_work_share): Use team_malloc. 1479 (gomp_fini_work_share): Use team_free. 1480 14812019-11-13 Andrew Stubbs <ams@codesourcery.com> 1482 Kwok Cheung Yeung <kcy@codesourcery.com> 1483 Julian Brown <julian@codesourcery.com> 1484 Tom de Vries <tom@codesourcery.com> 1485 1486 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c. 1487 * Makefile.in: Regenerate. 1488 * config.h.in (PLUGIN_GCN): Add new undef. 1489 * config/accel/openacc.f90 (acc_device_gcn): New parameter. 1490 * config/gcn/affinity-fmt.c: New file. 1491 * config/gcn/bar.c: New file. 1492 * config/gcn/bar.h: New file. 1493 * config/gcn/doacross.h: New file. 1494 * config/gcn/icv-device.c: New file. 1495 * config/gcn/oacc-target.c: New file. 1496 * config/gcn/simple-bar.h: New file. 1497 * config/gcn/target.c: New file. 1498 * config/gcn/task.c: New file. 1499 * config/gcn/team.c: New file. 1500 * config/gcn/time.c: New file. 1501 * configure.ac: Add amdgcn*-*-*. 1502 * configure: Regenerate. 1503 * configure.tgt: Add amdgcn*-*-*. 1504 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN. 1505 * libgomp.h (gcn_thrs): Add amdgcn variant. 1506 (set_gcn_thrs): Likewise. 1507 (gomp_thread): Likewise. 1508 * oacc-int.h (goacc_thread): Likewise. 1509 * oacc-target.c: New file. 1510 * openacc.f90 (acc_device_gcn): New parameter. 1511 * openacc.h (acc_device_t): Add acc_device_gcn. 1512 * team.c (gomp_free_pool_helper): Add amdgcn support. 1513 15142019-11-13 Andrew Stubbs <ams@codesourcery.com> 1515 Julian Brown <julian@codesourcery.com> 1516 1517 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int 1518 parameter. 1519 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the 1520 queue constructor. 1521 * oacc-host.c (host_openacc_async_construct): Add device parameter. 1522 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add 1523 device parameter. 1524 15252019-11-13 Andrew Stubbs <ams@codesourcery.com> 1526 1527 * configure.tgt (nvptx*-*-*): Add "accel" directory. 1528 * config/nvptx/libgomp-plugin.c: Move ... 1529 * config/accel/libgomp-plugin.c: ... to here. 1530 * config/nvptx/lock.c: Move ... 1531 * config/accel/lock.c: ... to here. 1532 * config/nvptx/mutex.c: Move ... 1533 * config/accel/mutex.c: ... to here. 1534 * config/nvptx/mutex.h: Move ... 1535 * config/accel/mutex.h: ... to here. 1536 * config/nvptx/oacc-async.c: Move ... 1537 * config/accel/oacc-async.c: ... to here. 1538 * config/nvptx/oacc-cuda.c: Move ... 1539 * config/accel/oacc-cuda.c: ... to here. 1540 * config/nvptx/oacc-host.c: Move ... 1541 * config/accel/oacc-host.c: ... to here. 1542 * config/nvptx/oacc-init.c: Move ... 1543 * config/accel/oacc-init.c: ... to here. 1544 * config/nvptx/oacc-mem.c: Move ... 1545 * config/accel/oacc-mem.c: ... to here. 1546 * config/nvptx/oacc-plugin.c: Move ... 1547 * config/accel/oacc-plugin.c: ... to here. 1548 * config/nvptx/omp-lock.h: Move ... 1549 * config/accel/omp-lock.h: ... to here. 1550 * config/nvptx/openacc.f90: Move ... 1551 * config/accel/openacc.f90: ... to here. 1552 * config/nvptx/pool.h: Move ... 1553 * config/accel/pool.h: ... to here. 1554 * config/nvptx/proc.c: Move ... 1555 * config/accel/proc.c: ... to here. 1556 * config/nvptx/ptrlock.c: Move ... 1557 * config/accel/ptrlock.c: ... to here. 1558 * config/nvptx/ptrlock.h: Move ... 1559 * config/accel/ptrlock.h: ... to here. 1560 * config/nvptx/sem.c: Move ... 1561 * config/accel/sem.c: ... to here. 1562 * config/nvptx/sem.h: Move ... 1563 * config/accel/sem.h: ... to here. 1564 * config/nvptx/thread-stacksize.h: Move ... 1565 * config/accel/thread-stacksize.h: ... to here. 1566 15672019-11-12 Maciej W. Rozycki <macro@codesourcery.com> 1568 Tobias Burnus <tobias@codesourcery.com> 1569 Frederik Harwath <frederik@codesourcery.com> 1570 Thomas Schwinge <thomas@codesourcery.com> 1571 1572 libgomp/ 1573 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test. 1574 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test. 1575 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test. 1576 15772019-11-11 Tobias Burnus <tobias@codesourcery.com> 1578 Kwok Cheung Yeung <kcy@codesourcery.com> 1579 1580 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend. 1581 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New. 1582 15832019-11-11 Thomas Schwinge <thomas@codesourcery.com> 1584 1585 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'. 1586 1587 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do 1588 run'. 1589 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise. 1590 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise. 1591 15922019-11-06 Thomas Schwinge <thomas@codesourcery.com> 1593 1594 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: 1595 Add expected warnings about missing reduction clauses. 1596 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: 1597 Likewise. 1598 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: 1599 Likewise. 1600 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: 1601 Likewise. 1602 16032019-11-04 Tobias Burnus <tobias@codesourcery.com> 1604 1605 * testsuite/libgomp.fortran/pr66199-1.f90: Remove 1606 'dg-do run' (implies torture test) as 'dg-options "O2"' is used. 1607 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto. 1608 * testsuite/libgomp.fortran/taskloop2.f90: Ditto. 1609 * testsuite/libgomp.fortran/taskloop3.f90: Ditto. 1610 * testsuite/libgomp.fortran/taskloop4.f90: Ditto. 1611 16122019-11-04 Tobias Burnus <tobias@codesourcery.com> 1613 1614 PR fortran/92305 1615 * testsuite/libgomp.fortran/allocatable2.f90: Use 1616 unique numbers with 'stop'. 1617 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto. 1618 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto. 1619 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto. 1620 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto. 1621 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto. 1622 16232019-11-01 Tobias Burnus <tobias@codesourcery.com> 1624 1625 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1, 1626 test_dummy_opt_nullptr_callee_1): Add present but unallocated test. 1627 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise. 1628 * testsuite/libgomp.fortran/use_device_addr-3.f90: New. 1629 * testsuite/libgomp.fortran/use_device_addr-4.f90: New. 1630 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New. 1631 16322019-10-30 Tobias Burnus <tobias@codesourcery.com> 1633 1634 * testsuite/libgomp.fortran/target9.f90: New. 1635 16362019-10-30 Tobias Burnus <tobias@codesourcery.com> 1637 1638 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'. 1639 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto. 1640 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto. 1641 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto. 1642 * testsuite/libgomp.fortran/allocatable1.f90: Ditto. 1643 * testsuite/libgomp.fortran/allocatable10.f90: Ditto. 1644 * testsuite/libgomp.fortran/allocatable11.f90: Ditto. 1645 * testsuite/libgomp.fortran/allocatable12.f90: Ditto. 1646 * testsuite/libgomp.fortran/allocatable2.f90: Ditto. 1647 * testsuite/libgomp.fortran/allocatable3.f90: Ditto. 1648 * testsuite/libgomp.fortran/allocatable4.f90: Ditto. 1649 * testsuite/libgomp.fortran/allocatable5.f90: Ditto. 1650 * testsuite/libgomp.fortran/allocatable6.f90: Ditto. 1651 * testsuite/libgomp.fortran/allocatable7.f90: Ditto. 1652 * testsuite/libgomp.fortran/allocatable8.f90: Ditto. 1653 * testsuite/libgomp.fortran/allocatable9.f90: Ditto. 1654 * testsuite/libgomp.fortran/associate1.f90: Ditto. 1655 * testsuite/libgomp.fortran/associate2.f90: Ditto. 1656 * testsuite/libgomp.fortran/associate3.f90: Ditto. 1657 * testsuite/libgomp.fortran/async_io_4.f90: Ditto. 1658 * testsuite/libgomp.fortran/async_io_5.f90: Ditto. 1659 * testsuite/libgomp.fortran/async_io_6.f90: Ditto. 1660 * testsuite/libgomp.fortran/async_io_7.f90: Ditto. 1661 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto. 1662 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto. 1663 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto. 1664 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto. 1665 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto. 1666 * testsuite/libgomp.fortran/character1.f90: Ditto. 1667 * testsuite/libgomp.fortran/character2.f90: Ditto. 1668 * testsuite/libgomp.fortran/collapse1.f90: Ditto. 1669 * testsuite/libgomp.fortran/collapse2.f90: Ditto. 1670 * testsuite/libgomp.fortran/collapse3.f90: Ditto. 1671 * testsuite/libgomp.fortran/collapse4.f90: Ditto. 1672 * testsuite/libgomp.fortran/crayptr1.f90: Ditto. 1673 * testsuite/libgomp.fortran/crayptr2.f90: Ditto. 1674 * testsuite/libgomp.fortran/crayptr3.f90: Ditto. 1675 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto. 1676 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto. 1677 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto. 1678 * testsuite/libgomp.fortran/depend-1.f90: Ditto. 1679 * testsuite/libgomp.fortran/depend-2.f90: Ditto. 1680 * testsuite/libgomp.fortran/depend-3.f90: Ditto. 1681 * testsuite/libgomp.fortran/do1.f90: Ditto. 1682 * testsuite/libgomp.fortran/do2.f90: Ditto. 1683 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto. 1684 * testsuite/libgomp.fortran/doacross1.f90: Ditto. 1685 * testsuite/libgomp.fortran/doacross2.f90: Ditto. 1686 * testsuite/libgomp.fortran/doacross3.f90: Ditto. 1687 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto. 1688 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto. 1689 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto. 1690 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto. 1691 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto. 1692 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto. 1693 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto. 1694 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto. 1695 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto. 1696 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto. 1697 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto. 1698 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto. 1699 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto. 1700 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto. 1701 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto. 1702 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto. 1703 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto. 1704 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto. 1705 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto. 1706 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto. 1707 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto. 1708 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto. 1709 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto. 1710 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto. 1711 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto. 1712 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto. 1713 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto. 1714 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto. 1715 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto. 1716 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto. 1717 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto. 1718 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto. 1719 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto. 1720 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto. 1721 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto. 1722 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto. 1723 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto. 1724 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto. 1725 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto. 1726 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto. 1727 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto. 1728 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto. 1729 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto. 1730 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto. 1731 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto. 1732 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto. 1733 * testsuite/libgomp.fortran/lib1.f90: Ditto. 1734 * testsuite/libgomp.fortran/lib4.f90: Ditto. 1735 * testsuite/libgomp.fortran/lock-1.f90: Ditto. 1736 * testsuite/libgomp.fortran/lock-2.f90: Ditto. 1737 * testsuite/libgomp.fortran/nested1.f90: Ditto. 1738 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto. 1739 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto. 1740 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto. 1741 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto. 1742 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto. 1743 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto. 1744 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto. 1745 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto. 1746 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto. 1747 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto. 1748 * testsuite/libgomp.fortran/omp_cond1.f: Ditto. 1749 * testsuite/libgomp.fortran/omp_cond2.f: Ditto. 1750 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto. 1751 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto. 1752 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto. 1753 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto. 1754 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto. 1755 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto. 1756 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto. 1757 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto. 1758 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto. 1759 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto. 1760 * testsuite/libgomp.fortran/pointer1.f90: Ditto. 1761 * testsuite/libgomp.fortran/pointer2.f90: Ditto. 1762 * testsuite/libgomp.fortran/pr25219.f90: Ditto. 1763 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto. 1764 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto. 1765 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto. 1766 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto. 1767 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto. 1768 * testsuite/libgomp.fortran/pr28390.f: Ditto. 1769 * testsuite/libgomp.fortran/pr29629.f90: Ditto. 1770 * testsuite/libgomp.fortran/pr32550.f90: Ditto. 1771 * testsuite/libgomp.fortran/pr33880.f90: Ditto. 1772 * testsuite/libgomp.fortran/pr34020.f90: Ditto. 1773 * testsuite/libgomp.fortran/pr35130.f90: Ditto. 1774 * testsuite/libgomp.fortran/pr42162.f90: Ditto. 1775 * testsuite/libgomp.fortran/pr46753.f90: Ditto. 1776 * testsuite/libgomp.fortran/pr48894.f90: Ditto. 1777 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto. 1778 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto. 1779 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto. 1780 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto. 1781 * testsuite/libgomp.fortran/pr65597.f90: Ditto. 1782 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto. 1783 * testsuite/libgomp.fortran/pr71014.f90: Ditto. 1784 * testsuite/libgomp.fortran/pr81304.f90: Ditto. 1785 * testsuite/libgomp.fortran/pr81841.f90: Ditto. 1786 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto. 1787 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto. 1788 * testsuite/libgomp.fortran/procptr1.f90: Ditto. 1789 * testsuite/libgomp.fortran/recursion1.f90: Ditto. 1790 * testsuite/libgomp.fortran/reduction1.f90: Ditto. 1791 * testsuite/libgomp.fortran/reduction2.f90: Ditto. 1792 * testsuite/libgomp.fortran/reduction3.f90: Ditto. 1793 * testsuite/libgomp.fortran/reduction4.f90: Ditto. 1794 * testsuite/libgomp.fortran/reduction5.f90: Ditto. 1795 * testsuite/libgomp.fortran/reduction6.f90: Ditto. 1796 * testsuite/libgomp.fortran/reference1.f90: Ditto. 1797 * testsuite/libgomp.fortran/reference2.f90: Ditto. 1798 * testsuite/libgomp.fortran/retval1.f90: Ditto. 1799 * testsuite/libgomp.fortran/retval2.f90: Ditto. 1800 * testsuite/libgomp.fortran/sharing1.f90: Ditto. 1801 * testsuite/libgomp.fortran/sharing2.f90: Ditto. 1802 * testsuite/libgomp.fortran/simd1.f90: Ditto. 1803 * testsuite/libgomp.fortran/simd2.f90: Ditto. 1804 * testsuite/libgomp.fortran/simd3.f90: Ditto. 1805 * testsuite/libgomp.fortran/simd4.f90: Ditto. 1806 * testsuite/libgomp.fortran/simd5.f90: Ditto. 1807 * testsuite/libgomp.fortran/simd6.f90: Ditto. 1808 * testsuite/libgomp.fortran/simd7.f90: Ditto. 1809 * testsuite/libgomp.fortran/stack.f90: Ditto. 1810 * testsuite/libgomp.fortran/strassen.f90: Ditto. 1811 * testsuite/libgomp.fortran/tabs1.f90: Ditto. 1812 * testsuite/libgomp.fortran/tabs2.f: Ditto. 1813 * testsuite/libgomp.fortran/target1.f90: Ditto. 1814 * testsuite/libgomp.fortran/target2.f90: Ditto. 1815 * testsuite/libgomp.fortran/target3.f90: Ditto. 1816 * testsuite/libgomp.fortran/target4.f90: Ditto. 1817 * testsuite/libgomp.fortran/target5.f90: Ditto. 1818 * testsuite/libgomp.fortran/target6.f90: Ditto. 1819 * testsuite/libgomp.fortran/target7.f90: Ditto. 1820 * testsuite/libgomp.fortran/target8.f90: Ditto. 1821 * testsuite/libgomp.fortran/task1.f90: Ditto. 1822 * testsuite/libgomp.fortran/task2.f90: Ditto. 1823 * testsuite/libgomp.fortran/task3.f90: Ditto. 1824 * testsuite/libgomp.fortran/task4.f90: Ditto. 1825 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto. 1826 * testsuite/libgomp.fortran/taskloop1.f90: Ditto. 1827 * testsuite/libgomp.fortran/taskloop2.f90: Ditto. 1828 * testsuite/libgomp.fortran/taskloop3.f90: Ditto. 1829 * testsuite/libgomp.fortran/taskloop4.f90: Ditto. 1830 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto. 1831 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto. 1832 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto. 1833 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto. 1834 * testsuite/libgomp.fortran/udr1.f90: Ditto. 1835 * testsuite/libgomp.fortran/udr10.f90: Ditto. 1836 * testsuite/libgomp.fortran/udr11.f90: Ditto. 1837 * testsuite/libgomp.fortran/udr12.f90: Ditto. 1838 * testsuite/libgomp.fortran/udr13.f90: Ditto. 1839 * testsuite/libgomp.fortran/udr14.f90: Ditto. 1840 * testsuite/libgomp.fortran/udr15.f90: Ditto. 1841 * testsuite/libgomp.fortran/udr2.f90: Ditto. 1842 * testsuite/libgomp.fortran/udr3.f90: Ditto. 1843 * testsuite/libgomp.fortran/udr4.f90: Ditto. 1844 * testsuite/libgomp.fortran/udr5.f90: Ditto. 1845 * testsuite/libgomp.fortran/udr6.f90: Ditto. 1846 * testsuite/libgomp.fortran/udr7.f90: Ditto. 1847 * testsuite/libgomp.fortran/udr8.f90: Ditto. 1848 * testsuite/libgomp.fortran/udr9.f90: Ditto. 1849 * testsuite/libgomp.fortran/vla1.f90: Ditto. 1850 * testsuite/libgomp.fortran/vla2.f90: Ditto. 1851 * testsuite/libgomp.fortran/vla3.f90: Ditto. 1852 * testsuite/libgomp.fortran/vla4.f90: Ditto. 1853 * testsuite/libgomp.fortran/vla5.f90: Ditto. 1854 * testsuite/libgomp.fortran/vla6.f90: Ditto. 1855 * testsuite/libgomp.fortran/vla7.f90: Ditto. 1856 * testsuite/libgomp.fortran/vla8.f90: Ditto. 1857 * testsuite/libgomp.fortran/workshare1.f90: Ditto. 1858 * testsuite/libgomp.fortran/workshare2.f90: Ditto. 1859 18602019-10-30 Tobias Burnus <tobias@codesourcery.com> 1861 1862 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort. 1863 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: 1864 Ditto; add 'dg-do run' for torture testing. 1865 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'. 1866 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto. 1867 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto. 1868 * testsuite/libgomp.fortran/pr25219.f90: Ditto. 1869 * testsuite/libgomp.fortran/pr28390.f: Ditto. 1870 * testsuite/libgomp.fortran/pr35130.f90: Ditto. 1871 * testsuite/libgomp.fortran/pr90779.f90: Ditto. 1872 * testsuite/libgomp.fortran/task2.f90: Ditto. 1873 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto. 1874 * testsuite/libgomp.fortran/taskloop1.f90: Ditto. 1875 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto. 1876 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto. 1877 * testsuite/libgomp.fortran/workshare1.f90: Ditto. 1878 * testsuite/libgomp.fortran/workshare2.f90: Ditto. 1879 18802019-10-28 Tobias Burnus <tobias@codesourcery.com> 1881 1882 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'. 1883 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto. 1884 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto. 1885 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto. 1886 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto. 1887 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto. 1888 * testsuite/libgomp.oacc-fortran/common-block-1.f90: 1889 Use 'stop' not abort(). 1890 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto. 1891 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto. 1892 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto. 1893 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto. 1894 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto. 1895 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto. 1896 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto. 1897 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto. 1898 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto. 1899 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto. 1900 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto. 1901 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto. 1902 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto. 1903 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto. 1904 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto. 1905 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto. 1906 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95: 1907 Ditto. 1908 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90: 1909 Ditto. 1910 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90: 1911 Ditto. 1912 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90: 1913 Ditto. 1914 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90: 1915 Ditto. 1916 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90: 1917 Ditto. 1918 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90: 1919 Ditto. 1920 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90: 1921 Ditto. 1922 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90: 1923 Ditto. 1924 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90: 1925 Ditto. 1926 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90: 1927 Ditto. 1928 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90: 1929 Ditto. 1930 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90: 1931 Ditto. 1932 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90: 1933 Ditto. 1934 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto. 1935 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto. 1936 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto. 1937 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto. 1938 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90: 1939 Likewise and also add 'dg-do run'. 1940 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90: 1941 Ditto. 1942 19432019-10-25 Cesar Philippidis <cesar@codesourcery.com> 1944 Tobias Burnus <tobias@codesourcery.com> 1945 1946 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test. 1947 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test. 1948 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test. 1949 19502019-10-14 Jakub Jelinek <jakub@redhat.com> 1951 1952 PR libgomp/92081 1953 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather 1954 than 0. 1955 19562019-10-11 Tobias Burnus <tobias@codesourcery.com> 1957 1958 * testsuite/libgomp.fortran/use_device_addr-1.f90: New. 1959 * testsuite/libgomp.fortran/use_device_addr-2.f90: New. 1960 19612019-10-09 Thomas Schwinge <thomas@codesourcery.com> 1962 1963 PR middle-end/92036 1964 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New 1965 file. 1966 19672019-10-09 Tobias Burnus <tobias@codesourcery.com> 1968 1969 PR testsuite/91884 1970 * testsuite/libgomp.fortran/fortran.exp: Conditionally 1971 add -lquadmath. 1972 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto. 1973 19742019-10-09 Jakub Jelinek <jakub@redhat.com> 1975 1976 PR libgomp/92028 1977 * target.c (gomp_map_vars_internal): Readd the previous 1978 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop, 1979 though do that just in the !not_found_cnt case. 1980 19812019-10-08 Tobias Burnus <tobias@codesourcery.com> 1982 1983 * gfortran.dg/gomp/target-simd.f90: New. 1984 19852019-10-02 Julian Brown <julian@codesourcery.com> 1986 Cesar Philippidis <cesar@codesourcery.com> 1987 1988 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define. 1989 * target.c (FIELD_TGT_EMPTY): Define. 1990 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write 1991 as switch instead of list of ifs. 1992 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros. 1993 19942019-10-02 Andreas Tobler <andreast@gcc.gnu.org> 1995 1996 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h 1997 include. Replace alloca () with __builtin_alloca (). 1998 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise. 1999 20002019-10-01 Jakub Jelinek <jakub@redhat.com> 2001 2002 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h). 2003 * libgomp.h: Include <stdint.h> instead of "gstdint.h". 2004 * oacc-parallel.c: Don't include "libgomp_g.h". 2005 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h". 2006 * plugin/plugin-nvptx.c: Don't include "gstdint.h". 2007 * aclocal.m4: Regenerated. 2008 * config.h.in: Regenerated. 2009 * configure: Regenerated. 2010 * Makefile.in: Regenerated. 2011 20122019-09-30 Kwok Cheung Yeung <kcy@codesourcery.com> 2013 2014 * libgomp_g.h: Include stdint.h instead of gstdint.h. 2015 20162019-09-27 Maciej W. Rozycki <macro@wdc.com> 2017 2018 * configure: Regenerate. 2019 20202019-09-13 Tobias Burnus <tobias@codesourcery.com> 2021 2022 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure 2023 string is initialized. 2024 20252019-09-06 Florian Weimer <fweimer@redhat.com> 2026 2027 * configure: Regenerate. 2028 20292019-09-03 Chung-Lin Tang <cltang@codesourcery.com> 2030 2031 PR other/79543 2032 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version 2033 scanning to conform to the GNU Coding Standards. 2034 * configure: Regenerate. 2035 20362019-08-28 Jakub Jelinek <jakub@redhat.com> 2037 2038 PR libgomp/91530 2039 * testsuite/libgomp.c/scan-21.c: New test. 2040 * testsuite/libgomp.c/scan-22.c: New test. 2041 20422019-08-27 Jakub Jelinek <jakub@redhat.com> 2043 2044 PR libgomp/91530 2045 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime 2046 targets. 2047 * testsuite/libgomp.c/scan-12.c: Likewise. 2048 * testsuite/libgomp.c/scan-13.c: Likewise. 2049 * testsuite/libgomp.c/scan-14.c: Likewise. 2050 * testsuite/libgomp.c/scan-15.c: Likewise. 2051 * testsuite/libgomp.c/scan-16.c: Likewise. 2052 * testsuite/libgomp.c/scan-17.c: Likewise. 2053 * testsuite/libgomp.c/scan-18.c: Likewise. 2054 * testsuite/libgomp.c/scan-19.c: Likewise. 2055 * testsuite/libgomp.c/scan-20.c: Likewise. 2056 * testsuite/libgomp.c++/scan-9.C: Likewise. 2057 * testsuite/libgomp.c++/scan-10.C: Likewise. 2058 * testsuite/libgomp.c++/scan-11.C: Likewise. 2059 * testsuite/libgomp.c++/scan-12.C: Likewise. 2060 * testsuite/libgomp.c++/scan-14.C: Likewise. 2061 * testsuite/libgomp.c++/scan-15.C: Likewise. 2062 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime 2063 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times. 2064 * testsuite/libgomp.c++/scan-16.C: Likewise. 2065 20662019-08-17 Thomas Koenig <tkoenig@gcc.gnu.org> 2067 2068 PR fortran/91473 2069 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add 2070 -std=legacy so invalid code in the test case is accepted. 2071 20722019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org> 2073 2074 PR fortran/91422 2075 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array 2076 dimension. 2077 20782019-08-08 Jakub Jelinek <jakub@redhat.com> 2079 2080 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR 2081 perform the lookup in the first loop only if !not_found_cnt, otherwise 2082 perform lookups for it in the second loop guarded with 2083 if (not_found_cnt || has_firstprivate). 2084 * testsuite/libgomp.c/target-37.c: New test. 2085 * testsuite/libgomp.c++/target-22.C: New test. 2086 20872019-08-07 Jakub Jelinek <jakub@redhat.com> 2088 2089 * testsuite/libgomp.c/target-18.c (struct S): New type. 2090 (foo): Use use_device_addr clause instead of use_device_ptr clause 2091 where required by OpenMP 5.0, add further tests for both use_device_ptr 2092 and use_device_addr clauses. 2093 * testsuite/libgomp.c++/target-9.C (struct S): New type. 2094 (foo): Use use_device_addr clause instead of use_device_ptr clause 2095 where required by OpenMP 5.0, add further tests for both use_device_ptr 2096 and use_device_addr clauses. Add t and u arguments. 2097 (main): Adjust caller. 2098 20992019-08-06 Jakub Jelinek <jakub@redhat.com> 2100 2101 * testsuite/libgomp.c++/loop-13.C: New test. 2102 * testsuite/libgomp.c++/loop-14.C: New test. 2103 * testsuite/libgomp.c++/loop-15.C: New test. 2104 21052019-07-31 Jakub Jelinek <jakub@redhat.com> 2106 2107 PR middle-end/91301 2108 * testsuite/libgomp.c++/for-27.C: New test. 2109 21102019-07-23 Steven G. Kargl <kargl@gcc.gnu.org> 2111 2112 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage. 2113 * testsuite/libgomp.fortran/reduction5.f90: Ditto. 2114 21152019-07-20 Jakub Jelinek <jakub@redhat.com> 2116 2117 * testsuite/libgomp.c-c++-common/loop-1.c: New test. 2118 21192019-07-08 Jakub Jelinek <jakub@redhat.com> 2120 2121 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86. 2122 * testsuite/libgomp.c++/scan-16.C: Likewise. 2123 21242019-07-06 Jakub Jelinek <jakub@redhat.com> 2125 2126 * testsuite/libgomp.c/scan-19.c: New test. 2127 * testsuite/libgomp.c/scan-20.c: New test. 2128 2129 * testsuite/libgomp.c/scan-11.c: New test. 2130 * testsuite/libgomp.c/scan-12.c: New test. 2131 * testsuite/libgomp.c/scan-13.c: New test. 2132 * testsuite/libgomp.c/scan-14.c: New test. 2133 * testsuite/libgomp.c/scan-15.c: New test. 2134 * testsuite/libgomp.c/scan-16.c: New test. 2135 * testsuite/libgomp.c/scan-17.c: New test. 2136 * testsuite/libgomp.c/scan-18.c: New test. 2137 * testsuite/libgomp.c++/scan-9.C: New test. 2138 * testsuite/libgomp.c++/scan-10.C: New test. 2139 * testsuite/libgomp.c++/scan-11.C: New test. 2140 * testsuite/libgomp.c++/scan-12.C: New test. 2141 * testsuite/libgomp.c++/scan-13.C: New test. 2142 * testsuite/libgomp.c++/scan-14.C: New test. 2143 * testsuite/libgomp.c++/scan-15.C: New test. 2144 * testsuite/libgomp.c++/scan-16.C: New test. 2145 21462019-07-04 Jakub Jelinek <jakub@redhat.com> 2147 2148 * testsuite/libgomp.c/scan-9.c: New test. 2149 * testsuite/libgomp.c/scan-10.c: New test. 2150 21512019-07-03 Jakub Jelinek <jakub@redhat.com> 2152 2153 * testsuite/libgomp.c++/scan-1.C: New test. 2154 * testsuite/libgomp.c++/scan-2.C: New test. 2155 * testsuite/libgomp.c++/scan-3.C: New test. 2156 * testsuite/libgomp.c++/scan-4.C: New test. 2157 * testsuite/libgomp.c++/scan-5.C: New test. 2158 * testsuite/libgomp.c++/scan-6.C: New test. 2159 * testsuite/libgomp.c++/scan-7.C: New test. 2160 * testsuite/libgomp.c++/scan-8.C: New test. 2161 * testsuite/libgomp.c/scan-1.c: New test. 2162 * testsuite/libgomp.c/scan-2.c: New test. 2163 * testsuite/libgomp.c/scan-3.c: New test. 2164 * testsuite/libgomp.c/scan-4.c: New test. 2165 * testsuite/libgomp.c/scan-5.c: New test. 2166 * testsuite/libgomp.c/scan-6.c: New test. 2167 * testsuite/libgomp.c/scan-7.c: New test. 2168 * testsuite/libgomp.c/scan-8.c: New test. 2169 21702019-06-18 Thomas Schwinge <thomas@codesourcery.com> 2171 2172 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file. 2173 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: 2174 Likewise. 2175 2176 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results 2177 check. 2178 21792019-06-18 Cesar Philippidis <cesar@codesourcery.com> 2180 2181 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New 2182 file. 2183 21842019-06-18 Thomas Schwinge <thomas@codesourcery.com> 2185 2186 PR fortran/90743 2187 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping 2188 case. 2189 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file. 2190 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise. 2191 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise. 2192 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise. 2193 2194 PR testsuite/90861 2195 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update. 2196 2197 PR middle-end/90862 2198 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update. 2199 22002019-06-16 Tom de Vries <tdevries@suse.de> 2201 2202 PR tree-optimization/89376 2203 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test. 2204 22052019-06-15 Tom de Vries <tdevries@suse.de> 2206 2207 PR tree-optimization/89713 2208 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync. 2209 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same. 2210 22112019-06-15 Jakub Jelinek <jakub@redhat.com> 2212 2213 PR middle-end/90779 2214 * testsuite/libgomp.c/pr90779.c: New test. 2215 * testsuite/libgomp.fortran/pr90779.f90: New test. 2216 22172019-06-15 Tom de Vries <tdevries@suse.de> 2218 2219 PR tree-optimization/90009 2220 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test. 2221 22222019-06-13 Feng Xue <fxue@os.amperecomputing.com> 2223 2224 PR tree-optimization/89713 2225 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test. 2226 22272019-06-11 Jakub Jelinek <jakub@redhat.com> 2228 2229 PR target/90811 2230 * testsuite/libgomp.c/pr90811.c: New test. 2231 22322019-06-05 Jakub Jelinek <jakub@redhat.com> 2233 2234 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test. 2235 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test. 2236 22372019-06-04 Jakub Jelinek <jakub@redhat.com> 2238 2239 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test. 2240 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test. 2241 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test. 2242 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test. 2243 22442019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2245 2246 * configure.ac: Call AX_COUNT_CPUS. 2247 Substitute CPU_COUNT. 2248 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor 2249 count fallback. 2250 * aclocal.m4: Regenerate. 2251 * configure: Regenerate. 2252 * Makefile.in, testsuite/Makefile.in: Regenerate. 2253 22542019-05-29 Jakub Jelinek <jakub@redhat.com> 2255 2256 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename 2257 to ... 2258 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this. 2259 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test. 2260 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test. 2261 22622019-05-27 Jakub Jelinek <jakub@redhat.com> 2263 2264 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test. 2265 2266 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test. 2267 2268 PR libgomp/90641 2269 * work.c (gomp_init_work_share): Instead of aligning final ordered 2270 value to multiples of long long alignment, align to that the 2271 first part (ordered team ids) and if inline_ordered_team_ids 2272 is not on a long long alignment boundary within the structure, 2273 use __alignof__ (long long) - 1 pad size always. 2274 * loop.c (GOMP_loop_start): Fix *mem computation if 2275 inline_ordered_team_ids is not aligned on long long alignment boundary 2276 within the structure. 2277 * loop-ull.c (GOMP_loop_ull_start): Likewise. 2278 * sections.c (GOMP_sections2_start): Likewise. 2279 22802019-05-24 Jakub Jelinek <jakub@redhat.com> 2281 2282 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test. 2283 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test. 2284 2285 PR libgomp/90585 2286 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if 2287 HAVE_INTTYPES_H is defined. 2288 (print_uint64_t): New typedef. 2289 (PRIu64): Define if HAVE_INTTYPES_H is not defined. 2290 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of 2291 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t. 2292 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t 2293 before casting to void *. 2294 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h. 2295 * oacc-mem.c: Don't include config.h nor stdint.h. 2296 * target.c: Don't include config.h. 2297 * oacc-cuda.c: Likewise. 2298 * oacc-host.c: Don't include stdint.h. 2299 23002019-05-20 Jakub Jelinek <jakub@redhat.com> 2301 2302 PR libgomp/90527 2303 * alloc.c (_GNU_SOURCE): Define. 2304 23052019-05-17 Thomas Schwinge <thomas@codesourcery.com> 2306 2307 * acc_prof.h: New file. 2308 * oacc-profiling.c: Likewise. 2309 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES): 2310 Add these, respectively. 2311 * Makefile.in: Regenerate. 2312 * env.c (initialize_env): Call goacc_profiling_initialize. 2313 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread) 2314 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions. 2315 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread) 2316 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare. 2317 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup, 2318 acc_prof_register, acc_prof_unregister, and acc_register_library. 2319 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and 2320 GOMP_PLUGIN_goacc_thread. 2321 * oacc-int.h (struct goacc_thread): Add prof_info, api_info, 2322 prof_callbacks_enabled members. 2323 (goacc_prof_enabled, goacc_profiling_initialize) 2324 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p) 2325 (goacc_profiling_dispatch): Declare. 2326 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P) 2327 (GOACC_PROFILING_SETUP_P): Define. 2328 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait) 2329 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for 2330 OpenACC Profiling Interface. 2331 * oacc-cuda.c (acc_get_current_cuda_device) 2332 (acc_get_current_cuda_context, acc_get_cuda_stream) 2333 (acc_set_cuda_stream): Likewise. 2334 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device) 2335 (acc_init, acc_set_device_type, acc_get_device_type) 2336 (acc_get_device_num, goacc_lazy_initialize): Likewise. 2337 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device) 2338 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data) 2339 (acc_unmap_data, present_create_copy, delete_copyout) 2340 (update_dev_host): Likewise. 2341 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start) 2342 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait): 2343 Likewise. 2344 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free) 2345 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec): 2346 Likewise. 2347 * libgomp.texi: Update. 2348 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New 2349 file. 2350 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise. 2351 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: 2352 Likewise. 2353 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: 2354 Likewise. 2355 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c: 2356 Likewise. 2357 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c: 2358 Likewise. 2359 23602019-05-13 Chung-Lin Tang <cltang@codesourcery.com> 2361 2362 * libgomp-plugin.h (struct goacc_asyncqueue): Declare. 2363 (struct goacc_asyncqueue_list): Likewise. 2364 (goacc_aq): Likewise. 2365 (goacc_aq_list): Likewise. 2366 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove. 2367 (GOMP_OFFLOAD_openacc_async_test): Remove. 2368 (GOMP_OFFLOAD_openacc_async_test_all): Remove. 2369 (GOMP_OFFLOAD_openacc_async_wait): Remove. 2370 (GOMP_OFFLOAD_openacc_async_wait_async): Remove. 2371 (GOMP_OFFLOAD_openacc_async_wait_all): Remove. 2372 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove. 2373 (GOMP_OFFLOAD_openacc_async_set_async): Remove. 2374 (GOMP_OFFLOAD_openacc_exec): Adjust declaration. 2375 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise. 2376 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise. 2377 (GOMP_OFFLOAD_openacc_async_exec): Declare. 2378 (GOMP_OFFLOAD_openacc_async_construct): Declare. 2379 (GOMP_OFFLOAD_openacc_async_destruct): Declare. 2380 (GOMP_OFFLOAD_openacc_async_test): Declare. 2381 (GOMP_OFFLOAD_openacc_async_synchronize): Declare. 2382 (GOMP_OFFLOAD_openacc_async_serialize): Declare. 2383 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare. 2384 (GOMP_OFFLOAD_openacc_async_host2dev): Declare. 2385 (GOMP_OFFLOAD_openacc_async_dev2host): Declare. 2386 2387 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct. 2388 (gomp_acc_insert_pointer): Adjust declaration. 2389 (gomp_copy_host2dev): New declaration. 2390 (gomp_copy_dev2host): Likewise. 2391 (gomp_map_vars_async): Likewise. 2392 (gomp_unmap_tgt): Likewise. 2393 (gomp_unmap_vars_async): Likewise. 2394 (gomp_fini_device): Likewise. 2395 2396 * oacc-async.c (get_goacc_thread): New function. 2397 (get_goacc_thread_device): New function. 2398 (lookup_goacc_asyncqueue): New function. 2399 (get_goacc_asyncqueue): New function. 2400 (acc_async_test): Adjust code to use new async design. 2401 (acc_async_test_all): Likewise. 2402 (acc_wait): Likewise. 2403 (acc_wait_async): Likewise. 2404 (acc_wait_all): Likewise. 2405 (acc_wait_all_async): Likewise. 2406 (goacc_async_free): New function. 2407 (goacc_init_asyncqueues): Likewise. 2408 (goacc_fini_asyncqueues): Likewise. 2409 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async 2410 design. 2411 (acc_set_cuda_stream): Likewise. 2412 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'. 2413 (host_openacc_register_async_cleanup): Remove. 2414 (host_openacc_async_exec): New function. 2415 (host_openacc_async_test): Adjust parameters. 2416 (host_openacc_async_test_all): Remove. 2417 (host_openacc_async_wait): Remove. 2418 (host_openacc_async_wait_async): Remove. 2419 (host_openacc_async_wait_all): Remove. 2420 (host_openacc_async_wait_all_async): Remove. 2421 (host_openacc_async_set_async): Remove. 2422 (host_openacc_async_synchronize): New function. 2423 (host_openacc_async_serialize): New function. 2424 (host_openacc_async_host2dev): New function. 2425 (host_openacc_async_dev2host): New function. 2426 (host_openacc_async_queue_callback): New function. 2427 (host_openacc_async_construct): New function. 2428 (host_openacc_async_destruct): New function. 2429 (struct gomp_device_descr host_dispatch): Remove initialization of old 2430 interface, add initialization of new async sub-struct. 2431 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device. 2432 (goacc_attach_host_thread_to_device): Remove old async code usage. 2433 * oacc-int.h (goacc_init_asyncqueues): New declaration. 2434 (goacc_fini_asyncqueues): Likewise. 2435 (goacc_async_copyout_unmap_vars): Likewise. 2436 (goacc_async_free): Likewise. 2437 (get_goacc_asyncqueue): Likewise. 2438 (lookup_goacc_asyncqueue): Likewise. 2439 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async 2440 design. 2441 (present_create_copy): Adjust code to use new async design. 2442 (delete_copyout): Likewise. 2443 (update_dev_host): Likewise. 2444 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new 2445 async design. 2446 (gomp_acc_remove_pointer): Adjust code to use new async design. 2447 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async 2448 design. 2449 (GOACC_enter_exit_data): Likewise. 2450 (goacc_wait): Likewise. 2451 (GOACC_update): Likewise. 2452 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail 2453 when called, warn as obsolete in comment. 2454 * target.c (goacc_device_copy_async): New function. 2455 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter, 2456 add goacc_device_copy_async case. 2457 (gomp_copy_dev2host): Likewise. 2458 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code. 2459 (gomp_map_pointer): Likewise. 2460 (gomp_map_fields_existing): Likewise. 2461 (gomp_map_vars_internal): New always_inline function, renamed from 2462 gomp_map_vars. 2463 (gomp_map_vars): Implement by calling gomp_map_vars_internal. 2464 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal, 2465 passing goacc_asyncqueue argument. 2466 (gomp_unmap_tgt): Remove static, add attribute_hidden. 2467 (gomp_unref_tgt): New function. 2468 (gomp_unmap_vars_internal): New always_inline function, renamed from 2469 gomp_unmap_vars. 2470 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal. 2471 (gomp_unmap_vars_async): Implement by calling 2472 gomp_unmap_vars_internal, passing goacc_asyncqueue argument. 2473 (gomp_fini_device): New function. 2474 (gomp_exit_data): Adjust gomp_copy_dev2host call. 2475 (gomp_load_plugin_for_device): Remove old interface, adjust to load 2476 new async interface. 2477 (gomp_target_fini): Adjust code to call gomp_fini_device. 2478 2479 * plugin/plugin-nvptx.c (struct cuda_map): Remove. 2480 (struct ptx_stream): Remove. 2481 (struct nvptx_thread): Remove current_stream field. 2482 (cuda_map_create): Remove. 2483 (cuda_map_destroy): Remove. 2484 (map_init): Remove. 2485 (map_fini): Remove. 2486 (map_pop): Remove. 2487 (map_push): Remove. 2488 (struct goacc_asyncqueue): Define. 2489 (struct nvptx_callback): Define. 2490 (struct ptx_free_block): Define. 2491 (struct ptx_device): Remove null_stream, active_streams, async_streams, 2492 stream_lock, and next fields. 2493 (enum ptx_event_type): Remove. 2494 (struct ptx_event): Remove. 2495 (ptx_event_lock): Remove. 2496 (ptx_events): Remove. 2497 (init_streams_for_device): Remove. 2498 (fini_streams_for_device): Remove. 2499 (select_stream_for_async): Remove. 2500 (nvptx_init): Remove ptx_events and ptx_event_lock references. 2501 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED 2502 case. 2503 (nvptx_open_device): Add free_blocks initialization, remove 2504 init_streams_for_device call. 2505 (nvptx_close_device): Remove fini_streams_for_device call, add 2506 free_blocks destruct code. 2507 (event_gc): Remove. 2508 (event_add): Remove. 2509 (nvptx_exec): Adjust parameters and code. 2510 (nvptx_free): Likewise. 2511 (nvptx_host2dev): Remove. 2512 (nvptx_dev2host): Remove. 2513 (nvptx_set_async): Remove. 2514 (nvptx_async_test): Remove. 2515 (nvptx_async_test_all): Remove. 2516 (nvptx_wait): Remove. 2517 (nvptx_wait_async): Remove. 2518 (nvptx_wait_all): Remove. 2519 (nvptx_wait_all_async): Remove. 2520 (nvptx_get_cuda_stream): Remove. 2521 (nvptx_set_cuda_stream): Remove. 2522 (GOMP_OFFLOAD_alloc): Adjust code. 2523 (GOMP_OFFLOAD_free): Likewise. 2524 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove. 2525 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code. 2526 (GOMP_OFFLOAD_openacc_async_test_all): Remove. 2527 (GOMP_OFFLOAD_openacc_async_wait): Remove. 2528 (GOMP_OFFLOAD_openacc_async_wait_async): Remove. 2529 (GOMP_OFFLOAD_openacc_async_wait_all): Remove. 2530 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove. 2531 (GOMP_OFFLOAD_openacc_async_set_async): Remove. 2532 (cuda_free_argmem): New function. 2533 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function. 2534 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code. 2535 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code. 2536 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code. 2537 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function. 2538 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function. 2539 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement. 2540 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function. 2541 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function. 2542 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function. 2543 (cuda_callback_wrapper): New function. 2544 (cuda_memcpy_sanity_check): New function. 2545 (GOMP_OFFLOAD_host2dev): Remove and re-implement. 2546 (GOMP_OFFLOAD_dev2host): Remove and re-implement. 2547 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function. 2548 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function. 2549 25502019-05-07 Thomas Schwinge <thomas@codesourcery.com> 2551 2552 PR target/87835 2553 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update. 2554 25552019-05-06 Thomas Schwinge <thomas@codesourcery.com> 2556 2557 * oacc-parallel.c: Add comments to legacy entry points (GCC 5). 2558 25592019-03-27 Kevin Buettner <kevinb@redhat.com> 2560 2561 * team.c (gomp_team_start): Initialize pool->threads[0]. 2562 25632019-02-22 Thomas Schwinge <thomas@codesourcery.com> 2564 2565 * testsuite/libgomp.oacc-c++/c++.exp: Specify 2566 "-foffload=$offload_target". 2567 * testsuite/libgomp.oacc-c/c.exp: Likewise. 2568 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 2569 * testsuite/lib/libgomp.exp 2570 (check_effective_target_openacc_nvidia_accel_configured): Remove, 2571 as (conceptually) merged into 2572 check_effective_target_openacc_nvidia_accel_selected. Adjust all 2573 users. 2574 2575 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets. 2576 * testsuite/libgomp-test-support.exp.in: Adjust. 2577 * testsuite/lib/libgomp.exp: Likewise. Don't populate 2578 openacc_device_types_s. 2579 (offload_target_to_openacc_device_type): New proc. 2580 * testsuite/libgomp.oacc-c++/c++.exp: Adjust. 2581 * testsuite/libgomp.oacc-c/c.exp: Likewise. 2582 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 2583 * Makefile.in: Regenerate. 2584 * configure: Likewise. 2585 * testsuite/Makefile.in: Likewise. 2586 2587 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins 2588 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS 2589 instead of OFFLOAD_TARGETS. 2590 * target.c (gomp_target_init): Adjust. 2591 * testsuite/libgomp-test-support.exp.in: Likewise. 2592 * testsuite/lib/libgomp.exp: Likewise. Populate 2593 openacc_device_types_s instead of offload_targets_s_openacc. 2594 (check_effective_target_openacc_nvidia_accel_selected) 2595 (check_effective_target_openacc_host_selected): Adjust. 2596 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. 2597 * testsuite/libgomp.oacc-c/c.exp: Likewise. 2598 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 2599 * Makefile.in: Regenerate. 2600 * config.h.in: Likewise. 2601 * configure: Likewise. 2602 * testsuite/Makefile.in: Likewise. 2603 2604 * testsuite/lib/libgomp.exp: Error out for unknown offload target. 2605 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if 2606 "offloading: supported, but hardware not accessible". 2607 * testsuite/libgomp.oacc-c/c.exp: Likewise. 2608 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 2609 26102019-02-19 Chung-Lin Tang <cltang@codesourcery.com> 2611 2612 PR c/87924 2613 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to 2614 goacc_wait(). 2615 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call 2616 and related adjustment. 2617 26182019-01-30 Jakub Jelinek <jakub@redhat.com> 2619 2620 PR c++/88988 2621 * testsuite/libgomp.c++/pr88988.C: New test. 2622 26232019-01-28 Jakub Jelinek <jakub@redhat.com> 2624 2625 PR middle-end/89002 2626 * testsuite/libgomp.c/pr89002.c: New test. 2627 26282019-01-28 Richard Biener <rguenther@suse.de> 2629 2630 PR testsuite/89064 2631 PR tree-optimization/86865 2632 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL. 2633 26342019-01-24 Tom de Vries <tdevries@suse.de> 2635 2636 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices 2637 once instantiated_devices drops to 0. 2638 26392019-01-23 Tom de Vries <tdevries@suse.de> 2640 2641 PR target/PR88946 2642 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for 2643 cuMemFree. 2644 (nvptx_exec): Don't call map_push if mapnum == 0. 2645 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test. 2646 26472019-01-23 Tom de Vries <tdevries@suse.de> 2648 2649 PR target/88941 2650 PR target/88939 2651 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case. 2652 (map_fini): Remove "assert (!s->map->active)". 2653 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test. 2654 26552019-01-23 Tom de Vries <tdevries@suse.de> 2656 2657 PR target/87835 2658 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element. 2659 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test. 2660 26612019-01-15 Tom de Vries <tdevries@suse.de> 2662 2663 PR target/80547 2664 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c: 2665 New test. 2666 26672019-01-12 Tom de Vries <tdevries@suse.de> 2668 2669 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test. 2670 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test. 2671 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test. 2672 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test. 2673 26742019-01-12 Tom de Vries <tdevries@suse.de> 2675 2676 * plugin/plugin-nvptx.c (nvptx_exec): Update error message. 2677 26782019-01-12 Tom de Vries <tdevries@suse.de> 2679 2680 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test. 2681 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test. 2682 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test. 2683 26842019-01-12 Tom de Vries <tdevries@suse.de> 2685 2686 PR target/85486 2687 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test. 2688 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test. 2689 26902019-01-12 Tom de Vries <tdevries@suse.de> 2691 2692 PR target/85381 2693 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test. 2694 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test. 2695 26962019-01-12 Tom de Vries <tdevries@suse.de> 2697 2698 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test. 2699 * testsuite/libgomp.oacc-fortran/gemm.f90: New test. 2700 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test. 2701 27022019-01-12 Tom de Vries <tdevries@suse.de> 2703 2704 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test. 2705 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test. 2706 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test. 2707 27082019-01-12 Tom de Vries <tdevries@suse.de> 2709 2710 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware 2711 resources diagnostic. 2712 27132019-01-12 Tom de Vries <tdevries@suse.de> 2714 2715 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect 2716 vector length to be 128. 2717 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector 2718 length 2097152 to be reduced to 1024 instead of 32. 2719 27202019-01-11 Thomas Schwinge <thomas@codesourcery.com> 2721 James Norris <jnorris@codesourcery.com> 2722 2723 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime 2724 Library Routines", and "Environment Variables". 2725 27262019-01-11 Tom de Vries <tdevries@suse.de> 2727 2728 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and 2729 num_workers 16. 2730 27312019-01-11 Tom de Vries <tdevries@suse.de> 2732 2733 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove 2734 -foffload=-w. 2735 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same. 2736 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same. 2737 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same. 2738 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same. 2739 27402019-01-11 Tom de Vries <tdevries@suse.de> 2741 2742 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New 2743 test. 2744 27452019-01-10 Nathan Sidwell <nathan@acm.org> 2746 Julian Brown <julian@codesourcery.com> 2747 2748 PR lto/71959 2749 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New. 2750 * testsuite/libgomp.oacc-c++/pr71959.C: New. 2751 27522019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de> 2753 2754 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy 2755 and paste code. 2756 27572019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de> 2758 2759 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c, 2760 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to 2761 write. 2762 27632019-01-09 Tom de Vries <tdevries@suse.de> 2764 2765 PR target/88756 2766 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use 2767 #define instead of "const int". 2768 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same. 2769 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same. 2770 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same. 2771 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same. 2772 27732019-01-09 Tom de Vries <tdevries@suse.de> 2774 2775 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least 2776 one worker. 2777 27782019-01-07 Tom de Vries <tdevries@suse.de> 2779 2780 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix 2781 GOMP_OPENACC_DIM argument. 2782 27832019-01-03 Tom de Vries <tdevries@suse.de> 2784 2785 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test. 2786 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test. 2787 27882019-01-01 Jakub Jelinek <jakub@redhat.com> 2789 2790 Update copyright years. 2791 27922019-01-01 Jakub Jelinek <jakub@redhat.com> 2793 2794 * libgomp.texi: Bump @copying's copyright year. 2795 27962018-12-28 Thomas Schwinge <thomas@codesourcery.com> 2797 2798 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel) 2799 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update) 2800 (GOACC_declare): Redefine the "device" argument to "flags". 2801 28022018-12-28 Thomas Schwinge <thomas@codesourcery.com> 2803 Cesar Philippidis <cesar@codesourcery.com> 2804 2805 * target.c (struct gomp_coalesce_chunk): New structure. 2806 (struct gomp_coalesce_buf): Update the chunks member to use that 2807 type. Adjust all users. 2808 28092018-12-19 Tom de Vries <tdevries@suse.de> 2810 2811 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test. 2812 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test. 2813 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test. 2814 28152018-12-19 Tom de Vries <tdevries@suse.de> 2816 2817 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp. 2818 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from 2819 gcc/testsuite/gcc.dg/goacc. 2820 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same. 2821 28222018-12-14 Thomas Schwinge <thomas@codesourcery.com> 2823 Chung-Lin Tang <cltang@codesourcery.com> 2824 2825 * oacc-mem.c (acc_present_or_create): Remove definition and change 2826 to alias of acc_create. 2827 (acc_present_or_copyin): Remove definition and change to alias of 2828 acc_copyin. 2829 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead 2830 of acc_present_or_create. 2831 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove. 2832 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise. 2833 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise. 2834 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise. 2835 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise. 2836 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise. 2837 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise. 2838 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise. 2839 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise. 2840 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise. 2841 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise. 2842 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise. 2843 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise. 2844 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise. 2845 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise. 2846 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise. 2847 28482018-12-14 Thomas Schwinge <thomas@codesourcery.com> 2849 2850 PR libgomp/88495 2851 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse 2852 "identical parameters". 2853 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update. 2854 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove. 2855 2856 PR libgomp/88484 2857 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0". 2858 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file. 2859 2860 PR libgomp/88407 2861 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait) 2862 (nvptx_wait_async): Unseen async-argument is a no-op. 2863 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update. 2864 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise. 2865 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise. 2866 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise. 2867 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise. 2868 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into... 2869 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update. 2870 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into... 2871 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update 2872 2873 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise. 2874 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise. 2875 28762018-12-14 Chung-Lin Tang <cltang@codesourcery.com> 2877 2878 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust. 2879 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise. 2880 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise. 2881 28822018-12-14 Thomas Schwinge <thomas@codesourcery.com> 2883 2884 PR libgomp/88370 2885 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream) 2886 (acc_set_cuda_stream): Clarify. 2887 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use 2888 "async_valid_p". 2889 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async == 2890 acc_async_sync". 2891 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file. 2892 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise. 2893 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update. 2894 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise. 2895 28962018-12-14 Tom de Vries <tdevries@suse.de> 2897 2898 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test. 2899 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test. 2900 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test. 2901 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test. 2902 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test. 2903 29042018-12-13 Tom de Vries <tdevries@suse.de> 2905 2906 * affinity-fmt.c (gomp_print_string): New function, factored out of ... 2907 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ... 2908 * fortran.c (omp_display_affinity_): ... here. 2909 * libgomp.h (gomp_print_string): Declare. 2910 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c, 2911 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to 2912 write. 2913 29142018-12-13 Jakub Jelinek <jakub@redhat.com> 2915 2916 PR libgomp/88460 2917 * testsuite/libgomp.c++/for-24.C (results): Include it in 2918 omp declare target region. 2919 (main): Use map (always, tofrom: results) instead of 2920 map (tofrom: results). 2921 29222018-12-12 Jakub Jelinek <jakub@redhat.com> 2923 2924 PR fortran/88463 2925 * testsuite/libgomp.fortran/pr88463-1.f90: New test. 2926 * testsuite/libgomp.fortran/pr88463-2.f90: New test. 2927 2928 * testsuite/libgomp.c-c++-common/for-16.c: New test. 2929 29302018-12-12 Andreas Schwab <schwab@suse.de> 2931 2932 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as 2933 clobbered. 2934 29352018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org> 2936 2937 PR fortran/88411 2938 * testsuite/libgomp.fortran/async_io_8.f90: New test. 2939 29402018-12-09 Thomas Schwinge <thomas@codesourcery.com> 2941 Jakub Jelinek <jakub@redhat.com> 2942 2943 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of 2944 devicep->host2dev_func. 2945 29462018-12-08 Jakub Jelinek <jakub@redhat.com> 2947 2948 PR libgomp/87995 2949 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require 2950 tls_runtime effective target. 2951 (t): New threadprivate variable. 2952 (main): Set t in threads which execute iterations of the worksharing 2953 loop. Propagate that to the task after the loop and don't abort 2954 if the current taskgroup hasn't been cancelled. 2955 29562018-12-02 Jakub Jelinek <jakub@redhat.com> 2957 2958 * testsuite/libgomp.c/task-reduction-3.c: New test. 2959 2960 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test. 2961 29622018-11-30 Cesar Philippidis <cesar@codesourcery.com> 2963 2964 PR libgomp/88288 2965 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs. 2966 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test. 2967 29682018-11-30 Thomas Schwinge <thomas@codesourcery.com> 2969 2970 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file. 2971 29722018-10-19 Richard Biener <rguenther@suse.de> 2973 2974 PR tree-optimization/88182 2975 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp. 2976 29772018-11-26 Jakub Jelinek <jakub@redhat.com> 2978 2979 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu. 2980 (RUNTEST): Don't define. 2981 (RUNTESTDEFAULTFLAGS): Add. 2982 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals. 2983 (distclean-am): Depend on distclean-DEJAGNU. 2984 (check-am): If -j% option is present in MFLAGS and if 2985 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8. 2986 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU. 2987 * testsuite/Makefile.in: Regenerated. 2988 29892018-11-26 Richard Biener <rguenther@suse.de> 2990 2991 PR tree-optimization/88182 2992 * testsuite/libgomp.c++/pr88182.C: New testcase. 2993 29942018-11-20 Jakub Jelinek <jakub@redhat.com> 2995 2996 PR bootstrap/88106 2997 * config/mingw32/affinity-fmt.c: New file. 2998 29992018-11-09 Jakub Jelinek <jakub@redhat.com> 3000 3001 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H. 3002 (gomp_display_affinity): Use __builtin_choose_expr to handle 3003 properly handle argument having integral, or pointer or some other 3004 type. If inttypes.h is available and PRIx64 is defined, use PRIx64 3005 with uint64_t type instead of %llx and unsigned long long. 3006 3007 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test. 3008 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test. 3009 30102018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 3011 3012 * affinity.c: Include <string.h>, <stdio.h>. 3013 (gomp_display_affinity_place): Remove cpusetp. 3014 * teams.c: Include <limits.h>. 3015 30162018-11-08 Jakub Jelinek <jakub@redhat.com> 3017 3018 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add 3019 in_reduction clause for s[0]. 3020 3021 * affinity.c (gomp_display_affinity_place): New function. 3022 * affinity-fmt.c: New file. 3023 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions. 3024 * config/linux/affinity.c (gomp_display_affinity_place): New function. 3025 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num): 3026 Move these functions to ... 3027 * config/nvptx/teams.c: ... here. New file. 3028 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all): 3029 New functions. 3030 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New 3031 functions. 3032 * configure.ac: Check for aligned_alloc, posix_memalign, memalign 3033 and _aligned_malloc. 3034 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests. 3035 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux. 3036 * env.c (gomp_display_affinity_var, gomp_affinity_format_var, 3037 gomp_affinity_format_len): New variables. 3038 (parse_schedule): Parse monotonic and nonmonotonic modifiers in 3039 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules. 3040 (handle_omp_display_env): Display monotonic/nonmonotonic schedule 3041 modifiers. Display (non-default) chunk sizes. Print 3042 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT. 3043 (initialize_env): Don't call pthread_attr_setdetachstate. Handle 3044 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars. 3045 * fortran.c: Include stdio.h and string.h. 3046 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect. 3047 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit. 3048 (omp_set_affinity_format_, omp_get_affinity_format_, 3049 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_, 3050 omp_pause_resource_all_): New functions. 3051 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in 3052 switch. 3053 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these 3054 functions to ... 3055 * teams.c: ... here. New file. 3056 * libgomp_g.h: Include gstdint.h. 3057 (GOMP_loop_nonmonotonic_runtime_start, 3058 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start, 3059 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next, 3060 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start, 3061 GOMP_parallel_loop_nonmonotonic_runtime, 3062 GOMP_parallel_loop_maybe_nonmonotonic_runtime, 3063 GOMP_loop_ull_nonmonotonic_runtime_start, 3064 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start, 3065 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next, 3066 GOMP_loop_ull_maybe_nonmonotonic_runtime_next, 3067 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions, 3068 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register, 3069 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap, 3070 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start, 3071 GOMP_teams_reg): Declare. 3072 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless 3073 gomp_aligned_alloc uses fallback implementation. 3074 (gomp_aligned_alloc, gomp_aligned_free): Declare. 3075 (enum gomp_schedule_type): Add GFS_MONOTONIC. 3076 (struct gomp_doacross_work_share): Add extra field. 3077 (struct gomp_work_share): Add task_reductions field. 3078 (struct gomp_taskgroup): Add workshare and reductions fields. 3079 (GOMP_NEEDS_THREAD_HANDLE): Define if needed. 3080 (gomp_thread_handle): New typedef. 3081 (gomp_display_affinity_place, gomp_set_affinity_format, 3082 gomp_display_string, gomp_display_affinity, 3083 gomp_display_affinity_thread): Declare. 3084 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument. 3085 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start, 3086 gomp_workshare_task_reduction_register): Declare. 3087 (gomp_team_start): Add taskgroup argument. 3088 (gomp_pause_host): Declare. 3089 (gomp_init_work_share, gomp_work_share_start): Change bool argument 3090 to size_t. 3091 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions. 3092 * libgomp.map (GOMP_5.0): Export GOMP_loop_start, 3093 GOMP_loop_ordered_start, GOMP_loop_doacross_start, 3094 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start, 3095 GOMP_loop_ull_doacross_start, 3096 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start, 3097 GOMP_loop_maybe_nonmonotonic_runtime_next, 3098 GOMP_loop_maybe_nonmonotonic_runtime_start, 3099 GOMP_loop_nonmonotonic_runtime_next, 3100 GOMP_loop_nonmonotonic_runtime_start, 3101 GOMP_loop_ull_maybe_nonmonotonic_runtime_next, 3102 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, 3103 GOMP_loop_ull_nonmonotonic_runtime_next, 3104 GOMP_loop_ull_nonmonotonic_runtime_start, 3105 GOMP_parallel_loop_maybe_nonmonotonic_runtime, 3106 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions, 3107 GOMP_taskgroup_reduction_register, 3108 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap, 3109 GOMP_teams_reg and GOMP_taskwait_depend. 3110 (OMP_5.0): Export omp_pause_resource{,_all}{,_}, 3111 omp_{capture,display}_affinity{,_}, and 3112 omp_[gs]et_affinity_format{,_}. 3113 * loop.c: Include string.h. 3114 (GOMP_loop_runtime_next): Add ialias. 3115 (GOMP_taskgroup_reduction_register): Add ialias_redirect. 3116 (gomp_loop_static_start, gomp_loop_dynamic_start, 3117 gomp_loop_guided_start, gomp_loop_ordered_static_start, 3118 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start, 3119 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start, 3120 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start 3121 or gomp_doacross_init callers. 3122 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start, 3123 GOMP_loop_doacross_start): New functions. 3124 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start, 3125 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start): 3126 Mask off GFS_MONOTONIC bit. 3127 (GOMP_loop_maybe_nonmonotonic_runtime_next, 3128 GOMP_loop_maybe_nonmonotonic_runtime_start, 3129 GOMP_loop_nonmonotonic_runtime_next, 3130 GOMP_loop_nonmonotonic_runtime_start, 3131 GOMP_parallel_loop_maybe_nonmonotonic_runtime, 3132 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper 3133 functions. 3134 (gomp_parallel_loop_start): Pass NULL as taskgroup to 3135 gomp_team_start. 3136 * loop_ull.c: Include string.h. 3137 (GOMP_loop_ull_runtime_next): Add ialias. 3138 (GOMP_taskgroup_reduction_register): Add ialias_redirect. 3139 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start, 3140 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start, 3141 gomp_loop_ull_ordered_dynamic_start, 3142 gomp_loop_ull_ordered_guided_start, 3143 gomp_loop_ull_doacross_static_start, 3144 gomp_loop_ull_doacross_dynamic_start, 3145 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start 3146 and gomp_doacross_ull_init callers. 3147 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start, 3148 GOMP_loop_ull_doacross_start): New functions. 3149 (GOMP_loop_ull_runtime_start, 3150 GOMP_loop_ull_ordered_runtime_start, 3151 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit. 3152 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next, 3153 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, 3154 GOMP_loop_ull_nonmonotonic_runtime_next, 3155 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise. 3156 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c. 3157 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic. 3158 (omp_pause_resource_t, omp_depend_t): New typedefs. 3159 (enum omp_lock_hint_t): Renamed to ... 3160 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_* 3161 enumerators using numbers and omp_lock_hint_* as their aliases. 3162 (omp_lock_hint_t): New typedef. Rename to ... 3163 (omp_sync_hint_t): ... this. 3164 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use 3165 omp_sync_hint_t instead of omp_lock_hint_t. 3166 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format, 3167 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity): 3168 Declare. 3169 (omp_target_is_present, omp_target_disassociate_ptr): 3170 Change first argument from void * to const void *. 3171 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument 3172 from void * to const void *. 3173 (omp_target_associate_ptr): Change first and second arguments from 3174 void * to const void *. 3175 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft, 3176 omp_pause_hard): New parameters. 3177 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format, 3178 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity): 3179 New interfaces. 3180 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft, 3181 omp_pause_hard): New parameters. 3182 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format, 3183 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity): 3184 New externals. 3185 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add 3186 EXTRA argument. If not needed to prepare array, if extra is 0, 3187 clear ws->doacross, otherwise allocate just doacross structure and 3188 extra payload. If array is needed, allocate also extra payload. 3189 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post, 3190 GOMP_doacross_ull_wait): Handle doacross->array == NULL like 3191 doacross == NULL. 3192 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to 3193 gomp_team_start. 3194 (GOMP_parallel): Likewise. Formatting fix. 3195 (GOMP_parallel_reductions): New function. 3196 (GOMP_cancellation_point): If taskgroup has workshare 3197 flag set, check cancelled of prev taskgroup if any. 3198 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled 3199 on prev taskgroup if any. 3200 * sections.c: Include string.h. 3201 (GOMP_taskgroup_reduction_register): Add ialias_redirect. 3202 (GOMP_sections_start): Adjust gomp_work_share_start caller. 3203 (GOMP_sections2_start): New function. 3204 (GOMP_parallel_sections_start, GOMP_parallel_sections): 3205 Pass NULL as taskgroup to gomp_team_start. 3206 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust 3207 gomp_work_share_start callers. 3208 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data): 3209 If taskgroup has workshare flag set, check cancelled on prev 3210 taskgroup if any. Guard all cancellation tests with 3211 gomp_cancel_var test. 3212 (omp_target_is_present, omp_target_disassociate_ptr): 3213 Change ptr argument from void * to const void *. 3214 (omp_target_memcpy): Change src argument from void * to const void *. 3215 (omp_target_memcpy_rect): Likewise. 3216 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts 3217 instead of char * where needed. 3218 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments 3219 from void * to const void *. 3220 (omp_pause_resource, omp_pause_resource_all): New functions. 3221 * task.c (gomp_task_handle_depend): Handle new depend array format 3222 in addition to the old. Handle mutexinoutset kinds the same as 3223 inout for now, handle unspecified kinds. 3224 (gomp_create_target_task): If taskgroup has workshare flag set, check 3225 cancelled on prev taskgroup if any. Guard all cancellation tests with 3226 gomp_cancel_var test. Handle new depend array format count in 3227 addition to the old. 3228 (GOMP_task): Likewise. Adjust function comment. 3229 (gomp_task_run_pre): If taskgroup has workshare flag set, check 3230 cancelled on prev taskgroup if any. Guard all cancellation tests with 3231 gomp_cancel_var test. 3232 (GOMP_taskwait_depend): New function. 3233 (gomp_task_maybe_wait_for_dependencies): Handle new depend array 3234 format in addition to the old. Handle mutexinoutset kinds the same as 3235 inout for now, handle unspecified kinds. Fix a function comment typo. 3236 (gomp_taskgroup_init): New function. 3237 (GOMP_taskgroup_start): Use it. 3238 (gomp_reduction_register, gomp_create_artificial_team, 3239 GOMP_taskgroup_reduction_register, 3240 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap, 3241 gomp_parallel_reduction_register, 3242 gomp_workshare_task_reduction_register, 3243 gomp_workshare_taskgroup_start, 3244 GOMP_workshare_task_reduction_unregister): New functions. 3245 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set, 3246 check cancelled on prev taskgroup if any. Guard all cancellation 3247 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag 3248 by calling GOMP_taskgroup_reduction_register. 3249 * team.c (gomp_thread_attr): Remove comment. 3250 (struct gomp_thread_start_data): Add handle field. 3251 (gomp_thread_start): Call pthread_detach. 3252 (gomp_new_team): Adjust gomp_init_work_share caller. 3253 (gomp_free_pool_helper): Call pthread_detach. 3254 (gomp_team_start): Add taskgroup argument, initialize implicit 3255 tasks' taskgroup field to that. Don't call 3256 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var. 3257 (gomp_team_end): Determine nesting by thr->ts.level != 0 3258 rather than thr->ts.team != NULL. 3259 (gomp_pause_pool_helper, gomp_pause_host): New functions. 3260 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of 3261 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined. 3262 (gomp_init_work_share): Change ORDERED argument from bool to size_t, 3263 if more than 1 allocate also extra payload at the end of array. Never 3264 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead. 3265 (gomp_work_share_start): Change ORDERED argument from bool to size_t, 3266 return true instead of ws. 3267 * Makefile.in: Regenerated. 3268 * configure: Regenerated. 3269 * config.h.in: Regenerated. 3270 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier 3271 in some cases. 3272 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test. 3273 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test. 3274 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test. 3275 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test. 3276 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test. 3277 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test. 3278 * testsuite/libgomp.c-c++-common/depobj-1.c: New test. 3279 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test. 3280 * testsuite/libgomp.c-c++-common/for-10.c: New test. 3281 * testsuite/libgomp.c-c++-common/for-11.c: New test. 3282 * testsuite/libgomp.c-c++-common/for-12.c: New test. 3283 * testsuite/libgomp.c-c++-common/for-13.c: New test. 3284 * testsuite/libgomp.c-c++-common/for-14.c: New test. 3285 * testsuite/libgomp.c-c++-common/for-15.c: New test. 3286 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined, 3287 define a different N(test), don't define N(f0) to N(f14), but instead 3288 define N(f20) to N(f34) using != comparisons. 3289 * testsuite/libgomp.c-c++-common/for-7.c: New test. 3290 * testsuite/libgomp.c-c++-common/for-8.c: New test. 3291 * testsuite/libgomp.c-c++-common/for-9.c: New test. 3292 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test. 3293 * testsuite/libgomp.c-c++-common/pause-1.c: New test. 3294 * testsuite/libgomp.c-c++-common/pause-2.c: New test. 3295 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test. 3296 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test. 3297 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test. 3298 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test. 3299 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test. 3300 * testsuite/libgomp.c-c++-common/simd-1.c: New test. 3301 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test. 3302 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test. 3303 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test. 3304 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test. 3305 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test. 3306 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test. 3307 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test. 3308 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test. 3309 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test. 3310 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test. 3311 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test. 3312 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test. 3313 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test. 3314 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test. 3315 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test. 3316 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test. 3317 * testsuite/libgomp.c++/depend-1.C: New test. 3318 * testsuite/libgomp.c++/depend-iterator-1.C: New test. 3319 * testsuite/libgomp.c++/depobj-1.C: New test. 3320 * testsuite/libgomp.c++/for-16.C: New test. 3321 * testsuite/libgomp.c++/for-21.C: New test. 3322 * testsuite/libgomp.c++/for-22.C: New test. 3323 * testsuite/libgomp.c++/for-23.C: New test. 3324 * testsuite/libgomp.c++/for-24.C: New test. 3325 * testsuite/libgomp.c++/for-25.C: New test. 3326 * testsuite/libgomp.c++/for-26.C: New test. 3327 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test. 3328 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test. 3329 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test. 3330 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test. 3331 * testsuite/libgomp.c++/task-reduction-10.C: New test. 3332 * testsuite/libgomp.c++/task-reduction-11.C: New test. 3333 * testsuite/libgomp.c++/task-reduction-12.C: New test. 3334 * testsuite/libgomp.c++/task-reduction-13.C: New test. 3335 * testsuite/libgomp.c++/task-reduction-14.C: New test. 3336 * testsuite/libgomp.c++/task-reduction-15.C: New test. 3337 * testsuite/libgomp.c++/task-reduction-16.C: New test. 3338 * testsuite/libgomp.c++/task-reduction-17.C: New test. 3339 * testsuite/libgomp.c++/task-reduction-18.C: New test. 3340 * testsuite/libgomp.c++/task-reduction-19.C: New test. 3341 * testsuite/libgomp.c/task-reduction-1.c: New test. 3342 * testsuite/libgomp.c++/task-reduction-1.C: New test. 3343 * testsuite/libgomp.c/task-reduction-2.c: New test. 3344 * testsuite/libgomp.c++/task-reduction-2.C: New test. 3345 * testsuite/libgomp.c++/task-reduction-3.C: New test. 3346 * testsuite/libgomp.c++/task-reduction-4.C: New test. 3347 * testsuite/libgomp.c++/task-reduction-5.C: New test. 3348 * testsuite/libgomp.c++/task-reduction-6.C: New test. 3349 * testsuite/libgomp.c++/task-reduction-7.C: New test. 3350 * testsuite/libgomp.c++/task-reduction-8.C: New test. 3351 * testsuite/libgomp.c++/task-reduction-9.C: New test. 3352 * testsuite/libgomp.c/teams-1.c: New test. 3353 * testsuite/libgomp.c/teams-2.c: New test. 3354 * testsuite/libgomp.c/thread-limit-4.c: New test. 3355 * testsuite/libgomp.c/thread-limit-5.c: New test. 3356 * testsuite/libgomp.fortran/display-affinity-1.f90: New test. 3357 33582018-11-06 Chung-Lin Tang <cltang@codesourcery.com> 3359 3360 * oacc-mem.c (memcpy_tofrom_device): New function, combined from 3361 acc_memcpy_to/from_device functions, now with async parameter. 3362 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device. 3363 (acc_memcpy_from_device): Likewise. 3364 (acc_memcpy_to_device_async): New API function. 3365 (acc_memcpy_from_device_async): Likewise. 3366 (present_create_copy): Add async parameter and async setting/unsetting. 3367 (acc_create): Adjust present_create_copy call. 3368 (acc_copyin): Likewise. 3369 (acc_present_or_create): Likewise. 3370 (acc_present_or_copyin): Likewise. 3371 (acc_create_async): New API function. 3372 (acc_copyin_async): New API function. 3373 (delete_copyout): Add async parameter and async setting/unsetting. 3374 (acc_delete): Adjust delete_copyout call. 3375 (acc_copyout): Likewise. 3376 (acc_delete_async): New API function. 3377 (acc_copyout_async): Likewise. 3378 (update_dev_host): Add async parameter and async setting/unsetting. 3379 (acc_update_device): Adjust update_dev_host call. 3380 (acc_update_self): Likewise. 3381 (acc_update_device_async): New API function. 3382 (acc_update_self_async): Likewise. 3383 * openacc.h (acc_copyin_async): Declare new API function. 3384 (acc_create_async): Likewise. 3385 (acc_copyout_async): Likewise. 3386 (acc_delete_async): Likewise. 3387 (acc_update_device_async): Likewise. 3388 (acc_update_self_async): Likewise. 3389 (acc_memcpy_to_device_async): Likewise. 3390 (acc_memcpy_from_device_async): Likewise. 3391 * openacc_lib.h (acc_copyin_async_32_h): New subroutine. 3392 (acc_copyin_async_64_h): New subroutine. 3393 (acc_copyin_async_array_h): New subroutine. 3394 (acc_create_async_32_h): New subroutine. 3395 (acc_create_async_64_h): New subroutine. 3396 (acc_create_async_array_h): New subroutine. 3397 (acc_copyout_async_32_h): New subroutine. 3398 (acc_copyout_async_64_h): New subroutine. 3399 (acc_copyout_async_array_h): New subroutine. 3400 (acc_delete_async_32_h): New subroutine. 3401 (acc_delete_async_64_h): New subroutine. 3402 (acc_delete_async_array_h): New subroutine. 3403 (acc_update_device_async_32_h): New subroutine. 3404 (acc_update_device_async_64_h): New subroutine. 3405 (acc_update_device_async_array_h): New subroutine. 3406 (acc_update_self_async_32_h): New subroutine. 3407 (acc_update_self_async_64_h): New subroutine. 3408 (acc_update_self_async_array_h): New subroutine. 3409 * openacc.f90 (acc_copyin_async_32_h): New subroutine. 3410 (acc_copyin_async_64_h): New subroutine. 3411 (acc_copyin_async_array_h): New subroutine. 3412 (acc_create_async_32_h): New subroutine. 3413 (acc_create_async_64_h): New subroutine. 3414 (acc_create_async_array_h): New subroutine. 3415 (acc_copyout_async_32_h): New subroutine. 3416 (acc_copyout_async_64_h): New subroutine. 3417 (acc_copyout_async_array_h): New subroutine. 3418 (acc_delete_async_32_h): New subroutine. 3419 (acc_delete_async_64_h): New subroutine. 3420 (acc_delete_async_array_h): New subroutine. 3421 (acc_update_device_async_32_h): New subroutine. 3422 (acc_update_device_async_64_h): New subroutine. 3423 (acc_update_device_async_array_h): New subroutine. 3424 (acc_update_self_async_32_h): New subroutine. 3425 (acc_update_self_async_64_h): New subroutine. 3426 (acc_update_self_async_array_h): New subroutine. 3427 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*, 3428 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*, 3429 acc_delete_finalize_async*, acc_memcpy_from_device_async*, 3430 acc_memcpy_to_device_async*, acc_update_device_async*, and 3431 acc_update_self_async* entries. 3432 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test. 3433 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test. 3434 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test. 3435 34362018-10-31 Joseph Myers <joseph@codesourcery.com> 3437 3438 PR bootstrap/82856 3439 * Makefile.am: Include multilib.am 3440 (AUTOMAKE_OPTIONS): Add info-in-builddir. 3441 (CLEANFILES): Remove libgomp.info. 3442 * configure.ac: Remove AC_PREREQ. 3443 * testsuite/Makefile.am (RUNTEST): Remove quotes. 3444 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: 3445 Regenerate. 3446 34472018-10-29 Joseph Myers <joseph@codesourcery.com> 3448 Julian Brown <julian@codesourcery.com> 3449 3450 * testsuite/libgomp.oacc-c++/this.C: New. 3451 34522018-09-18 Cesar Philippidis <cesar@codesourcery.com> 3453 3454 * plugin/plugin-nvptx.c (struct cuda_map): New. 3455 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev, 3456 h_tail with (cuda_map *) map. 3457 (cuda_map_create): New function. 3458 (cuda_map_destroy): New function. 3459 (map_init): Update to use a linked list of cuda_map objects. 3460 (map_fini): Likewise. 3461 (map_pop): Likewise. 3462 (map_push): Likewise. Return CUdeviceptr instead of void. 3463 (init_streams_for_device): Remove stales references to ptx_stream 3464 members. 3465 (select_stream_for_async): Likewise. 3466 (nvptx_exec): Update call to map_init. 3467 34682018-09-09 Cesar Philippidis <cesar@codesourcery.com> 3469 Julian Brown <julian@codesourcery.com> 3470 3471 PR middle-end/86336 3472 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL. 3473 34742018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org> 3475 Thomas Koenig <tkoenig@gcc.gnu.org> 3476 3477 PR fortran/25829 3478 * testsuite/libgomp.fortran/async_io_1.f90: New test. 3479 * testsuite/libgomp.fortran/async_io_2.f90: New test. 3480 * testsuite/libgomp.fortran/async_io_3.f90: New test. 3481 * testsuite/libgomp.fortran/async_io_4.f90: New test. 3482 * testsuite/libgomp.fortran/async_io_5.f90: New test. 3483 * testsuite/libgomp.fortran/async_io_6.f90: New test. 3484 * testsuite/libgomp.fortran/async_io_7.f90: New test. 3485 34862018-08-13 Cesar Philippidis <cesar@codesourcery.com> 3487 Tom de Vries <tdevries@suse.de> 3488 3489 PR target/85590 3490 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef. 3491 (cuOccupancyMaxPotentialBlockSize): Declare. 3492 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New 3493 CUDA_ONE_CALL_MAYBE_NULL. 3494 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define 3495 CUoccupancyB2DSize and declare 3496 cuOccupancyMaxPotentialBlockSize. 3497 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the 3498 default num_gangs and num_workers when the driver supports it. 3499 35002018-08-08 Tom de Vries <tdevries@suse.de> 3501 3502 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using 3503 CUDA_ONE_CALL_MAYBE_NULL. 3504 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare. 3505 (cuLinkAddData_v2, cuLinkCreate_v2): Declare. 3506 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions 3507 are not found. 3508 35092018-08-08 Tom de Vries <tdevries@suse.de> 3510 3511 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL. 3512 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not 3513 present. 3514 35152018-08-08 Tom de Vries <tdevries@suse.de> 3516 3517 * plugin/plugin-nvptx.c 3518 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define. 3519 (nvptx_open_device): Use 3520 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR. 3521 35222018-08-08 Tom de Vries <tdevries@suse.de> 3523 3524 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ... 3525 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000. 3526 35272018-08-07 Tom de Vries <tdevries@suse.de> 3528 3529 * plugin/plugin-nvptx.c (DO_PRAGMA): Define. 3530 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL. 3531 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to 3532 corresponding call in CUDA_ONE_CALL. Add def/undef of 3533 CUDA_ONE_CALL_MAYBE_NULL. 3534 (CUDA_CALL_EXISTS): Define. 3535 35362018-08-07 Tom de Vries <tdevries@suse.de> 3537 3538 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put 3539 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the 3540 corresponding undefs right after. 3541 35422018-08-04 Tom de Vries <tdevries@suse.de> 3543 3544 * plugin/configfrag.ac: For --without-cuda-driver, set 3545 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle 3546 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no. 3547 * configure: Regenerate. 3548 35492018-08-02 Tom de Vries <tdevries@suse.de> 3550 3551 PR target/86660 3552 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions. 3553 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same. 3554 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C: 3555 Same. 3556 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same. 3557 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same. 3558 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same. 3559 35602018-08-01 Cesar Philippidis <cesar@codesourcery.com> 3561 Thomas Schwinge <thomas@codesourcery.com> 3562 3563 * config/nvptx/oacc-parallel.c: Truncate. 3564 35652018-08-01 Cesar Philippidis <cesar@codesourcery.com> 3566 James Norris <jnorris@codesourcery.com> 3567 3568 * plugin/plugin-nvptx.c (struct map): Removed. 3569 (map_init, map_pop): Remove use of struct map. 3570 (map_push): Likewise and change argument list. 3571 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New 3572 35732018-08-01 Tom de Vries <tdevries@suse.de> 3574 3575 * plugin/cuda-lib.def: New file. Factor out of ... 3576 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here. 3577 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of 3578 using CUDA_CALLS. 3579 35802018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com> 3581 3582 Revert 'AsyncI/O patch committed'. 3583 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org> 3584 Thomas Koenig <tkoenig@gcc.gnu.org> 3585 3586 PR fortran/25829 3587 * testsuite/libgomp.fortran/async_io_1.f90: New test. 3588 * testsuite/libgomp.fortran/async_io_2.f90: New test. 3589 * testsuite/libgomp.fortran/async_io_3.f90: New test. 3590 * testsuite/libgomp.fortran/async_io_4.f90: New test. 3591 * testsuite/libgomp.fortran/async_io_5.f90: New test. 3592 * testsuite/libgomp.fortran/async_io_6.f90: New test. 3593 * testsuite/libgomp.fortran/async_io_7.f90: New test. 3594 35952018-07-30 Tom de Vries <tdevries@suse.de> 3596 3597 * plugin/plugin-nvptx.c (MIN, MAX): Redefine. 3598 (nvptx_exec): Ensure worker and vector default dims don't exceed 3599 targ_fn->max_threads_per_block. 3600 36012018-07-30 Tom de Vries <tdevries@suse.de> 3602 3603 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field. 3604 (nvptx_open_device): Init default_dims for device. 3605 (nvptx_exec): Use default_dims from device. 3606 36072018-07-26 Jakub Jelinek <jakub@redhat.com> 3608 3609 PR testsuite/86660 3610 * testsuite/libgomp.c++/for-15.C (results): Include it in 3611 omp declare target region. 3612 (main): Use map (always, tofrom: results) instead of 3613 map (tofrom: results). 3614 3615 PR middle-end/86660 3616 * testsuite/libgomp.c/pr86660.c: New test. 3617 36182018-07-26 Cesar Philippidis <cesar@codesourcery.com> 3619 Tom de Vries <tdevries@suse.de> 3620 3621 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have 3622 sufficient resources to launch a kernel, and give a hint on how to fix 3623 it. 3624 36252018-07-26 Cesar Philippidis <cesar@codesourcery.com> 3626 Tom de Vries <tdevries@suse.de> 3627 3628 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size, 3629 max_threads_per_block and max_threads_per_multiprocessor fields. 3630 (nvptx_open_device): Initialize new fields. 3631 (nvptx_exec): Use num_sms, and new fields. 3632 36332018-07-26 Tom de Vries <tdevries@suse.de> 3634 3635 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls 3636 to correct locations. Remove xfail. 3637 36382018-07-26 Tom de Vries <tdevries@suse.de> 3639 3640 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with 3641 acc_wait. Move acc_async_test calls to correct locations. Remove 3642 xfail. 3643 36442018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org> 3645 Thomas Koenig <tkoenig@gcc.gnu.org> 3646 3647 PR fortran/25829 3648 * testsuite/libgomp.fortran/async_io_1.f90: New test. 3649 * testsuite/libgomp.fortran/async_io_2.f90: New test. 3650 * testsuite/libgomp.fortran/async_io_3.f90: New test. 3651 * testsuite/libgomp.fortran/async_io_4.f90: New test. 3652 * testsuite/libgomp.fortran/async_io_5.f90: New test. 3653 * testsuite/libgomp.fortran/async_io_6.f90: New test. 3654 * testsuite/libgomp.fortran/async_io_7.f90: New test. 3655 36562018-07-17 Jakub Jelinek <jakub@redhat.com> 3657 3658 PR middle-end/86542 3659 * testsuite/libgomp.c++/pr86542.C: New test. 3660 3661 PR middle-end/86539 3662 * testsuite/libgomp.c++/pr86539.C: New test. 3663 36642018-07-11 Jakub Jelinek <jakub@redhat.com> 3665 3666 PR c++/86443 3667 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable. 3668 (results): Make sure the variable is not inside declare target region. 3669 (qux): Remove unused function. 3670 36712018-07-10 Jakub Jelinek <jakub@redhat.com> 3672 3673 PR c++/86443 3674 * testsuite/libgomp.c++/for-15.C: New test. 3675 36762018-06-26 Jakub Jelinek <jakub@redhat.com> 3677 3678 PR c++/86291 3679 * testsuite/libgomp.c++/pr86291.C: New test. 3680 36812018-06-24 Gerald Pfeifer <gerald@pfeifer.com> 3682 3683 * libgomp.texi (Top): Move www.openmp.org to https. 3684 (Enabling OpenMP): Ditto. 3685 (omp_get_active_level): Ditto. 3686 (omp_get_ancestor_thread_num): Ditto. 3687 (omp_get_cancellation): Ditto. 3688 (omp_get_default_device): Ditto. 3689 (omp_get_dynamic): Ditto. 3690 (omp_get_level): Ditto. 3691 (omp_get_max_active_levels): Ditto. 3692 (omp_get_max_task_priority): Ditto. 3693 (omp_get_max_threads): Ditto. 3694 (omp_get_nested): Ditto. 3695 (omp_get_num_devices): Ditto. 3696 (omp_get_num_procs): Ditto. 3697 (omp_get_num_teams): Ditto. 3698 (omp_get_num_threads): Ditto. 3699 (omp_get_proc_bind): Ditto. 3700 (omp_get_schedule): Ditto. 3701 (omp_get_team_num): Ditto. 3702 (omp_get_team_size): Ditto. 3703 (omp_get_thread_limit): Ditto. 3704 (omp_get_thread_num): Ditto. 3705 (omp_in_parallel): Ditto. 3706 (omp_in_final): Ditto. 3707 (omp_is_initial_device): Ditto. 3708 (omp_set_default_device): Ditto. 3709 (omp_set_dynamic): Ditto. 3710 (omp_set_max_active_levels): Ditto. 3711 (omp_set_nested): Ditto. 3712 (omp_set_num_threads): Ditto. 3713 (omp_set_schedule): Ditto. 3714 (omp_init_lock): Ditto. 3715 (omp_set_lock): Ditto. 3716 (omp_test_lock): Ditto. 3717 (omp_unset_lock): Ditto. 3718 (omp_destroy_lock): Ditto. 3719 (omp_init_nest_lock): Ditto. 3720 (omp_set_nest_lock): Ditto. 3721 (omp_test_nest_lock): Ditto. 3722 (omp_unset_nest_lock): Ditto. 3723 (omp_destroy_nest_lock): Ditto. 3724 (omp_get_wtick): Ditto. 3725 (omp_get_wtime): Ditto. 3726 (OMP_CANCELLATION): Ditto. 3727 (OMP_DISPLAY_ENV): Ditto. 3728 (OMP_DEFAULT_DEVICE): Ditto. 3729 (OMP_DYNAMIC): Ditto. 3730 (OMP_MAX_ACTIVE_LEVELS): Ditto. 3731 (OMP_MAX_TASK_PRIORITY): Ditto. 3732 (OMP_NESTED): Ditto. 3733 (OMP_NUM_THREADS): Ditto. 3734 (OMP_PROC_BIND): Ditto. 3735 (OMP_PLACES): Ditto. 3736 (OMP_STACKSIZE): Ditto. 3737 (OMP_SCHEDULE): Ditto. 3738 (OMP_THREAD_LIMIT): Ditto. 3739 (OMP_WAIT_POLICY): Ditto. 3740 37412018-06-22 Cesar Philippidis <cesar@codesourcery.com> 3742 James Norris <jnorris@codesourcery.com> 3743 Julian Brown <julian@codesourcery.com> 3744 Thomas Schwinge <thomas@codesourcery.com> 3745 Tom de Vries <tom@codesourcery.com> 3746 3747 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2". 3748 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update. 3749 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise. 3750 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise. 3751 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise. 3752 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise. 3753 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file. 3754 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise. 3755 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise. 3756 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: 3757 Likewise. 3758 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c: 3759 Likewise. 3760 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c: 3761 Likewise. 3762 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: 3763 Likewise. 3764 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: 3765 Likewise. 3766 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c: 3767 Likewise. 3768 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c: 3769 Likewise. 3770 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c: 3771 Likewise. 3772 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c: 3773 Likewise. 3774 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c: 3775 Likewise. 3776 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c: 3777 Likewise. 3778 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c: 3779 Likewise. 3780 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c: 3781 Likewise. 3782 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c: 3783 Likewise. 3784 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c: 3785 Likewise. 3786 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c: 3787 Likewise. 3788 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c: 3789 Likewise. 3790 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c: 3791 Likewise. 3792 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c: 3793 Likewise. 3794 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c: 3795 Likewise. 3796 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c: 3797 Likewise. 3798 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c: 3799 Likewise. 3800 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c: 3801 Likewise. 3802 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c: 3803 Likewise. 3804 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c: 3805 Likewise. 3806 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c: 3807 Likewise. 3808 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c: 3809 Likewise. 3810 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise. 3811 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise. 3812 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise. 3813 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise. 3814 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise. 3815 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise. 3816 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise. 3817 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise. 3818 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90: 3819 Likewise. 3820 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90: 3821 Likewise. 3822 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise. 3823 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise. 3824 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: 3825 Likewise. 3826 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise. 3827 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise. 3828 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95: 3829 Likewise. 3830 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90: 3831 Likewise. 3832 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90: 3833 Likewise. 3834 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90: 3835 Likewise. 3836 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90: 3837 Likewise. 3838 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90: 3839 Likewise. 3840 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90: 3841 Likewise. 3842 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90: 3843 Likewise. 3844 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90: 3845 Likewise. 3846 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90: 3847 Likewise. 3848 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90: 3849 Likewise. 3850 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90: 3851 Likewise. 3852 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90: 3853 Likewise. 3854 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90: 3855 Likewise. 3856 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: 3857 Likewise. 3858 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise. 3859 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise. 3860 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise. 3861 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise. 3862 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise. 3863 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise. 3864 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise. 3865 38662018-06-20 Chung-Lin Tang <cltang@codesourcery.com> 3867 Thomas Schwinge <thomas@codesourcery.com> 3868 Cesar Philippidis <cesar@codesourcery.com> 3869 3870 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member. 3871 (gomp_acc_remove_pointer): Update declaration. 3872 (gomp_acc_declare_allocate): Declare. 3873 (gomp_remove_var): Declare. 3874 * libgomp.map (OACC_2.5): Define. 3875 * oacc-mem.c (acc_map_data): Update refcount. 3876 (acc_unmap_data): Likewise. 3877 (present_create_copy): Likewise. 3878 (acc_create): Add FLAG_PRESENT when calling present_create_copy. 3879 (acc_copyin): Likewise. 3880 (FLAG_FINALIZE): Define. 3881 (delete_copyout): Update dynamic refcounts, add support for FINALIZE. 3882 (acc_delete_finalize): New function. 3883 (acc_delete_finalize_async): New function. 3884 (acc_copyout_finalize): New function. 3885 (acc_copyout_finalize_async): New function. 3886 (gomp_acc_insert_pointer): Update refcounts. 3887 (gomp_acc_remove_pointer): Return if data is not present on the 3888 accelerator. 3889 * oacc-parallel.c (find_pset): Rename to find_pointer. 3890 (find_pointer): Add support for GOMP_MAP_POINTER. 3891 (handle_ftn_pointers): New function. 3892 (GOACC_parallel_keyed): Update refcounts of variables. 3893 (GOACC_enter_exit_data): Add support for finalized data mappings. 3894 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling 3895 of fortran arrays. 3896 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}. 3897 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support 3898 for GOMP_MAP_FORCE_FROM. 3899 * openacc.f90 (module openacc_internal): Add 3900 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and 3901 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for 3902 acc_copyout_finalize and acc_delete_finalize. 3903 (acc_copyout_finalize_32_h): New subroutine. 3904 (acc_copyout_finalize_64_h): New subroutine. 3905 (acc_copyout_finalize_array_h): New subroutine. 3906 (acc_delete_finalize_32_h): New subroutine. 3907 (acc_delete_finalize_64_h): New subroutine. 3908 (acc_delete_finalize_array_h): New subroutine. 3909 * openacc.h (acc_copyout_finalize): Declare. 3910 (acc_copyout_finalize_async): Declare. 3911 (acc_delete_finalize): Declare. 3912 (acc_delete_finalize_async): Declare. 3913 * openacc_lib.h (acc_copyout_finalize): New interface. 3914 (acc_delete_finalize): New interface. 3915 * target.c (gomp_map_vars): Update dynamic_refcount. 3916 (gomp_remove_var): New function. 3917 (gomp_unmap_vars): Use it. 3918 (gomp_unload_image_from_device): Likewise. 3919 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test 3920 case to utilize OpenACC 2.5 data clause semantics. 3921 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise. 3922 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise. 3923 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise. 3924 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise. 3925 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise. 3926 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise. 3927 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise. 3928 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise. 3929 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise. 3930 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise. 3931 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise. 3932 * testsuite/libgomp.oacc-fortran/data-5.f90: New test. 3933 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to 3934 utilize OpenACC 2.5 data clause semantics. 3935 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise. 3936 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise. 3937 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise. 3938 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise. 3939 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise. 3940 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise. 3941 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise. 3942 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise. 3943 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise. 3944 39452018-05-21 Janus Weil <janus@gcc.gnu.org> 3946 3947 PR fortran/85841 3948 PR testsuite/85865 3949 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy". 3950 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto. 3951 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto. 3952 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto. 3953 * testsuite/libgomp.fortran/task2.f90: Ditto. 3954 * testsuite/libgomp.fortran/vla1.f90: Ditto. 3955 * testsuite/libgomp.fortran/vla2.f90: Ditto. 3956 * testsuite/libgomp.fortran/vla3.f90: Ditto. 3957 * testsuite/libgomp.fortran/vla4.f90: Ditto. 3958 * testsuite/libgomp.fortran/vla5.f90: Ditto. 3959 * testsuite/libgomp.fortran/vla6.f90: Ditto. 3960 * testsuite/libgomp.fortran/vla8.f90: Ditto. 3961 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto. 3962 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto. 3963 39642018-05-18 Cesar Philippidis <cesar@codesourcery.com> 3965 3966 PR c++/85782 3967 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test. 3968 39692018-05-09 Tom de Vries <tom@codesourcery.com> 3970 3971 PR libgomp/82901 3972 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument 3973 to GOACC_enter_exit_data. 3974 39752018-05-09 Tom de Vries <tom@codesourcery.com> 3976 3977 PR libgomp/83792 3978 * oacc-int.h (async_valid_stream_id_p, async_valid_p) 3979 (async_synchronous_p): New function. 3980 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use 3981 async_valid_p. 3982 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use 3983 async_valid_stream_id_p. 3984 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p. 3985 * oacc-parallel.c (GOACC_parallel_keyed): Same. 3986 39872018-05-07 Tom de Vries <tom@codesourcery.com> 3988 3989 PR testsuite/85677 3990 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level 3991 include directory in ALWAYS_CFLAGS out of $blddir != "" condition. 3992 39932018-05-03 Tom de Vries <tom@codesourcery.com> 3994 3995 PR testsuite/85106 3996 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to 3997 extra_tool_flags if it contains an -foffload=-fdump-* flag. 3998 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp. 3999 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump. 4000 40012018-05-02 Tom de Vries <tom@codesourcery.com> 4002 4003 PR libgomp/85411 4004 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of 4005 GOMP_OPENACC_DIM ... 4006 * env.c (parse_gomp_openacc_dim): ... here. New function. 4007 (initialize_env): Call parse_gomp_openacc_dim. 4008 (goacc_default_dims): Define. 4009 * libgomp.h (goacc_default_dims): Declare. 4010 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function. 4011 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare. 4012 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add 4013 GOMP_PLUGIN_acc_default_dim. 4014 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test. 4015 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test. 4016 40172018-05-02 Tom de Vries <tom@codesourcery.com> 4018 4019 PR testsuite/83791 4020 * testsuite/libgomp.c++/udr-9.C: Update. 4021 * testsuite/libgomp.c++/atomic-16.C: Remove. 4022 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove. 4023 * testsuite/libgomp.c++/loop-13.C: Remove. 4024 * testsuite/libgomp.c++/loop-14.C: Remove. 4025 * testsuite/libgomp.c++/loop-15.C: Remove. 4026 * testsuite/libgomp.c++/monotonic-1.C: Remove. 4027 * testsuite/libgomp.c++/monotonic-2.C: Remove. 4028 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove. 4029 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove. 4030 * testsuite/libgomp.c++/ordered-1.C: Remove. 4031 * testsuite/libgomp.c++/pr45784.C: Remove. 4032 * testsuite/libgomp.c++/pr64824.C: Remove. 4033 * testsuite/libgomp.c++/pr64868.C: Remove. 4034 * testsuite/libgomp.c++/pr66199-1.C: Remove. 4035 * testsuite/libgomp.c++/pr66199-2.C: Remove. 4036 * testsuite/libgomp.c++/pr66199-3.C: Remove. 4037 * testsuite/libgomp.c++/pr66199-4.C: Remove. 4038 * testsuite/libgomp.c++/pr66199-5.C: Remove. 4039 * testsuite/libgomp.c++/pr66199-6.C: Remove. 4040 * testsuite/libgomp.c++/pr66199-7.C: Remove. 4041 * testsuite/libgomp.c++/pr66199-8.C: Remove. 4042 * testsuite/libgomp.c++/pr66199-9.C: Remove. 4043 * testsuite/libgomp.c++/pr69389.C: Remove. 4044 * testsuite/libgomp.c++/simd10.C: Remove. 4045 * testsuite/libgomp.c++/simd11.C: Remove. 4046 * testsuite/libgomp.c++/simd12.C: Remove. 4047 * testsuite/libgomp.c++/simd13.C: Remove. 4048 * testsuite/libgomp.c++/target-1.C: Remove. 4049 * testsuite/libgomp.c++/target-3.C: Remove. 4050 * testsuite/libgomp.c++/target-4.C: Remove. 4051 * testsuite/libgomp.c++/target-5.C: Remove. 4052 * testsuite/libgomp.c++/taskgroup-1.C: Remove. 4053 * testsuite/libgomp.c++/taskloop-1.C: Remove. 4054 * testsuite/libgomp.c++/taskloop-2.C: Remove. 4055 * testsuite/libgomp.c++/taskloop-3.C: Remove. 4056 * testsuite/libgomp.c++/taskloop-4.C: Remove. 4057 * testsuite/libgomp.c++/udr-9.C: Remove. 4058 * testsuite/libgomp.c++/for-10.C: Remove. 4059 * testsuite/libgomp.c++/for-11.C: Remove. 4060 * testsuite/libgomp.c++/for-12.C: Remove. 4061 * testsuite/libgomp.c++/for-13.C: Remove. 4062 * testsuite/libgomp.c++/for-14.C: Remove. 4063 * testsuite/libgomp.c++/for-9.C: Remove. 4064 * testsuite/libgomp.c/atomic-18.c: Move ... 4065 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here. 4066 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ... 4067 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here. 4068 * testsuite/libgomp.c/loop-13.c: Move ... 4069 * testsuite/libgomp.c-c++-common/loop-13.c: ... here. 4070 * testsuite/libgomp.c/loop-14.c: Move ... 4071 * testsuite/libgomp.c-c++-common/loop-14.c: ... here. 4072 * testsuite/libgomp.c/loop-15.c: Remove. 4073 * testsuite/libgomp.c-c++-common/loop-15.c: New test. 4074 * testsuite/libgomp.c/monotonic-1.c: Move ... 4075 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here. 4076 * testsuite/libgomp.c/monotonic-2.c: Move ... 4077 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here. 4078 * testsuite/libgomp.c/nonmonotonic-1.c: Move ... 4079 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here. 4080 * testsuite/libgomp.c/nonmonotonic-2.c: Move ... 4081 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here. 4082 * testsuite/libgomp.c/ordered-4.c: Move ... 4083 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here. 4084 * testsuite/libgomp.c/pr45784.c: Move ... 4085 * testsuite/libgomp.c-c++-common/pr45784.c: ... here. 4086 * testsuite/libgomp.c/pr64824.c: Move ... 4087 * testsuite/libgomp.c-c++-common/pr64824.c: ... here. 4088 * testsuite/libgomp.c/pr64868.c: Move ... 4089 * testsuite/libgomp.c-c++-common/pr64868.c: ... here. 4090 * testsuite/libgomp.c/pr66199-1.c: Move ... 4091 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here. 4092 * testsuite/libgomp.c/pr66199-2.c: Move ... 4093 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here. 4094 * testsuite/libgomp.c/pr66199-3.c: Move ... 4095 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here. 4096 * testsuite/libgomp.c/pr66199-4.c: Move ... 4097 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here. 4098 * testsuite/libgomp.c/pr66199-5.c: Move ... 4099 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here. 4100 * testsuite/libgomp.c/pr66199-6.c: Move ... 4101 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here. 4102 * testsuite/libgomp.c/pr66199-7.c: Move ... 4103 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here. 4104 * testsuite/libgomp.c/pr66199-8.c: Move ... 4105 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here. 4106 * testsuite/libgomp.c/pr66199-9.c: Move ... 4107 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here. 4108 * testsuite/libgomp.c/pr69389.c: Move ... 4109 * testsuite/libgomp.c-c++-common/pr69389.c: ... here. 4110 * testsuite/libgomp.c/simd-14.c: Move ... 4111 * testsuite/libgomp.c-c++-common/simd-14.c: ... here. 4112 * testsuite/libgomp.c/simd-15.c: Move ... 4113 * testsuite/libgomp.c-c++-common/simd-15.c: ... here. 4114 * testsuite/libgomp.c/simd-16.c: Move ... 4115 * testsuite/libgomp.c-c++-common/simd-16.c: ... here. 4116 * testsuite/libgomp.c/simd-17.c: Move ... 4117 * testsuite/libgomp.c-c++-common/simd-17.c: ... here. 4118 * testsuite/libgomp.c/target-1.c: Move ... 4119 * testsuite/libgomp.c-c++-common/target-1.c: ... here. 4120 * testsuite/libgomp.c/target-10.c: Move ... 4121 * testsuite/libgomp.c-c++-common/target-10.c: ... here. 4122 * testsuite/libgomp.c/target-13.c: Move ... 4123 * testsuite/libgomp.c-c++-common/target-13.c: ... here. 4124 * testsuite/libgomp.c/target-2.c: Move ... 4125 * testsuite/libgomp.c-c++-common/target-2.c: ... here. 4126 * testsuite/libgomp.c/taskgroup-1.c: Move ... 4127 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here. 4128 * testsuite/libgomp.c/taskloop-1.c: Move ... 4129 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here. 4130 * testsuite/libgomp.c/taskloop-2.c: Move ... 4131 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here. 4132 * testsuite/libgomp.c/taskloop-3.c: Move ... 4133 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here. 4134 * testsuite/libgomp.c/taskloop-4.c: Move ... 4135 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here. 4136 * testsuite/libgomp.c/udr-1.c: Move ... 4137 * testsuite/libgomp.c-c++-common/udr-1.c: ... here. 4138 * testsuite/libgomp.c/for-1.c: Move ... 4139 * testsuite/libgomp.c-c++-common/for-1.c: ... here. 4140 * testsuite/libgomp.c/for-1.h: Move ... 4141 * testsuite/libgomp.c-c++-common/for-1.h: ... here. 4142 * testsuite/libgomp.c/for-2.c: Move ... 4143 * testsuite/libgomp.c-c++-common/for-2.c: ... here. 4144 * testsuite/libgomp.c/for-2.h: Move ... 4145 * testsuite/libgomp.c-c++-common/for-2.h: ... here. 4146 * testsuite/libgomp.c/for-3.c: Move ... 4147 * testsuite/libgomp.c-c++-common/for-3.c: ... here. 4148 * testsuite/libgomp.c/for-4.c: Move ... 4149 * testsuite/libgomp.c-c++-common/for-4.c: ... here. 4150 * testsuite/libgomp.c/for-5.c: Move ... 4151 * testsuite/libgomp.c-c++-common/for-5.c: ... here. 4152 * testsuite/libgomp.c/for-6.c: Move ... 4153 * testsuite/libgomp.c-c++-common/for-6.c: ... here. 4154 41552018-05-02 Tom de Vries <tom@codesourcery.com> 4156 4157 PR libgomp/82428 4158 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use 4159 __builtin_goacc_parlevel_{id,size}. 4160 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same. 4161 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same. 4162 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same. 4163 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same. 4164 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same. 4165 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same. 4166 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same. 4167 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same. 4168 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same. 4169 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same. 4170 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same. 4171 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same. 4172 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same. 4173 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same. 4174 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same. 4175 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same. 4176 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same. 4177 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same. 4178 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same. 4179 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same. 4180 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same. 4181 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same. 4182 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same. 4183 41842018-05-02 Tom de Vries <tom@codesourcery.com> 4185 4186 PR testsuite/85106 4187 * testsuite/lib/libgomp.exp: Include scanltranstree.exp. 4188 41892018-05-02 Tom de Vries <tom@codesourcery.com> 4190 4191 PR testsuite/85106 4192 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp. 4193 41942018-04-29 Julian Brown <julian@codesourcery.com> 4195 Tom de Vries <tom@codesourcery.com> 4196 4197 PR testsuite/85527 4198 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow 4199 arbitrary order for iterations of atomic subtract check. 4200 42012018-04-28 Tom de Vries <tom@codesourcery.com> 4202 4203 PR testsuite/85527 4204 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store 4205 atomic capture results obtained in parallel loop to an array, instead of 4206 to a scalar. 4207 42082018-04-26 Tom de Vries <tom@codesourcery.com> 4209 4210 PR libgomp/84020 4211 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL. 4212 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define. 4213 (process_GOMP_NVPTX_JIT): New function. 4214 (link_ptx): Use process_GOMP_NVPTX_JIT. 4215 42162018-04-26 Richard Biener <rguenther@suse.de> 4217 Tom de Vries <tom@codesourcery.com> 4218 4219 PR lto/85422 4220 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test. 4221 42222018-04-26 Tom de Vries <tom@codesourcery.com> 4223 4224 PR target/85519 4225 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce 4226 recursion depth from 25 to 23. 4227 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same. 4228 42292018-04-24 H.J. Lu <hongjiu.lu@intel.com> 4230 4231 * configure: Regenerated. 4232 42332018-04-20 Nathan Sidwell <nathan@codesourcery.com> 4234 Tom de Vries <tom@codesourcery.com> 4235 4236 PR target/85445 4237 * testsuite/libgomp.oacc-c++/ref-1.C: New. 4238 42392018-04-19 Thomas Schwinge <thomas@codesourcery.com> 4240 4241 PR libgomp/85463 4242 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file. 4243 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise. 4244 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise. 4245 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise. 4246 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise. 4247 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise. 4248 4249 PR libfortran/85166 4250 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call 4251 abort". 4252 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise. 4253 42542018-04-19 Jakub Jelinek <jakub@redhat.com> 4255 4256 * configure: Regenerated. 4257 42582018-04-18 David Malcolm <dmalcolm@redhat.com> 4259 4260 PR jit/85384 4261 * configure: Regenerate. 4262 42632018-04-16 Cesar Philippidis <cesar@codesourcery.com> 4264 Tom de Vries <tom@codesourcery.com> 4265 4266 PR middle-end/84955 4267 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test. 4268 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test. 4269 42702018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org> 4271 4272 PR fortran/83064 4273 PR testsuite/85346 4274 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified 4275 test from gfortran.dg to here. 4276 42772018-04-12 Cesar Philippidis <cesar@codesourcery.com> 4278 4279 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346. 4280 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise. 4281 42822018-04-12 Cesar Philippidis <cesar@codesourcery.com> 4283 4284 PR middle-end/84955 4285 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test. 4286 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test. 4287 42882018-04-05 Tom de Vries <tom@codesourcery.com> 4289 4290 PR target/85204 4291 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test. 4292 42932018-03-26 Tom de Vries <tom@codesourcery.com> 4294 4295 PR tree-optimization/85063 4296 * testsuite/libgomp.c/switch-conversion-2.c: New test. 4297 * testsuite/libgomp.c/switch-conversion.c: New test. 4298 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test. 4299 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test. 4300 43012018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org> 4302 4303 PR fortran/84381 4304 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard 4305 call abort by STOP n. 4306 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise. 4307 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise. 4308 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise. 4309 * testsuite/libgomp.fortran/allocatable1.f90: Likewise. 4310 * testsuite/libgomp.fortran/allocatable10.f90: Likewise. 4311 * testsuite/libgomp.fortran/allocatable11.f90: Likewise. 4312 * testsuite/libgomp.fortran/allocatable12.f90: Likewise. 4313 * testsuite/libgomp.fortran/allocatable2.f90: Likewise. 4314 * testsuite/libgomp.fortran/allocatable3.f90: Likewise. 4315 * testsuite/libgomp.fortran/allocatable4.f90: Likewise. 4316 * testsuite/libgomp.fortran/allocatable5.f90: Likewise. 4317 * testsuite/libgomp.fortran/allocatable6.f90: Likewise. 4318 * testsuite/libgomp.fortran/allocatable7.f90: Likewise. 4319 * testsuite/libgomp.fortran/allocatable8.f90: Likewise. 4320 * testsuite/libgomp.fortran/allocatable9.f90: Likewise. 4321 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. 4322 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise. 4323 * testsuite/libgomp.fortran/associate1.f90: Likewise. 4324 * testsuite/libgomp.fortran/associate2.f90: Likewise. 4325 * testsuite/libgomp.fortran/associate3.f90: Likewise. 4326 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise. 4327 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise. 4328 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise. 4329 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise. 4330 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise. 4331 * testsuite/libgomp.fortran/character1.f90: Likewise. 4332 * testsuite/libgomp.fortran/character2.f90: Likewise. 4333 * testsuite/libgomp.fortran/collapse1.f90: Likewise. 4334 * testsuite/libgomp.fortran/collapse2.f90: Likewise. 4335 * testsuite/libgomp.fortran/collapse3.f90: Likewise. 4336 * testsuite/libgomp.fortran/collapse4.f90: Likewise. 4337 * testsuite/libgomp.fortran/crayptr1.f90: Likewise. 4338 * testsuite/libgomp.fortran/crayptr2.f90: Likewise. 4339 * testsuite/libgomp.fortran/crayptr3.f90: Likewise. 4340 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise. 4341 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise. 4342 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise. 4343 * testsuite/libgomp.fortran/depend-1.f90: Likewise. 4344 * testsuite/libgomp.fortran/depend-2.f90: Likewise. 4345 * testsuite/libgomp.fortran/depend-3.f90: Likewise. 4346 * testsuite/libgomp.fortran/do1.f90: Likewise. 4347 * testsuite/libgomp.fortran/do2.f90: Likewise. 4348 * testsuite/libgomp.fortran/doacross1.f90: Likewise. 4349 * testsuite/libgomp.fortran/doacross2.f90: Likewise. 4350 * testsuite/libgomp.fortran/doacross3.f90: Likewise. 4351 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise. 4352 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise. 4353 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise. 4354 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise. 4355 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise. 4356 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise. 4357 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise. 4358 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise. 4359 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise. 4360 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise. 4361 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise. 4362 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise. 4363 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise. 4364 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise. 4365 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise. 4366 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise. 4367 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise. 4368 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise. 4369 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise. 4370 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise. 4371 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise. 4372 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise. 4373 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise. 4374 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise. 4375 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise. 4376 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise. 4377 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise. 4378 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise. 4379 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise. 4380 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise. 4381 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise. 4382 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise. 4383 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise. 4384 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise. 4385 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise. 4386 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise. 4387 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise. 4388 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise. 4389 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise. 4390 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise. 4391 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise. 4392 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise. 4393 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise. 4394 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise. 4395 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise. 4396 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise. 4397 * testsuite/libgomp.fortran/lib1.f90: Likewise. 4398 * testsuite/libgomp.fortran/lib2.f: Likewise. 4399 * testsuite/libgomp.fortran/lib3.f: Likewise. 4400 * testsuite/libgomp.fortran/lib4.f90: Likewise. 4401 * testsuite/libgomp.fortran/lock-1.f90: Likewise. 4402 * testsuite/libgomp.fortran/lock-2.f90: Likewise. 4403 * testsuite/libgomp.fortran/nested1.f90: Likewise. 4404 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise. 4405 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise. 4406 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise. 4407 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise. 4408 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise. 4409 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise. 4410 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise. 4411 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise. 4412 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise. 4413 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise. 4414 * testsuite/libgomp.fortran/omp_cond1.f: Likewise. 4415 * testsuite/libgomp.fortran/omp_cond2.f: Likewise. 4416 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise. 4417 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise. 4418 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise. 4419 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise. 4420 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise. 4421 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise. 4422 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise. 4423 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise. 4424 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise. 4425 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise. 4426 * testsuite/libgomp.fortran/pointer1.f90: Likewise. 4427 * testsuite/libgomp.fortran/pointer2.f90: Likewise. 4428 * testsuite/libgomp.fortran/pr25162.f: Likewise. 4429 * testsuite/libgomp.fortran/pr25219.f90: Likewise. 4430 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise. 4431 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise. 4432 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise. 4433 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise. 4434 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise. 4435 * testsuite/libgomp.fortran/pr28390.f: Likewise. 4436 * testsuite/libgomp.fortran/pr29629.f90: Likewise. 4437 * testsuite/libgomp.fortran/pr32550.f90: Likewise. 4438 * testsuite/libgomp.fortran/pr33880.f90: Likewise. 4439 * testsuite/libgomp.fortran/pr34020.f90: Likewise. 4440 * testsuite/libgomp.fortran/pr35130.f90: Likewise. 4441 * testsuite/libgomp.fortran/pr42162.f90: Likewise. 4442 * testsuite/libgomp.fortran/pr46753.f90: Likewise. 4443 * testsuite/libgomp.fortran/pr48894.f90: Likewise. 4444 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise. 4445 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise. 4446 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise. 4447 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise. 4448 * testsuite/libgomp.fortran/pr65597.f90: Likewise. 4449 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise. 4450 * testsuite/libgomp.fortran/pr71014.f90: Likewise. 4451 * testsuite/libgomp.fortran/pr81304.f90: Likewise. 4452 * testsuite/libgomp.fortran/pr81841.f90: Likewise. 4453 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise. 4454 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise. 4455 * testsuite/libgomp.fortran/procptr1.f90: Likewise. 4456 * testsuite/libgomp.fortran/recursion1.f90: Likewise. 4457 * testsuite/libgomp.fortran/reduction1.f90: Likewise. 4458 * testsuite/libgomp.fortran/reduction2.f90: Likewise. 4459 * testsuite/libgomp.fortran/reduction3.f90: Likewise. 4460 * testsuite/libgomp.fortran/reduction4.f90: Likewise. 4461 * testsuite/libgomp.fortran/reduction5.f90: Likewise. 4462 * testsuite/libgomp.fortran/reduction6.f90: Likewise. 4463 * testsuite/libgomp.fortran/reference1.f90: Likewise. 4464 * testsuite/libgomp.fortran/reference2.f90: Likewise. 4465 * testsuite/libgomp.fortran/retval1.f90: Likewise. 4466 * testsuite/libgomp.fortran/retval2.f90: Likewise. 4467 * testsuite/libgomp.fortran/sharing1.f90: Likewise. 4468 * testsuite/libgomp.fortran/sharing2.f90: Likewise. 4469 * testsuite/libgomp.fortran/simd1.f90: Likewise. 4470 * testsuite/libgomp.fortran/simd2.f90: Likewise. 4471 * testsuite/libgomp.fortran/simd3.f90: Likewise. 4472 * testsuite/libgomp.fortran/simd4.f90: Likewise. 4473 * testsuite/libgomp.fortran/simd5.f90: Likewise. 4474 * testsuite/libgomp.fortran/simd6.f90: Likewise. 4475 * testsuite/libgomp.fortran/simd7.f90: Likewise. 4476 * testsuite/libgomp.fortran/stack.f90: Likewise. 4477 * testsuite/libgomp.fortran/strassen.f90: Likewise. 4478 * testsuite/libgomp.fortran/tabs1.f90: Likewise. 4479 * testsuite/libgomp.fortran/tabs2.f: Likewise. 4480 * testsuite/libgomp.fortran/target1.f90: Likewise. 4481 * testsuite/libgomp.fortran/target2.f90: Likewise. 4482 * testsuite/libgomp.fortran/target3.f90: Likewise. 4483 * testsuite/libgomp.fortran/target4.f90: Likewise. 4484 * testsuite/libgomp.fortran/target5.f90: Likewise. 4485 * testsuite/libgomp.fortran/target6.f90: Likewise. 4486 * testsuite/libgomp.fortran/target7.f90: Likewise. 4487 * testsuite/libgomp.fortran/target8.f90: Likewise. 4488 * testsuite/libgomp.fortran/task1.f90: Likewise. 4489 * testsuite/libgomp.fortran/task2.f90: Likewise. 4490 * testsuite/libgomp.fortran/task3.f90: Likewise. 4491 * testsuite/libgomp.fortran/task4.f90: Likewise. 4492 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise. 4493 * testsuite/libgomp.fortran/taskloop1.f90: Likewise. 4494 * testsuite/libgomp.fortran/taskloop2.f90: Likewise. 4495 * testsuite/libgomp.fortran/taskloop3.f90: Likewise. 4496 * testsuite/libgomp.fortran/taskloop4.f90: Likewise. 4497 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. 4498 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise. 4499 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise. 4500 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise. 4501 * testsuite/libgomp.fortran/udr1.f90: Likewise. 4502 * testsuite/libgomp.fortran/udr10.f90: Likewise. 4503 * testsuite/libgomp.fortran/udr11.f90: Likewise. 4504 * testsuite/libgomp.fortran/udr12.f90: Likewise. 4505 * testsuite/libgomp.fortran/udr13.f90: Likewise. 4506 * testsuite/libgomp.fortran/udr14.f90: Likewise. 4507 * testsuite/libgomp.fortran/udr15.f90: Likewise. 4508 * testsuite/libgomp.fortran/udr2.f90: Likewise. 4509 * testsuite/libgomp.fortran/udr3.f90: Likewise. 4510 * testsuite/libgomp.fortran/udr4.f90: Likewise. 4511 * testsuite/libgomp.fortran/udr5.f90: Likewise. 4512 * testsuite/libgomp.fortran/udr6.f90: Likewise. 4513 * testsuite/libgomp.fortran/udr7.f90: Likewise. 4514 * testsuite/libgomp.fortran/udr8.f90: Likewise. 4515 * testsuite/libgomp.fortran/udr9.f90: Likewise. 4516 * testsuite/libgomp.fortran/vla1.f90: Likewise. 4517 * testsuite/libgomp.fortran/vla2.f90: Likewise. 4518 * testsuite/libgomp.fortran/vla3.f90: Likewise. 4519 * testsuite/libgomp.fortran/vla4.f90: Likewise. 4520 * testsuite/libgomp.fortran/vla5.f90: Likewise. 4521 * testsuite/libgomp.fortran/vla6.f90: Likewise. 4522 * testsuite/libgomp.fortran/vla7.f90: Likewise. 4523 * testsuite/libgomp.fortran/vla8.f90: Likewise. 4524 * testsuite/libgomp.fortran/workshare1.f90: Likewise. 4525 * testsuite/libgomp.fortran/workshare2.f90: Likewise. 4526 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise. 4527 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise. 4528 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise. 4529 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise. 4530 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise. 4531 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise. 4532 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise. 4533 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise. 4534 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise. 4535 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise. 4536 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise. 4537 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise. 4538 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise. 4539 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise. 4540 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise. 4541 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise. 4542 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise. 4543 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise. 4544 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise. 4545 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise. 4546 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise. 4547 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise. 4548 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise. 4549 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise. 4550 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise. 4551 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise. 4552 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise. 4553 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise. 4554 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise. 4555 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise. 4556 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise. 4557 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise. 4558 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise. 4559 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise. 4560 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise. 4561 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise. 4562 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise. 4563 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise. 4564 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise. 4565 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise. 4566 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise. 4567 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise. 4568 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise. 4569 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise. 4570 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise. 4571 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise. 4572 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise. 4573 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise. 4574 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise. 4575 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise. 4576 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise. 4577 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise. 4578 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise. 4579 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise. 4580 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise. 4581 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise. 4582 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise. 4583 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise. 4584 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise. 4585 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise. 4586 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise. 4587 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise. 4588 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise. 4589 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise. 4590 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise. 4591 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise. 4592 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise. 4593 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise. 4594 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise. 4595 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise. 4596 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise. 4597 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise. 4598 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise. 4599 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise. 4600 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise. 4601 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise. 4602 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise. 4603 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise. 4604 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise. 4605 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. 4606 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise. 4607 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise. 4608 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise. 4609 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise. 4610 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise. 4611 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise. 4612 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise. 4613 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise. 4614 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise. 4615 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise. 4616 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise. 4617 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise. 4618 46192018-03-20 Richard Biener <rguenther@suse.de> 4620 4621 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one 4622 parallelizable loop. 4623 46242018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com> 4625 4626 PR target/84148 4627 * configure: Regenerate. 4628 46292018-02-16 Jakub Jelinek <jakub@redhat.com> 4630 4631 PR fortran/84418 4632 * libgomp.fortran/pr84418-1.f90: New test. 4633 * libgomp.fortran/pr84418-2.f90: New test. 4634 46352018-02-14 Jakub Jelinek <jakub@redhat.com> 4636 4637 PR fortran/84313 4638 * testsuite/libgomp.fortran/threadprivate4.f90: Add 4639 -std=f2003 -fall-intrinsics into dg-additional-options. 4640 46412018-02-08 Martin Jambor <mjambor@suse.cz> 4642 4643 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target 4644 clonable. 4645 46462018-02-08 Martin Jambor <mjambor@suse.cz> 4647 4648 * testsuite/libgomp.hsa.c/staticvar.c: New test. 4649 46502018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 4651 4652 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort) 4653 [__cplusplus]: Declare extern "C". 4654 46552018-02-07 Tom de Vries <tom@codesourcery.com> 4656 4657 PR libgomp/84217 4658 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test. 4659 46602018-01-29 Christoph Spiel <cspiel@freenet.de> 4661 Jakub Jelinek <jakub@redhat.com> 4662 4663 PR libgomp/84096 4664 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t 4665 instead of omp_lock_t. 4666 46672018-01-25 Tom de Vries <tom@codesourcery.com> 4668 4669 PR target/84028 4670 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test. 4671 46722018-01-24 Tom de Vries <tom@codesourcery.com> 4673 4674 PR target/83589 4675 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test. 4676 46772018-01-24 Tom de Vries <tom@codesourcery.com> 4678 4679 PR target/81352 4680 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test. 4681 46822018-01-19 Tom de Vries <tom@codesourcery.com> 4683 Cesar Philippidis <cesar@codesourcery.com> 4684 4685 PR target/83920 4686 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test. 4687 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test. 4688 46892018-01-03 Jakub Jelinek <jakub@redhat.com> 4690 4691 Update copyright years. 4692 4693 * libgomp.texi: Bump @copying's copyright year. 4694 46952017-12-30 Tom de Vries <tom@codesourcery.com> 4696 4697 PR libgomp/83046 4698 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test. 4699 * testsuite/libgomp.c-c++-common/pr83046.c: New test. 4700 47012017-12-27 Tom de Vries <tom@codesourcery.com> 4702 4703 PR c++/83046 4704 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static) 4705 (test_nonstatic): Fix return type to workaround PR83046. 4706 47072017-12-05 Jakub Jelinek <jakub@redhat.com> 4708 4709 PR testsuite/83281 4710 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use 4711 j suffix instead of i. 4712 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main): 4713 Likewise. 4714 47152017-12-01 Cesar Philippidis <cesar@codesourcery.com> 4716 4717 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing 4718 call to acc_wait (1). 4719 47202017-11-24 Jakub Jelinek <jakub@redhat.com> 4721 4722 PR fortran/81304 4723 * testsuite/libgomp.fortran/pr81304.f90: New test. 4724 47252017-11-23 Jakub Jelinek <jakub@redhat.com> 4726 4727 PR fortran/81841 4728 * libgomp.fortran/pr81841.f90: New test. 4729 47302017-11-22 Jakub Jelinek <jakub@redhat.com> 4731 4732 PR libgomp/83106 4733 * target.c (gomp_target_init): Compute lengths just once and 4734 use them in both malloc size and subsequent copying. 4735 47362017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com> 4737 4738 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS. 4739 * acinclude.m4: Add cet.m4. 4740 * configure: Regenerate. 4741 * Makefile.in: Likewise. 4742 * testsuite/Makefile.in: Likewise. 4743 47442017-11-15 Tom de Vries <tom@codesourcery.com> 4745 4746 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied 4747 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int. 4748 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied 4749 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int. 4750 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied 4751 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int. 4752 47532017-11-14 Tom de Vries <tom@codesourcery.com> 4754 4755 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for 4756 non-nvidia devices. 4757 47582017-11-07 Jakub Jelinek <jakub@redhat.com> 4759 4760 PR c++/82835 4761 * testsuite/libgomp.c++/pr82835.C: New test. 4762 47632017-11-06 Martin Liska <mliska@suse.cz> 4764 4765 * testsuite/libgomp.c++/loop-2.C: Return a value 4766 for functions with non-void return type, or change type to void, 4767 or add -Wno-return-type for test. 4768 * testsuite/libgomp.c++/loop-4.C: Likewise. 4769 * testsuite/libgomp.c++/parallel-1.C: Likewise. 4770 * testsuite/libgomp.c++/shared-1.C: Likewise. 4771 * testsuite/libgomp.c++/single-1.C: Likewise. 4772 * testsuite/libgomp.c++/single-2.C: Likewise. 4773 47742017-10-31 Tom de Vries <tom@codesourcery.com> 4775 4776 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after 4777 "do {} while (false)". 4778 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon 4779 after HSA_DEBUG call. 4780 47812017-10-28 Jakub Jelinek <jakub@redhat.com> 4782 4783 * target.c (struct gomp_coalesce_buf): New type. 4784 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define. 4785 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions. 4786 (gomp_copy_host2dev): Add CBUF argument, if copying into 4787 the cached ranges, memcpy into buffer instead of copying 4788 into device. 4789 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing): 4790 Add CBUF argument, pass it through to other calls. 4791 (gomp_map_vars): Aggregate copies from host to device if small enough 4792 and with small enough gaps in between into memcpy into a buffer and 4793 fewer host to device copies from the buffer. 4794 (gomp_update): Adjust gomp_copy_host2dev caller. 4795 47962017-10-17 Thomas Schwinge <thomas@codesourcery.com> 4797 4798 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do 4799 run" directive. 4800 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise. 4801 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise. 4802 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise. 4803 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise. 4804 48052017-10-16 Tom de Vries <tom@codesourcery.com> 4806 4807 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require 4808 openacc_nvidia_accel_selected. 4809 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same. 4810 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same. 4811 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same. 4812 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same 4813 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same. 4814 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require 4815 openacc_nvidia_accel_selected. Skip for shared memory device. 4816 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same. 4817 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same. 4818 48192017-10-09 Martin Jambor <mjambor@suse.cz> 4820 4821 PR hsa/82416 4822 * testsuite/libgomp.hsa.c/pr82416.c: New test. 4823 48242017-10-07 Tom de Vries <tom@codesourcery.com> 4825 4826 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate): 4827 Remove acc_device_nvidia references. 4828 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction): 4829 Same. 4830 48312017-10-05 Tom de Vries <tom@codesourcery.com> 4832 4833 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove 4834 vector_length(32) clause from acc parallel directive. 4835 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same. 4836 48372017-10-04 Tom de Vries <tom@codesourcery.com> 4838 4839 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c 4840 (main): Reduce sum of arr elements. Assert that hres is exactly 4841 representable in 32-bit floating point. 4842 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c 4843 (main): Reduce sum of arr elements. Assert that hres and hmres are 4844 exactly representable in 32-bit floating point. 4845 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same. 4846 48472017-09-28 Tom de Vries <tom@codesourcery.com> 4848 4849 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option 4850 setting. 4851 * testsuite/libgomp.c++/pr69393.C: Same. 4852 * testsuite/libgomp.c++/taskloop-1.C: Same. 4853 * testsuite/libgomp.c++/taskloop-3.C: Same. 4854 * testsuite/libgomp.c++/taskloop-4.C: Same. 4855 * testsuite/libgomp.c/for-4.c: Same. 4856 * testsuite/libgomp.c/pr66199-3.c: Same. 4857 * testsuite/libgomp.c/pr66199-4.c: Same. 4858 * testsuite/libgomp.c/pr66199-6.c: Same. 4859 * testsuite/libgomp.c/taskloop-1.c: Same. 4860 * testsuite/libgomp.c/taskloop-3.c: Same. 4861 * testsuite/libgomp.c/taskloop-4.c: Same. 4862 * testsuite/libgomp.fortran/aligned1.f03: Same. 4863 * testsuite/libgomp.fortran/condinc1.f: Same. 4864 * testsuite/libgomp.fortran/condinc3.f90: Same. 4865 * testsuite/libgomp.fortran/crayptr1.f90: Same. 4866 * testsuite/libgomp.fortran/crayptr2.f90: Same. 4867 * testsuite/libgomp.fortran/crayptr3.f90: Same. 4868 * testsuite/libgomp.fortran/omp_cond1.f: Same. 4869 * testsuite/libgomp.fortran/omp_cond3.F90: Same. 4870 * testsuite/libgomp.fortran/pr66199-1.f90: Same. 4871 * testsuite/libgomp.fortran/pr66199-2.f90: Same. 4872 * testsuite/libgomp.fortran/recursion1.f90: Same. 4873 * testsuite/libgomp.fortran/target2.f90: Same. 4874 * testsuite/libgomp.fortran/target5.f90: Same. 4875 * testsuite/libgomp.fortran/task3.f90: Same. 4876 48772017-09-28 Tom de Vries <tom@codesourcery.com> 4878 4879 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove 4880 vector_length(32) clause from acc parallel directive. 4881 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same. 4882 48832017-09-27 Tom de Vries <tom@codesourcery.com> 4884 4885 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main): 4886 Remove acc_device_nvidia references. 4887 48882017-09-16 Tom de Vries <tom@codesourcery.com> 4889 4890 PR c/81875 4891 * testsuite/libgomp.c-c++-common/pr81875.c: New test. 4892 48932017-09-14 Tom de Vries <tom@codesourcery.com> 4894 4895 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove. 4896 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ... 4897 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here. 4898 * testsuite/libgomp.c/c.exp: Include test-cases from 4899 libgomp.c-c++-common. 4900 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c 4901 files. 4902 49032017-09-14 Jakub Jelinek <jakub@redhat.com> 4904 4905 PR c++/81314 4906 * testsuite/libgomp.c++/pr81314.C: New test. 4907 49082017-09-03 Gerald Pfeifer <gerald@pfeifer.com> 4909 4910 * libgomp.texi (Top): www.openacc.org now uses https. 4911 (Enabling OpenACC): Ditto. 4912 (acc_get_num_devices): Ditto. 4913 (acc_set_device_type): Ditto. 4914 (acc_get_device_type): Ditto. 4915 (acc_set_device_num): Ditto. 4916 (acc_get_device_num): Ditto. 4917 (acc_async_test): Ditto. 4918 (acc_async_test_all): Ditto. 4919 (acc_wait): Ditto. 4920 (acc_wait_all): Ditto. 4921 (acc_wait_all_async): Ditto. 4922 (acc_wait_async): Ditto. 4923 (acc_init): Ditto. 4924 (acc_shutdown): Ditto. 4925 (acc_on_device): Ditto. 4926 (acc_malloc): Ditto. 4927 (acc_free): Ditto. 4928 (acc_copyin): Ditto. 4929 (acc_present_or_copyin): Ditto. 4930 (acc_create): Ditto. 4931 (acc_present_or_create): Ditto. 4932 (acc_copyout): Ditto. 4933 (acc_delete): Ditto. 4934 (acc_update_device): Ditto. 4935 (acc_update_self): Ditto. 4936 (acc_map_data): Ditto. 4937 (acc_unmap_data): Ditto. 4938 (acc_deviceptr): Ditto. 4939 (acc_hostptr): Ditto. 4940 (acc_is_present): Ditto. 4941 (acc_memcpy_to_device): Ditto. 4942 (acc_memcpy_from_device): Ditto. 4943 (acc_get_current_cuda_device): Ditto. 4944 (acc_get_current_cuda_context): Ditto. 4945 (acc_get_cuda_stream): Ditto. 4946 (acc_set_cuda_stream): Ditto. 4947 (ACC_DEVICE_TYPE): Ditto. 4948 (ACC_DEVICE_NUM): Ditto. 4949 (OpenACC Library Interoperability): Ditto. 4950 49512017-08-09 Jakub Jelinek <jakub@redhat.com> 4952 4953 PR c/81687 4954 * testsuite/libgomp.c/pr81687-1.c: New test. 4955 * testsuite/libgomp.c/pr81687-2.c: New test. 4956 49572017-08-07 Jakub Jelinek <jakub@redhat.com> 4958 4959 PR c/69389 4960 * testsuite/libgomp.c/pr69389.c: New test. 4961 * testsuite/libgomp.c++/pr69389.C: New test. 4962 49632017-08-07 Tom de Vries <tom@codesourcery.com> 4964 4965 PR middle-end/78266 4966 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test. 4967 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail. 4968 49692017-07-27 Jakub Jelinek <jakub@redhat.com> 4970 4971 PR c/45784 4972 * testsuite/libgomp.c/pr45784.c: New test. 4973 * testsuite/libgomp.c++/pr45784.C: New test. 4974 49752017-07-19 Tom de Vries <tom@codesourcery.com> 4976 4977 * testsuite/libgomp.oacc-c/vec.c: New test. 4978 49792017-07-03 Tom de Vries <tom@codesourcery.com> 4980 4981 * plugin/plugin-hsa.c: Fix secure_getenv.h include. 4982 49832017-06-27 Tom de Vries <tom@codesourcery.com> 4984 4985 * plugin/plugin-nvptx.c (notify_var): New function. 4986 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM. 4987 49882017-06-27 Tom de Vries <tom@codesourcery.com> 4989 4990 * env.c (parse_unsigned_long_1): Factor out of ... 4991 (parse_unsigned_long): ... here. 4992 (parse_int_1): Factor out of ... 4993 (parse_int): ... here. 4994 (parse_int_secure): New function. 4995 (initialize_env): Use parse_int_secure for GOMP_DEBUG. 4996 * secure_getenv.h: Factor out of ... 4997 * plugin/plugin-hsa.c: ... here. 4998 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test. 4999 50002017-06-21 Jakub Jelinek <jakub@redhat.com> 5001 5002 PR c++/81130 5003 * testsuite/libgomp.c++/pr81130.C: New test. 5004 50052017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 5006 5007 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if 5008 default args. 5009 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove 5010 dg-xfail-run-if default args. 5011 50122017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de> 5013 5014 * testsuite/libgomp.c/pr39591-2.c: Fix test case. 5015 * testsuite/libgomp.c/pr39591-3.c: Likewise. 5016 50172017-05-30 Jakub Jelinek <jakub@redhat.com> 5018 5019 PR libgomp/80822 5020 * config/linux/affinity.c (gomp_affinity_init_level_1): New function. 5021 (gomp_affinity_init_level): Use it. Always analyze the core and thread 5022 sibling lists, depending on level just pick up what CPUs to put 5023 together into a place vs. whether add multiple ordered places. 5024 50252017-05-24 Thomas Schwinge <thomas@codesourcery.com> 5026 5027 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes. 5028 * libgomp.map (OACC_2.0.1): Add these. 5029 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases 5030 for "acc_wait", and "acc_wait_all", respectively. 5031 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces 5032 for "acc_wait", and "acc_wait_all", respectively. 5033 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise. 5034 * libgomp.texi (acc_wait, acc_wait_all): Update. 5035 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update. 5036 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file. 5037 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise. 5038 5039 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to 5040 acc_present_or_copyin and acc_present_or_create procedures, 5041 respectively. 5042 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and 5043 generally different variants of OpenACC Runtime Library functions. 5044 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise. 5045 5046 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file. 5047 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise. 5048 5049 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead 5050 of preprocessor definitions. 5051 * libgomp.h (strong_alias): Guard by "#ifdef 5052 HAVE_ATTRIBUTE_ALIAS". 5053 * oacc-mem.c: Provide "acc_pcreate" as alias for 5054 "acc_present_or_create", and "acc_pcopyin" as alias for 5055 "acc_present_or_copyin". 5056 * libgomp.map: New version "OACC_2.0.1". 5057 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate". 5058 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging 5059 its content into... 5060 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file. 5061 Extend testing. 5062 5063 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output 5064 when disabling nvptx offloading. 5065 50662017-05-23 Thomas Schwinge <thomas@codesourcery.com> 5067 5068 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update. 5069 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise. 5070 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise. 5071 5072 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite. 5073 * testsuite/lib/libgomp.exp 5074 (check_effective_target_openacc_nvidia_accel_configured): New 5075 proc. 5076 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c) 5077 (check_effective_target_c++): New procs. 5078 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c) 5079 (check_effective_target_c++): Likewise. 5080 50812017-05-22 Jakub Jelinek <jakub@redhat.com> 5082 5083 PR middle-end/80809 5084 * testsuite/libgomp.c/pr80809-2.c: New test. 5085 * testsuite/libgomp.c/pr80809-3.c: New test. 5086 5087 PR middle-end/80809 5088 * testsuite/libgomp.c/pr80809-1.c: New test. 5089 5090 PR middle-end/80853 5091 * testsuite/libgomp.c/pr80853.c: New test. 5092 50932017-05-19 Thomas Schwinge <thomas@codesourcery.com> 5094 5095 * testsuite/libgomp.oacc-c++/template-reduction.C: Update. 5096 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update. 5097 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise. 5098 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise. 5099 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise. 5100 5101 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions): 5102 Debug output for failure. 5103 51042017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 5105 5106 * testsuite/lib/libgomp.exp: Load scanlang.exp. 5107 51082017-04-27 Jakub Jelinek <jakub@redhat.com> 5109 5110 PR bootstrap/80531 5111 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid 5112 bootstrap compare failures. 5113 51142017-04-20 Alexander Monakov <amonakov@ispras.ru> 5115 5116 * testsuite/libgomp.c/target-36.c: New testcase. 5117 51182017-04-13 Jakub Jelinek <jakub@redhat.com> 5119 5120 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type 5121 instead of char. 5122 51232017-04-11 Jakub Jelinek <jakub@redhat.com> 5124 5125 PR libgomp/80394 5126 * testsuite/libgomp.c/pr80394.c: New test. 5127 51282017-04-04 Jakub Jelinek <jakub@redhat.com> 5129 5130 PR libgomp/79876 5131 * config/posix/thread-stacksize.h: New file. 5132 * config/darwin/thread-stacksize.h: New file. 5133 * config/nvptx/thread-stacksize.h: New file. 5134 * env.c: Include thread-stacksize.h. 5135 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE 5136 instead of 0. Call pthread_attr_setstacksize even if 5137 GOMP_DEFAULT_STACKSIZE is non-zero. 5138 51392017-03-30 Jakub Jelinek <jakub@redhat.com> 5140 5141 * env.c (initialize_env): Initialize stacksize to 0. 5142 51432017-03-22 Cesar Philippidis <cesar@codesourcery.com> 5144 5145 PR c++/80029 5146 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test. 5147 51482017-03-08 Jakub Jelinek <jakub@redhat.com> 5149 5150 PR c/79940 5151 * testsuite/libgomp.c/pr79940.c: New test. 5152 51532017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 5154 5155 * testsuite/libgomp.c/pr48591.c: Enable on all __float128 5156 targets. 5157 Add __float128 options. 5158 51592017-02-11 John David Anglin <danglin@gcc.gnu.org> 5160 5161 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove 5162 hppa*-*-* dg-skip-if directive. 5163 51642017-02-09 Jakub Jelinek <jakub@redhat.com> 5165 5166 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move 5167 dg-skip-if directive into a comment. 5168 51692017-02-09 Nathan Sidwell <nathan@codesourcery.com> 5170 Chung-Lin Tang <cltang@codesourcery.com> 5171 5172 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New. 5173 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and 5174 add additional case. 5175 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under 5176 "openacc_nvidia_accel_selected". 5177 * libgomp.oacc-fortran/nested-function-1.f90 (test2): 5178 Add num_workers(8) clause. 5179 51802017-02-08 John David Anglin <danglin@gcc.gnu.org> 5181 5182 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on 5183 hppa*-*-*. 5184 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't 5185 include complex.h on hppa*-*-hpux*. 5186 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise. 5187 51882017-02-02 Thomas Schwinge <thomas@codesourcery.com> 5189 5190 * plugin/plugin-nvptx.c (nvptx_exec): Make it static. 5191 5192 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to 5193 GOMP_OFFLOAD_openacc_exec. Adjust all users. 5194 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to 5195 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users. 5196 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to 5197 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users. 5198 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to 5199 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users. 5200 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to 5201 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users. 5202 52032017-01-31 Thomas Schwinge <thomas@codesourcery.com> 5204 5205 * libgomp-plugin.h: #include <stdbool.h>. 5206 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps) 5207 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices) 5208 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device) 5209 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image) 5210 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free) 5211 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev) 5212 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run) 5213 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel) 5214 (GOMP_OFFLOAD_openacc_register_async_cleanup) 5215 (GOMP_OFFLOAD_openacc_async_test) 5216 (GOMP_OFFLOAD_openacc_async_test_all) 5217 (GOMP_OFFLOAD_openacc_async_wait) 5218 (GOMP_OFFLOAD_openacc_async_wait_async) 5219 (GOMP_OFFLOAD_openacc_async_wait_all) 5220 (GOMP_OFFLOAD_openacc_async_wait_all_async) 5221 (GOMP_OFFLOAD_openacc_async_set_async) 5222 (GOMP_OFFLOAD_openacc_create_thread_data) 5223 (GOMP_OFFLOAD_openacc_destroy_thread_data) 5224 (GOMP_OFFLOAD_openacc_get_current_cuda_device) 5225 (GOMP_OFFLOAD_openacc_get_current_cuda_context) 5226 (GOMP_OFFLOAD_openacc_get_cuda_stream) 5227 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes. 5228 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use 5229 these. 5230 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image) 5231 (GOMP_OFFLOAD_unload_image): Fix argument types. 5232 52332017-01-26 Jakub Jelinek <jakub@redhat.com> 5234 5235 * testsuite/lib/libgomp.exp 5236 (check_effective_target_hsa_offloading_selected_nocache): Fix up 5237 check_compile invocation. Fix up removal of executable. Drop 5238 bogus "2>&1" argument. 5239 5240 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules 5241 directive. 5242 52432017-01-24 Pekka Jääskeläinen <pekka@parmance.com> 5244 Martin Jambor <mjambor@suse.cz> 5245 5246 * plugin/hsa.h: Moved to top level include. 5247 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly. 5248 52492017-01-21 Jakub Jelinek <jakub@redhat.com> 5250 5251 PR other/79046 5252 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead 5253 of cat to get version from BASE-VER file. 5254 * testsuite/Makefile.in: Regenerated. 5255 52562017-01-19 Jakub Jelinek <jakub@redhat.com> 5257 5258 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even 5259 for _WIN64. 5260 52612017-01-17 Jakub Jelinek <jakub@redhat.com> 5262 5263 * plugin/hsa.h: Add GCC runtime library exception. 5264 * plugin/hsa_ext_finalize.h: Likewise. 5265 5266 * plugin/configfrag.ac: For --without-cuda-driver don't initialize 5267 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both 5268 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small 5269 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use 5270 plugin/include/cuda as include dir and -ldl instead of -lcuda as 5271 library to link ptx plugin against. 5272 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC. 5273 (CUDA_CALLS): Define. 5274 (cuda_lib, cuda_lib_inited): New variables. 5275 (init_cuda_lib): New function. 5276 (CUDA_CALL_PREFIX): Define. 5277 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX. 5278 (CUDA_CALL): Use FN instead of (FN). 5279 (CUDA_CALL_NOCHECK): Define. 5280 (cuda_error, fini_streams_for_device, select_stream_for_async, 5281 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx, 5282 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all, 5283 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image, 5284 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use 5285 CUDA_CALL_NOCHECK. 5286 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use 5287 CUDA_CALL_NOCHECK. 5288 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0. 5289 Use CUDA_CALL_NOCHECK. 5290 * plugin/cuda/cuda.h: New file. 5291 * config.h.in: Regenerated. 5292 * configure: Regenerated. 5293 5294 PR other/79046 5295 * configure.ac: Add GCC_BASE_VER. 5296 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to 5297 get version from BASE-VER file. 5298 * testsuite/Makefile.in: Regenerated. 5299 * configure: Regenerated. 5300 * Makefile.in: Regenerated. 5301 53022017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 5303 5304 PR libgomp/60670 5305 * Makefile.am: Make fincludedir multilib-aware. 5306 * Makefile.in: Regenerate. 5307 53082017-01-01 Jakub Jelinek <jakub@redhat.com> 5309 5310 Update copyright years. 5311 5312 * libgomp.texi: Bump @copying's copyright year. 5313 53142016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de> 5315 5316 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use 5317 pthread_spinlock_t instead of gomp_mutex_t lock. 5318 (gomp_get_thread_pool): Likewise. 5319 (gomp_release_thread_pool): Likewise. 5320 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir): 5321 Likewise. 5322 53232016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de> 5324 5325 * config/rtems/pool.h (gomp_get_thread_pool): Return proper 5326 thread pool in case nthreads == 1. 5327 53282016-11-30 Alexander Monakov <amonakov@ispras.ru> 5329 5330 * config/nvptx/env.c: Delete. 5331 * icv.c: Move definitions of ICV variables back ... 5332 * env.c: ...here. Do not compile environment-related functionality if 5333 LIBGOMP_OFFLOADED_ONLY is set. 5334 53352016-11-30 Alexander Monakov <amonakov@ispras.ru> 5336 5337 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it... 5338 (LIBGOMP_OFFLOADED_ONLY): ...here; new define. 5339 * configure: Regenerate. 5340 * config.h.in: Likewise. 5341 53422016-11-30 Alexander Monakov <amonakov@ispras.ru> 5343 5344 * Makefile.in: Regenerate with automake-1.11.6. 5345 * aclocal.m4: Likewise. 5346 * configure: Likewise. 5347 * testsuite/Makefile.in: Likewise. 5348 53492016-11-28 Alexander Monakov <amonakov@ispras.ru> 5350 5351 * config/nvptx/critical.c: Delete to use generic implementation. 5352 53532016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de> 5354 5355 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include 5356 ../../affinity.c as fallback. 5357 * config/nvptx/affinity.c: Delete to use fallback implementation. 5358 53592016-11-23 Alexander Monakov <amonakov@ispras.ru> 5360 Jakub Jelinek <jakub@redhat.com> 5361 Dmitry Melnik <dm@ispras.ru> 5362 5363 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c. 5364 * Makefile.in. Regenerate. 5365 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it... 5366 (LIBGOMP_USE_PTHREADS): ...here; new define. 5367 * configure: Regenerate. 5368 * config.h.in: Likewise. 5369 * config/posix/affinity.c: Move to... 5370 * affinity.c: ...here (new file). Guard use of Pthreads-specific 5371 interface by LIBGOMP_USE_PTHREADS. 5372 * critical.c: Split out GOMP_atomic_{start,end} into... 5373 * atomic.c: ...here (new file). 5374 * env.c: Split out ICV definitions into... 5375 * icv.c: ...here (new file) and... 5376 * icv-device.c: ...here. New file. 5377 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c. 5378 (gomp_destroy_lock_30): Ditto. 5379 (gomp_set_lock_30): Ditto. 5380 (gomp_unset_lock_30): Ditto. 5381 (gomp_test_lock_30): Ditto. 5382 (gomp_init_nest_lock_30): Ditto. 5383 (gomp_destroy_nest_lock_30): Ditto. 5384 (gomp_set_nest_lock_30): Ditto. 5385 (gomp_unset_nest_lock_30): Ditto. 5386 (gomp_test_nest_lock_30): Ditto. 5387 * lock.c: New. 5388 * config/nvptx/lock.c: New. 5389 * config/nvptx/bar.c: New. 5390 * config/nvptx/bar.h: New. 5391 * config/nvptx/doacross.h: New. 5392 * config/nvptx/error.c: New. 5393 * config/nvptx/icv-device.c: New. 5394 * config/nvptx/mutex.h: New. 5395 * config/nvptx/pool.h: New. 5396 * config/nvptx/proc.c: New. 5397 * config/nvptx/ptrlock.h: New. 5398 * config/nvptx/sem.h: New. 5399 * config/nvptx/simple-bar.h: New. 5400 * config/nvptx/target.c: New. 5401 * config/nvptx/task.c: New. 5402 * config/nvptx/team.c: New. 5403 * config/nvptx/time.c: New. 5404 * config/posix/simple-bar.h: New. 5405 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h. 5406 (gomp_num_teams_var): Declare. 5407 (struct gomp_thread_pool): Change threads_dock member to 5408 gomp_simple_barrier_t. 5409 [__nvptx__] (gomp_thread): New implementation. 5410 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS. 5411 (gomp_thread_destructor): Ditto. 5412 (gomp_init_thread_affinity): Ditto. 5413 * team.c: Guard uses of Pthreads-specific interfaces by 5414 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock. 5415 (gomp_free_thread) [__nvptx__]: Do not call 'free'. 5416 * config/nvptx/alloc.c: Delete. 5417 * config/nvptx/barrier.c: Ditto. 5418 * config/nvptx/fortran.c: Ditto. 5419 * config/nvptx/iter.c: Ditto. 5420 * config/nvptx/iter_ull.c: Ditto. 5421 * config/nvptx/loop.c: Ditto. 5422 * config/nvptx/loop_ull.c: Ditto. 5423 * config/nvptx/ordered.c: Ditto. 5424 * config/nvptx/parallel.c: Ditto. 5425 * config/nvptx/priority_queue.c: Ditto. 5426 * config/nvptx/sections.c: Ditto. 5427 * config/nvptx/single.c: Ditto. 5428 * config/nvptx/splay-tree.c: Ditto. 5429 * config/nvptx/work.c: Ditto. 5430 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass 5431 -foffload=-lgfortran in addition to -lgfortran. 5432 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto. 5433 * plugin/plugin-nvptx.c: Include <limits.h>. 5434 (struct targ_fn_descriptor): Add new fields. 5435 (struct ptx_device): Ditto. Set them... 5436 (nvptx_open_device): ...here. 5437 (nvptx_adjust_launch_bounds): New. 5438 (nvptx_host2dev): Allow NULL 'nvthd'. 5439 (nvptx_dev2host): Ditto. 5440 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400. 5441 (link_ptx): Adjust log sizes. 5442 (nvptx_host2dev): Allow NULL 'nvthd'. 5443 (nvptx_dev2host): Ditto. 5444 (nvptx_set_clocktick): New. Use it... 5445 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor 5446 fields. 5447 (GOMP_OFFLOAD_dev2dev): New. 5448 (nvptx_adjust_launch_bounds): New. 5449 (nvptx_stacks_size): New. 5450 (nvptx_stacks_alloc): New. 5451 (nvptx_stacks_free): New. 5452 (GOMP_OFFLOAD_run): New. 5453 (GOMP_OFFLOAD_async_run): New (stub). 5454 54552016-11-23 Martin Jambor <mjambor@suse.cz> 5456 5457 * testsuite/libgomp.hsa.c/bits-insns.c: New test. 5458 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise. 5459 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise. 5460 54612016-11-23 Martin Liska <mliska@suse.cz> 5462 Martin Jambor <mjambor@suse.cz> 5463 5464 * plugin/hsa.h: New file. 5465 * plugin/hsa_ext_finalize.h: New file. 5466 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for 5467 header file unistd.h, and functions secure_getenv, __secure_getenv, 5468 getuid, geteuid, getgid and getegid. 5469 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added 5470 -D_GNU_SOURCE. 5471 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h. 5472 Handle various cases of secure_getenv presence, add an implementation 5473 when we can test effective UID and GID. 5474 (struct hsa_runtime_fn_info): New structure. 5475 (hsa_runtime_fn_info hsa_fns): New variable. 5476 (hsa_runtime_lib): Likewise. 5477 (support_cpu_devices): Likewise. 5478 (init_enviroment_variables): Load newly introduced ENV 5479 variables. 5480 (hsa_warn): Call hsa run-time functions via hsa_fns structure. 5481 (hsa_fatal): Likewise. 5482 (DLSYM_FN): New macro. 5483 (init_hsa_runtime_functions): New function. 5484 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns 5485 structure. Depending on environment, also allow CPU devices. 5486 (init_hsa_context): Call hsa run-time functions via hsa_fns structure. 5487 (get_kernarg_memory_region): Likewise. 5488 (GOMP_OFFLOAD_init_device): Likewise. 5489 (destroy_hsa_program): Likewise. 5490 (init_basic_kernel_info): New function. 5491 (GOMP_OFFLOAD_load_image): Use it. 5492 (create_and_finalize_hsa_program): Call hsa run-time functions via 5493 hsa_fns structure. 5494 (create_single_kernel_dispatch): Likewise. 5495 (release_kernel_dispatch): Likewise. 5496 (init_single_kernel): Likewise. 5497 (parse_target_attributes): Allow up multiple HSA grid dimensions. 5498 (get_group_size): New function. 5499 (run_kernel): Likewise. 5500 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel. 5501 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns 5502 structure. 5503 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support. 5504 * testsuite/libgomp-test-support.exp.in: Likewise. 5505 * Makefile.in: Regenerated. 5506 * aclocal.m4: Likewise. 5507 * config.h.in: Likewise. 5508 * configure: Likewise. 5509 * testsuite/Makefile.in: Likewise. 5510 55112016-11-15 Martin Jambor <mjambor@suse.cz> 5512 Alexander Monakov <amonakov@ispras.ru> 5513 5514 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add 5515 mapping clauses to target constructs. 5516 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto. 5517 55182016-11-15 Matthias Klose <doko@ubuntu.com> 5519 5520 * configure: Regenerate. 5521 55222016-11-10 Jakub Jelinek <jakub@redhat.com> 5523 5524 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307. 5525 * omp_lib.h.in (openmp_version): Likewise. 5526 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead 5527 of 201307. 5528 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise. 5529 5530 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90 5531 (fib_wrapper): Add map(from: x) clause. 5532 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90 5533 (e_53_2): Likewise. 5534 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90 5535 (accum): Add map(tmp) clause. 5536 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90 5537 (accum): Add map(tofrom: tmp) clause. 5538 * testsuite/libgomp.fortran/examples-4/target_data-3.f90 5539 (gramSchmidt): Likewise. 5540 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add 5541 map(tofrom: sum) clause. 5542 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice 5543 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause. 5544 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause 5545 only allowed on the loop iterator. 5546 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause. 5547 * testsuite/libgomp.fortran/taskloop2.f90: New test. 5548 * testsuite/libgomp.fortran/taskloop4.f90: New test. 5549 * testsuite/libgomp.fortran/doacross1.f90: New test. 5550 * testsuite/libgomp.fortran/doacross3.f90: New test. 5551 * testsuite/libgomp.fortran/taskloop1.f90: New test. 5552 * testsuite/libgomp.fortran/taskloop3.f90: New test. 5553 * testsuite/libgomp.fortran/doacross2.f90: New test. 5554 * testsuite/libgomp.c/doacross-1.c (main): Add missing 5555 #pragma omp atomic read. 5556 * testsuite/libgomp.c/doacross-2.c (main): Likewise. 5557 * testsuite/libgomp.c/doacross-3.c (main): Likewise. 5558 55592016-11-02 Cesar Philippidis <cesar@codesourcery.com> 5560 Nathan Sidwell <nathan@acm.org> 5561 5562 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes 5563 to determine default geometry. 5564 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang 5565 dimension. 5566 55672016-11-01 Jakub Jelinek <jakub@redhat.com> 5568 5569 * hashtab.h: Use standard GPLv3 with runtime exception 5570 boilerplate. 5571 55722016-10-27 Aldy Hernandez <aldyh@redhat.com> 5573 5574 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate 5575 size when allocating new thread. 5576 55772016-09-14 Marek Polacek <polacek@redhat.com> 5578 5579 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated. 5580 55812016-08-19 Jakub Jelinek <jakub@redhat.com> 5582 5583 PR fortran/71014 5584 * testsuite/libgomp.fortran/pr71014.f90: New test. 5585 55862016-08-18 Chung-Lin Tang <cltang@codesourcery.com> 5587 5588 PR middle-end/70895 5589 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit 5590 firstprivate clauses. 5591 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit 5592 copy clauses. 5593 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise. 5594 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise. 5595 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise. 5596 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise. 5597 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise. 5598 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise. 5599 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise. 5600 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise. 5601 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise. 5602 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise. 5603 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise. 5604 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise. 5605 56062016-08-14 Chung-Lin Tang <cltang@codesourcery.com> 5607 5608 PR fortran/70598 5609 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test. 5610 56112016-08-08 Jakub Jelinek <jakub@redhat.com> 5612 5613 PR c++/58706 5614 * testsuite/libgomp.c++/pr58706.C: New test. 5615 56162016-08-04 Thomas Schwinge <thomas@codesourcery.com> 5617 5618 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file. 5619 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise. 5620 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C: 5621 Likewise. 5622 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise. 5623 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: 5624 Likewise. 5625 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust. 5626 5627 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link" 5628 test, and don't hardcode -O0. 5629 56302016-08-03 Nathan Sidwell <nathan@codesourcery.com> 5631 5632 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New. 5633 56342016-07-15 Cesar Philippidis <cesar@codesourcery.com> 5635 5636 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New 5637 test. 5638 56392016-07-03 H.J. Lu <hongjiu.lu@intel.com> 5640 5641 PR middle-end/71734 5642 * testsuite/libgomp.fortran/pr71734-1.f90: New test. 5643 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise. 5644 56452016-07-01 Jakub Jelinek <jakub@redhat.com> 5646 5647 PR fortran/71717 5648 * testsuite/libgomp.fortran/associate3.f90: New test. 5649 56502016-06-17 Jakub Jelinek <jakub@redhat.com> 5651 5652 * testsuite/libgomp.c++/target-21.C: New test. 5653 56542016-06-16 Jakub Jelinek <jakub@redhat.com> 5655 5656 * testsuite/libgomp.c++/target-20.C: New test. 5657 56582016-06-10 Thomas Schwinge <thomas@codesourcery.com> 5659 Cesar Philippidis <cesar@codesourcery.com> 5660 5661 PR middle-end/71373 5662 * libgomp.oacc-c/nested-function-1.c: New file. 5663 * libgomp.oacc-c/nested-function-2.c: Likewise. 5664 * libgomp.oacc-fortran/nested-function-1.f90: Likewise. 5665 * libgomp.oacc-fortran/nested-function-2.f90: Likewise. 5666 * libgomp.oacc-fortran/nested-function-3.f90: Likewise. 5667 56682016-06-10 Thomas Schwinge <thomas@codesourcery.com> 5669 5670 PR c/71381 5671 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include 5672 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c". 5673 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file. 5674 56752016-06-03 Chung-Lin Tang <cltang@codesourcery.com> 5676 5677 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase. 5678 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase. 5679 56802016-06-01 Cesar Philippidis <cesar@codesourcery.com> 5681 5682 PR c/70688 5683 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file. 5684 56852016-05-26 Jakub Jelinek <jakub@redhat.com> 5686 5687 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static) 5688 instead of invalid schedule(static, 0). 5689 * testsuite/libgomp.c/doacross-2.c (main): Likewise. 5690 56912016-05-26 Chung-Lin Tang <cltang@codesourcery.com> 5692 5693 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter. 5694 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async' 5695 parameter, use to set async stream around call to gomp_unmap_vars, 5696 call gomp_unmap_vars() with 'do_copyfrom' set to true. 5697 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field. 5698 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP 5699 events and call GOMP_PLUGIN_async_unmap_vars() for each of them. 5700 (event_add): Add int parameter, initialize 'val' field when 5701 adding new ptx_event struct. 5702 (nvptx_evec): Adjust event_add() call arguments. 5703 (nvptx_host2dev): Likewise. 5704 (nvptx_dev2host): Likewise. 5705 (nvptx_wait_async): Likewise. 5706 (nvptx_wait_all_async): Likewise. 5707 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter, 5708 pass to event_add() call. 5709 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async' 5710 parameter. 5711 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to 5712 call openacc.register_async_cleanup_func() hook. 5713 * oacc-parallel.c (GOACC_parallel_keyed): Likewise. 5714 * target.c (gomp_copy_from_async): Delete function. 5715 (gomp_map_vars): Remove async_refcount. 5716 (gomp_unmap_vars): Likewise. 5717 (gomp_load_image_to_device): Likewise. 5718 (omp_target_associate_ptr): Likewise. 5719 * libgomp.h (struct splay_tree_key_s): Remove async_refcount. 5720 (acc_dispatch_t.register_async_cleanup_func): Add int parameter. 5721 (gomp_copy_from_async): Remove. 5722 57232016-05-26 Chung-Lin Tang <cltang@codesourcery.com> 5724 5725 * target.c (gomp_device_copy): New function. 5726 (gomp_copy_host2dev): Likewise. 5727 (gomp_copy_dev2host): Likewise. 5728 (gomp_free_device_memory): Likewise. 5729 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev. 5730 (gomp_map_pointer): Likewise. 5731 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle 5732 NULL value from alloc_func plugin hook. 5733 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory. 5734 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host. 5735 (gomp_unmap_vars): Likewise. 5736 (gomp_update): Adjust to call gomp_copy_dev2host and 5737 gomp_copy_host2dev functions. 5738 (gomp_unload_image_from_device): Handle false value from 5739 unload_image_func plugin hook. 5740 (gomp_init_device): Handle false value from init_device_func 5741 plugin hook. 5742 (gomp_exit_data): Adjust to call gomp_copy_dev2host. 5743 (omp_target_free): Adjust to call gomp_free_device_memory. 5744 (omp_target_memcpy): Handle return values from host2dev_func, 5745 dev2host_func, and dev2dev_func plugin hooks. 5746 (omp_target_memcpy_rect_worker): Likewise. 5747 (gomp_target_fini): Handle false value from fini_device_func 5748 plugin hook. 5749 * libgomp.h (struct gomp_device_descr): Adjust return type of 5750 init_device_func, fini_device_func, unload_image_func, free_func, 5751 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'. 5752 * oacc-init.c (acc_shutdown_1): Handle false value from 5753 fini_device_func plugin hook. 5754 * oacc-host.c (host_init_device): Change return type to bool. 5755 (host_fini_device): Likewise. 5756 (host_unload_image): Likewise. 5757 (host_free): Likewise. 5758 (host_dev2host): Likewise. 5759 (host_host2dev): Likewise. 5760 * oacc-mem.c (acc_free): Handle plugin hook fatal error case. 5761 (acc_memcpy_to_device): Likewise. 5762 (acc_memcpy_from_device): Likewise. 5763 (delete_copyout): Add libfnname parameter, handle free_func 5764 hook fatal error case. 5765 (acc_delete): Adjust delete_copyout call. 5766 (acc_copyout): Likewise. 5767 (update_dev_host): Move gomp_mutex_unlock to after 5768 host2dev/dev2host hook calls. 5769 5770 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable 5771 to 'hsa_error_msg', for clarity. 5772 (hsa_fatal): Likewise. 5773 (hsa_error): New function. 5774 (init_hsa_context): Change return type to bool, adjust to return 5775 false on error. 5776 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context 5777 return value. 5778 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to 5779 return false on error. 5780 (get_agent_info): Adjust to return NULL on error. 5781 (destroy_hsa_program): Change return type to bool, adjust to 5782 return false on error. 5783 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error. 5784 (destroy_module): Change return type to bool, adjust to 5785 return false on error. 5786 (GOMP_OFFLOAD_unload_image): Likewise. 5787 (GOMP_OFFLOAD_fini_device): Likewise. 5788 (GOMP_OFFLOAD_alloc): Change to return NULL when called. 5789 (GOMP_OFFLOAD_free): Change to return false when called. 5790 (GOMP_OFFLOAD_dev2host): Likewise. 5791 (GOMP_OFFLOAD_host2dev): Likewise. 5792 (GOMP_OFFLOAD_dev2dev): Likewise. 5793 5794 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro. 5795 (CUDA_CALL): Likewise. 5796 (CUDA_CALL_ASSERT): Likewise. 5797 (map_init): Change return type to bool, use CUDA_CALL* macros. 5798 (map_fini): Likewise. 5799 (init_streams_for_device): Change return type to bool, adjust 5800 call to map_init. 5801 (fini_streams_for_device): Change return type to bool, adjust 5802 call to map_fini. 5803 (select_stream_for_async): Release stream_lock before calls to 5804 GOMP_PLUGIN_fatal, adjust call to map_init. 5805 (nvptx_init): Use CUDA_CALL* macros. 5806 (nvptx_attach_host_thread_to_device): Change return type to bool, 5807 use CUDA_CALL* macros. 5808 (nvptx_open_device): Use CUDA_CALL* macros. 5809 (nvptx_close_device): Change return type to bool, use CUDA_CALL* 5810 macros. 5811 (nvptx_get_num_devices): Use CUDA_CALL* macros. 5812 (link_ptx): Change return type to bool, use CUDA_CALL* macros. 5813 (nvptx_exec): Use CUDA_CALL* macros. 5814 (nvptx_alloc): Use CUDA_CALL* macros. 5815 (nvptx_free): Change return type to bool, use CUDA_CALL* macros. 5816 (nvptx_host2dev): Likewise. 5817 (nvptx_dev2host): Likewise. 5818 (nvptx_wait): Use CUDA_CALL* macros. 5819 (nvptx_wait_async): Likewise. 5820 (nvptx_wait_all): Likewise. 5821 (nvptx_wait_all_async): Likewise. 5822 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire, 5823 use CUDA_CALL* macros, adjust call to map_fini. 5824 (GOMP_OFFLOAD_init_device): Change return type to bool, 5825 adjust code accordingly. 5826 (GOMP_OFFLOAD_fini_device): Likewise. 5827 (GOMP_OFFLOAD_load_image): Adjust calls to 5828 nvptx_attach_host_thread_to_device/link_ptx to handle errors, 5829 use CUDA_CALL* macros. 5830 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust 5831 return code. 5832 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return. 5833 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to 5834 handle error return. 5835 (GOMP_OFFLOAD_dev2host): Likewise. 5836 (GOMP_OFFLOAD_host2dev): Likewise. 5837 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros. 5838 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise. 5839 58402016-05-24 Cesar Philippidis <cesar@codesourcery.com> 5841 5842 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets. 5843 (acc_free): Likewise. 5844 (acc_memcpy_to_device): Likewise. 5845 (acc_memcpy_from_device): Likewise. 5846 (acc_deviceptr): Likewise. 5847 (acc_hostptr): Likewise. 5848 (acc_is_present): Likewise. 5849 (acc_map_data): Likewise. 5850 (acc_unmap_data): Likewise. 5851 (present_create_copy): Likewise. 5852 (delete_copyout): Likewise. 5853 (update_dev_host): Likewise. 5854 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail. 5855 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test. 5856 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test. 5857 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise. 5858 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test. 5859 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that 5860 it only runs on nvptx targets. 5861 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise. 5862 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise. 5863 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise. 5864 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise. 5865 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise. 5866 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise. 5867 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise. 5868 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise. 5869 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. 5870 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise. 5871 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise. 5872 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise. 5873 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise. 5874 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise. 5875 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise. 5876 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. 5877 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise. 5878 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise. 5879 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise. 5880 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise. 5881 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise. 5882 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise. 5883 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise. 5884 58852016-05-23 Martin Jambor <mjambor@suse.cz> 5886 5887 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test. 5888 58892016-05-17 Chung-Lin Tang <cltang@codesourcery.com> 5890 5891 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call 5892 to gomp_init_targets_once. 5893 (acc_set_device_type): Remove !cached_base_dev condition on call to 5894 gomp_init_targets_once, move call to before acc_device_lock acquire, 5895 to avoid deadlock. 5896 (acc_get_device_num): Remove !cached_base_dev condition on call to 5897 gomp_init_targets_once. 5898 (acc_set_device_num): Likewise. 5899 59002016-05-16 Martin Jambor <mjambor@suse.cz> 5901 5902 * testsuite/libgomp.hsa.c/complex-align-2.c: New test. 5903 59042016-05-02 Nathan Sidwell <nathan@codesourcery.com> 5905 5906 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust 5907 expected partitioning. 5908 59092016-04-29 Cesar Philippidis <cesar@codesourcery.com> 5910 5911 PR middle-end/70626 5912 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test. 5913 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test. 5914 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test. 5915 59162016-04-21 Alexander Monakov <amonakov@ispras.ru> 5917 5918 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error 5919 non-fatal. 5920 59212016-04-19 Jakub Jelinek <jakub@redhat.com> 5922 5923 PR middle-end/70680 5924 * testsuite/libgomp.c/pr70680-1.c: New test. 5925 * testsuite/libgomp.c/pr70680-2.c: New test. 5926 59272016-04-14 Cesar Philippidis <cesar@codesourcery.com> 5928 5929 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't 5930 pass parameter variables to subroutines. 5931 59322016-04-14 Cesar Philippidis <cesar@codesourcery.com> 5933 5934 PR middle-end/70643 5935 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test. 5936 59372016-04-13 Cesar Philippidis <cesar@codesourcery.com> 5938 5939 PR testsuite/68242 5940 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test. 5941 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise. 5942 59432016-04-12 Thomas Schwinge <thomas@codesourcery.com> 5944 5945 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to 5946 GOACC_parallel_keyed, restore GOACC_parallel prototype, new 5947 GOACC_declare prototype. 5948 5949 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: 5950 Merge this file, and... 5951 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c: 5952 ... this file, and... 5953 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: 5954 ... this file, and... 5955 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: 5956 ... this file, and... 5957 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: 5958 ... this file, and... 5959 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: 5960 ... this file, and... 5961 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: 5962 ... this file, and... 5963 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: 5964 ... this file, and... 5965 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: 5966 ... this file, and... 5967 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: 5968 ... this file, and... 5969 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: 5970 ... this file, and... 5971 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: 5972 ... this file, and... 5973 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: 5974 ... this file into... 5975 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this 5976 file. 5977 5978 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: 5979 Make failure observable. 5980 59812016-04-12 Jakub Jelinek <jakub@redhat.com> 5982 5983 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies 5984 field. 5985 * target.c (gomp_target_fallback_firstprivate, 5986 gomp_target_unshare_firstprivate): Removed. 5987 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory 5988 before waiting for dependencies. 5989 (gomp_target_task_fn): Don't copy firstprivate vars here. 5990 * task.c (GOMP_PLUGIN_target_task_completion): Don't free 5991 firstprivate_copies here. 5992 (gomp_create_target_task): Don't initialize firstprivate_copies field. 5993 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of 5994 explicit/implicit firstprivate. 5995 59962016-04-08 Cesar Philippidis <cesar@codesourcery.com> 5997 5998 PR lto/70289 5999 PR ipa/70348 6000 PR tree-optimization/70373 6001 PR middle-end/70533 6002 PR middle-end/70534 6003 PR middle-end/70535 6004 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New 6005 test. 6006 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New 6007 test. 6008 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New 6009 test. 6010 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New 6011 test. 6012 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New 6013 test. 6014 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New 6015 test. 6016 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New 6017 test. 6018 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New 6019 test. 6020 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New 6021 test. 6022 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test. 6023 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test. 6024 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test. 6025 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New 6026 test. 6027 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New 6028 test. 6029 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New 6030 test. 6031 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New 6032 test. 6033 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test 6034 coverage. 6035 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise. 6036 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise. 6037 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test. 6038 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test. 6039 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test. 6040 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test 6041 coverage. 6042 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise. 6043 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise. 6044 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise. 6045 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise. 6046 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test. 6047 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test. 6048 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test. 6049 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test. 6050 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage. 6051 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise. 6052 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise. 6053 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise. 6054 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise. 6055 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. 6056 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test. 6057 60582016-03-30 Thomas Schwinge <thomas@codesourcery.com> 6059 James Norris <jnorris@codesourcery.com> 6060 Nathan Sidwell <nathan@codesourcery.com> 6061 Julian Brown <julian@codesourcery.com> 6062 Cesar Philippidis <cesar@codesourcery.com> 6063 Chung-Lin Tang <cltang@codesourcery.com> 6064 Tom de Vries <tom@codesourcery.com> 6065 6066 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update. 6067 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise. 6068 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise. 6069 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise. 6070 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise. 6071 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise. 6072 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise. 6073 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise. 6074 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise. 6075 XFAIL. 6076 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update. 6077 Incorporate... 6078 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this 6079 file. 6080 * testsuite/libgomp.oacc-c++/template-reduction.C: New file. 6081 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise. 6082 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise. 6083 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c: 6084 Likewise. 6085 * testsuite/libgomp.oacc-c-c++-common/private-variables.c: 6086 Likewise. 6087 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise. 6088 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise. 6089 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise. 6090 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise. 6091 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise. 6092 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise. 6093 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise. 6094 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise. 6095 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise. 6096 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: 6097 Likewise. 6098 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise. 6099 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise. 6100 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this 6101 file... 6102 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this 6103 file into... 6104 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new 6105 file. Update. 6106 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New 6107 file. 6108 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c: 6109 Likewise. 6110 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to... 6111 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c: 6112 ... this new file. Update. 6113 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to... 6114 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c: 6115 ... this new file. Update. 6116 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New 6117 file. Incorporate... 6118 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this 6119 file, and... 6120 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this 6121 file, and... 6122 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this 6123 file. 6124 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file. 6125 61262016-03-29 Thomas Schwinge <thomas@codesourcery.com> 6127 6128 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call 6129 set-torture-options. 6130 61312016-03-24 Thomas Schwinge <thomas@codesourcery.com> 6132 6133 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use 6134 gcc-dg-runtest. 6135 * testsuite/libgomp.oacc-c/c.exp: Likewise. 6136 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify 6137 -fno-builtin-acc_on_device instead of -O0. 6138 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for 6139 -O0. 6140 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise. 6141 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: 6142 Likewise. 6143 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise. 6144 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise. 6145 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise. 6146 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise. 6147 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise. 6148 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise. 6149 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise. 6150 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise. 6151 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise. 6152 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise. 6153 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise. 6154 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise. 6155 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise. 6156 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise. 6157 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise. 6158 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise. 6159 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise. 6160 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c: 6161 Don't specify -O2. 6162 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c: 6163 Likewise. 6164 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c: 6165 Likewise. 6166 61672016-03-24 Martin Liska <mliska@suse.cz> 6168 6169 * plugin/plugin-hsa.c (packet_store_release): New function 6170 that is taken from the HSA runtime manual. 6171 (GOMP_OFFLOAD_run): Use the function. 6172 61732016-03-23 Jakub Jelinek <jakub@redhat.com> 6174 6175 PR c++/70376 6176 * testsuite/libgomp.c++/pr70376.C: New test. 6177 61782016-03-23 Tom de Vries <tom@codesourcery.com> 6179 6180 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing 6181 initialization of lresult and lvresult. 6182 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same. 6183 61842016-03-23 James Norris <jnorris@codesourcery.com> 6185 Daichi Fukuoka <dc-fukuoka@sgi.com> 6186 6187 PR libgomp/69414 6188 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address. 6189 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests. 6190 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise. 6191 * testsuite/libgomp.oacc-fortran/update-1.f90: New file. 6192 61932016-03-23 Martin Liska <mliska@suse.cz> 6194 6195 PR hsa/70337 6196 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow 6197 argument just in case a dispatched kernel uses that argument. 6198 61992016-03-16 Thomas Schwinge <thomas@codesourcery.com> 6200 6201 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to 6202 -ftree-parallelize-loops/-fopenacc changes. 6203 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: 6204 Likewise. 6205 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: 6206 Likewise. 6207 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: 6208 Likewise. 6209 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: 6210 Likewise. 6211 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise. 6212 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise. 6213 62142016-03-13 Thomas Schwinge <thomas@codesourcery.com> 6215 6216 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to 6217 always_ld_library_path the path to libgcc_s. 6218 62192016-03-10 Cesar Philippidis <cesar@codesourcery.com> 6220 6221 PR testsuite/70009 6222 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed. 6223 62242016-03-09 Tom de Vries <tom@codesourcery.com> 6225 6226 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test. 6227 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same. 6228 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: 6229 Same. 6230 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same. 6231 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same. 6232 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same. 6233 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same. 6234 62352016-03-07 Martin Jambor <mjambor@suse.cz> 6236 6237 * testsuite/lib/libgomp.exp 6238 (check_effective_target_hsa_offloading_selected_nocache): New. 6239 (check_effective_target_hsa_offloading_selected): Likewise. 6240 * testsuite/libgomp.hsa.c/c.exp: Likewise. 6241 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise. 6242 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise. 6243 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise. 6244 * testsuite/libgomp.hsa.c/complex-1.c: Likewise. 6245 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise. 6246 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise. 6247 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise. 6248 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise. 6249 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise. 6250 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise. 6251 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise. 6252 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise. 6253 * testsuite/libgomp.hsa.c/pr69568.c: Likewise. 6254 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise. 6255 * testsuite/libgomp.hsa.c/switch-1.c: Likewise. 6256 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise. 6257 62582016-03-07 Martin Jambor <mjambor@suse.cz> 6259 6260 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on 6261 non-shared memory accelerators. 6262 * testsuite/libgomp.c/examples-4/device-1.c: Likewise. 6263 * testsuite/libgomp.c/examples-4/target-5.c: Likewise. 6264 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise. 6265 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise. 6266 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise. 6267 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise. 6268 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise. 6269 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise. 6270 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise. 6271 62722016-03-07 Martin Jambor <mjambor@suse.cz> 6273 6274 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to 6275 ALWAYS_CFLAGS. 6276 62772016-03-02 Jakub Jelinek <jakub@redhat.com> 6278 6279 PR libgomp/69555 6280 * testsuite/libgomp.c++/pr69555-1.C: New test. 6281 * testsuite/libgomp.c++/pr69555-2.C: New test. 6282 62832016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com> 6284 Martin Jambor <mjambor@suse.cz> 6285 6286 * testsuite/lib/libgomp.exp 6287 (check_effective_target_offload_device_shared_as): New proc. 6288 * testsuite/libgomp.c++/declare_target-1.C: New test. 6289 62902016-02-25 Ilya Verbin <ilya.verbin@intel.com> 6291 6292 PR driver/68463 6293 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove. 6294 62952016-02-23 Thomas Schwinge <thomas@codesourcery.com> 6296 6297 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims. 6298 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for 6299 dims. 6300 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to 6301 -ftree-parallelize-loops/-fopenacc changes. 6302 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise. 6303 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: 6304 Likewise. 6305 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: 6306 Likewise. 6307 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: 6308 Likewise. 6309 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: 6310 Likewise. 6311 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: 6312 Likewise. 6313 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: 6314 Likewise. 6315 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: 6316 Likewise. 6317 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise. 6318 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: 6319 Likewise. 6320 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise. 6321 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: 6322 Likewise. 6323 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise. 6324 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: 6325 Likewise. 6326 63272016-02-22 Cesar Philippidis <cesar@codesourcery.com> 6328 6329 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test. 6330 63312016-02-19 Jakub Jelinek <jakub@redhat.com> 6332 6333 PR driver/69805 6334 * testsuite/libgomp.c/pr69805.c: New test. 6335 63362016-02-16 Tom de Vries <tom@codesourcery.com> 6337 6338 PR lto/67709 6339 * testsuite/libgomp.fortran/declare-simd-4.f90: New test. 6340 63412016-02-09 Tom de Vries <tom@codesourcery.com> 6342 6343 PR tree-optimization/69599 6344 * testsuite/libgomp.c/omp-nested-3.c: New test. 6345 * testsuite/libgomp.c/pr46032-2.c: New test. 6346 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test. 6347 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test. 6348 63492016-02-09 Tom de Vries <tom@codesourcery.com> 6350 6351 PR lto/69707 6352 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test. 6353 63542016-02-02 Alexander Monakov <amonakov@ispras.ru> 6355 6356 * testsuite/libgomp.c/target-31.c: Fix testcase. 6357 63582016-02-02 Alexander Monakov <amonakov@ispras.ru> 6359 6360 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction 6361 clause. 6362 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise. 6363 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing 6364 reduction and map clauses. 6365 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise. 6366 63672016-02-02 James Norris <jnorris@codesourcery.com> 6368 6369 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause. 6370 63712016-02-02 Thomas Schwinge <thomas@codesourcery.com> 6372 6373 * libgomp.map (GOACC_2.0): Remove GOACC_host_data. 6374 * oacc-parallel.c (GOACC_host_data): Remove function definition. 6375 6376 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test 6377 cases. 6378 6379 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New 6380 variables. 6381 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib) 6382 (hsa_kmt_lib): Set variables. 6383 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend 6384 always_ld_library_path. 6385 * Makefile.in: Regenerate. 6386 * configure: Likewise. 6387 * testsuite/Makefile.in: Likewise. 6388 6389 * plugin/configfrag.ac (offload_additional_options) 6390 (offload_additional_lib_paths): Don't amend for hsa offloading. 6391 * configure: Regenerate. 6392 6393 * plugin/configfrag.ac: Don't configure for offloading target if 6394 we don't build the corresponding plugin. 6395 * configure: Regenerate. 6396 63972016-02-01 Nathan Sidwell <nathan@codesourcery.com> 6398 6399 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New. 6400 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop. 6401 64022016-01-26 Tom de Vries <tom@codesourcery.com> 6403 6404 PR tree-optimization/69110 6405 * testsuite/libgomp.c/pr69110.c: New test. 6406 64072016-01-25 Richard Biener <rguenther@suse.de> 6408 6409 PR lto/69393 6410 * testsuite/libgomp.c++/pr69393.C: New testcase. 6411 64122016-01-22 Ilya Verbin <ilya.verbin@intel.com> 6413 6414 * target.c (gomp_get_target_fn_addr): Allow host fallback if target 6415 function wasn't mapped to the device with non-shared memory. 6416 64172016-01-20 Ilya Verbin <ilya.verbin@intel.com> 6418 6419 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL. 6420 64212016-01-19 Martin Jambor <mjambor@suse.cz> 6422 Martin Liska <mliska@suse.cz> 6423 6424 * plugin/Makefrag.am: Add HSA plugin requirements. 6425 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable. 6426 (HSA_RUNTIME_LIB): Likewise. 6427 (HSA_RUNTIME_CPPFLAGS): Likewise. 6428 (HSA_RUNTIME_INCLUDE): New substitution. 6429 (HSA_RUNTIME_LIB): Likewise. 6430 (HSA_RUNTIME_LDFLAGS): Likewise. 6431 (hsa-runtime): New configure option. 6432 (hsa-runtime-include): Likewise. 6433 (hsa-runtime-lib): Likewise. 6434 (PLUGIN_HSA): New substitution variable. 6435 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new 6436 configure options. 6437 (PLUGIN_HSA_CPPFLAGS): Likewise. 6438 (PLUGIN_HSA_LDFLAGS): Likewise. 6439 (PLUGIN_HSA_LIBS): Likewise. 6440 Check that we have access to HSA run-time. 6441 * libgomp-plugin.h (offload_target_type): New element 6442 OFFLOAD_TARGET_TYPE_HSA. 6443 * libgomp.h (gomp_target_task): New fields firstprivate_copies and 6444 args. 6445 (bool gomp_create_target_task): Updated. 6446 (gomp_device_descr): Extra parameter of run_func and async_run_func, 6447 new field can_run_func. 6448 * libgomp_g.h (GOMP_target_ext): Update prototype. 6449 * oacc-host.c (host_run): Added a new parameter args. 6450 * target.c (calculate_firstprivate_requirements): New function. 6451 (copy_firstprivate_data): Likewise. 6452 (gomp_target_fallback_firstprivate): Use them. 6453 (gomp_target_unshare_firstprivate): New function. 6454 (gomp_get_target_fn_addr): Allow returning NULL for shared memory 6455 devices. 6456 (GOMP_target): Do host fallback for all shared memory devices. Do not 6457 pass any args to plugins. 6458 (GOMP_target_ext): Introduce device-specific argument parameter args. 6459 Allow host fallback if device shares memory. Do not remap data if 6460 device has shared memory. 6461 (gomp_target_task_fn): Likewise. Also treat shared memory devices 6462 like host fallback for mappings. 6463 (GOMP_target_data): Treat shared memory devices like host fallback. 6464 (GOMP_target_data_ext): Likewise. 6465 (GOMP_target_update): Likewise. 6466 (GOMP_target_update_ext): Likewise. Also pass NULL as args to 6467 gomp_create_target_task. 6468 (GOMP_target_enter_exit_data): Likewise. 6469 (omp_target_alloc): Treat shared memory devices like host fallback. 6470 (omp_target_free): Likewise. 6471 (omp_target_is_present): Likewise. 6472 (omp_target_memcpy): Likewise. 6473 (omp_target_memcpy_rect): Likewise. 6474 (omp_target_associate_ptr): Likewise. 6475 (gomp_load_plugin_for_device): Also load can_run. 6476 * task.c (GOMP_PLUGIN_target_task_completion): Free 6477 firstprivate_copies. 6478 (gomp_create_target_task): Accept new argument args and store it to 6479 ttask. 6480 * plugin/plugin-hsa.c: New file. 6481 64822016-01-18 Tom de Vries <tom@codesourcery.com> 6483 6484 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test. 6485 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same. 6486 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same. 6487 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same. 6488 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same. 6489 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same. 6490 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same. 6491 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same. 6492 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same. 6493 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same. 6494 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c: 6495 Same. 6496 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c: 6497 Same. 6498 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same. 6499 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same. 6500 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same. 6501 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same. 6502 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same. 6503 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same. 6504 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same. 6505 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c: 6506 Same. 6507 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same. 6508 65092016-01-15 Jakub Jelinek <jakub@redhat.com> 6510 6511 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return. 6512 65132016-01-15 Cesar Philippidis <cesar@codesourcery.com> 6514 6515 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test. 6516 65172016-01-12 James Norris <jnorris@codesourcery.com> 6518 6519 * libgomp.texi: Updates for OpenACC. 6520 65212016-01-11 Alexander Monakov <amonakov@ispras.ru> 6522 6523 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET. 6524 65252016-01-07 H.J. Lu <hongjiu.lu@intel.com> 6526 6527 PR fortran/66680 6528 * testsuite/libgomp.fortran/pr66680.f90: New test. 6529 65302016-01-07 Jakub Jelinek <jakub@redhat.com> 6531 6532 PR middle-end/68960 6533 * testsuite/libgomp.c/pr68960.c: New test. 6534 65352016-01-06 Nathan Sidwell <nathan@acm.org> 6536 6537 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper. 6538 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New. 6539 65402016-01-04 Jakub Jelinek <jakub@redhat.com> 6541 6542 Update copyright years. 6543 6544 * libgomp.texi: Bump @copying's copyright year. 6545 65462015-12-31 Nathan Sidwell <nathan@acm.org> 6547 6548 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct 6549 dg-additional-options syntax. 6550 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise. 6551 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise. 6552 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise. 6553 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise. 6554 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise. 6555 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise. 6556 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise. 6557 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise. 6558 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise. 6559 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise. 6560 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise. 6561 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise. 6562 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise. 6563 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise. 6564 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise. 6565 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise. 6566 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise. 6567 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise. 6568 65692015-12-15 Ilya Verbin <ilya.verbin@intel.com> 6570 6571 * libgomp.h (REFCOUNT_LINK): Define. 6572 (struct splay_tree_key_s): Add link_key. 6573 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped. 6574 Replace target address of the pointer with target address of newly 6575 mapped object in the splay tree. Set link pointer on target to the 6576 device address of the mapped object. 6577 (gomp_unmap_vars): Restore target address of the pointer in the splay 6578 tree for REFCOUNT_LINK objects after unmapping. 6579 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp 6580 declare target link" objects. 6581 (gomp_unload_image_from_device): Replace j with i. Force unmap of all 6582 "omp declare target link" objects, which were mapped for the image. 6583 (gomp_exit_data): Restore target address of the pointer in the splay 6584 tree for REFCOUNT_LINK objects after unmapping. 6585 * testsuite/libgomp.c/target-link-1.c: New file. 6586 65872015-12-14 Ilya Verbin <ilya.verbin@intel.com> 6588 6589 * libgomp.h (gomp_device_state): New enum. 6590 (struct gomp_device_descr): Replace is_initialized with state. 6591 (gomp_fini_device): Remove declaration. 6592 * oacc-host.c (host_dispatch): Use state instead of is_initialized. 6593 * oacc-init.c (acc_init_1): Use state instead of is_initialized. 6594 (acc_shutdown_1): Likewise. Inline gomp_fini_device. 6595 (acc_set_device_type): Use state instead of is_initialized. 6596 (acc_set_device_num): Likewise. 6597 * target.c (resolve_device): Use state instead of is_initialized. 6598 Do not initialize finalized device. 6599 (gomp_map_vars): Do nothing if device is finalized. 6600 (gomp_unmap_vars): Likewise. 6601 (gomp_update): Likewise. 6602 (GOMP_offload_register_ver): Use state instead of is_initialized. 6603 (GOMP_offload_unregister_ver): Likewise. 6604 (gomp_init_device): Likewise. 6605 (gomp_unload_device): Likewise. 6606 (gomp_fini_device): Remove. 6607 (gomp_get_target_fn_addr): Do nothing if device is finalized. 6608 (GOMP_target): Go to host fallback if device is finalized. 6609 (GOMP_target_ext): Likewise. 6610 (gomp_exit_data): Do nothing if device is finalized. 6611 (gomp_target_task_fn): Go to host fallback if device is finalized. 6612 (gomp_target_fini): New static function. 6613 (gomp_target_init): Use state instead of is_initialized. 6614 Call gomp_target_fini at exit. 6615 66162015-12-09 Tom de Vries <tom@codesourcery.com> 6617 6618 PR tree-optimization/68716 6619 * testsuite/libgomp.c/omp-nested-2.c: New test. 6620 66212015-12-02 Thomas Schwinge <thomas@codesourcery.com> 6622 6623 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to 6624 target openacc_nvidia_accel_selected. 6625 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise. 6626 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise. 6627 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file. 6628 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file. 6629 66302015-12-01 Julian Brown <julian@codesourcery.com> 6631 James Norris <James_Norris@mentor.com> 6632 6633 * oacc-parallel.c (GOACC_host_data): New function. 6634 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1. 6635 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test. 6636 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test. 6637 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test. 6638 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test. 6639 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test. 6640 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test. 6641 66422015-11-30 James Norris <jnorris@codesourcery.com> 6643 Cesar Philippidis <cesar@codesourcery.com> 6644 6645 libgomp/ 6646 * libgomp.oacc-fortran/routine-5.f90: New test. 6647 * libgomp.oacc-fortran/routine-7.f90: New test. 6648 * libgomp.oacc-fortran/routine-9.f90: New test. 6649 66502015-11-30 Tom de Vries <tom@codesourcery.com> 6651 6652 PR tree-optimization/46032 6653 * testsuite/libgomp.c/pr46032.c: New test. 6654 66552015-11-27 Jakub Jelinek <jakub@redhat.com> 6656 6657 PR libgomp/68579 6658 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl. 6659 (gomp_create_target_task): Call it before freeing 6660 GOMP_TARGET_TASK_DATA tasks. 6661 6662 PR c/63326 6663 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon 6664 in between case label and OpenMP standalone directives. 6665 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise. 6666 66672015-11-26 David Edelsohn <dje.gcc@gmail.com> 6668 6669 * configure: Regenerate. 6670 66712015-11-26 Jakub Jelinek <jakub@redhat.com> 6672 6673 * testsuite/libgomp.c/target-35.c: New test. 6674 66752015-11-22 James Norris <jnorris@codesourcery.com> 6676 Cesar Philippidis <cesar@codesourcery.com> 6677 6678 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test. 6679 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise. 6680 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise. 6681 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise. 6682 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise. 6683 66842015-11-20 Jakub Jelinek <jakub@redhat.com> 6685 6686 PR middle-end/68221 6687 * testsuite/libgomp.c/reduction-11.c: Remove xfail. 6688 * testsuite/libgomp.c/reduction-12.c: Likewise. 6689 * testsuite/libgomp.c++/reduction-11.C: Likewise. 6690 * testsuite/libgomp.c++/reduction-12.C: Likewise. 6691 66922015-11-19 Nathan Sidwell <nathan@codesourcery.com> 6693 6694 * libgomp.oacc-c-c++-common/reduction-dbl.c: New. 6695 * libgomp.oacc-c-c++-common/reduction-flt.c: New. 6696 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef. 6697 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef. 6698 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests 6699 and fix. 6700 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise. 6701 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise. 6702 67032015-11-18 Nathan Sidwell <nathan@codesourcery.com> 6704 6705 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add 6706 worker & gang cases. 6707 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise. 6708 67092015-11-17 Cesar Philippidis <cesar@codesourcery.com> 6710 6711 * config/nvptx/priority_queue.c: New file. 6712 67132015-11-14 Jakub Jelinek <jakub@redhat.com> 6714 6715 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5 6716 sections. 6717 67182015-11-14 Jakub Jelinek <jakub@redhat.com> 6719 Aldy Hernandez <aldyh@redhat.com> 6720 Ilya Verbin <ilya.verbin@intel.com> 6721 6722 * ordered.c (gomp_doacross_init, GOMP_doacross_post, 6723 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post, 6724 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of 6725 iterators or IV by chunk size. 6726 * parallel.c (gomp_resolve_num_threads): Don't assume that 6727 if thr->ts.team is non-NULL, then pool must be non-NULL. 6728 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare. 6729 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export 6730 GOMP_PLUGIN_target_task_completion. 6731 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c. 6732 * Makefile.in: Regenerate. 6733 * libgomp.h: Shuffle prototypes and forward definitions around so 6734 priority queues can be defined. 6735 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING. 6736 (enum gomp_target_task_state): New enum. 6737 (struct gomp_target_task): Add state, tgt, task and team fields. 6738 (gomp_create_target_task): Change return type to bool, add 6739 state argument. 6740 (gomp_target_task_fn): Change return type to bool. 6741 (struct gomp_device_descr): Add async_run_func. 6742 (struct gomp_task): Remove children, next_child, prev_child, 6743 next_queue, prev_queue, next_taskgroup, prev_taskgroup. 6744 Add pnode field. 6745 (struct gomp_taskgroup): Remove children. 6746 Add taskgroup_queue. 6747 (struct gomp_team): Change task_queue type to a priority queue. 6748 (splay_compare): Define inline. 6749 (priority_queue_offset): New. 6750 (priority_node_to_task): New. 6751 (task_to_priority_node): New. 6752 * oacc-mem.c: Do not include splay-tree.h. 6753 * priority_queue.c: New file. 6754 * priority_queue.h: New file. 6755 * splay-tree.c: Do not include splay-tree.h. 6756 (splay_tree_foreach_internal): New. 6757 (splay_tree_foreach): New. 6758 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined. 6759 (splay_tree_callback): Define typedef. 6760 * target.c (splay_compare): Move to libgomp.h. 6761 (GOMP_target): Don't adjust *thr in any way around running offloaded 6762 task. 6763 (GOMP_target_ext): Likewise. Handle target nowait. 6764 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check 6765 return value from gomp_create_target_task, if false, fallthrough 6766 as if no dependencies exist. 6767 (gomp_target_task_fn): Change return type to bool, return true 6768 if the task should have another part scheduled later. Handle 6769 target nowait. 6770 (gomp_load_plugin_for_device): Initialize async_run. 6771 * task.c (gomp_init_task): Initialize children_queue. 6772 (gomp_clear_parent_in_list): New. 6773 (gomp_clear_parent_in_tree): New. 6774 (gomp_clear_parent): Handle priorities. 6775 (GOMP_task): Likewise. 6776 (priority_queue_move_task_first, 6777 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion): 6778 New functions. 6779 (gomp_create_target_task): Use priority queues. Change return type 6780 to bool, add state argument, return false if for async 6781 {{enter,exit} data,update} constructs no dependencies need to be 6782 waited for, handle target nowait. Set task->fn to NULL instead of 6783 gomp_target_task_fn. 6784 (verify_children_queue): Remove. 6785 (priority_list_upgrade_task): New. 6786 (priority_queue_upgrade_task): New. 6787 (verify_task_queue): Remove. 6788 (priority_list_downgrade_task): New. 6789 (priority_queue_downgrade_task): New. 6790 (gomp_task_run_pre): Use priority queues. 6791 Abstract code out to priority_queue_downgrade_task. 6792 (gomp_task_run_post_handle_dependers): Use priority queues. 6793 (gomp_task_run_post_remove_parent): Likewise. 6794 (gomp_task_run_post_remove_taskgroup): Likewise. 6795 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target 6796 tasks specially. 6797 (GOMP_taskwait): Likewise. 6798 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to 6799 priority-queue_upgrade_task. 6800 (GOMP_taskgroup_start): Use priority queues. 6801 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks 6802 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a 6803 barrier. 6804 * taskloop.c (GOMP_taskloop): Handle priorities. 6805 * team.c (gomp_new_team): Call priority_queue_init. 6806 (free_team): Call priority_queue_free. 6807 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial 6808 team created for target nowait in implicit parallel region. 6809 (gomp_team_start): For nested check, test thr->ts.level instead of 6810 thr->ts.team != NULL. 6811 * testsuite/libgomp.c/doacross-3.c: New test. 6812 * testsuite/libgomp.c/ordered-5.c: New test. 6813 * testsuite/libgomp.c/priority.c: New test. 6814 * testsuite/libgomp.c/target-31.c: New test. 6815 * testsuite/libgomp.c/target-32.c: New test. 6816 * testsuite/libgomp.c/target-33.c: New test. 6817 * testsuite/libgomp.c/target-34.c: New test. 6818 68192015-11-13 Nathan Sidwell <nathan@codesourcery.com> 6820 6821 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New. 6822 6823 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential 6824 loop is sequential. 6825 68262015-11-13 Nathan Sidwell <nathan@codesourcery.com> 6827 6828 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New. 6829 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New. 6830 68312015-11-12 James Norris <jnorris@codesourcery.com> 6832 Joseph Myers <joseph@codesourcery.com> 6833 6834 * libgomp.map (GOACC_2.0.1): Export GOACC_declare. 6835 * oacc-parallel.c (GOACC_declare): New function. 6836 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test. 6837 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise. 6838 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise. 6839 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise. 6840 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise. 6841 68422015-11-12 Nathan Sidwell <nathan@codesourcery.com> 6843 6844 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New. 6845 68462015-11-1 Nathan Sidwell <nathan@codesourcery.com> 6847 6848 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New. 6849 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New. 6850 68512015-11-09 Nathan Sidwell <nathan@codesourcery.com> 6852 6853 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove 6854 inadvertent commit. 6855 68562015-11-09 Nathan Sidwell <nathan@codesourcery.com> 6857 6858 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New. 6859 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New. 6860 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New. 6861 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New. 6862 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New. 6863 68642015-11-06 Thomas Schwinge <thomas@codesourcery.com> 6865 6866 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL. 6867 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise. 6868 68692015-11-05 Jakub Jelinek <jakub@redhat.com> 6870 Ilya Verbin <ilya.verbin@intel.com> 6871 6872 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next, 6873 GOMP_loop_nonmonotonic_dynamic_start, 6874 GOMP_loop_nonmonotonic_guided_next, 6875 GOMP_loop_nonmonotonic_guided_start, 6876 GOMP_loop_ull_nonmonotonic_dynamic_next, 6877 GOMP_loop_ull_nonmonotonic_dynamic_start, 6878 GOMP_loop_ull_nonmonotonic_guided_next, 6879 GOMP_loop_ull_nonmonotonic_guided_start, 6880 GOMP_parallel_loop_nonmonotonic_dynamic, 6881 GOMP_parallel_loop_nonmonotonic_guided): New prototypes. 6882 (GOMP_target_41): Renamed to ... 6883 (GOMP_target_ext): ... this. Add num_teams and thread_limit 6884 arguments. 6885 (GOMP_target_data_41): Renamed to ... 6886 (GOMP_target_data_ext): ... this. 6887 (GOMP_target_update_41): Renamed to ... 6888 (GOMP_target_update_ext): ... this. 6889 * libgomp.map (GOMP_4.5): Export GOMP_target_ext, 6890 GOMP_target_data_ext and GOMP_target_update_ext instead of 6891 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41. 6892 Export GOMP_loop_nonmonotonic_dynamic_next, 6893 GOMP_loop_nonmonotonic_dynamic_start, 6894 GOMP_loop_nonmonotonic_guided_next, 6895 GOMP_loop_nonmonotonic_guided_start, 6896 GOMP_loop_ull_nonmonotonic_dynamic_next, 6897 GOMP_loop_ull_nonmonotonic_dynamic_start, 6898 GOMP_loop_ull_nonmonotonic_guided_next, 6899 GOMP_loop_ull_nonmonotonic_guided_start, 6900 GOMP_parallel_loop_nonmonotonic_dynamic and 6901 GOMP_parallel_loop_nonmonotonic_guided. 6902 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic, 6903 GOMP_parallel_loop_nonmonotonic_guided, 6904 GOMP_loop_nonmonotonic_dynamic_start, 6905 GOMP_loop_nonmonotonic_guided_start, 6906 GOMP_loop_nonmonotonic_dynamic_next, 6907 GOMP_loop_nonmonotonic_guided_next): New aliases or functions. 6908 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start, 6909 GOMP_loop_ull_nonmonotonic_guided_start, 6910 GOMP_loop_ull_nonmonotonic_dynamic_next, 6911 GOMP_loop_ull_nonmonotonic_guided_next): Likewise. 6912 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline 6913 functions. 6914 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For 6915 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup. 6916 Use gomp_map_val function. 6917 (gomp_target_fallback_firstprivate): New static function. 6918 (GOMP_target_41): Renamed to ... 6919 (GOMP_target_ext): ... this. Add num_teams and thread_limit 6920 arguments. Move firstprivate fallback handling into a new 6921 function. 6922 (GOMP_target_data_41): Renamed to ... 6923 (GOMP_target_data_ext): ... this. 6924 (GOMP_target_update_41): Renamed to ... 6925 (GOMP_target_update_ext): ... this. 6926 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use 6927 gomp_map_0len_lookup instead of gomp_map_lookup. 6928 (omp_target_is_present): Use gomp_map_0len_lookup instead of 6929 gomp_map_lookup. 6930 * testsuite/libgomp.c/target-28.c: Likewise. 6931 * testsuite/libgomp.c/monotonic-1.c: New test. 6932 * testsuite/libgomp.c/monotonic-2.c: New test. 6933 * testsuite/libgomp.c/nonmonotonic-1.c: New test. 6934 * testsuite/libgomp.c/nonmonotonic-2.c: New test. 6935 * testsuite/libgomp.c/pr66199-5.c: New test. 6936 * testsuite/libgomp.c/pr66199-6.c: New test. 6937 * testsuite/libgomp.c/pr66199-7.c: New test. 6938 * testsuite/libgomp.c/pr66199-8.c: New test. 6939 * testsuite/libgomp.c/pr66199-9.c: New test. 6940 * testsuite/libgomp.c/reduction-11.c: New test. 6941 * testsuite/libgomp.c/reduction-12.c: New test. 6942 * testsuite/libgomp.c/reduction-13.c: New test. 6943 * testsuite/libgomp.c/reduction-14.c: New test. 6944 * testsuite/libgomp.c/reduction-15.c: New test. 6945 * testsuite/libgomp.c/target-12.c (main): Adjust for 6946 omp_target_is_present change for one-past-last element. 6947 * testsuite/libgomp.c/target-17.c (foo): Drop tests where 6948 the same var is both mapped and privatized. 6949 * testsuite/libgomp.c/target-19.c (foo): Adjust for different 6950 handling of zero-length array sections. 6951 * testsuite/libgomp.c/target-28.c: New test. 6952 * testsuite/libgomp.c/target-29.c: New test. 6953 * testsuite/libgomp.c/target-30.c: New test. 6954 * testsuite/libgomp.c/target-teams-1.c: New test. 6955 * testsuite/libgomp.c++/member-6.C: New test. 6956 * testsuite/libgomp.c++/member-7.C: New test. 6957 * testsuite/libgomp.c++/monotonic-1.C: New test. 6958 * testsuite/libgomp.c++/monotonic-2.C: New test. 6959 * testsuite/libgomp.c++/nonmonotonic-1.C: New test. 6960 * testsuite/libgomp.c++/nonmonotonic-2.C: New test. 6961 * testsuite/libgomp.c++/pr66199-3.C: New test. 6962 * testsuite/libgomp.c++/pr66199-4.C: New test. 6963 * testsuite/libgomp.c++/pr66199-5.C: New test. 6964 * testsuite/libgomp.c++/pr66199-6.C: New test. 6965 * testsuite/libgomp.c++/pr66199-7.C: New test. 6966 * testsuite/libgomp.c++/pr66199-8.C: New test. 6967 * testsuite/libgomp.c++/pr66199-9.C: New test. 6968 * testsuite/libgomp.c++/reduction-11.C: New test. 6969 * testsuite/libgomp.c++/reduction-12.C: New test. 6970 * testsuite/libgomp.c++/target-13.C: New test. 6971 * testsuite/libgomp.c++/target-14.C: New test. 6972 * testsuite/libgomp.c++/target-15.C: New test. 6973 * testsuite/libgomp.c++/target-16.C: New test. 6974 * testsuite/libgomp.c++/target-17.C: New test. 6975 * testsuite/libgomp.c++/target-18.C: New test. 6976 * testsuite/libgomp.c++/target-19.C: New test. 6977 69782015-11-04 Nathan Sidwell <nathan@codesourcery.com> 6979 6980 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions 6981 and reduction copy. 6982 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise. 6983 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise. 6984 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise. 6985 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. 6986 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise. 6987 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise. 6988 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise. 6989 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise. 6990 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise. 6991 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise. 6992 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise. 6993 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise. 6994 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise. 6995 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New. 6996 69972015-11-04 Nathan Sidwell <nathan@codesourcery.com> 6998 6999 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New. 7000 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New. 7001 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New. 7002 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New. 7003 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New. 7004 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New. 7005 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New. 7006 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var. 7007 70082015-11-03 Nathan Sidwell <nathan@codesourcery.com> 7009 7010 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func. 7011 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg. 7012 (GOMP_OFFLOAD_openacc_parallel): Likewise. 7013 * oacc-host.c (host_openacc_exec): Likewise. 7014 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call. 7015 70162015-11-03 Julian Brown <julian@codesourcery.com> 7017 Thomas Schwinge <thomas@codesourcery.com> 7018 7019 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file. 7020 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise. 7021 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: 7022 Likewise. 7023 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise. 7024 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise. 7025 70262015-11-03 James Norris <jnorris@codesourcery.com> 7027 7028 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New 7029 file. 7030 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: 7031 Likewise. 7032 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise. 7033 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise. 7034 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise. 7035 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file. 7036 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise. 7037 70382015-10-29 Nathan Sidwell <nathan@codesourcery.com> 7039 7040 * openacc.h (enum acc_device_t): Reformat. Ensure layout 7041 compatibility. 7042 (enum acc_async_t): Reformat. 7043 (acc_on_device): Declare compatible with builtin and provide C++ 7044 wrapper. 7045 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New. 7046 70472015-10-29 Thomas Schwinge <thomas@codesourcery.com> 7048 Cesar Philippidis <cesar@codesourcery.com> 7049 7050 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to... 7051 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c: 7052 ... this. Add a description of the test at the top of the file. 7053 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to... 7054 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: 7055 ... this. Add a description of the test at the top of the file. 7056 70572015-10-28 Nathan Sidwell <nathan@codesourcery.com> 7058 7059 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New. 7060 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New. 7061 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New. 7062 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New. 7063 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New. 7064 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New. 7065 70662015-10-27 Nathan Sidwell <nathan@codesourcery.com> 7067 7068 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute 7069 dimensions. 7070 70712015-10-27 Thomas Schwinge <thomas@codesourcery.com> 7072 7073 PR testsuite/68063 7074 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause. 7075 70762015-10-27 James Norris <jnorris@codesourcery.com> 7077 7078 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file. 7079 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise. 7080 70812015-10-26 Thomas Schwinge <thomas@codesourcery.com> 7082 7083 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr. 7084 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise. 7085 7086 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit 7087 acc_device_nvidia usage. 7088 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise. 7089 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise. 7090 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise. 7091 7092 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once. 7093 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file. 7094 7095 PR libgomp/66518 7096 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL. 7097 7098 PR libgomp/65437 7099 PR libgomp/66518 7100 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize. 7101 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL. 7102 71032015-10-23 Tom de Vries <tom@codesourcery.com> 7104 7105 PR testsuite/68063 7106 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause. 7107 71082015-10-20 Nathan Sidwell <nathan@codesourcery.com> 7109 7110 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane 7111 vector_length. 7112 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. 7113 71142015-10-14 Ilya Verbin <ilya.verbin@intel.com> 7115 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com> 7116 7117 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end 7118 to 0 when mapnum is 0. 7119 71202015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de> 7121 7122 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_): 7123 Cast to int from int32_t. 7124 71252015-10-13 Jakub Jelinek <jakub@redhat.com> 7126 Aldy Hernandez <aldyh@redhat.com> 7127 Ilya Verbin <ilya.verbin@intel.com> 7128 7129 * config/linux/affinity.c (omp_get_place_num_procs, 7130 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions. 7131 * config/linux/doacross.h: New file. 7132 * config/posix/affinity.c (omp_get_place_num_procs, 7133 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions. 7134 * config/posix/doacross.h: New file. 7135 * env.c: Include gomp-constants.h. 7136 (struct gomp_task_icv): Rename run_sched_modifier to 7137 run_sched_chunk_size. 7138 (gomp_max_task_priority_var): New variable. 7139 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size. 7140 (handle_omp_display_env): Change _OPENMP value from 201307 to 7141 201511. Print OMP_MAX_TASK_PRIORITY. 7142 (initialize_env): Parse OMP_MAX_TASK_PRIORITY. 7143 (omp_set_schedule, omp_get_schedule): Rename modifier argument to 7144 chunk_size and run_sched_modifier to run_sched_chunk_size. 7145 (omp_get_max_task_priority, omp_get_initial_device, 7146 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places, 7147 omp_get_partition_place_nums): New functions. 7148 * fortran.c (omp_set_schedule_, omp_set_schedule_8_, 7149 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument 7150 to chunk_size. 7151 (omp_get_num_places_, omp_get_place_num_procs_, 7152 omp_get_place_num_procs_8_, omp_get_place_proc_ids_, 7153 omp_get_place_proc_ids_8_, omp_get_place_num_, 7154 omp_get_partition_num_places_, omp_get_partition_place_nums_, 7155 omp_get_partition_place_nums_8_, omp_get_initial_device_, 7156 omp_get_max_task_priority_): New functions. 7157 * libgomp_g.h (GOMP_loop_doacross_static_start, 7158 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start, 7159 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start, 7160 GOMP_loop_ull_doacross_dynamic_start, 7161 GOMP_loop_ull_doacross_guided_start, 7162 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post, 7163 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait, 7164 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41, 7165 GOMP_target_data_41, GOMP_target_update_41, 7166 GOMP_target_enter_exit_data): New prototypes. 7167 (GOMP_task): Add prototype argument. 7168 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined. 7169 (struct gomp_doacross_work_share): New type. 7170 (struct gomp_work_share): Add doacross field. 7171 (struct gomp_task_icv): Rename run_sched_modifier to 7172 run_sched_chunk_size. 7173 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to 7174 GOMP_TASK_UNDEFERRED. Add comments. 7175 (struct gomp_task_depend_entry): Add comments. 7176 (struct gomp_task): Likewise. 7177 (struct gomp_taskgroup): Likewise. 7178 (struct gomp_target_task): New type. 7179 (struct gomp_team): Add comment. 7180 (gomp_get_place_proc_ids_8, gomp_doacross_init, 7181 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies, 7182 gomp_create_target_task, gomp_target_task_fn): New prototypes. 7183 (struct target_var_desc): New type. 7184 (struct target_mem_desc): Adjust comment. Use struct 7185 target_var_desc instead of splay_tree_key for list. 7186 (REFCOUNT_INFINITY): Define. 7187 (struct splay_tree_key_s): Remove copy_from field. 7188 (struct gomp_device_descr): Add dev2dev_func field. 7189 (enum gomp_map_vars_kind): New enum. 7190 (gomp_map_vars): Add one argument. 7191 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority, 7192 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_, 7193 omp_get_place_num_procs, omp_get_place_num_procs_, 7194 omp_get_place_num_procs_8_, omp_get_place_proc_ids, 7195 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num, 7196 omp_get_place_num_, omp_get_partition_num_places, 7197 omp_get_partition_num_places_, omp_get_partition_place_nums, 7198 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_, 7199 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc, 7200 omp_target_free, omp_target_is_present, omp_target_memcpy, 7201 omp_target_memcpy_rect, omp_target_associate_ptr and 7202 omp_target_disassociate_ptr. 7203 (GOMP_4.0.2): Renamed to ... 7204 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41, 7205 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop, 7206 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start, 7207 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start, 7208 GOMP_loop_doacross_static_start, GOMP_doacross_post, 7209 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start, 7210 GOMP_loop_ull_doacross_guided_start, 7211 GOMP_loop_ull_doacross_runtime_start, 7212 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and 7213 GOMP_doacross_ull_wait. 7214 * libgomp.texi: Document omp_get_max_task_priority. 7215 Rename modifier argument to chunk_size for omp_set_schedule and 7216 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var. 7217 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier 7218 to run_sched_chunk_size renaming. 7219 (GOMP_loop_ordered_runtime_start): Likewise. 7220 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start, 7221 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start, 7222 GOMP_parallel_loop_runtime_start): New functions. 7223 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier 7224 to run_sched_chunk_size renaming. 7225 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start, 7226 GOMP_loop_doacross_guided_start): New functions or aliases. 7227 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for 7228 run_sched_modifier to run_sched_chunk_size renaming. 7229 (GOMP_loop_ull_ordered_runtime_start): Likewise. 7230 (gomp_loop_ull_doacross_static_start, 7231 gomp_loop_ull_doacross_dynamic_start, 7232 gomp_loop_ull_doacross_guided_start, 7233 GOMP_loop_ull_doacross_runtime_start): New functions. 7234 (GOMP_loop_ull_doacross_static_start, 7235 GOMP_loop_ull_doacross_dynamic_start, 7236 GOMP_loop_ull_doacross_guided_start): New functions or aliases. 7237 * oacc-mem.c (acc_map_data, present_create_copy, 7238 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false 7239 to gomp_map_vars. 7240 (gomp_acc_remove_pointer): Use copy_from from target_var_desc. 7241 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC 7242 instead of false to gomp_map_vars. 7243 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc. 7244 * omp.h.in (omp_lock_hint_t): New type. 7245 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint, 7246 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids, 7247 omp_get_place_num, omp_get_partition_num_places, 7248 omp_get_partition_place_nums, omp_get_initial_device, 7249 omp_get_max_task_priority, omp_target_alloc, omp_target_free, 7250 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect, 7251 omp_target_associate_ptr, omp_target_disassociate_ptr): New 7252 prototypes. 7253 * omp_lib.f90.in (omp_lock_hint_kind): New parameter. 7254 (omp_lock_hint_none, omp_lock_hint_uncontended, 7255 omp_lock_hint_contended, omp_lock_hint_nonspeculative, 7256 omp_lock_hint_speculative): New parameters. 7257 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint, 7258 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids, 7259 omp_get_place_num, omp_get_partition_num_places, 7260 omp_get_partition_place_nums, omp_get_initial_device, 7261 omp_get_max_task_priority): New interfaces. 7262 (omp_set_schedule, omp_get_schedule): Rename modifier argument 7263 to chunk_size. 7264 * omp_lib.h.in (omp_lock_hint_kind): New parameter. 7265 (omp_lock_hint_none, omp_lock_hint_uncontended, 7266 omp_lock_hint_contended, omp_lock_hint_nonspeculative, 7267 omp_lock_hint_speculative): New parameters. 7268 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint, 7269 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids, 7270 omp_get_place_num, omp_get_partition_num_places, 7271 omp_get_partition_place_nums, omp_get_initial_device, 7272 omp_get_max_task_priority): New functions and subroutines. 7273 * ordered.c: Include stdarg.h and string.h. 7274 (MAX_COLLAPSED_BITS): Define. 7275 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait, 7276 gomp_doacross_ull_init, GOMP_doacross_ull_post, 7277 GOMP_doacross_ull_wait): New functions. 7278 * target.c: Include errno.h. 7279 (resolve_device): If device is not initialized, call 7280 gomp_init_device on it. 7281 (gomp_map_lookup): New function. 7282 (gomp_map_vars_existing): Add tgt_var argument, fill it in. 7283 Don't bump refcount if REFCOUNT_INFINITY. Handle 7284 GOMP_MAP_ALWAYS_TO_P. 7285 (get_kind): Rename is_openacc argument to short_mapkind. 7286 (gomp_map_pointer): Use gomp_map_lookup. 7287 (gomp_map_fields_existing): New function. 7288 (gomp_map_vars): Rename is_openacc argument to short_mapkind 7289 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA, 7290 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT, 7291 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION. 7292 Adjust for tgt->list changed type and copy_from living in there. 7293 (gomp_copy_from_async): Adjust for tgt->list changed type and 7294 copy_from living in there. 7295 (gomp_unmap_vars): Likewise. 7296 (gomp_update): Likewise. Rename is_openacc argument to 7297 short_mapkind. Don't fail if object is not mapped. 7298 (gomp_load_image_to_device): Initialize refcount to 7299 REFCOUNT_INFINITY. 7300 (gomp_target_fallback): New function. 7301 (gomp_get_target_fn_addr): Likewise. 7302 (GOMP_target): Adjust gomp_map_vars caller, use 7303 gomp_get_target_fn_addr and gomp_target_fallback. 7304 (GOMP_target_41): New function. 7305 (gomp_target_data_fallback): New function. 7306 (GOMP_target_data): Use it, adjust gomp_map_vars caller. 7307 (GOMP_target_data_41): New function. 7308 (GOMP_target_update): Adjust gomp_update caller. 7309 (GOMP_target_update_41): New function. 7310 (gomp_exit_data, GOMP_target_enter_exit_data, 7311 gomp_target_task_fn, omp_target_alloc, omp_target_free, 7312 omp_target_is_present, omp_target_memcpy, 7313 omp_target_memcpy_rect_worker, omp_target_memcpy_rect, 7314 omp_target_associate_ptr, omp_target_disassociate_ptr, 7315 gomp_load_plugin_for_device): New functions. 7316 * task.c: Include gomp-constants.h. Include taskloop.c 7317 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions. 7318 (gomp_task_handle_depend): New function. 7319 (GOMP_task): Use it. Add priority argument. Use 7320 gomp-constant.h constants instead of hardcoded numbers. 7321 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED. 7322 (gomp_create_target_task): New function. 7323 (verify_children_queue, verify_taskgroup_queue, 7324 verify_task_queue): New functions. 7325 (gomp_task_run_pre): Call verify_*_queue functions. 7326 If an upcoming tied task is about to leave the sibling or 7327 taskgroup queues in an invalid state, adjust appropriately. 7328 Remove taskgroup argument. Add comments. 7329 (gomp_task_run_post_handle_dependers): Add comments. 7330 (gomp_task_run_post_remove_parent): Likewise. 7331 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller. 7332 (GOMP_taskwait): Likewise. Add comments. 7333 (gomp_task_maybe_wait_for_dependencies): Fix scheduling 7334 problem such that the first non parent_depends_on task does not 7335 end up at the end of the children queue. 7336 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to 7337 GOMP_TASK_UNDEFERRED. 7338 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller. 7339 * taskloop.c: New file. 7340 * testsuite/lib/libgomp.exp 7341 (check_effective_target_offload_device_nonshared_as): New proc. 7342 * testsuite/libgomp.c/affinity-2.c: New test. 7343 * testsuite/libgomp.c/doacross-1.c: New test. 7344 * testsuite/libgomp.c/doacross-2.c: New test. 7345 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper): 7346 Add map clause to target. 7347 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise. 7348 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise. 7349 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise. 7350 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise. 7351 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt): 7352 Likewise. 7353 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise. 7354 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise. 7355 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise. 7356 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if 7357 not defined. Use those where needed. 7358 * testsuite/libgomp.c/for-4.c: New test. 7359 * testsuite/libgomp.c/for-5.c: New test. 7360 * testsuite/libgomp.c/for-6.c: New test. 7361 * testsuite/libgomp.c/linear-1.c: New test. 7362 * testsuite/libgomp.c/ordered-4.c: New test. 7363 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause 7364 only allowed on the loop iterator. 7365 * testsuite/libgomp.c/pr66199-3.c: New test. 7366 * testsuite/libgomp.c/pr66199-4.c: New test. 7367 * testsuite/libgomp.c/reduction-7.c: New test. 7368 * testsuite/libgomp.c/reduction-8.c: New test. 7369 * testsuite/libgomp.c/reduction-9.c: New test. 7370 * testsuite/libgomp.c/reduction-10.c: New test. 7371 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add 7372 map(tofrom:s). 7373 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise. 7374 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed. 7375 * testsuite/libgomp.c/target-11.c: New test. 7376 * testsuite/libgomp.c/target-12.c: New test. 7377 * testsuite/libgomp.c/target-13.c: New test. 7378 * testsuite/libgomp.c/target-14.c: New test. 7379 * testsuite/libgomp.c/target-15.c: New test. 7380 * testsuite/libgomp.c/target-16.c: New test. 7381 * testsuite/libgomp.c/target-17.c: New test. 7382 * testsuite/libgomp.c/target-18.c: New test. 7383 * testsuite/libgomp.c/target-19.c: New test. 7384 * testsuite/libgomp.c/target-20.c: New test. 7385 * testsuite/libgomp.c/target-21.c: New test. 7386 * testsuite/libgomp.c/target-22.c: New test. 7387 * testsuite/libgomp.c/target-23.c: New test. 7388 * testsuite/libgomp.c/target-24.c: New test. 7389 * testsuite/libgomp.c/target-25.c: New test. 7390 * testsuite/libgomp.c/target-26.c: New test. 7391 * testsuite/libgomp.c/target-27.c: New test. 7392 * testsuite/libgomp.c/taskloop-1.c: New test. 7393 * testsuite/libgomp.c/taskloop-2.c: New test. 7394 * testsuite/libgomp.c/taskloop-3.c: New test. 7395 * testsuite/libgomp.c/taskloop-4.c: New test. 7396 * testsuite/libgomp.c++/ctor-13.C: New test. 7397 * testsuite/libgomp.c++/doacross-1.C: New test. 7398 * testsuite/libgomp.c++/examples-4/declare_target-2.C: 7399 Replace offload_device with offload_device_nonshared_as. 7400 * testsuite/libgomp.c++/for-12.C: New test. 7401 * testsuite/libgomp.c++/for-13.C: New test. 7402 * testsuite/libgomp.c++/for-14.C: New test. 7403 * testsuite/libgomp.c++/linear-1.C: New test. 7404 * testsuite/libgomp.c++/member-1.C: New test. 7405 * testsuite/libgomp.c++/member-2.C: New test. 7406 * testsuite/libgomp.c++/member-3.C: New test. 7407 * testsuite/libgomp.c++/member-4.C: New test. 7408 * testsuite/libgomp.c++/member-5.C: New test. 7409 * testsuite/libgomp.c++/ordered-1.C: New test. 7410 * testsuite/libgomp.c++/reduction-5.C: New test. 7411 * testsuite/libgomp.c++/reduction-6.C: New test. 7412 * testsuite/libgomp.c++/reduction-7.C: New test. 7413 * testsuite/libgomp.c++/reduction-8.C: New test. 7414 * testsuite/libgomp.c++/reduction-9.C: New test. 7415 * testsuite/libgomp.c++/reduction-10.C: New test. 7416 * testsuite/libgomp.c++/reference-1.C: New test. 7417 * testsuite/libgomp.c++/simd14.C: New test. 7418 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause. 7419 * testsuite/libgomp.c++/target-5.C: New test. 7420 * testsuite/libgomp.c++/target-6.C: New test. 7421 * testsuite/libgomp.c++/target-7.C: New test. 7422 * testsuite/libgomp.c++/target-8.C: New test. 7423 * testsuite/libgomp.c++/target-9.C: New test. 7424 * testsuite/libgomp.c++/target-10.C: New test. 7425 * testsuite/libgomp.c++/target-11.C: New test. 7426 * testsuite/libgomp.c++/target-12.C: New test. 7427 * testsuite/libgomp.c++/taskloop-1.C: New test. 7428 * testsuite/libgomp.c++/taskloop-2.C: New test. 7429 * testsuite/libgomp.c++/taskloop-3.C: New test. 7430 * testsuite/libgomp.c++/taskloop-4.C: New test. 7431 * testsuite/libgomp.c++/taskloop-5.C: New test. 7432 * testsuite/libgomp.c++/taskloop-6.C: New test. 7433 * testsuite/libgomp.c++/taskloop-7.C: New test. 7434 * testsuite/libgomp.c++/taskloop-8.C: New test. 7435 * testsuite/libgomp.c++/taskloop-9.C: New test. 7436 * testsuite/libgomp.fortran/affinity1.f90: New test. 7437 * testsuite/libgomp.fortran/affinity2.f90: New test. 7438 74392015-10-13 Tom de Vries <tom@codesourcery.com> 7440 7441 PR tree-optimization/67476 7442 * testsuite/libgomp.c/autopar-3.c: New test. 7443 * testsuite/libgomp.c/autopar-4.c: New test. 7444 * testsuite/libgomp.c/autopar-5.c: New test. 7445 * testsuite/libgomp.c/autopar-6.c: New test. 7446 * testsuite/libgomp.c/autopar-7.c: New test. 7447 * testsuite/libgomp.c/autopar-8.c: New test. 7448 74492015-10-12 James Norris <jnorris@codesourcery.com> 7450 7451 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop 7452 initializer. 7453 74542015-10-09 David Malcolm <dmalcolm@redhat.com> 7455 7456 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp, 7457 using load_gcc_lib. 7458 74592015-10-02 Thomas Schwinge <thomas@codesourcery.com> 7460 7461 * oacc-ptx.h: Remove file, moving its content into... 7462 * config/nvptx/fortran.c: ... here... 7463 * config/nvptx/oacc-init.c: ..., here... 7464 * config/nvptx/oacc-parallel.c: ..., and here. 7465 * config/nvptx/openacc.f90: New file. 7466 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h". 7467 (link_ptx): Don't link in predefined bits of PTX code. 7468 74692015-09-30 Nathan Sidwell <nathan@codesourcery.com> 7470 Bernd Schmidt <bernds@codesourcery.com> 7471 7472 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX. 7473 (struct targ_ptx_obj): New. 7474 (nvptx_tdata): Move earlier, change data format. 7475 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple 7476 objects. 7477 (GOMP_OFFLOAD_load_image): Adjust. 7478 74792015-09-30 Thomas Schwinge <thomas@codesourcery.com> 7480 7481 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint. 7482 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise. 7483 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise. 7484 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise. 7485 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise. 7486 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise. 7487 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise. 7488 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise. 7489 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise. 7490 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise. 7491 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise. 7492 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise. 7493 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise. 7494 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise. 7495 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise. 7496 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise. 7497 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise. 7498 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise. 7499 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise. 7500 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise. 7501 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. 7502 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise. 7503 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise. 7504 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise. 7505 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise. 7506 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise. 7507 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise. 7508 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise. 7509 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise. 7510 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise. 7511 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise. 7512 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise. 7513 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise. 7514 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise. 7515 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. 7516 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise. 7517 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise. 7518 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise. 7519 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise. 7520 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise. 7521 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise. 7522 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise. 7523 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise. 7524 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise. 7525 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise. 7526 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise. 7527 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise. 7528 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise. 7529 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise. 7530 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise. 7531 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise. 7532 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise. 7533 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise. 7534 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise. 7535 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise. 7536 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise. 7537 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise. 7538 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise. 7539 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise. 7540 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise. 7541 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise. 7542 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise. 7543 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise. 7544 75452015-09-29 Nathan Sidwell <nathan@codesourcery.com> 7546 7547 * oacc-init.c (acc_on_device): Force optimization level. 7548 75492015-09-29 Nathan Sidwell <nathan@codesourcery.com> 7550 7551 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete. 7552 (cuda_errlist): Delete. 7553 (cuda_error): Reimplement. 7554 75552015-09-28 Nathan Sidwell <nathan@codesourcery.com> 7556 7557 * libgomp.h (acc_dispatch_t): Replace separate geometry args with 7558 array. 7559 * libgomp.map (GOACC_parallel_keyed): New. 7560 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust 7561 all callers. 7562 (GOACC_parallel_keyed): New interface. Lose geometry arguments 7563 and take keyed varargs list. Adjust call to exec_func. 7564 (GOACC_parallel): Force host fallback. 7565 * libgomp_g.h (GOACC_parallel): Remove. 7566 (GOACC_parallel_keyed): Declare. 7567 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct. 7568 (struct targ_gn_descriptor): Replace name field with launch field. 7569 (nvptx_exec): Lose separate geometry args, take array. Process 7570 dynamic dimensions and adjust. 7571 (struct nvptx_tdata): Replace fn_names field with fn_descs. 7572 (GOMP_OFFLOAD_load_image): Adjust for change in function table 7573 data. 7574 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension 7575 passing. 7576 * oacc-host.c (host_openacc_exec): Adjust for change in dimension 7577 passing. 7578 75792015-09-22 Chung-Lin Tang <cltang@codesourcery.com> 7580 7581 PR libgomp/67141 7582 * oacc-int.h (goacc_host_init): Add declaration. 7583 * oacc-host.c (goacc_host_init): Remove static and constructor attribute. 7584 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end. 7585 75862015-09-08 Aditya Kumar <hiraditya@msn.com> 7587 Sebastian Pop <s.pop@samsung.com> 7588 7589 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to 7590 match o/p. 7591 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same. 7592 * testsuite/libgomp.graphite/force-parallel-4.c: Same. 7593 * testsuite/libgomp.graphite/force-parallel-5.c: Same. 7594 * testsuite/libgomp.graphite/force-parallel-7.c: Same. 7595 * testsuite/libgomp.graphite/force-parallel-8.c: Same. 7596 75972015-09-03 Jakub Jelinek <jakub@redhat.com> 7598 7599 * configure.tgt: Add missing ;; in between nvptx and rtems 7600 snippets. 7601 76022015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de> 7603 7604 * config/posix/pool.h (gomp_adjust_thread_attr): New. 7605 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise. 7606 (gomp_thread_pool_reservoir): Add priority member. 7607 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add 7608 priority. 7609 (parse_thread_pools): Likewise. 7610 * team.c (gomp_team_start): Call configuration provided 7611 gomp_adjust_thread_attr(). Destroy thread attributes if 7612 necessary. 7613 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS. 7614 76152015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de> 7616 7617 * config/posix/pool.h: New. 7618 * config/rtems/pool.h: Likewise. 7619 * config/rtems/proc.c: Likewise. 7620 * libgomp.h (gomp_thread_destructor): Declare. 7621 * team.c: Include configuration provided "pool.h". 7622 (gomp_get_thread_pool): Define in configuration. 7623 (gomp_team_end): Call configuration defined 7624 gomp_release_thread_pool(). 7625 76262015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de> 7627 7628 * config/rtems/bar.c: New. 7629 * config/rtems/bar.h: Likewise. 7630 * config/rtems/mutex.c: Likewise. 7631 * config/rtems/mutex.h: Likewise. 7632 * config/rtems/sem.c: Likewise. 7633 * config/rtems/sem.h: Likewise. 7634 * configure.ac (*-*-rtems*): Check that Newlib provides a proper 7635 <sys/lock.h> header file. 7636 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if 7637 supported by Newlib. 7638 * configure: Regenerate. 7639 76402015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de> 7641 7642 * team.c (gomp_new_thread_pool): Delete and move content to ... 7643 (gomp_get_thread_pool): ... new function. Allocate and 7644 initialize thread pool on demand. 7645 (get_last_team): Use gomp_get_thread_pool(). 7646 (gomp_team_start): Delete thread pool initialization. 7647 76482015-09-03 Tom de Vries <tom@codesourcery.com> 7649 7650 PR tree-optimization/65637 7651 * testsuite/libgomp.c/autopar-2.c: New test. 7652 76532015-08-29 Tom de Vries <tom@codesourcery.com> 7654 7655 PR tree-optimization/46193 7656 * testsuite/libgomp.c/pr46193.c: New test. 7657 76582015-08-24 Nathan Sidwell <nathan@codesourcery.com> 7659 7660 libgomp/ 7661 * libgomp.map: Add 4.0.2 version. 7662 * target.c (offload_image_descr): Add version field. 7663 (gomp_load_image_to_device): Add version argument. Adjust plugin 7664 call. Improve load mismatch diagnostic. 7665 (gomp_unload_image_from_device): Add version argument. Adjust plugin 7666 call. 7667 (GOMP_offload_regster): Make stub function, move bulk to ... 7668 (GOMP_offload_register_ver): ... here. Process version argument. 7669 (GOMP_offload_unregister): Make stub function, move bulk to ... 7670 (GOMP_offload_unregister_ver): ... here. Process version argument. 7671 (gomp_init_device): Process version field. 7672 (gomp_unload_device): Process version field. 7673 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT 7674 macros. Check plugin version. 7675 * libgomp.h (gomp_device_descr): Add version function field. Adjust 7676 loader and unloader types. 7677 * oacc-host.c: Include gomp-constants.h. 7678 (host_version): New. 7679 (host_load_image, host_unload_image): Adjust. 7680 (host_dispatch): Add host_version. 7681 * plugin/plugin-nvptx.c: Include gomp-constants.h. 7682 (GOMP_OFFLOAD_version): New. 7683 (GOMP_OFFLOAD_load_image): Add version arg and check it. 7684 (GOMP_OFFLOAD_unload_image): Likewise. 7685 * plugin/plugin-host.c: Include gomp-constants.h. 7686 (GOMP_OFFLOAD_version): New. 7687 (GOMP_OFFLOAD_load_image): Add version arg. 7688 (GOMP_OFFLOAD_unload_image): Likewise. 7689 76902015-08-24 Tom de Vries <tom@codesourcery.com> 7691 7692 PR tree-optimization/65468 7693 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test. 7694 76952015-08-24 Tom de Vries <tom@codesourcery.com> 7696 7697 PR tree-optimization/65468 7698 * testsuite/libgomp.c/static-chunk-size-one.c: New test. 7699 77002015-08-24 Joost VandeVondele <vondele@gnu.gcc.org> 7701 7702 PR libgomp/66761 7703 PR libgomp/67303 7704 * iter.c (gomp_iter_dynamic_next): Employ an atomic load. 7705 (gomp_iter_guided_next): Idem. 7706 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem. 7707 (gomp_iter_ull_guided_next): Idem. 7708 * config/linux/wait.h (do_spin): Idem. 7709 77102015-08-10 Thomas Schwinge <thomas@codesourcery.com> 7711 7712 * libgomp-plugin.h (enum offload_target_type): Remove 7713 OFFLOAD_TARGET_TYPE_HOST_NONSHM. 7714 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm. 7715 * openacc.h (enum acc_device_t): Likewise. 7716 * openacc_lib.h: Likewise. 7717 * oacc-init.c (name_of_acc_device_t): Don't handle it. 7718 (acc_on_device): Just use __builtin_acc_on_device. 7719 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage 7720 of acc_on_device builtin. 7721 * plugin/plugin-host.h: Remove file. 7722 * plugin/plugin-host.c: Likewise, but salvage some content into... 7723 * oacc-host.c: ... this file. 7724 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la. 7725 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm. 7726 * Makefile.in: Regenerate. 7727 * configure: Likewise. 7728 * testsuite/lib/libgomp.exp 7729 (check_effective_target_openacc_host_nonshm_selected): Remove. 7730 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle 7731 ACC_DEVICE_TYPE=host_nonshm. 7732 * testsuite/libgomp.oacc-c/c.exp: Likewise. 7733 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 7734 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise. 7735 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise. 7736 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise. 7737 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise. 7738 77392015-08-10 Thomas Schwinge <thomas@codesourcery.com> 7740 Jakub Jelinek <jakub@redhat.com> 7741 7742 * config/nvptx/affinity.c: New file. 7743 * config/nvptx/alloc.c: Likewise. 7744 * config/nvptx/bar.c: Likewise. 7745 * config/nvptx/barrier.c: Likewise. 7746 * config/nvptx/critical.c: Likewise. 7747 * config/nvptx/env.c: Likewise. 7748 * config/nvptx/error.c: Likewise. 7749 * config/nvptx/fortran.c: Likewise. 7750 * config/nvptx/iter.c: Likewise. 7751 * config/nvptx/iter_ull.c: Likewise. 7752 * config/nvptx/libgomp-plugin.c: Likewise. 7753 * config/nvptx/lock.c: Likewise. 7754 * config/nvptx/loop.c: Likewise. 7755 * config/nvptx/loop_ull.c: Likewise. 7756 * config/nvptx/mutex.c: Likewise. 7757 * config/nvptx/oacc-async.c: Likewise. 7758 * config/nvptx/oacc-cuda.c: Likewise. 7759 * config/nvptx/oacc-host.c: Likewise. 7760 * config/nvptx/oacc-init.c: Likewise. 7761 * config/nvptx/oacc-mem.c: Likewise. 7762 * config/nvptx/oacc-parallel.c: Likewise. 7763 * config/nvptx/oacc-plugin.c: Likewise. 7764 * config/nvptx/omp-lock.h: Likewise. 7765 * config/nvptx/ordered.c: Likewise. 7766 * config/nvptx/parallel.c: Likewise. 7767 * config/nvptx/proc.c: Likewise. 7768 * config/nvptx/ptrlock.c: Likewise. 7769 * config/nvptx/sections.c: Likewise. 7770 * config/nvptx/sem.c: Likewise. 7771 * config/nvptx/single.c: Likewise. 7772 * config/nvptx/splay-tree.c: Likewise. 7773 * config/nvptx/target.c: Likewise. 7774 * config/nvptx/task.c: Likewise. 7775 * config/nvptx/team.c: Likewise. 7776 * config/nvptx/time.c: Likewise. 7777 * config/nvptx/work.c: Likewise. 7778 * configure.ac: Don't probe pthreads support for host nvptx*-*-*. 7779 * configure: Regenerate. 7780 * configure.tgt (config_path): Set to "nvptx" for target 7781 nvptx*-*-*. 7782 77832015-08-10 Thomas Schwinge <thomas@codesourcery.com> 7784 7785 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file. 7786 77872015-08-03 Nathan Sidwell <nathan@codesourcery.com> 7788 7789 * plugin/plugin-nvptx.c: Don't include dlfcn.h. 7790 (cuda_errlist): Constify. 7791 (errmsg): Move into ... 7792 (cuda_error): ... here. Make smaller. 7793 (_XSTR, _STR): Delete. 7794 (cuda_synames): Delete. 7795 (verify_device_library): Delete. 7796 (nvptx_init): Don't call it. 7797 77982015-07-28 Tom de Vries <tom@codesourcery.com> 7799 7800 * testsuite/libgomp.c/uns-outer-4.c: New test. 7801 78022015-07-24 Cesar Philippidis <cesar@codesourcery.com> 7803 7804 * testsuite/libgomp.c/pr66714.c: New test. 7805 78062015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com> 7807 7808 PR libgomp/66950 7809 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45. 7810 (fib_ref): New function. 7811 (fib): Correct corner cases in the recursion. 7812 (main): Replace the non-simd loop with fib_ref call. 7813 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New 7814 subroutine. 7815 (fibonacci): Lower the parameter N to 30. Correct accordingly check 7816 for the last array element value. Replace the non-simd loop with 7817 fib_ref call. Remove redundant b_ref array. Remove the comparison 7818 of the last array element with according Fibonacci sequence element. 7819 (fib): Correct corner cases in the recursion. 7820 78212015-07-21 Nathan Sidwell <nathan@codesourcery.com> 7822 7823 * target.c (gomp_offload_image_to_device): Rename to ... 7824 (gomp_load_image_to_device): ... here. 7825 (GOMP_offload_register): Adjust call. 7826 (gomp_init_device): Likewise. 7827 (gomp_unload_image_from_device): New. Broken out of ... 7828 (GOMP_offload_unregister): ... here. Call it. 7829 (gomp_unload_device): New. 7830 * libgomp.h (gomp_unload_device): Declare. 7831 * oacc-init.c (acc_shutdown_1): Unload from device before deleting 7832 mem maps. 7833 78342015-07-20 Nathan Sidwell <nathan@codesourcery.com> 7835 7836 * oacc-parallel.c (GOACC_parallel): Move variadic handling into 7837 wait=-specific if. 7838 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits 7839 !=0 condition. 7840 (goacc_waits): Move !num_waits handling to ... 7841 (GOACC_wait): ... here, the only caller that might have zero waits. 7842 7843 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later. 7844 (struct ptx_image_data): Move earlier, add fns field. 7845 (struct ptx_device): Add images and image_lock fields. 7846 (ptx_images, ptx_image_lock): Delete. 7847 (nvptx_open_device): Initialize images and image_lock fields. 7848 (nvptx_close_device): Destroy image_lock. 7849 (GOMP_OFFLOAD_load_image): Register image to device-specific fields. 7850 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific 7851 fields. 7852 78532015-07-17 Nathan Sidwell <nathan@codesourcery.com> 7854 7855 * target.c (GOMP_offload_register): Use int for device type arg. 7856 (GOMP_offload_unregister): Likewise. 7857 7858 * target.c (struct_offload_image_descr): Constify host_table. 7859 (gomp_offload_image_to_device): Likewise. 7860 (GOMP_offload_register, GOMP_offload_unregister): Likewise. 7861 7862 * libgomp.h (gomp_device_descr): Constify target data arguments. 7863 * target.c (struct offload_image_descr): Constify target_data. 7864 (gomp_offload_image_to_device): Likewise. 7865 (GOMP_offload_register): Likewise. 7866 (GOMP_offload_unregister): Likewise. 7867 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image, 7868 GOMP_OFFLOAD_unload_image): Constify target data. 7869 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data. 7870 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise. 7871 78722015-07-16 Nathan Sidwell <nathan@codesourcery.com> 7873 7874 * plugin/plugin-nvptx.c (link_ptx): Constify string argument. 7875 Workaround driver library const error. 7876 (struct nvptx_tdata, nvptx_tdata_t): New. 7877 (GOMP_OFFLOAD_load_image): Use struct for target_data's real 7878 type. 7879 78802015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com> 7881 7882 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type 7883 of EPS parameter from integer to real. 7884 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change 7885 type of EPS parameter from integer to real. 7886 78872015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de> 7888 7889 * team.c (get_last_team): New. 7890 (gomp_new_team): Recycle last non-nested team if possible. 7891 (gomp_team_end): Move team work share list free lock destruction 7892 to ... 7893 (free_team): ... here. 7894 78952015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com> 7896 7897 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res 7898 and ref from int to double. Replaced their comparison with 7899 an inequality of their difference and EPS. 7900 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the 7901 comparison of pri and a reference number with an inequality of their 7902 difference and EPS. 7903 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced 7904 the comparison of sum and sum_ref with an inequality of their 7905 difference and EPS. 7906 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace 7907 the comparison of pri and a reference number with an inequality of 7908 their difference and EPS. 7909 79102015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com> 7911 7912 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to... 7913 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this. 7914 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to... 7915 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this. 7916 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to... 7917 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this. 7918 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to... 7919 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this. 7920 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to... 7921 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this. 7922 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to... 7923 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this. 7924 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local 7925 variables. 7926 (vec_mult): Likewise. Add #pragma omp taskwait. 7927 (main): Adjust caller. 7928 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to... 7929 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this. 7930 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to... 7931 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this. 7932 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to... 7933 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this. 7934 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to... 7935 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this. 7936 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to... 7937 * testsuite/libgomp.c/examples-4/device-1.c: ...this. 7938 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to... 7939 * testsuite/libgomp.c/examples-4/device-2.c: ...this. 7940 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to... 7941 * testsuite/libgomp.c/examples-4/device-3.c: ...this. 7942 * testsuite/libgomp.c/examples-4/simd-1.c: New file. 7943 * testsuite/libgomp.c/examples-4/simd-2.c: New file. 7944 * testsuite/libgomp.c/examples-4/simd-3.c: New file. 7945 * testsuite/libgomp.c/examples-4/simd-4.c: New file. 7946 * testsuite/libgomp.c/examples-4/simd-5.c: New file. 7947 * testsuite/libgomp.c/examples-4/simd-6.c: New file. 7948 * testsuite/libgomp.c/examples-4/simd-7.c: New file. 7949 * testsuite/libgomp.c/examples-4/simd-8.c: New file. 7950 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to... 7951 * testsuite/libgomp.c/examples-4/target-1.c: ...this. 7952 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to... 7953 * testsuite/libgomp.c/examples-4/target-2.c: ...this. 7954 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to... 7955 * testsuite/libgomp.c/examples-4/target-3.c: ...this. 7956 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to... 7957 * testsuite/libgomp.c/examples-4/target-4.c: ...this. 7958 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to... 7959 * testsuite/libgomp.c/examples-4/target-5.c: ...this. 7960 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to... 7961 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this. 7962 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to... 7963 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this. 7964 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to... 7965 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this. 7966 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to... 7967 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this. 7968 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to... 7969 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this. 7970 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to... 7971 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this. 7972 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to... 7973 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this. 7974 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to... 7975 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this. 7976 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file. 7977 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file. 7978 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file. 7979 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file. 7980 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file. 7981 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to... 7982 * testsuite/libgomp.c/examples-4/teams-2.c: ...this. 7983 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to... 7984 * testsuite/libgomp.c/examples-4/teams-3.c: ...this. 7985 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to... 7986 * testsuite/libgomp.c/examples-4/teams-4.c: ...this. 7987 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to... 7988 * testsuite/libgomp.c/examples-4/teams-5.c: ...this. 7989 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to... 7990 * testsuite/libgomp.c/examples-4/teams-6.c: ...this. 7991 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to... 7992 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this. 7993 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to... 7994 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this. 7995 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to... 7996 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this. 7997 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to... 7998 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this. 7999 (vec_mult): Add !$omp taskwait. 8000 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to... 8001 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this. 8002 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to... 8003 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this. 8004 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to... 8005 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this. 8006 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to... 8007 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this. 8008 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to... 8009 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this. 8010 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to... 8011 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this. 8012 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to... 8013 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this. 8014 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to... 8015 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this. 8016 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file. 8017 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file. 8018 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file. 8019 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file. 8020 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file. 8021 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file. 8022 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file. 8023 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file. 8024 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to... 8025 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this. 8026 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to... 8027 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this. 8028 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to... 8029 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this. 8030 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to... 8031 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this. 8032 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to... 8033 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this. 8034 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to... 8035 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this. 8036 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to... 8037 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this. 8038 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to... 8039 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this. 8040 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to... 8041 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this. 8042 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to... 8043 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this. 8044 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to... 8045 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this. 8046 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to... 8047 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this. 8048 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to... 8049 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this. 8050 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to... 8051 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this. 8052 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file. 8053 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file. 8054 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file. 8055 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file. 8056 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file. 8057 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to... 8058 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this. 8059 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to... 8060 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this. 8061 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to... 8062 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this. 8063 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to... 8064 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this. 8065 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to... 8066 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this. 8067 80682015-07-10 Tom de Vries <tom@codesourcery.com> 8069 8070 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test. 8071 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test. 8072 80732015-07-08 Thomas Schwinge <thomas@codesourcery.com> 8074 8075 PR libgomp/65099 8076 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not 8077 in a 64-bit configuration. 8078 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia 8079 offloading testing if no such device is available. 8080 * testsuite/libgomp.oacc-c/c.exp: Likewise. 8081 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 8082 80832015-07-08 Tom de Vries <tom@codesourcery.com> 8084 8085 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix 8086 second call to f. 8087 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same. 8088 80892015-07-07 Tom de Vries <tom@codesourcery.com> 8090 8091 PR tree-optimization/66642 8092 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low 8093 iteration count case. 8094 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New 8095 function, factor out of ... 8096 (main): ... here. Test low iteration count case. 8097 80982015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de> 8099 8100 * libgomp.h (gomp_thread_pool): Comment last_team field. 8101 81022015-07-02 Uros Bizjak <ubizjak@gmail.com> 8103 8104 * testsuite/libgomp.c++/pr66702-1.C: Require 8105 vect_simd_clones effective target. 8106 * testsuite/libgomp.c++/pr66702-2.C: Ditto. 8107 81082015-06-30 Tom de Vries <tom@codesourcery.com> 8109 8110 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not 8111 already set. Use DEFAULT_CFLAGS in dg-runtest. 8112 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options 8113 "-O2". 8114 81152015-06-30 Tom de Vries <tom@codesourcery.com> 8116 8117 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not 8118 already set. Use DEFAULT_CFLAGS in dg-runtest. 8119 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp". 8120 * testsuite/libgomp.c++/pr64824.C: Same. 8121 * testsuite/libgomp.c++/pr64868.C: Same. 8122 * testsuite/libgomp.c++/pr66199-1.C: Same. 8123 * testsuite/libgomp.c++/pr66199-2.C: Same. 8124 * testsuite/libgomp.c++/target-2.C: Same. 8125 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for 8126 -std=<standard> option. 8127 * testsuite/libgomp.c++/udr-11.C: Same. 8128 * testsuite/libgomp.c++/udr-12.C: Same. 8129 * testsuite/libgomp.c++/udr-13.C: Same. 8130 * testsuite/libgomp.c++/udr-14.C: Same. 8131 * testsuite/libgomp.c++/udr-15.C: Same. 8132 * testsuite/libgomp.c++/udr-16.C: Same. 8133 * testsuite/libgomp.c++/udr-17.C: Same. 8134 * testsuite/libgomp.c++/udr-18.C: Same. 8135 * testsuite/libgomp.c++/udr-19.C: Same. 8136 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2". 8137 * testsuite/libgomp.c++/simd-1.C: Same. 8138 * testsuite/libgomp.c++/simd-2.C: Same. 8139 * testsuite/libgomp.c++/simd-3.C: Same. 8140 * testsuite/libgomp.c++/simd-4.C: Same. 8141 * testsuite/libgomp.c++/simd-5.C: Same. 8142 * testsuite/libgomp.c++/simd-6.C: Same. 8143 * testsuite/libgomp.c++/simd-7.C: Same. 8144 * testsuite/libgomp.c++/simd-8.C: Same. 8145 * testsuite/libgomp.c++/simd-9.C: Same. 8146 * testsuite/libgomp.c++/simd10.C: Same. 8147 * testsuite/libgomp.c++/simd11.C: Same. 8148 * testsuite/libgomp.c++/simd12.C: Same. 8149 * testsuite/libgomp.c++/simd13.C: Same. 8150 81512015-06-30 Jakub Jelinek <jakub@redhat.com> 8152 8153 PR middle-end/66702 8154 * testsuite/libgomp.c++/pr66702-1.C: New test. 8155 * testsuite/libgomp.c++/pr66702-2.C: New test. 8156 81572015-06-30 Tom de Vries <tom@codesourcery.com> 8158 8159 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test. 8160 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test. 8161 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test. 8162 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment. 8163 81642015-06-30 Tom de Vries <tom@codesourcery.com> 8165 8166 PR tree-optimization/66652 8167 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite 8168 using restrict pointers. 8169 (main): Add arguments to calls to f. 8170 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same. 8171 81722015-06-23 Andreas Tobler <andreast@gcc.gnu.org> 8173 8174 * configure.ac: Fix check for header <sys/sysctl.h>. 8175 * configure: Regenerate. 8176 * config.h.in: Likewise. 8177 81782015-06-23 Tom de Vries <tom@codesourcery.com> 8179 8180 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use 8181 abort. 8182 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same. 8183 81842015-06-19 Thomas Schwinge <thomas@codesourcery.com> 8185 8186 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for 8187 acc_device_nvidia. 8188 8189 PR libgomp/66518 8190 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL. 8191 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. 8192 81932015-06-15 Tom de Vries <tom@codesourcery.com> 8194 8195 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use 8196 dg-additional-options for any remaining options. 8197 * testsuite/libgomp.c/atomic-2.c: Same. 8198 * testsuite/libgomp.c/atomic-4.c: Same. 8199 * testsuite/libgomp.c/atomic-5.c: Same. 8200 * testsuite/libgomp.c/atomic-6.c: Same. 8201 * testsuite/libgomp.c/autopar-1.c: Same. 8202 * testsuite/libgomp.c/copyin-1.c: Same. 8203 * testsuite/libgomp.c/copyin-2.c: Same. 8204 * testsuite/libgomp.c/copyin-3.c: Same. 8205 * testsuite/libgomp.c/examples-4/e.53.5.c: Same. 8206 * testsuite/libgomp.c/nestedfn-5.c: Same. 8207 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same. 8208 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same. 8209 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same. 8210 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same. 8211 * testsuite/libgomp.c/pr32362-1.c: Same. 8212 * testsuite/libgomp.c/pr32362-2.c: Same. 8213 * testsuite/libgomp.c/pr32362-3.c: Same. 8214 * testsuite/libgomp.c/pr39591-1.c: Same. 8215 * testsuite/libgomp.c/pr39591-2.c: Same. 8216 * testsuite/libgomp.c/pr39591-3.c: Same. 8217 * testsuite/libgomp.c/pr58392.c: Same. 8218 * testsuite/libgomp.c/pr58756.c: Same. 8219 * testsuite/libgomp.c/simd-1.c: Same. 8220 * testsuite/libgomp.c/simd-10.c: Same. 8221 * testsuite/libgomp.c/simd-11.c: Same. 8222 * testsuite/libgomp.c/simd-12.c: Same. 8223 * testsuite/libgomp.c/simd-13.c: Same. 8224 * testsuite/libgomp.c/simd-14.c: Same. 8225 * testsuite/libgomp.c/simd-15.c: Same. 8226 * testsuite/libgomp.c/simd-2.c: Same. 8227 * testsuite/libgomp.c/simd-3.c: Same. 8228 * testsuite/libgomp.c/simd-4.c: Same. 8229 * testsuite/libgomp.c/simd-5.c: Same. 8230 * testsuite/libgomp.c/simd-6.c: Same. 8231 * testsuite/libgomp.c/simd-7.c: Same. 8232 * testsuite/libgomp.c/simd-8.c: Same. 8233 * testsuite/libgomp.c/simd-9.c: Same. 8234 82352015-06-15 Tom de Vries <tom@codesourcery.com> 8236 8237 * testsuite/libgomp.c/pr35625.c: Fix typo. 8238 82392015-06-15 Tom de Vries <tom@codesourcery.com> 8240 8241 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting 8242 in dg-options. 8243 * testsuite/libgomp.c/atomic-3.c: Same. 8244 * testsuite/libgomp.c/debug-1.c: Same. 8245 * testsuite/libgomp.c/nqueens-1.c: Same. 8246 * testsuite/libgomp.c/pr26171.c: Same. 8247 * testsuite/libgomp.c/pr48591.c: Same. 8248 * testsuite/libgomp.c/pr64824.c: Same. 8249 * testsuite/libgomp.c/pr64868.c: Same. 8250 * testsuite/libgomp.c/pr66133.c: Same. 8251 * testsuite/libgomp.c/pr66199-1.c: Same. 8252 * testsuite/libgomp.c/pr66199-2.c: Same. 8253 * testsuite/libgomp.c/target-8.c: Same. 8254 82552015-06-15 Tom de Vries <tom@codesourcery.com> 8256 8257 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for 8258 -std={gnu99,c99}. 8259 * testsuite/libgomp.c/for-1.c: Same. 8260 * testsuite/libgomp.c/for-2.c: Same. 8261 * testsuite/libgomp.c/for-3.c: Same. 8262 * testsuite/libgomp.c/pr35625.c: Same. 8263 * testsuite/libgomp.c/pr39154.c: Same. 8264 * testsuite/libgomp.c/simd-16.c: Same. 8265 * testsuite/libgomp.c/simd-17.c: Same. 8266 82672015-06-13 Tom de Vries <tom@codesourcery.com> 8268 8269 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test. 8270 82712015-06-13 Tom de Vries <tom@codesourcery.com> 8272 8273 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment. 8274 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same. 8275 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment. 8276 (N): Define. 8277 (main): Use N instead of hardcoded constants. 8278 82792015-06-05 Tom de Vries <tom@codesourcery.com> 8280 8281 merge from gomp4 branch: 8282 2015-05-28 Tom de Vries <tom@codesourcery.com> 8283 8284 PR tree-optimization/65443 8285 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test. 8286 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test. 8287 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test. 8288 82892015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> 8290 8291 * testsuite/libgomp.graphite/bounds.c: Adjust for 8292 cleanup-tree-dump removal. 8293 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise. 8294 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise. 8295 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise. 8296 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise. 8297 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise. 8298 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise. 8299 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise. 8300 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise. 8301 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise. 8302 * testsuite/libgomp.graphite/pr41118.c: Likewise. 8303 83042015-05-28 Uros Bizjak <ubizjak@gmail.com> 8305 8306 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function. 8307 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0. 8308 (futex_wake) [!__x86_64__]: Ditto. 8309 83102015-05-28 Julian Brown <julian@codesourcery.com> 8311 8312 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update 8313 function comment. Only call gomp_fatal if new argument is true. 8314 (acc_dev_num_out_of_range): New function. 8315 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call 8316 acc_dev_num_out_of_range as appropriate. 8317 (acc_get_num_devices, acc_set_device_type, acc_get_device_type) 8318 (acc_get_device_num, acc_set_device_num): Update calls to 8319 resolve_device. 8320 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test 8321 output. 8322 83232015-05-28 Julian Brown <julian@codesourcery.com> 8324 8325 PR libgomp/65742 8326 * oacc-init.c (plugin/plugin-host.h): Include. 8327 (acc_on_device): Check whether we're in an offloaded region for 8328 host_nonshm 8329 plugin. Don't use __builtin_acc_on_device. 8330 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set 8331 nonshm_exec flag in thread-local data. 8332 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local 8333 data for host_nonshm plugin. 8334 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data 8335 for host_nonshm plugin. 8336 * plugin/plugin-host.h: New. 8337 83382015-05-27 Uros Bizjak <ubizjak@gmail.com> 8339 8340 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int. 8341 83422015-05-27 Uros Bizjak <ubizjak@gmail.com> 8343 8344 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake): 8345 Declare as int. 8346 (FUTEX_PRIVATE_FLAG): Remove L suffix. 8347 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake): 8348 Declare as int. 8349 83502015-05-27 Uros Bizjak <ubizjak@gmail.com> 8351 8352 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function. 8353 83542015-05-27 Chung-Lin Tang <cltang@codesourcery.com> 8355 8356 * target.c (gomp_map_pointer): New function abstracting out 8357 GOMP_MAP_POINTER handling. 8358 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use 8359 gomp_map_pointer(). 8360 83612015-05-19 Jakub Jelinek <jakub@redhat.com> 8362 8363 PR middle-end/66199 8364 * testsuite/libgomp.c/pr66199-1.c: New test. 8365 * testsuite/libgomp.c/pr66199-2.c: New test. 8366 * testsuite/libgomp.c++/pr66199-1.C: New test. 8367 * testsuite/libgomp.c++/pr66199-2.C: New test. 8368 * testsuite/libgomp.fortran/pr66199-1.f90: New test. 8369 * testsuite/libgomp.fortran/pr66199-2.f90: New test. 8370 83712015-05-19 Julian Brown <julian@codesourcery.com> 8372 8373 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero 8374 on cuInit failure. 8375 83762015-05-13 Jakub Jelinek <jakub@redhat.com> 8377 8378 PR middle-end/66133 8379 * testsuite/libgomp.c/pr66133.c: New test. 8380 83812015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com> 8382 8383 * Makefile.in: Regenerated with automake-1.11.6. 8384 * aclocal.m4: Likewise. 8385 * config.h.in: Likewise. 8386 * configure: Likewise. 8387 * testsuite/Makefile.in: Likewise. 8388 83892015-05-08 Jason Merrill <jason@redhat.com> 8390 8391 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use 8392 _Complex. 8393 8394 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax. 8395 83962015-05-06 Julian Brown <julian@codesourcery.com> 8397 8398 * oacc-init.c (acc_device_lock): Add explanatory comment. 8399 (resolve_device): Add comment about locking requirement. 8400 (acc_init_1, acc_shutdown_1): Likewise. Add locking around 8401 gomp_init_device and gomp_fini_device calls. 8402 (acc_get_num_devices, acc_set_device_type, acc_get_device_type) 8403 (acc_get_device_num, acc_set_device_num): Add locking around 8404 resolve_device and gomp_init_device calls. 8405 84062015-05-06 Julian Brown <julian@codesourcery.com> 8407 8408 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for 8409 goacc_thread_lock on error paths. 8410 * oacc-mem.c (lookup_host): Remove locking from function. Note 8411 locking requirement for caller in function comment. 8412 (lookup_dev): Likewise. 8413 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present) 8414 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout) 8415 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer): 8416 Add locking. 8417 84182015-05-05 Thomas Schwinge <thomas@codesourcery.com> 8419 8420 PR testsuite/65205 8421 PR libgomp/65993 8422 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output, 8423 don't expect "0x" prefix for "%p" format specifier, don't expect 8424 "(nil)" for NULL pointer. 8425 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise. 8426 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise. 8427 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise. 8428 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise. 8429 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise. 8430 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise. 8431 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. 8432 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise. 8433 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise. 8434 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise. 8435 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise. 8436 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise. 8437 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise. 8438 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise. 8439 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise. 8440 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise. 8441 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise. 8442 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise. 8443 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. 8444 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise. 8445 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise. 8446 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise. 8447 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise. 8448 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise. 8449 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise. 8450 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise. 8451 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise. 8452 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise. 8453 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More 8454 accurately specify what we're looking for. 8455 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise. 8456 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise. 8457 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise. 8458 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise. 8459 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise. 8460 84612015-04-30 James Norris <jnorris@codesourcery.com> 8462 8463 PR testsuite/65205 8464 * testsuite/lib/libgomp.exp 8465 (check_effective_target_openacc_host_selected) 8466 (check_effective_target_openacc_host_nonshm_selected): New 8467 procedures. 8468 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of 8469 dg-shouldfail. 8470 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise. 8471 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise. 8472 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise. 8473 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise. 8474 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise. 8475 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise. 8476 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise. 8477 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise. 8478 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise. 8479 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. 8480 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise. 8481 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise. 8482 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise. 8483 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise. 8484 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise. 8485 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise. 8486 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise. 8487 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise. 8488 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise. 8489 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise. 8490 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise. 8491 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise. 8492 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise. 8493 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. 8494 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise. 8495 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise. 8496 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise. 8497 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise. 8498 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise. 8499 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise. 8500 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise. 8501 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise. 8502 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise. 8503 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise. 8504 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise. 8505 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise. 8506 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise. 8507 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise. 8508 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise. 8509 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise. 8510 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise. 8511 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise. 8512 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise. 8513 85142015-04-08 Julian Brown <julian@codesourcery.com> 8515 8516 * libgomp.h (target_mem_desc: Remove mem_map field. 8517 (acc_dispatch_t): Remove open_device_func, close_device_func, 8518 get_device_num_func, set_device_num_func, target_data members. 8519 Change create_thread_data_func argument to device number instead of 8520 generic pointer. 8521 * oacc-async.c (assert.h): Include. 8522 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async) 8523 (acc_wait_all, acc_wait_all_async): Use current host thread's 8524 active device, not base_dev. 8525 * oacc-cuda.c (acc_get_current_cuda_device) 8526 (acc_get_current_cuda_context, acc_get_cuda_stream) 8527 (acc_set_cuda_stream): Likewise. 8528 * oacc-host.c (host_dispatch): Don't set open_device_func, 8529 close_device_func, get_device_num_func or set_device_num_func. 8530 * oacc-init.c (base_dev, init_key): Remove. 8531 (cached_base_dev): New. 8532 (name_of_acc_device_t): New. 8533 (acc_init_1): Initialise default-numbered device, not zeroth. 8534 (acc_shutdown_1): Close all devices of a given type. 8535 (goacc_destroy_thread): Don't use base_dev. 8536 (lazy_open, lazy_init, lazy_init_and_open): Remove. 8537 (goacc_attach_host_thread_to_device): New. 8538 (acc_init): Reimplement with goacc_attach_host_thread_to_device. 8539 (acc_get_num_devices): Don't use base_dev. 8540 (acc_set_device_type): Reimplement. 8541 (acc_get_device_type): Don't use base_dev. 8542 (acc_get_device_num): Tweak logic. 8543 (acc_set_device_num): Likewise. 8544 (acc_on_device): Use acc_get_device_type. 8545 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev. 8546 (goacc_lazy_initialize): Reimplement with acc_init and 8547 goacc_attach_host_thread_to_device. 8548 * oacc-int.h (goacc_thread): Add base_dev field. 8549 (base_dev): Remove extern declaration. 8550 (goacc_attach_host_thread_to_device): Add prototype. 8551 * oacc-mem.c (acc_malloc): Use current thread's device instead of 8552 base_dev. 8553 (acc_free): Likewise. 8554 (acc_memcpy_to_device): Likewise. 8555 (acc_memcpy_from_device): Likewise. 8556 * oacc-parallel.c (select_acc_device): Remove. Replace calls with 8557 goacc_lazy_initialize (throughout). 8558 (GOACC_parallel): Use tgt_offset to locate target functions. 8559 * target.c (gomp_map_vars): Don't set tgt->mem_map. 8560 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map. 8561 (gomp_load_plugin_for_device): Remove open_device, close_device, 8562 get_device_num, set_device_num openacc hook initialisation. Don't set 8563 openacc.target_data. 8564 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device) 8565 (GOMP_OFFLOAD_openacc_close_device) 8566 (GOMP_OFFLOAD_openacc_get_device_num) 8567 (GOMP_OFFLOAD_openacc_set_device_num): Remove. 8568 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument 8569 to int. 8570 * plugin/plugin-nvptx.c (ptx_inited): Remove. 8571 (instantiated_devices, ptx_dev_lock): New. 8572 (struct ptx_image_data): New. 8573 (ptx_devices, ptx_images, ptx_image_lock): New. 8574 (fini_streams_for_device): Reorder cuStreamDestroy call. 8575 (nvptx_get_num_devices): Remove forward declaration. 8576 (nvptx_init): Change return type to bool. 8577 (nvptx_fini): Remove. 8578 (nvptx_attach_host_thread_to_device): New. 8579 (nvptx_open_device): Return struct ptx_device* instead of void*. 8580 (nvptx_close_device): Change argument type to struct ptx_device*, 8581 return type to void. 8582 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited. 8583 (kernel_target_data, kernel_host_table): Remove static globals. 8584 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove. 8585 (GOMP_OFFLOAD_init_device): Reimplement. 8586 (GOMP_OFFLOAD_fini_device): Likewise. 8587 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New. 8588 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host) 8589 (GOMP_OFFLOAD_host2dev): Use ORD argument. 8590 (GOMP_OFFLOAD_openacc_open_device) 8591 (GOMP_OFFLOAD_openacc_close_device) 8592 (GOMP_OFFLOAD_openacc_set_device_num) 8593 (GOMP_OFFLOAD_openacc_get_device_num): Remove. 8594 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int 8595 (device number). 8596 8597 testsuite/ 8598 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test. 8599 86002015-04-06 Ilya Verbin <ilya.verbin@intel.com> 8601 8602 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair. 8603 * libgomp.h (struct gomp_memory_mapping): Remove. 8604 (struct target_mem_desc): Change type of mem_map from 8605 gomp_memory_mapping * to splay_tree_s *. 8606 (struct gomp_device_descr): Remove register_image_func, get_table_func. 8607 Add load_image_func, unload_image_func. 8608 Change type of mem_map from gomp_memory_mapping to splay_tree_s. 8609 Remove offload_regions_registered. 8610 (gomp_init_tables): Remove. 8611 (gomp_free_memmap): Change type of argument from gomp_memory_mapping * 8612 to splay_tree_s *. 8613 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister. 8614 * oacc-host.c (host_dispatch): Do not initialize register_image_func, 8615 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root, 8616 offload_regions_registered. 8617 Initialize load_image_func, unload_image_func, mem_map.root. 8618 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock. 8619 * oacc-init.c (lazy_open): Don't call gomp_init_tables. 8620 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's. 8621 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of 8622 gomp_memory_mapping *. Use dev's lock and splay_tree. 8623 (lookup_dev): Use dev's lock. 8624 (acc_deviceptr): Pass dev to lookup_host instead of mem_map. 8625 (acc_is_present): Likewise. 8626 (acc_map_data): Likewise. 8627 (acc_unmap_data): Likewise. Use dev's lock. 8628 (present_create_copy): Likewise. 8629 (delete_copyout): Pass dev to lookup_host instead of mem_map. 8630 (update_dev_host): Likewise. 8631 (gomp_acc_remove_pointer): Likewise. Use dev's lock. 8632 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree. 8633 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove. 8634 (GOMP_OFFLOAD_get_table): Remove 8635 (GOMP_OFFLOAD_load_image): New function. 8636 (GOMP_OFFLOAD_unload_image): New function. 8637 * target.c (register_lock): New mutex for offload image registration. 8638 (num_devices): Do not guard with PLUGIN_SUPPORT. 8639 (gomp_realloc_unlock): New static function. 8640 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex 8641 before gomp_fatal. 8642 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's. 8643 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal. 8644 (gomp_copy_from_async): Use dev's lock and splay_tree instead of 8645 mem_map's. 8646 (gomp_unmap_vars): Likewise. 8647 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and 8648 splay_tree instead of mm's. Unlock mutex before gomp_fatal. 8649 (gomp_offload_image_to_device): New static function. 8650 (GOMP_offload_register): Add mutex lock. 8651 Call gomp_offload_image_to_device for all initialized devices. 8652 Replace gomp_realloc with gomp_realloc_unlock. 8653 (GOMP_offload_unregister): New function. 8654 (gomp_init_tables): Replace with gomp_init_device. Replace a call to 8655 get_table_func from the plugin with calls to init_device_func and 8656 gomp_offload_image_to_device. 8657 (gomp_free_memmap): Change type of argument from gomp_memory_mapping * 8658 to splay_tree_s *. 8659 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and 8660 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal. 8661 (GOMP_target_data): Do not call gomp_init_tables. 8662 (GOMP_target_update): Likewise. Remove argument from gomp_update. 8663 (gomp_load_plugin_for_device): Replace register_image and get_table 8664 with load_image and unload_image in DLSYM (). 8665 (gomp_register_images_for_device): Remove function. 8666 (gomp_target_init): Do not initialize current_device.mem_map.*, 8667 current_device.offload_regions_registered. 8668 Remove call to gomp_register_images_for_device. 8669 Do not free offload_images and num_offload_images. 8670 86712015-03-30 Jakub Jelinek <jakub@redhat.com> 8672 8673 PR fortran/65597 8674 * testsuite/libgomp.fortran/pr65597.f90: New test. 8675 86762015-03-27 Tom de Vries <tom@codesourcery.com> 8677 8678 PR testsuite/65594 8679 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare. 8680 (init, check): New function. 8681 (foo): Change return type to void. 8682 (main): Call init and check. 8683 86842015-03-27 Tom de Vries <tom@codesourcery.com> 8685 8686 PR testsuite/65594 8687 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define. 8688 (foo): Use M for non-inner loops to scale down test-case. 8689 86902015-03-25 Kai Tietz <ktietz@redhat.com> 8691 8692 PR libgomp/64972 8693 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available. 8694 (GOACC_data_start): Likewise. 8695 * target.c (gomp_map_vars): Likewise. 8696 86972015-03-21 John David Anglin <danglin@gcc.gnu.org> 8698 8699 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on 8700 hppa*-*-hpux*. 8701 87022015-03-19 Jakub Jelinek <jakub@redhat.com> 8703 8704 * testsuite/libgomp.c/target-10.c: New test. 8705 * testsuite/libgomp.c++/target-4.C: New test. 8706 87072015-03-13 Ilya Verbin <ilya.verbin@intel.com> 8708 8709 * testsuite/libgomp.fortran/declare-target-1.f90: New test. 8710 * testsuite/libgomp.fortran/declare-target-2.f90: New file. 8711 87122015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de> 8713 8714 * configure.tgt (*-*-rtems*): Use local-exec TLS model. 8715 * configure.ac (*-*-rtems*): Assume Pthread is supported. 8716 (pthread.h): Check for this header file. 8717 * configure: Regenerate. 8718 87192015-02-25 Tom de Vries <tom@codesourcery.com> 8720 8721 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA) 8722 (check_reduction_op, check_reduction_macro, max, min): 8723 Declare. 8724 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New 8725 function. 8726 (main): Use new functions. 8727 87282015-02-18 Ilya Tocar <ilya.tocar@intel.com> 8729 8730 * target.c (gomp_load_plugin_for_device): Use const char * instead of 8731 char * for variables holding dlerror return values. 8732 (DLSYM_OPT): Ditto. 8733 87342015-02-17 Thomas Schwinge <thomas@codesourcery.com> 8735 8736 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo. 8737 87382015-02-17 Thomas Schwinge <thomas@codesourcery.com> 8739 Cesar Philippidis <cesar@codesourcery.com> 8740 8741 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid, 8742 GOACC_ctaid, and GOACC_nctaid routines. 8743 87442015-02-11 Jakub Jelinek <jakub@redhat.com> 8745 8746 PR c/64824 8747 * testsuite/libgomp.c/atomic-18.c: New test. 8748 * testsuite/libgomp.c++/atomic-16.C: New test. 8749 87502015-02-04 Jakub Jelinek <jakub@redhat.com> 8751 8752 PR c/64824 8753 PR c/64868 8754 * testsuite/libgomp.c/pr64824.c: New test. 8755 * testsuite/libgomp.c/pr64868.c: New test. 8756 * testsuite/libgomp.c++/pr64824.C: New test. 8757 * testsuite/libgomp.c++/pr64868.C: New test. 8758 87592015-02-01 David Edelsohn <dje.gcc@gmail.com> 8760 8761 PR libgomp/64635 8762 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h. 8763 Link with -lpthread. 8764 * config/aix/plugin-suffix.h: Delete. 8765 87662015-01-28 Jack Howarth <howarth.at.gcc@gmail.com> 8767 8768 PR libgomp/64635 8769 * configure.tgt (*-*-aix*): Use config_path "aix posix". 8770 (*-*-darwin*): Use config_path "bsd darwin posix". 8771 (*-*-hpux*): Use config_path "hpux posix". 8772 * target.c: Add include of plugin-suffix.h and use 8773 SONAME_SUFFIX macro. 8774 * config/aix/plugin-suffix.h: New file. 8775 * config/darwin/plugin-suffix.h: New file. 8776 * config/hpux/plugin-suffix.h: New file. 8777 * config/posix/plugin-suffix.h: New file. 8778 87792015-01-23 Jakub Jelinek <jakub@redhat.com> 8780 8781 PR middle-end/64734 8782 * libgomp.c/pr64734.c: New test. 8783 87842015-01-23 Tom de Vries <tom@codesourcery.com> 8785 8786 PR libgomp/64672 8787 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test. 8788 87892015-01-23 Tom de Vries <tom@codesourcery.com> 8790 8791 PR libgomp/64707 8792 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to 8793 dg-options. 8794 87952015-01-19 Thomas Schwinge <thomas@codesourcery.com> 8796 8797 PR libgomp/64625 8798 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data) 8799 (GOACC_parallel, GOACC_update): Remove const_void *offload_table 8800 formal parameter. Update all users. 8801 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update): 8802 Document unused formal parameter. 8803 88042015-01-16 Thomas Schwinge <thomas@codesourcery.com> 8805 8806 * oacc-parallel.c: Don't include <alloca.h>. 8807 (GOACC_parallel): Use gomp_alloca instead of alloca. 8808 88092015-01-16 Gerald Pfeifer <gerald@pfeifer.com> 8810 8811 * target.c (num_devices): Guard with PLUGIN_SUPPORT. 8812 88132015-01-15 Thomas Schwinge <thomas@codesourcery.com> 8814 James Norris <jnorris@codesourcery.com> 8815 Tom de Vries <tom@codesourcery.com> 8816 Julian Brown <julian@codesourcery.com> 8817 Cesar Philippidis <cesar@codesourcery.com> 8818 Nathan Sidwell <nathan@codesourcery.com> 8819 Tobias Burnus <burnus@net-b.de> 8820 8821 * Makefile.am (search_path): Add $(top_srcdir)/../include. 8822 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c, 8823 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c, 8824 oacc-async.c, oacc-plugin.c, oacc-cuda.c. 8825 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90. 8826 Include $(top_srcdir)/plugin/Makefrag.am. 8827 (nodist_libsubinclude_HEADERS): Add openacc.h. 8828 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h, 8829 openacc.f90, openacc.mod, openacc_kinds.mod. 8830 (omp_lib.mod): Generalize into... 8831 (%.mod): ... this new rule. 8832 (openacc_kinds.mod, openacc.mod): New rules. 8833 * plugin/configfrag.ac: New file. 8834 * configure.ac: Move plugin/offloading support into it. Include 8835 it. Instantiate testsuite/libgomp-test-support.pt.exp. 8836 * plugin/Makefrag.am: New file. 8837 * testsuite/Makefile.am (OFFLOAD_TARGETS) 8838 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't 8839 export. 8840 (libgomp-test-support.exp): New rule. 8841 (all-local): Depend on it. 8842 * Makefile.in: Regenerate. 8843 * testsuite/Makefile.in: Regenerate. 8844 * config.h.in: Likewise. 8845 * configure: Likewise. 8846 * configure.tgt: Harden shell syntax. 8847 * env.c: Include "oacc-int.h". 8848 (parse_acc_device_type): New function. 8849 (gomp_debug_var, goacc_device_type, goacc_device_num): New 8850 variables. 8851 (initialize_env): Initialize those. Call 8852 goacc_runtime_initialize. 8853 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions. 8854 (gomp_fatal): Call gomp_vfatal. 8855 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>. 8856 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug) 8857 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once) 8858 (splay_tree_node, splay_tree, splay_tree_key) 8859 (struct target_mem_desc, struct splay_tree_key_s) 8860 (struct gomp_memory_mapping, struct acc_dispatch_t) 8861 (struct gomp_device_descr, gomp_acc_insert_pointer) 8862 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async) 8863 (gomp_unmap_vars, gomp_init_device, gomp_init_tables) 8864 (gomp_free_memmap, gomp_fini_device): New declarations. 8865 (gomp_vdebug, gomp_debug): New macros. 8866 Include "splay-tree.h". 8867 * libgomp.map (OACC_2.0): New symbol version. Use for 8868 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type, 8869 acc_set_device_type_h_, acc_get_device_type, 8870 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_, 8871 acc_get_device_num, acc_get_device_num_h_, acc_async_test, 8872 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_, 8873 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_, 8874 acc_wait_all, acc_wait_all_h_, acc_wait_all_async, 8875 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown, 8876 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc, 8877 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_, 8878 acc_copyin_array_h_, acc_present_or_copyin, 8879 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_, 8880 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_, 8881 acc_create_64_h_, acc_create_array_h_, acc_present_or_create, 8882 acc_present_or_create_32_h_, acc_present_or_create_64_h_, 8883 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_, 8884 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete, 8885 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_, 8886 acc_update_device, acc_update_device_32_h_, 8887 acc_update_device_64_h_, acc_update_device_array_h_, 8888 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_, 8889 acc_update_self_array_h_, acc_map_data, acc_unmap_data, 8890 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_, 8891 acc_is_present_64_h_, acc_is_present_array_h_, 8892 acc_memcpy_to_device, acc_memcpy_from_device, 8893 acc_get_current_cuda_device, acc_get_current_cuda_context, 8894 acc_get_cuda_stream, acc_set_cuda_stream. 8895 (GOACC_2.0): New symbol version. Use for GOACC_data_end, 8896 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel, 8897 GOACC_update, GOACC_wait, GOACC_get_thread_num, 8898 GOACC_get_num_threads. 8899 (GOMP_PLUGIN_1.0): New symbol version. Use for 8900 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared, 8901 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error, 8902 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars, 8903 GOMP_PLUGIN_acc_thread. 8904 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG 8905 environment variable. 8906 * libgomp_g.h (GOACC_data_start, GOACC_data_end) 8907 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait) 8908 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations. 8909 * splay-tree.h (splay_tree_lookup, splay_tree_insert) 8910 (splay_tree_remove): New declarations. 8911 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert) 8912 (splay_tree_remove, splay_tree_lookup): Move into... 8913 * splay-tree.c: ... this new file. 8914 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>. 8915 (splay_tree_node, splay_tree, splay_tree_key) 8916 (struct target_mem_desc, struct splay_tree_key_s) 8917 (struct gomp_device_descr): Don't declare. 8918 (num_devices_openmp): New variable. 8919 (gomp_get_num_devices ): Use it. 8920 (gomp_init_targets_once): New function. 8921 (gomp_get_num_devices ): Use it. 8922 (get_kind, gomp_copy_from_async, gomp_free_memmap) 8923 (gomp_fini_device, gomp_register_image_for_device): New functions. 8924 (gomp_map_vars): Add devaddrs parameter. 8925 (gomp_update): Add mm parameter. 8926 (gomp_init_device): Move most of it into... 8927 (gomp_init_tables): ... this new function. 8928 (gomp_register_images_for_device): Remove function. 8929 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device): 8930 Make them hidden instead of static. 8931 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars) 8932 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data) 8933 (GOMP_target_end_data, GOMP_target_update) 8934 (gomp_load_plugin_for_device, gomp_target_init): Update for 8935 OpenACC changes. 8936 * oacc-async.c: New file. 8937 * oacc-cuda.c: Likewise. 8938 * oacc-host.c: Likewise. 8939 * oacc-init.c: Likewise. 8940 * oacc-int.h: Likewise. 8941 * oacc-mem.c: Likewise. 8942 * oacc-parallel.c: Likewise. 8943 * oacc-plugin.c: Likewise. 8944 * oacc-plugin.h: Likewise. 8945 * oacc-ptx.h: Likewise. 8946 * openacc.f90: Likewise. 8947 * openacc.h: Likewise. 8948 * openacc_lib.h: Likewise. 8949 * plugin/plugin-host.c: Likewise. 8950 * plugin/plugin-nvptx.c: Likewise. 8951 * libgomp-plugin.c: Likewise. 8952 * libgomp-plugin.h: Likewise. 8953 * libgomp_target.h: Remove file after merging content into the 8954 former file. Update all users. 8955 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp. 8956 (offload_targets_s, offload_targets_s_openacc): New variables. 8957 (check_effective_target_openacc_nvidia_accel_present) 8958 (check_effective_target_openacc_nvidia_accel_selected): New 8959 procedures. 8960 (libgomp_init): Update for OpenACC changes. 8961 * testsuite/libgomp-test-support.exp.in: New file. 8962 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. 8963 * testsuite/libgomp.oacc-c/c.exp: Likewise. 8964 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 8965 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise. 8966 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise. 8967 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise. 8968 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise. 8969 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise. 8970 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise. 8971 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise. 8972 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise. 8973 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise. 8974 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise. 8975 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise. 8976 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise. 8977 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise. 8978 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise. 8979 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise. 8980 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise. 8981 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise. 8982 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise. 8983 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise. 8984 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise. 8985 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise. 8986 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise. 8987 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise. 8988 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise. 8989 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise. 8990 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise. 8991 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise. 8992 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise. 8993 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise. 8994 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise. 8995 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise. 8996 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise. 8997 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise. 8998 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise. 8999 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise. 9000 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise. 9001 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise. 9002 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise. 9003 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise. 9004 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise. 9005 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise. 9006 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise. 9007 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise. 9008 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise. 9009 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise. 9010 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise. 9011 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise. 9012 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. 9013 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise. 9014 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise. 9015 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise. 9016 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise. 9017 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise. 9018 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise. 9019 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise. 9020 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise. 9021 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise. 9022 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise. 9023 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise. 9024 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise. 9025 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise. 9026 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise. 9027 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise. 9028 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise. 9029 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise. 9030 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise. 9031 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise. 9032 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise. 9033 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. 9034 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise. 9035 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise. 9036 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise. 9037 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise. 9038 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise. 9039 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise. 9040 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise. 9041 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise. 9042 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise. 9043 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise. 9044 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise. 9045 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise. 9046 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise. 9047 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise. 9048 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise. 9049 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise. 9050 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise. 9051 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise. 9052 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise. 9053 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise. 9054 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise. 9055 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise. 9056 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise. 9057 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise. 9058 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise. 9059 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise. 9060 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise. 9061 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise. 9062 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise. 9063 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise. 9064 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise. 9065 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise. 9066 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise. 9067 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise. 9068 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise. 9069 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise. 9070 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise. 9071 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise. 9072 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise. 9073 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise. 9074 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise. 9075 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise. 9076 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise. 9077 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise. 9078 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise. 9079 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise. 9080 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise. 9081 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise. 9082 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise. 9083 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise. 9084 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise. 9085 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise. 9086 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise. 9087 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise. 9088 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise. 9089 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise. 9090 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise. 9091 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise. 9092 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise. 9093 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise. 9094 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise. 9095 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise. 9096 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise. 9097 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise. 9098 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise. 9099 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise. 9100 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise. 9101 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: 9102 Likewise. 9103 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise. 9104 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise. 9105 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise. 9106 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise. 9107 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise. 9108 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise. 9109 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise. 9110 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise. 9111 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise. 9112 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise. 9113 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise. 9114 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise. 9115 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise. 9116 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise. 9117 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise. 9118 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise. 9119 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise. 9120 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise. 9121 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise. 9122 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise. 9123 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise. 9124 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise. 9125 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise. 9126 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise. 9127 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise. 9128 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise. 9129 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise. 9130 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise. 9131 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise. 9132 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise. 9133 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise. 9134 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise. 9135 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise. 9136 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise. 9137 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise. 9138 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise. 9139 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise. 9140 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise. 9141 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise. 9142 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise. 9143 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise. 9144 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise. 9145 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise. 9146 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise. 9147 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise. 9148 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise. 9149 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise. 9150 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise. 9151 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise. 9152 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise. 9153 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise. 9154 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise. 9155 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise. 9156 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. 9157 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise. 9158 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise. 9159 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise. 9160 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise. 9161 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise. 9162 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise. 9163 91642015-01-10 Thomas Schwinge <thomas@codesourcery.com> 9165 Julian Brown <julian@codesourcery.com> 9166 David Malcolm <dmalcolm@redhat.com> 9167 9168 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library" 9169 to "GNU Offloading and Multi Processing Runtime Library". Change 9170 all users. 9171 * configure: Regenerate. 9172 * libgomp.texi: Update. 9173 91742015-01-08 Thomas Schwinge <thomas@codesourcery.com> 9175 9176 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add 9177 "$tgt_dir/lib32". 9178 * configure: Regenerate. 9179 9180 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match 9181 "intelmic" in $offload_targets. 9182 91832015-01-05 Jakub Jelinek <jakub@redhat.com> 9184 9185 Update copyright years. 9186 9187 * libgomp.texi: Bump @copying's copyright year. 9188 91892014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 9190 9191 * testsuite/lib/libgomp.exp: Load target-utils.exp. 9192 Move load of target-supports.exp earlier. 9193 91942014-12-10 Ilya Verbin <ilya.verbin@intel.com> 9195 9196 * testsuite/libgomp.c/target-9.c: New test. 9197 91982014-12-09 Varvara Rainchik <varvara.rainchik@intel.com> 9199 9200 * config.h.in: Regenerate. 9201 * configure: Regenerate. 9202 * configure.ac: Add GCC_CHECK_EMUTLS. 9203 * libgomp.h: Add check for USE_EMUTLS: this case 9204 is equal to HAVE_TLS. 9205 * team.c: Likewise. 9206 92072014-12-03 Uros Bizjak <ubizjak@gmail.com> 9208 9209 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic. 9210 92112014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com> 9212 Ilya Verbin <ilya.verbin@intel.com> 9213 9214 * testsuite/libgomp.c/target-critical-1.c: New test. 9215 92162014-11-26 Jakub Jelinek <jakub@redhat.com> 9217 9218 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20 9219 to dg-options unless expensive testing is on. 9220 (TESTITERS): Define to N if not defined. 9221 (main): Use TESTITERS instead of N. 9222 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from 9223 dg-additional-options depending on whether expensive testing is on. 9224 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod): 9225 Decrease N to 100000 and CHUNKSZ to 10000. 9226 92272014-11-24 Jakub Jelinek <jakub@redhat.com> 9228 9229 PR fortran/63938 9230 * testsuite/libgomp.fortran/pr63938-1.f90: New test. 9231 * testsuite/libgomp.fortran/pr63938-2.f90: New test. 9232 92332014-11-21 Steve Ellcey <sellcey@imgtec.com> 9234 9235 * config/linux/mips/futex.h (SYS_futex): Define if not already done. 9236 92372014-11-21 H.J. Lu <hongjiu.lu@intel.com> 9238 9239 PR bootstrap/63784 9240 * configure: Regenerated. 9241 92422014-11-19 Uros Bizjak <ubizjak@gmail.com> 9243 9244 * testsuite/libgomp.c/examples-4/e.53.5.c: Require 9245 vect_simd_clones effective target. 9246 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto. 9247 92482014-11-14 Jakub Jelinek <jakub@redhat.com> 9249 9250 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead 9251 of 32 as block_size. 9252 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8 9253 instead of 32 as block_size. 9254 92552014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com> 9256 Ilya Verbin <ilya.verbin@intel.com> 9257 9258 * Makefile.in: Regenerate. 9259 * configure: Regenerate. 9260 * configure.ac: Set up offload_additional_options, 9261 offload_additional_lib_paths and offload_targets. 9262 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS, 9263 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS. 9264 * testsuite/Makefile.in: Regenerate. 9265 * testsuite/lib/libgomp.exp (libgomp_init): Append 9266 offload_additional_lib_paths to LD_LIBRARY_PATH. Append 9267 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic 9268 build directory to LD_LIBRARY_PATH for intelmic offload targets. 9269 92702014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com> 9271 Ilya Verbin <ilya.verbin@intel.com> 9272 Kirill Yukhin <kirill.yukhin@intel.com> 9273 Ilya Tocar <ilya.tocar@intel.com> 9274 9275 * testsuite/lib/libgomp.exp 9276 (check_effective_target_offload_device): New. 9277 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories. 9278 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test. 9279 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto. 9280 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto. 9281 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto. 9282 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto. 9283 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto. 9284 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto. 9285 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto. 9286 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto. 9287 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto. 9288 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto. 9289 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto. 9290 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto. 9291 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto. 9292 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto. 9293 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto. 9294 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto. 9295 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto. 9296 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto. 9297 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto. 9298 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto. 9299 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto. 9300 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto. 9301 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto. 9302 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto. 9303 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto. 9304 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto. 9305 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto. 9306 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto. 9307 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto. 9308 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto. 9309 * testsuite/libgomp.c/target-7.c: Fix test. 9310 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test. 9311 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto. 9312 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto. 9313 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto. 9314 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto. 9315 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto. 9316 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto. 9317 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto. 9318 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto. 9319 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto. 9320 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto. 9321 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto. 9322 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto. 9323 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto. 9324 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto. 9325 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto. 9326 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto. 9327 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto. 9328 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto. 9329 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto. 9330 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto. 9331 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto. 9332 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto. 9333 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto. 9334 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto. 9335 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto. 9336 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto. 9337 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto. 9338 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto. 9339 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto. 9340 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto. 9341 93422014-11-13 Jakub Jelinek <jakub@redhat.com> 9343 Ilya Verbin <ilya.verbin@intel.com> 9344 Thomas Schwinge <thomas@codesourcery.com> 9345 Andrey Turetskiy <andrey.turetskiy@intel.com> 9346 9347 * libgomp.map (GOMP_4.0.1): New symbol version. 9348 Add GOMP_offload_register. 9349 * libgomp_target.h: New file. 9350 * splay-tree.h: New file. 9351 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h. 9352 (gomp_target_init): New forward declaration. 9353 (gomp_is_initialized): New static variable. 9354 (splay_tree_node, splay_tree, splay_tree_key): New typedefs. 9355 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr): 9356 New structures. 9357 (offload_images, num_offload_images, devices, num_devices): New static 9358 variables. 9359 (splay_compare): New static function. 9360 (struct gomp_device_descr): New structure. 9361 (gomp_get_num_devices): Call gomp_target_init. 9362 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt) 9363 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions. 9364 (GOMP_offload_register): New function. 9365 (GOMP_target): Arrange for host callback to be performed in a separate 9366 initial thread and contention group, inheriting ICVs from 9367 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars. 9368 Add device initialization and lookup for target function in splay tree. 9369 (GOMP_target_data): Add device initialization and call gomp_map_vars. 9370 (GOMP_target_end_data): Call gomp_unmap_vars. 9371 (GOMP_target_update): Add device initialization and call gomp_update. 9372 (gomp_load_plugin_for_device, gomp_register_images_for_device) 9373 (gomp_target_init): New static functions. 9374 93752014-11-13 Bernd Schmidt <bernds@codesourcery.com> 9376 Thomas Schwinge <thomas@codesourcery.com> 9377 Ilya Verbin <ilya.verbin@intel.com> 9378 Andrey Turetskiy <andrey.turetskiy@intel.com> 9379 9380 * config.h.in: Regenerate. 9381 * configure: Regenerate. 9382 * configure.ac: Check for libdl, required for plugin support. 9383 (PLUGIN_SUPPORT): Define if plugins are supported. 9384 (enable_offload_targets): Support Intel MIC targets. 9385 (OFFLOAD_TARGETS): List of target names suitable for offloading. 9386 93872014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 9388 9389 PR target/63610 9390 * configure: Regenerate. 9391 93922014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 9393 9394 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600. 9395 93962014-10-06 Marek Polacek <polacek@redhat.com> 9397 9398 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>. 9399 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>. 9400 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h> 9401 * testsuite/libgomp.c/thread-limit-2.c: Likewise. 9402 94032014-10-06 Marek Polacek <polacek@redhat.com> 9404 9405 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations. 9406 * testsuite/libgomp.c/nqueens-1.c: Likewise. 9407 * testsuite/libgomp.c/pr26943-3.c: Likewise. 9408 * testsuite/libgomp.c/pr26943-4.c: Likewise. 9409 * testsuite/libgomp.c/pr36802-2.c: Likewise. 9410 * testsuite/libgomp.c/pr36802-3.c: Likewise. 9411 * testsuite/libgomp.c/thread-limit-1.c: Likewise. 9412 * testsuite/libgomp.c/thread-limit-2.c: Likewise. 9413 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>. 9414 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int. 9415 * testsuite/libgomp.c/omp-parallel-for.c: Likewise. 9416 * testsuite/libgomp.c/omp-parallel-if.c: Likewise. 9417 * testsuite/libgomp.c/omp-single-1.c: Likewise. 9418 * testsuite/libgomp.c/omp-single-2.c: Likewise. 9419 * testsuite/libgomp.c/omp_matvec.c: Likewise. 9420 * testsuite/libgomp.c/omp_workshare3.c: Likewise. 9421 * testsuite/libgomp.c/omp_workshare4.c: Likewise. 9422 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit 9423 declarations. 9424 94252014-10-03 Jakub Jelinek <jakub@redhat.com> 9426 9427 PR libgomp/61200 9428 * testsuite/libgomp.c/pr61200.c: New test. 9429 94302014-09-18 Jakub Jelinek <jakub@redhat.com> 9431 9432 PR c++/63248 9433 * testsuite/libgomp.c++/pr63248.C: New test. 9434 94352014-08-04 Jakub Jelinek <jakub@redhat.com> 9436 9437 * task.c (GOMP_taskgroup_end): If taskgroup->num_children 9438 is not zero, but taskgroup->children is NULL and there are 9439 any task->children, schedule those instead of waiting. 9440 * testsuite/libgomp.c/depend-6.c: New test. 9441 * testsuite/libgomp.c/depend-7.c: New test. 9442 * testsuite/libgomp.c/depend-8.c: New test. 9443 * testsuite/libgomp.c/depend-9.c: New test. 9444 * testsuite/libgomp.c/depend-10.c: New test. 9445 94462014-08-01 Jakub Jelinek <jakub@redhat.com> 9447 9448 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field. 9449 (struct gomp_taskwait): New type. 9450 (struct gomp_task): Add taskwait and parent_depends_on, remove 9451 in_taskwait and taskwait_sem fields. 9452 (gomp_finish_task): Don't destroy taskwait_sem. 9453 * task.c (gomp_init_task): Don't init in_taskwait, instead init 9454 taskwait and parent_depends_on. 9455 (GOMP_task): For if (0) tasks with depend clause that depend on 9456 earlier tasks don't defer them, instead call 9457 gomp_task_maybe_wait_for_dependencies to wait for the dependencies. 9458 Initialize redundant_out field, for redundant out entries just 9459 move them at the end of linked list instead of removing them 9460 completely, and set redundant_out flag instead of redundant. 9461 (gomp_task_run_pre): Update last_parent_depends_on if scheduling 9462 that task. 9463 (gomp_task_run_post_handle_dependers): If parent is in 9464 gomp_task_maybe_wait_for_dependencies and newly runnable task 9465 is not parent_depends_on, queue it in parent->children linked 9466 list after all runnable tasks with parent_depends_on set. 9467 Adjust for addition of taskwait indirection. 9468 (gomp_task_run_post_remove_parent): If parent is in 9469 gomp_task_maybe_wait_for_dependencies and task to be removed 9470 is parent_depends_on, decrement n_depend and if needed awake 9471 parent. Adjust for addition of taskwait indirection. 9472 (GOMP_taskwait): Adjust for addition of taskwait indirection. 9473 (gomp_task_maybe_wait_for_dependencies): New function. 9474 * testsuite/libgomp.c/depend-5.c: New test. 9475 94762014-07-13 Tobias Burnus <burnus@net-b.de> 9477 9478 * testsuite/libgomp.fortran/pr34020.f90: Make compile 9479 with TS 18508/Fortran 2015. 9480 94812014-07-06 Marek Polacek <polacek@redhat.com> 9482 9483 PR c/6940 9484 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings. 9485 94862014-07-03 Jakub Jelinek <jakub@redhat.com> 9487 9488 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source 9489 matches regex $lang_source_re, add $lang_include_flags to options. 9490 * testsuite/libgomp.c/c.exp: Unset lang_include_flags. 9491 * testsuite/libgomp.c++/c++.exp: Likewise. 9492 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re 9493 and lang_include_flags instead of adding -fintrinsic-modules-path= to 9494 ALWAYS_CFLAGS. 9495 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags. 9496 94972014-07-03 Thomas Schwinge <thomas@codesourcery.com> 9498 9499 * testsuite/libgomp.fortran/fortran.exp: Explain 9500 gfortran-dg-runtest usage. 9501 95022014-06-25 Jakub Jelinek <jakub@redhat.com> 9503 9504 * testsuite/libgomp.fortran/simd5.f90: New test. 9505 * testsuite/libgomp.fortran/simd6.f90: New test. 9506 * testsuite/libgomp.fortran/simd7.f90: New test. 9507 95082014-06-24 Jakub Jelinek <jakub@redhat.com> 9509 9510 * testsuite/libgomp.c/for-2.c: Define SC to static for 9511 #pragma omp for simd testing. 9512 * testsuite/libgomp.c/for-2.h (SC): Define if not defined. 9513 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use 9514 SC macro. 9515 * testsuite/libgomp.c/simd-14.c: New test. 9516 * testsuite/libgomp.c/simd-15.c: New test. 9517 * testsuite/libgomp.c/simd-16.c: New test. 9518 * testsuite/libgomp.c/simd-17.c: New test. 9519 * testsuite/libgomp.c++/for-10.C: Define SC to static for 9520 #pragma omp for simd testing. 9521 * testsuite/libgomp.c++/simd10.C: New test. 9522 * testsuite/libgomp.c++/simd11.C: New test. 9523 * testsuite/libgomp.c++/simd12.C: New test. 9524 * testsuite/libgomp.c++/simd13.C: New test. 9525 9526 * testsuite/libgomp.fortran/aligned1.f03: New test. 9527 * testsuite/libgomp.fortran/nestedfn5.f90: New test. 9528 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning 9529 tasks with !$omp parallel !$omp single. 9530 * testsuite/libgomp.fortran/target8.f90: New test. 9531 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust 9532 not to use trim in the combiner, instead call elemental function. 9533 (fn): New elemental function. 9534 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init): 9535 Make elemental. 9536 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out, 9537 omp_in): Likewise. 9538 * testsuite/libgomp.fortran/udr12.f90: New test. 9539 * testsuite/libgomp.fortran/udr13.f90: New test. 9540 * testsuite/libgomp.fortran/udr14.f90: New test. 9541 * testsuite/libgomp.fortran/udr15.f90: New test. 9542 95432014-06-18 Jakub Jelinek <jakub@redhat.com> 9544 9545 * omp_lib.f90.in (openmp_version): Set to 201307. 9546 * omp_lib.h.in (openmp_version): Likewise. 9547 * testsuite/libgomp.c/target-8.c: New test. 9548 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch 9549 and inbranch clauses. 9550 * testsuite/libgomp.fortran/depend-3.f90: New test. 9551 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new 9552 openmp_version. 9553 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise. 9554 * testsuite/libgomp.fortran/target1.f90: New test. 9555 * testsuite/libgomp.fortran/target2.f90: New test. 9556 * testsuite/libgomp.fortran/target3.f90: New test. 9557 * testsuite/libgomp.fortran/target4.f90: New test. 9558 * testsuite/libgomp.fortran/target5.f90: New test. 9559 * testsuite/libgomp.fortran/target6.f90: New test. 9560 * testsuite/libgomp.fortran/target7.f90: New test. 9561 95622014-06-10 Jakub Jelinek <jakub@redhat.com> 9563 9564 PR fortran/60928 9565 * testsuite/libgomp.fortran/allocatable9.f90: New test. 9566 * testsuite/libgomp.fortran/allocatable10.f90: New test. 9567 * testsuite/libgomp.fortran/allocatable11.f90: New test. 9568 * testsuite/libgomp.fortran/allocatable12.f90: New test. 9569 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test. 9570 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test. 9571 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test. 9572 * testsuite/libgomp.fortran/associate1.f90: New test. 9573 * testsuite/libgomp.fortran/associate2.f90: New test. 9574 * testsuite/libgomp.fortran/procptr1.f90: New test. 9575 95762014-06-06 Jakub Jelinek <jakub@redhat.com> 9577 9578 * testsuite/libgomp.fortran/simd1.f90: New test. 9579 * testsuite/libgomp.fortran/udr1.f90: New test. 9580 * testsuite/libgomp.fortran/udr2.f90: New test. 9581 * testsuite/libgomp.fortran/udr3.f90: New test. 9582 * testsuite/libgomp.fortran/udr4.f90: New test. 9583 * testsuite/libgomp.fortran/udr5.f90: New test. 9584 * testsuite/libgomp.fortran/udr6.f90: New test. 9585 * testsuite/libgomp.fortran/udr7.f90: New test. 9586 * testsuite/libgomp.fortran/udr8.f90: New test. 9587 * testsuite/libgomp.fortran/udr9.f90: New test. 9588 * testsuite/libgomp.fortran/udr10.f90: New test. 9589 * testsuite/libgomp.fortran/udr11.f90: New test. 9590 95912014-05-27 Uros Bizjak <ubizjak@gmail.com> 9592 9593 * testsuite/libgomp.fortran/declare-simd-1.f90: Require 9594 vect_simd_clones effective target. 9595 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto. 9596 95972014-05-21 Jakub Jelinek <jakub@redhat.com> 9598 9599 PR middle-end/61252 9600 * testsuite/libgomp.c++/simd-9.C: New test. 9601 96022014-05-18 Uros Bizjak <ubizjak@gmail.com> 9603 9604 * libgomp.texi (Runitme Library Routines): Remove multiple @menu. 9605 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node 9606 texts according to their @menu entry positions. 9607 96082014-05-11 Jakub Jelinek <jakub@redhat.com> 9609 9610 * testsuite/libgomp.fortran/cancel-do-1.f90: New test. 9611 * testsuite/libgomp.fortran/cancel-do-2.f90: New test. 9612 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test. 9613 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test. 9614 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test. 9615 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test. 9616 * testsuite/libgomp.fortran/declare-simd-1.f90: New test. 9617 * testsuite/libgomp.fortran/declare-simd-2.f90: New test. 9618 * testsuite/libgomp.fortran/declare-simd-3.f90: New test. 9619 * testsuite/libgomp.fortran/depend-1.f90: New test. 9620 * testsuite/libgomp.fortran/depend-2.f90: New test. 9621 * testsuite/libgomp.fortran/omp_atomic5.f90: New test. 9622 * testsuite/libgomp.fortran/simd1.f90: New test. 9623 * testsuite/libgomp.fortran/simd2.f90: New test. 9624 * testsuite/libgomp.fortran/simd3.f90: New test. 9625 * testsuite/libgomp.fortran/simd4.f90: New test. 9626 * testsuite/libgomp.fortran/taskgroup1.f90: New test. 9627 96282014-05-02 Jakub Jelinek <jakub@redhat.com> 9629 9630 * testsuite/libgomp.c/simd-10.c: New test. 9631 * testsuite/libgomp.c/simd-11.c: New test. 9632 * testsuite/libgomp.c/simd-12.c: New test. 9633 * testsuite/libgomp.c/simd-13.c: New test. 9634 96352014-04-24 Jakub Jelinek <jakub@redhat.com> 9636 9637 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and 9638 atomic type clauses in any order and optional comma in between. 9639 * testsuite/libgomp.c++/atomic-15.C: Likewise. 9640 * testsuite/libgomp.c/atomic-17.c: Likewise. 9641 9642 * testsuite/libgomp.c/simd-7.c: New test. 9643 * testsuite/libgomp.c/simd-8.c: New test. 9644 * testsuite/libgomp.c/simd-9.c: New test. 9645 * testsuite/libgomp.c/loop-16.c: New test. 9646 96472014-04-02 Richard Henderson <rth@redhat.com> 9648 9649 * config/linux/futex.h (futex_wait): Get error value from errno. 9650 (futex_wake): Likewise. 9651 96522014-03-25 Jakub Jelinek <jakub@redhat.com> 9653 9654 PR c++/60331 9655 * testsuite/libgomp.c++/udr-11.C: New test. 9656 * testsuite/libgomp.c++/udr-12.C: New test. 9657 * testsuite/libgomp.c++/udr-13.C: New test. 9658 * testsuite/libgomp.c++/udr-14.C: New test. 9659 * testsuite/libgomp.c++/udr-15.C: New test. 9660 * testsuite/libgomp.c++/udr-16.C: New test. 9661 * testsuite/libgomp.c++/udr-17.C: New test. 9662 * testsuite/libgomp.c++/udr-18.C: New test. 9663 * testsuite/libgomp.c++/udr-19.C: New test. 9664 96652014-01-02 Richard Sandiford <rdsandiford@googlemail.com> 9666 9667 Update copyright years 9668 96692014-01-02 Richard Sandiford <rdsandiford@googlemail.com> 9670 9671 * hashtab.h: Use the standard form for the copyright notice. 9672 96732014-01-02 Tobias Burnus <burnus@net-b.de> 9674 9675 * libgomp.texi: Bump @copying's copyright year. 9676 96772013-12-17 Andreas Tobler <andreast@gcc.gnu.org> 9678 9679 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace 9680 alloca () with __builtin_alloca (). 9681 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage. 9682 * testsuite/libgomp.c/lock-3.c: Likewise. 9683 * testsuite/libgomp.c/pr48591.c: Likewise. 9684 96852013-12-17 Jakub Jelinek <jakub@redhat.com> 9686 9687 PR testsuite/59534 9688 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited 9689 comparisons. 9690 96912013-12-16 Jakub Jelinek <jakub@redhat.com> 9692 9693 PR libgomp/58756 9694 * testsuite/libgomp.c/pr58756.c: New test. 9695 96962013-12-12 Jakub Jelinek <jakub@redhat.com> 9697 9698 PR libgomp/59467 9699 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to 9700 !$omp parallel. 9701 97022013-11-07 Thomas Schwinge <thomas@codesourcery.com> 9703 9704 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to 9705 ALWAYS_CFLAGS. 9706 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp. 9707 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise. 9708 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise. 9709 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS): 9710 Likewise. 9711 9712 * libgomp_g.h: Include <stddef.h> for size_t. 9713 9714 * libgomp.spec.in: Update comment about libgomp's dependencies. 9715 * configure.ac: Likewise. 9716 * configure: Regenerate. 9717 97182013-10-16 Tobias Burnus <burnus@net-b.de> 9719 9720 * libgomp.texi: (Runtime Library Routines): Update references for 9721 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device, 9722 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind, 9723 omp_get_team_num, omp_is_initial_device, omp_set_default_device. 9724 (Environment Variables): Update references for OpenMP 4.0. Add 9725 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES. 9726 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical 9727 order. 9728 97292013-10-14 Jakub Jelinek <jakub@redhat.com> 9730 9731 * env.c (parse_bind_var): Initialize value to avoid 9732 (false positive) warning. 9733 97342013-10-12 Jakub Jelinek <jakub@redhat.com> 9735 9736 PR libgomp/58691 9737 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute 9738 to check variable. 9739 (gomp_init_num_threads): Move i variable declaration into 9740 #ifdef CPU_ALLOC_SIZE block. 9741 * config/linux/affinity.c (gomp_affinity_init_level): Test 9742 gomp_places_list_len == 0 rather than gomp_places_list == 0 9743 when checking for topology reading error. 9744 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false. 9745 * env.c (parse_affinity): Add ignore argument, if true, don't populate 9746 gomp_places_list, only parse env var and always return false. 9747 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var. 9748 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env 9749 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified 9750 and either of these variables were parsed correctly into a places 9751 list. 9752 97532013-10-11 Thomas Schwinge <thomas@codesourcery.com> 9754 Jakub Jelinek <jakub@redhat.com> 9755 9756 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead 9757 of 5 loopfn matches. 9758 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise. 9759 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise. 9760 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise. 9761 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise. 9762 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise. 9763 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise. 9764 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise. 9765 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise. 9766 97672013-10-11 Thomas Schwinge <thomas@codesourcery.com> 9768 9769 * Makefile.am (omp_lib.mod): Streamline rule. 9770 * Makefile.in: Regenerate. 9771 9772 * libgomp.texi (Runtime Library Routines): C linkage, don't throw 9773 exceptions. 9774 9775 * testsuite/libgomp.c/lib-1.c (main): Add missing error check. 9776 * testsuite/libgomp.fortran/lib1.f90: Likewise. 9777 * testsuite/libgomp.fortran/lib2.f: Likewise. 9778 * testsuite/libgomp.fortran/lib3.f: Likewise. 9779 9780 * configure.ac: Typo fix. 9781 * configure: Regenerate. 9782 9783 * testsuite/libgomp.fortran/openmp_version-1.f: New file. 9784 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise. 9785 9786 * omp.h.in: Don't touch the user's namespace. 9787 97882013-10-11 Jakub Jelinek <jakub@redhat.com> 9789 Tobias Burnus <burnus@net-b.de> 9790 Richard Henderson <rth@redhat.com> 9791 9792 * target.c: New file. 9793 * Makefile.am (libgomp_la_SOURCES): Add target.c. 9794 * Makefile.in: Regenerated. 9795 * libgomp_g.h (GOMP_task): Add depend argument. 9796 (GOMP_barrier_cancel, GOMP_loop_end_cancel, 9797 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data, 9798 GOMP_target_end_data, GOMP_target_update, GOMP_teams, 9799 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic, 9800 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime, 9801 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point, 9802 GOMP_taskgroup_start, GOMP_taskgroup_end, 9803 GOMP_parallel_sections): New prototypes. 9804 * fortran.c (omp_is_initial_device): Add ialias_redirect. 9805 (omp_is_initial_device_): New function. 9806 (ULP, STR1, STR2, ialias_redirect): Removed. 9807 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_, 9808 omp_set_default_device_8_, omp_get_default_device_, 9809 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New 9810 functions. 9811 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel, 9812 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data, 9813 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export 9814 @@GOMP_4.0. 9815 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation, 9816 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_, 9817 omp_set_default_device, omp_set_default_device_, 9818 omp_set_default_device_8_, omp_get_default_device, 9819 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_, 9820 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num, 9821 omp_get_team_num_): Export @@OMP_4.0. 9822 * team.c (struct gomp_thread_start_data): Add place field. 9823 (gomp_thread_start): Clear thr->thread_pool and 9824 thr->task before returning. Use gomp_team_barrier_wait_final 9825 instead of gomp_team_barrier_wait. Initialize thr->place. 9826 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled, 9827 team_cancelled and task_queued_count fields. 9828 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task 9829 before calling pthread_exit. 9830 (gomp_free_thread): No longer static. Use 9831 gomp_managed_threads_lock instead of gomp_remaining_threads_lock. 9832 (gomp_team_start): Add flags argument. Set 9833 thr->thread_pool->threads_busy to nthreads immediately after creating 9834 new pool. Use gomp_managed_threads_lock instead of 9835 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity. 9836 (gomp_team_end): Use gomp_managed_threads_lock instead of 9837 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead 9838 of gomp_team_barrier_wait. If team->team_cancelled, call 9839 gomp_fini_workshare on ws chain starting at team->work_shares_to_free 9840 rather than thr->ts.work_share. 9841 (initialize_team): Don't call gomp_sem_init here. 9842 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start 9843 caller. 9844 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions. 9845 * env.c (gomp_global_icv): Add default_device_var, target_data and 9846 bind_var initializers. 9847 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove. 9848 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list, 9849 gomp_places_list_len): New variables. 9850 (parse_bind_var, parse_one_place, parse_places_var): New functions. 9851 (parse_affinity): Rewritten to construct OMP_PLACES list with unit 9852 sized places. 9853 (gomp_cancel_var): New global variable. 9854 (parse_int): New function. 9855 (handle_omp_display_env): New function. 9856 (initialize_env): Use it. Initialize default_device_var. 9857 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse 9858 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for 9859 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has 9860 been successfully parsed (and call gomp_init_affinity in that case). 9861 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device, 9862 omp_get_default_device, omp_get_num_devices, omp_get_num_teams, 9863 omp_get_team_num, omp_is_initial_device): New functions. 9864 * libgomp.h: Include stdlib.h. 9865 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call): 9866 Define. 9867 (struct target_mem_desc): Forward declare. 9868 (struct gomp_task_icv): Add default_device_var, target_data, bind_var 9869 and thread_limit_var fields. 9870 (gomp_get_num_devices): New prototype. 9871 (gomp_cancel_var): New extern decl. 9872 (struct gomp_team): Add work_shares_to_free, work_share_cancelled, 9873 team_cancelled and task_queued_count fields. Add comments about 9874 task_{,queued_,running_}count. 9875 (gomp_cancel_kind): New enum. 9876 (gomp_work_share_end_cancel): New prototype. 9877 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup, 9878 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees 9879 and depend fields. 9880 (struct gomp_taskgroup): New type. 9881 (struct gomp_task_depend_entry, 9882 struct gomp_dependers_vec): New types. 9883 (gomp_finish_task): Free depend_hash if non-NULL. 9884 (struct gomp_team_state): Add place_partition_off 9885 and place_partition_len fields. 9886 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list, 9887 gomp_places_list_len): New extern decls. 9888 (struct gomp_thread): Add place field. 9889 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove. 9890 (gomp_init_thread_affinity): Add place argument. 9891 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus, 9892 gomp_affinity_remove_cpu, gomp_affinity_copy_place, 9893 gomp_affinity_same_place, gomp_affinity_finalize_place_list, 9894 gomp_affinity_init_level, gomp_affinity_print_place): New 9895 prototypes. 9896 (gomp_team_start): Add flags argument. 9897 (gomp_thread_limit_var, gomp_remaining_threads_count, 9898 gomp_remaining_threads_lock): Remove. 9899 (gomp_managed_threads_lock): New variable. 9900 (struct gomp_thread_pool): Add threads_busy field. 9901 (gomp_free_thread): New prototype. 9902 * task.c: Include hashtab.h. 9903 (hash_entry_type): New typedef. 9904 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines. 9905 (gomp_init_task): Clear dependers, depend_hash, depend_count, 9906 copy_ctors_done and taskgroup fields. 9907 (GOMP_task): Add depend argument, handle depend clauses. If 9908 gomp_team_barrier_cancelled or if it's taskgroup has been 9909 cancelled, don't queue or start new tasks. Set copy_ctors_done 9910 field if needed. Initialize taskgroup field. If copy_ctors_done 9911 and already cancelled, don't discard the task. If taskgroup is 9912 non-NULL, enqueue the task into taskgroup queue. Increment 9913 num_children field in taskgroup. Increment task_queued_count. 9914 (gomp_task_run_pre, gomp_task_run_post_remove_parent, 9915 gomp_task_run_post_remove_taskgroup): New inline functions. 9916 (gomp_task_run_post_handle_depend_hash, 9917 gomp_task_run_post_handle_dependers, 9918 gomp_task_run_post_handle_depend): New functions. 9919 (GOMP_taskwait): Use them. If more than one new tasks 9920 have been queued, wake other threads if needed. 9921 (gomp_barrier_handle_tasks): Likewise. If 9922 gomp_team_barrier_cancelled, don't start any new tasks, just free 9923 all tasks. 9924 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions. 9925 * omp_lib.f90.in 9926 (omp_proc_bind_kind, omp_proc_bind_false, 9927 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close, 9928 omp_proc_bind_spread): New params. 9929 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device, 9930 omp_get_default_device, omp_get_num_devices, omp_get_num_teams, 9931 omp_get_team_num, omp_is_initial_device): New interfaces. 9932 (omp_get_dynamic, omp_get_nested, omp_in_parallel, 9933 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads, 9934 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels, 9935 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num, 9936 omp_get_team_size, omp_get_active_level, omp_in_final): Remove 9937 useless use omp_lib_kinds. 9938 * omp.h.in (omp_proc_bind_t): New typedef. 9939 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device, 9940 omp_get_default_device, omp_get_num_devices, omp_get_num_teams, 9941 omp_get_team_num, omp_is_initial_device): New prototypes. 9942 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it 9943 through to gomp_team_start. 9944 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start, 9945 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start): 9946 Adjust gomp_parallel_loop_start callers. 9947 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic, 9948 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime, 9949 GOMP_loop_end_cancel): New functions. 9950 (GOMP_parallel_end): Add ialias_redirect. 9951 * hashtab.h: New file. 9952 * libgomp.texi (Environment Variables): Minor cleanup, 9953 update section refs to OpenMP 4.0rc2. 9954 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these 9955 environment variables. 9956 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set 9957 team->work_shares_to_free to thr->ts.work_share before calling 9958 free_work_share. 9959 (gomp_work_share_end_cancel): New function. 9960 * config/linux/proc.c: Include errno.h. 9961 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables. 9962 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of 9963 sizeof (cpu_set_t) to determine number of iterations. Fix up check 9964 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if 9965 gomp_cpuset_size is sizeof (cpu_set_t). 9966 (gomp_init_num_threads): Initialize gomp_cpuset_size, 9967 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead 9968 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t) 9969 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't 9970 contain any logical CPUs. 9971 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp 9972 is NULL. Use gomp_cpusetp instead of &cpuset and pass 9973 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to 9974 pthread_getaffinity_np. Check gomp_places_list instead of 9975 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller. 9976 * config/linux/bar.c (gomp_barrier_wait_end, 9977 gomp_barrier_wait_last): Use BAR_* defines. 9978 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED 9979 from state where needed. Set work_share_cancelled to 0 on last 9980 thread. 9981 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end, 9982 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New 9983 functions. 9984 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden. 9985 Add cpusetsize argument. 9986 (gomp_cpuset_size, gomp_cpusetp): Declare. 9987 * config/linux/affinity.c: Include errno.h, stdio.h and string.h. 9988 (affinity_counter): Remove. 9989 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define 9990 if CPU_ALLOC_SIZE isn't defined. 9991 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try 9992 silently create OMP_PLACES=threads, if it is non-NULL afterwards, 9993 bind current thread to the first place. 9994 (gomp_init_thread_affinity): Rewritten. Add place argument, just 9995 pthread_setaffinity_np to gomp_places_list[place]. 9996 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus, 9997 gomp_affinity_remove_cpu, gomp_affinity_copy_place, 9998 gomp_affinity_same_place, gomp_affinity_finalize_place_list, 9999 gomp_affinity_init_level, gomp_affinity_print_place): New functions. 10000 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST, 10001 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define. 10002 (gomp_barrier_t): Add awaited_final field. 10003 (gomp_barrier_init): Initialize awaited_final field. 10004 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel, 10005 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New 10006 prototypes. 10007 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_* 10008 defines. 10009 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start, 10010 gomp_team_barrier_cancelled): New inline functions. 10011 (gomp_barrier_last_thread, 10012 gomp_team_barrier_set_task_pending, 10013 gomp_team_barrier_clear_task_pending, 10014 gomp_team_barrier_set_waiting_for_tasks, 10015 gomp_team_barrier_waiting_for_tasks, 10016 gomp_team_barrier_done): Use BAR_* defines. 10017 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field. 10018 (gomp_barrier_wait_end): Use BAR_* defines. 10019 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state. 10020 Set work_share_cancelled to 0 on last thread, use __atomic_load_n. 10021 Use BAR_* defines. 10022 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel, 10023 gomp_team_barrier_cancel): New functions. 10024 * config/posix/affinity.c (gomp_init_thread_affinity): Add place 10025 argument. 10026 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus, 10027 gomp_affinity_remove_cpu, gomp_affinity_copy_place, 10028 gomp_affinity_same_place, gomp_affinity_finalize_place_list, 10029 gomp_affinity_init_level, gomp_affinity_print_place): New stubs. 10030 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST, 10031 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define. 10032 (gomp_barrier_t): Add cancellable field. 10033 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end, 10034 gomp_team_barrier_cancel): New prototypes. 10035 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. 10036 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final, 10037 gomp_team_barrier_cancelled): New inline functions. 10038 (gomp_barrier_wait_start, gomp_barrier_last_thread, 10039 gomp_team_barrier_set_task_pending, 10040 gomp_team_barrier_clear_task_pending, 10041 gomp_team_barrier_set_waiting_for_tasks, 10042 gomp_team_barrier_waiting_for_tasks, 10043 gomp_team_barrier_done): Use BAR_* defines. 10044 * barrier.c (GOMP_barrier_cancel): New function. 10045 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false, 10046 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close, 10047 omp_proc_bind_spread): New params. 10048 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device, 10049 omp_get_default_device, omp_get_num_devices, omp_get_num_teams, 10050 omp_get_team_num, omp_is_initial_device): New externals. 10051 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point): 10052 New functions. 10053 (gomp_resolve_num_threads): Adjust for thread_limit now being in 10054 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as 10055 infinity. If not nested, just return minimum of max_num_threads 10056 and icv->thread_limit_var and if thr->thread_pool, set threads_busy 10057 to the returned value. Otherwise, don't update atomically 10058 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy. 10059 (GOMP_parallel_end): Adjust for thread_limit now being in 10060 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as 10061 infinity. Adjust threads_busy in the pool rather than 10062 gomp_remaining_threads_count. Remember team->nthreads and call 10063 gomp_team_end before adjusting threads_busy, if not nested 10064 afterwards, just set it to 1 non-atomically. Add ialias. 10065 (GOMP_parallel_start): Adjust gomp_team_start caller. 10066 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid. 10067 * testsuite/libgomp.c/affinity-1.c: New test. 10068 * testsuite/libgomp.c/atomic-15.c: New test. 10069 * testsuite/libgomp.c/atomic-16.c: New test. 10070 * testsuite/libgomp.c/atomic-17.c: New test. 10071 * testsuite/libgomp.c/cancel-for-1.c: New test. 10072 * testsuite/libgomp.c/cancel-for-2.c: New test. 10073 * testsuite/libgomp.c/cancel-parallel-1.c: New test. 10074 * testsuite/libgomp.c/cancel-parallel-2.c: New test. 10075 * testsuite/libgomp.c/cancel-parallel-3.c: New test. 10076 * testsuite/libgomp.c/cancel-sections-1.c: New test. 10077 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test. 10078 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test. 10079 * testsuite/libgomp.c/depend-1.c: New test. 10080 * testsuite/libgomp.c/depend-2.c: New test. 10081 * testsuite/libgomp.c/depend-3.c: New test. 10082 * testsuite/libgomp.c/depend-4.c: New test. 10083 * testsuite/libgomp.c/for-1.c: New test. 10084 * testsuite/libgomp.c/for-1.h: New file. 10085 * testsuite/libgomp.c/for-2.c: New test. 10086 * testsuite/libgomp.c/for-2.h: New file. 10087 * testsuite/libgomp.c/for-3.c: New test. 10088 * testsuite/libgomp.c/pr58392.c: New test. 10089 * testsuite/libgomp.c/simd-1.c: New test. 10090 * testsuite/libgomp.c/simd-2.c: New test. 10091 * testsuite/libgomp.c/simd-3.c: New test. 10092 * testsuite/libgomp.c/simd-4.c: New test. 10093 * testsuite/libgomp.c/simd-5.c: New test. 10094 * testsuite/libgomp.c/simd-6.c: New test. 10095 * testsuite/libgomp.c/target-1.c: New test. 10096 * testsuite/libgomp.c/target-2.c: New test. 10097 * testsuite/libgomp.c/target-3.c: New test. 10098 * testsuite/libgomp.c/target-4.c: New test. 10099 * testsuite/libgomp.c/target-5.c: New test. 10100 * testsuite/libgomp.c/target-6.c: New test. 10101 * testsuite/libgomp.c/target-7.c: New test. 10102 * testsuite/libgomp.c/taskgroup-1.c: New test. 10103 * testsuite/libgomp.c/thread-limit-1.c: New test. 10104 * testsuite/libgomp.c/thread-limit-2.c: New test. 10105 * testsuite/libgomp.c/thread-limit-3.c: New test. 10106 * testsuite/libgomp.c/udr-1.c: New test. 10107 * testsuite/libgomp.c/udr-2.c: New test. 10108 * testsuite/libgomp.c/udr-3.c: New test. 10109 * testsuite/libgomp.c++/affinity-1.C: New test. 10110 * testsuite/libgomp.c++/atomic-10.C: New test. 10111 * testsuite/libgomp.c++/atomic-11.C: New test. 10112 * testsuite/libgomp.c++/atomic-12.C: New test. 10113 * testsuite/libgomp.c++/atomic-13.C: New test. 10114 * testsuite/libgomp.c++/atomic-14.C: New test. 10115 * testsuite/libgomp.c++/atomic-15.C: New test. 10116 * testsuite/libgomp.c++/cancel-for-1.C: New test. 10117 * testsuite/libgomp.c++/cancel-for-2.C: New test. 10118 * testsuite/libgomp.c++/cancel-parallel-1.C: New test. 10119 * testsuite/libgomp.c++/cancel-parallel-2.C: New test. 10120 * testsuite/libgomp.c++/cancel-parallel-3.C: New test. 10121 * testsuite/libgomp.c++/cancel-sections-1.C: New test. 10122 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test. 10123 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test. 10124 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test. 10125 * testsuite/libgomp.c++/cancel-test.h: New file. 10126 * testsuite/libgomp.c++/for-9.C: New test. 10127 * testsuite/libgomp.c++/for-10.C: New test. 10128 * testsuite/libgomp.c++/for-11.C: New test. 10129 * testsuite/libgomp.c++/simd-1.C: New test. 10130 * testsuite/libgomp.c++/simd-2.C: New test. 10131 * testsuite/libgomp.c++/simd-3.C: New test. 10132 * testsuite/libgomp.c++/simd-4.C: New test. 10133 * testsuite/libgomp.c++/simd-5.C: New test. 10134 * testsuite/libgomp.c++/simd-6.C: New test. 10135 * testsuite/libgomp.c++/simd-7.C: New test. 10136 * testsuite/libgomp.c++/simd-8.C: New test. 10137 * testsuite/libgomp.c++/target-1.C: New test. 10138 * testsuite/libgomp.c++/target-2.C: New test. 10139 * testsuite/libgomp.c++/target-2-aux.cc: New file. 10140 * testsuite/libgomp.c++/target-3.C: New test. 10141 * testsuite/libgomp.c++/taskgroup-1.C: New test. 10142 * testsuite/libgomp.c++/udr-1.C: New test. 10143 * testsuite/libgomp.c++/udr-2.C: New test. 10144 * testsuite/libgomp.c++/udr-3.C: New test. 10145 * testsuite/libgomp.c++/udr-4.C: New test. 10146 * testsuite/libgomp.c++/udr-5.C: New test. 10147 * testsuite/libgomp.c++/udr-6.C: New test. 10148 * testsuite/libgomp.c++/udr-7.C: New test. 10149 * testsuite/libgomp.c++/udr-8.C: New test. 10150 * testsuite/libgomp.c++/udr-9.C: New test. 10151 101522013-09-20 Jakub Jelinek <jakub@redhat.com> 10153 10154 PR testsuite/57605 10155 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to 10156 ALWAYS_CFLAGS. 10157 101582013-09-20 Alan Modra <amodra@gmail.com> 10159 10160 * configure: Regenerate. 10161 101622013-09-19 Jakub Jelinek <jakub@redhat.com> 10163 10164 * testsuite/libgomp.c/sections-2.c: New test. 10165 101662013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com> 10167 10168 * testsuite/libgomp.fortran/strassen.f90: 10169 Add dg-skip-if aarch64_tiny. 10170 101712013-06-20 Iain Sandoe <iain@codesourcery.com> 10172 Cesar Philippidis <cesar@codesourcery.com> 10173 10174 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order. 10175 Do not load_gcc_lib gcc-dg.exp and add a comment as to why. 10176 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp. 10177 * testsuite/libgomp.fortran/fortran.exp: Likewise. 10178 * testsuite/libgomp.graphite/graphite.exp: Likewise. 10179 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp. 10180 Use dg-runtest rather than gfortran-dg-runtest. 10181 101822013-06-10 Thomas Schwinge <thomas@codesourcery.com> 10183 10184 * testsuite/libgomp.c/icv-2.c: Extend current handling of 10185 Linux-based x86 systems to cover all GNU systems. 10186 * testsuite/libgomp.c/lock-3.c: Likewise. 10187 * testsuite/libgomp.c/pr48591.c: Likewise. 10188 101892013-06-06 Thomas Schwinge <thomas@codesourcery.com> 10190 10191 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for 10192 GNU/Hurd, as done for Linux-based systems. 10193 10194 * config/posix/ptrlock.h: Fix comment. 10195 101962013-05-27 Tobias Burnus <burnus@net-b.de> 10197 10198 PR fortran/57423 10199 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested, 10200 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock, 10201 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock, 10202 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock, 10203 omp_destroy_nest_lock): Correct arguments to match the one in 10204 the OpenMP spec. 10205 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock 10206 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock, 10207 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested, 10208 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto. 10209 102102013-05-16 Jakub Jelinek <jakub@redhat.com> 10211 10212 * testsuite/libgomp.c/loop-13.c: New test. 10213 * testsuite/libgomp.c/loop-14.c: New test. 10214 * testsuite/libgomp.c/loop-15.c: New test. 10215 * testsuite/libgomp.c++/loop-13.C: New test. 10216 * testsuite/libgomp.c++/loop-14.C: New test. 10217 * testsuite/libgomp.c++/loop-15.C: New test. 10218 102192013-02-06 Jakub Jelinek <jakub@redhat.com> 10220 10221 PR middle-end/56217 10222 * testsuite/libgomp.c++/pr56217.C: New test. 10223 102242013-02-01 Alan Modra <amodra@gmail.com> 10225 10226 * task.c (GOMP_task, GOMP_taskwait): Comment. 10227 102282013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org> 10229 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch> 10230 10231 PR libgomp/55561 10232 * config/linux/wait.h (do_spin): Use atomic load for addr. 10233 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic 10234 for intptr and ptrlock. 10235 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load 10236 for ptrlock. 10237 102382013-01-22 Alan Modra <amodra@gmail.com> 10239 10240 PR libgomp/51376 10241 PR libgomp/56073 10242 * task.c (GOMP_task): Revert 2011-12-09 change. 10243 (GOMP_taskwait): Likewise. Instead use atomic load with acquire 10244 barrier to read task->children.. 10245 (gomp_barrier_handle_tasks): ..and matching atomic store with 10246 release barrier here when setting parent->children to NULL. 10247 102482013-01-16 Jakub Jelinek <jakub@redhat.com> 10249 Tobias Burnus <burnus@net-b.de> 10250 10251 PR driver/55884 10252 * testsuite/libgomp.fortran/fortran.exp: Use 10253 -fintrinsic-modules-path= instead of 10254 -fintrinsic-modules-path. 10255 102562013-01-14 Richard Sandiford <rdsandiford@googlemail.com> 10257 10258 Update copyright years. 10259 102602012-12-19 Tobias Burnus <burnus@net-b.de> 10261 10262 * testsuite/libgomp.fortran/fortran.exp: Set 10263 -fintrinsic-modules-path. 10264 102652012-12-19 Tobias Burnus <burnus@net-b.de> 10266 10267 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved 10268 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90. 10269 102702012-11-21 Jakub Jelinek <jakub@redhat.com> 10271 10272 PR libgomp/55411 10273 * team.c (gomp_free_thread): Decrease gomp_managed_threads 10274 if pool had any threads_used. 10275 102762012-11-07 Jack Howarth <howarth@bromo.med.uc.edu> 10277 10278 * testsuite/libgomp.c++/pr24455.C: Use 10279 -Wl,-undefined,dynamic_lookup on darwin. 10280 102812012-11-07 David Edelsohn <dje.gcc@gmail.com> 10282 10283 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX. 10284 102852012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr> 10286 10287 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops. 10288 102892012-10-23 Ian Bolton <ian.bolton@arm.com> 10290 Jim MacArthur <jim.macarthur@arm.com> 10291 Marcus Shawcroft <marcus.shawcroft@arm.com> 10292 Nigel Stephens <nigel.stephens@arm.com> 10293 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> 10294 Richard Earnshaw <rearnsha@arm.com> 10295 Sofiane Naci <sofiane.naci@arm.com> 10296 Stephen Thomas <stephen.thomas@arm.com> 10297 Tejas Belagod <tejas.belagod@arm.com> 10298 Yufeng Zhang <yufeng.zhang@arm.com> 10299 10300 * configure.tgt: Add AArch64. 10301 103022012-10-04 Jason Merrill <jason@redhat.com> 10303 10304 * testsuite/libgomp.c++/tls-init1.C: New. 10305 103062012-09-14 David Edelsohn <dje.gcc@gmail.com> 10307 10308 * configure: Regenerated. 10309 103102012-08-29 Chung-Lin Tang <cltang@codesourcery.com> 10311 10312 * config/linux/mips/futex.h (sys_futex0): Change to static 10313 function with noinline, nomips16 attributes under MIPS16. Adjust 10314 asm statement to place 'li v0,SYS_futex' immediately before 10315 syscall insn. 10316 103172012-07-04 Sandra Loosemore <sandra@codesourcery.com> 10318 10319 * libgomp.texi (Library Index): Renamed from "Index" to prevent 10320 conflict with index.html on case-insensitive file systems. 10321 103222012-07-03 Uros Bizjak <ubizjak@gmail.com> 10323 10324 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause. 10325 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto. 10326 103272012-07-02 Richard Guenther <rguenther@suse.de> 10328 Michael Matz <matz@suse.de> 10329 Tobias Grosser <tobias@grosser.es> 10330 Sebastian Pop <sebpop@gmail.com> 10331 10332 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust. 10333 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise. 10334 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise. 10335 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise. 10336 103372012-06-28 Andreas Schwab <schwab@linux-m68k.org> 10338 10339 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi. 10340 103412012-06-22 Richard Guenther <rguenther@suse.de> 10342 10343 Merge from graphite branch 10344 2012-01-13 Tobias Grosser <tobias@grosser.es> 10345 10346 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust. 10347 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise. 10348 103492012-06-07 Jakub Jelinek <jakub@redhat.com> 10350 10351 PR middle-end/53580 10352 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier, 10353 use GOMP_barrier () call instead. 10354 * testsuite/libgomp.c/pr26943-3.c: Likewise. 10355 * testsuite/libgomp.c/pr26943-4.c: Likewise. 10356 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier, 10357 call GOMP_barrier instead. 10358 * testsuite/libgomp.fortran/vla5.f90: Likewise. 10359 103602012-06-06 Jakub Jelinek <jakub@redhat.com> 10361 10362 PR libgomp/52993 10363 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last 10364 argument to memset call. 10365 103662012-05-16 H.J. Lu <hongjiu.lu@intel.com> 10367 10368 * configure: Regenerated. 10369 103702012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org> 10371 10372 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret. 10373 103742012-03-31 H.J. Lu <hongjiu.lu@intel.com> 10375 10376 PR bootstrap/52812 10377 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64. 10378 103792012-03-22 Jakub Jelinek <jakub@redhat.com> 10380 10381 PR middle-end/52547 10382 * testsuite/libgomp.c/pr52547.c: New test. 10383 103842012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> 10385 10386 * testsuite/lib/libgomp.exp: load fortran-modules.exp 10387 103882012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 10389 10390 * configure.tgt (mips-sgi-irix6*): Remove. 10391 103922012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 10393 10394 * configure.tgt (alpha*-dec-osf*): Remove. 10395 10396 * config/osf/sem.h: Remove. 10397 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally. 10398 103992012-02-29 Eric Botcazou <ebotcazou@adacore.com> 10400 10401 * config/linux/sparc/futex.h (cpu_relax): Read from CC register. 10402 104032012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 10404 10405 PR libstdc++/52188 10406 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming. 10407 Remove ENABLE_SYMVERS_SOL2. 10408 * configure: Regenerate. 10409 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable. 10410 (PREPROCESS): New variable. 10411 (libgomp.ver): New target. 10412 [LIBGOMP_BUILD_VERSIONED_SHLIB && 10413 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove 10414 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling. 10415 Use libgomp.ver. 10416 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun. 10417 * Makefile.in: Regenerate. 10418 104192012-02-14 Walter Lee <walt@tilera.com> 10420 10421 * configure.tgt: Handle tilegx and tilepro. 10422 * config/linux/tile/futex.h: New file. 10423 104242012-02-08 Richard Guenther <rguenther@suse.de> 10425 10426 PR tree-optimization/46886 10427 * testsuite/libgomp.c/pr46886.c: New testcase. 10428 104292012-01-25 Matthias Klose <doko@ubuntu.com> 10430 10431 * config/linux/arm: Remove empty directory. 10432 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*. 10433 104342011-12-09 Alan Modra <amodra@gmail.com> 10435 10436 PR libgomp/51376 10437 * task.c (GOMP_taskwait): Don't access task->children outside of 10438 task_lock mutex region. 10439 (GOMP_task): Likewise. 10440 104412011-12-06 Jakub Jelinek <jakub@redhat.com> 10442 10443 PR libgomp/51132 10444 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays 10445 to file scope. 10446 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise. 10447 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise. 10448 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise. 10449 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise. 10450 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise. 10451 104522011-12-02 Alan Modra <amodra@gmail.com> 10453 10454 * config/linux/affinity.c: Use atomic rather than sync builtin. 10455 * config/linux/lock.c: Likewise. 10456 * config/linux/ptrlock.h: Likewise. 10457 * config/linux/ptrlock.c: Likewise. 10458 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here.. 10459 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here. 10460 * config/linux/futex.h (atomic_write_barrier): Delete unused function. 10461 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise. 10462 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise. 10463 * config/linux/mips/futex.h (atomic_write_barrier): Likewise. 10464 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise. 10465 * config/linux/s390/futex.h (atomic_write_barrier): Likewise. 10466 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise. 10467 * config/linux/x86/futex.h (atomic_write_barrier): Likewise. 10468 104692011-11-30 Alan Modra <amodra@gmail.com> 10470 10471 PR libgomp/51298 10472 * config/linux/bar.h: Use atomic rather than sync builtins. 10473 * config/linux/bar.c: Likewise. Add missing acquire 10474 synchronisation on generation field. 10475 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not 10476 double unlock. 10477 104782011-11-30 Alan Modra <amodra@gmail.com> 10479 10480 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence. 10481 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence. 10482 * config/linux/mutex.h: Use atomic rather than sync builtins. 10483 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state. 10484 * config/linux/omp-lock.h: Comment fix. 10485 * config/linux/arm/mutex.h: Delete. 10486 * config/linux/powerpc/mutex.h: Delete. 10487 * config/linux/ia64/mutex.h: Delete. 10488 * config/linux/mips/mutex.h: Delete. 10489 104902011-11-30 Alan Modra <amodra@gmail.com> 10491 10492 PR libgomp/51249 10493 * config/linux/sem.h: Rewrite. 10494 * config/linux/sem.c: Rewrite. 10495 104962011-11-28 Richard Henderson <rth@redhat.com> 10497 10498 * libgomp.h (enum memmodel): New. 10499 105002011-11-21 Andreas Tobler <andreast@fgznet.ch> 10501 10502 * configure: Regenerate. 10503 105042011-10-10 Matthias Klose <doko@ubuntu.com> 10505 10506 * config/posix95: Remove empty directory. 10507 105082011-08-26 Jakub Jelinek <jakub@redhat.com> 10509 10510 * testsuite/libgomp.fortran/threadprivate4.f90: New test. 10511 105122011-08-19 Jakub Jelinek <jakub@redhat.com> 10513 10514 PR fortran/49792 10515 * testsuite/libgomp.fortran/pr49792-1.f90: New test. 10516 * testsuite/libgomp.fortran/pr49792-2.f90: New test. 10517 105182011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 10519 10520 * config/posix95/lock.c, posix95/omp-lock.h: Remove. 10521 105222011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 10523 10524 PR libgomp/49965 10525 * testsuite/libgomp.c++/task-8.C: Replaced err by errval. 10526 105272011-08-03 Uros Bizjak <ubizjak@gmail.com> 10528 10529 * config/linux/proc.h: New. 10530 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>. 10531 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static. 10532 (gomp_init_num_threads): Update call to cpuset_popcount. 10533 (get_num_procs): Ditto. 10534 * config/linux/affinity.c (gomp_init_affinity): Call 10535 gomp_cpuset_popcount. 10536 105372011-08-02 Jakub Jelinek <jakub@redhat.com> 10538 10539 PR fortran/42041 10540 PR fortran/46752 10541 * omp.h.in (omp_in_final): New prototype. 10542 * omp_lib.f90.in (omp_in_final): New interface. 10543 (omp_integer_kind, omp_logical_kind): Remove 10544 and replace all its uses in the module with 4. 10545 (openmp_version): Change to 201107. 10546 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic, 10547 omp_sched_guided, omp_sched_auto): Use omp_sched_kind 10548 kind for the parameters. 10549 (omp_in_final): New external. 10550 (openmp_version): Change to 201107. 10551 * task.c (omp_in_final): New function. 10552 (gomp_init_task): Initialize final_task. 10553 (GOMP_task): Remove unused attribute from flags. Handle final 10554 tasks. 10555 (GOMP_taskyield): New function. 10556 (omp_in_final): Return true if if (false) or final (true) task 10557 or descendant of final (true). 10558 * fortran.c (omp_in_final_): New function. 10559 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_. 10560 (GOMP_3.0): Export GOMP_taskyield. 10561 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New 10562 variables. 10563 (parse_unsigned_long_list): New function. 10564 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean 10565 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity 10566 even if parse_affinity returned false. 10567 * config/linux/affinity.c (gomp_init_affinity): Handle 10568 gomp_cpu_affinity_len == 0. 10569 * libgomp_g.h (GOMP_taskyield): New prototype. 10570 * libgomp.h (struct gomp_task): Add final_task field. 10571 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs. 10572 * team.c (gomp_team_start): Override new task's nthreads_var icv 10573 if list form OMP_NUM_THREADS has been used and it has value for 10574 the new nesting level. 10575 10576 * testsuite/libgomp.c/atomic-11.c: New test. 10577 * testsuite/libgomp.c/atomic-12.c: New test. 10578 * testsuite/libgomp.c/atomic-13.c: New test. 10579 * testsuite/libgomp.c/atomic-14.c: New test. 10580 * testsuite/libgomp.c/reduction-6.c: New test. 10581 * testsuite/libgomp.c/task-5.c: New test. 10582 * testsuite/libgomp.c++/atomic-2.C: New test. 10583 * testsuite/libgomp.c++/atomic-3.C: New test. 10584 * testsuite/libgomp.c++/atomic-4.C: New test. 10585 * testsuite/libgomp.c++/atomic-5.C: New test. 10586 * testsuite/libgomp.c++/atomic-6.C: New test. 10587 * testsuite/libgomp.c++/atomic-7.C: New test. 10588 * testsuite/libgomp.c++/atomic-8.C: New test. 10589 * testsuite/libgomp.c++/atomic-9.C: New test. 10590 * testsuite/libgomp.c++/task-8.C: New test. 10591 * testsuite/libgomp.c++/reduction-4.C: New test. 10592 * testsuite/libgomp.fortran/allocatable7.f90: New test. 10593 * testsuite/libgomp.fortran/allocatable8.f90: New test. 10594 * testsuite/libgomp.fortran/crayptr3.f90: New test. 10595 * testsuite/libgomp.fortran/omp_atomic3.f90: New test. 10596 * testsuite/libgomp.fortran/omp_atomic4.f90: New test. 10597 * testsuite/libgomp.fortran/pointer1.f90: New test. 10598 * testsuite/libgomp.fortran/pointer2.f90: New test. 10599 * testsuite/libgomp.fortran/task4.f90: New test. 10600 106012011-08-02 Tobias Burnus <burnus@net-b.de> 10602 10603 * libgomp.texi: Update OpenMP spec references to 3.1. 10604 (omp_in_final,OMP_PROC_BIND): New sections. 10605 (OMP_NUM_THREADS): Document that the value can be now a list. 10606 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref. 10607 106082011-08-02 H.J. Lu <hongjiu.lu@intel.com> 10609 10610 * config/linux/x86/futex.h: Check __x86_64__ instead of 10611 __LP64__. 10612 106132011-07-29 Jakub Jelinek <jakub@redhat.com> 10614 10615 PR middle-end/49897 10616 PR middle-end/49898 10617 * testsuite/libgomp.c/pr49897-1.c: New test. 10618 * testsuite/libgomp.c/pr49897-2.c: New test. 10619 * testsuite/libgomp.c/pr49898-1.c: New test. 10620 * testsuite/libgomp.c/pr49898-2.c: New test. 10621 106222011-07-28 H.J. Lu <hongjiu.lu@intel.com> 10623 10624 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486 10625 for ia32 instead of ilp32. 10626 10627 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32. 10628 * testsuite/libgomp.c/atomic-6.c: Likewise. 10629 106302011-07-23 Sebastian Pop <sebastian.pop@amd.com> 10631 10632 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail. 10633 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern. 10634 106352011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 10636 10637 PR libgomp/45351 10638 * config/osf/sem.h: New file. 10639 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path. 10640 106412011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 10642 10643 PR target/49541 10644 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to 10645 ldflags. 10646 106472011-07-15 Jakub Jelinek <jakub@redhat.com> 10648 10649 * config/linux/wait.h (do_spin): New inline, largely copied 10650 from do_wait, just don't do futex_wait here, instead return true if 10651 it should be done. 10652 (do_wait): Implement using do_spin. 10653 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument 10654 to prototype. 10655 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of 10656 __sync_bool_compare_and_swap, pass the oldval to 10657 gomp_mutex_lock_slow. 10658 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument. 10659 If all mutex contenders are just spinning and not sleeping, don't 10660 change state to 2 unnecessarily. Optimize the loop when state has 10661 already become 2 to use just one atomic operation per loop instead 10662 of two. 10663 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument 10664 to prototype. 10665 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of 10666 __sync_bool_compare_and_swap, pass the oldval to 10667 gomp_mutex_lock_slow. 10668 106692011-06-22 Jakub Jelinek <jakub@redhat.com> 10670 10671 PR libgomp/49490 10672 * iter.c (gomp_iter_static_next): For chunk size 0 10673 only use n ceil/ nthreads size for the first 10674 n % nthreads threads in the team instead of 10675 all threads except for the last few ones which 10676 get less work or none at all. 10677 * iter_ull.c (gomp_iter_ull_static_next): Likewise. 10678 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have 10679 chunk argument, set run_sched_modifier to 0 for static 10680 resp. 1 for other kinds. If chunk argument is 0 10681 and not static, set value to 1. 10682 106832011-05-19 Jakub Jelinek <jakub@redhat.com> 10684 10685 PR c++/49043 10686 * testsuite/libgomp.c++/pr49043.C: New test. 10687 10688 PR c++/48869 10689 * testsuite/libgomp.c++/pr48869.C: New test. 10690 106912011-05-06 Jakub Jelinek <jakub@redhat.com> 10692 10693 PR fortran/48894 10694 * fortran.c: Include limits.h. 10695 (TO_INT): Define. 10696 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of 10697 *set. 10698 (omp_set_num_threads_8_, omp_set_schedule_8_, 10699 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_, 10700 omp_get_team_size_8_): Use TO_INT macro. 10701 * testsuite/libgomp.fortran/pr48894.f90: New test. 10702 107032011-04-13 Jakub Jelinek <jakub@redhat.com> 10704 10705 PR middle-end/48591 10706 * testsuite/libgomp.c/pr48591.c: New test. 10707 107082011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 10709 10710 PR bootstrap/48135 10711 * acinclude.m4 (enable_symvers): Handle --disable-symvers. 10712 * configure: Regenerate. 10713 107142011-02-27 Jakub Jelinek <jakub@redhat.com> 10715 10716 PR fortran/47886 10717 * testsuite/libgomp.fortran/task3.f90: New test. 10718 107192011-02-24 Tobias Burnus <burnus@net-b.de> 10720 10721 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE. 10722 107232011-02-23 Jakub Jelinek <jakub@redhat.com> 10724 10725 PR libgomp/47854 10726 * libgomp.texi (omp_get_wtime): Don't say time in the past 10727 must be Unix Epoch. 10728 107292011-02-18 Jakub Jelinek <jakub@redhat.com> 10730 10731 PR libgomp/47804 10732 * testsuite/libgomp.fortran/fortran.exp: Check for both 10733 libquadmath.a and libquadmath.${shlib_ext}. If neither exists, 10734 but $blddir != "", still append ${blddir}/${lang_library_path} 10735 to ld_library_path. 10736 107372011-02-16 Tobias Burnus <burnus@net-b.de> 10738 10739 PR libgomp/47758 10740 * testsuite/libgomp.fortran/fortran.exp: Check for the existence 10741 of libquadmath.a before adding its libpath to ldflags. 10742 107432011-02-14 Jakub Jelinek <jakub@redhat.com> 10744 10745 PR libgomp/47731 10746 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument 10747 to FUTEX_WAIT futex syscall. 10748 * config/linux/wait.h: Include <futex.h> instead of "futex.h". 10749 107502011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 10751 10752 * configure: Regenerate. 10753 107542011-01-20 Benjamin Kosnik <bkoz@redhat.com> 10755 10756 PR libstdc++/36104 10757 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants. 10758 107592011-01-16 Gerald Pfeifer 10760 10761 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS. 10762 107632010-12-14 Jakub Jelinek <jakub@redhat.com> 10764 10765 PR fortran/46874 10766 * libgomp.fortran/allocatable6.f90: New test. 10767 107682010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 10769 10770 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no. 10771 * configure: Regenerate. 10772 107732010-12-06 Dave Korn <dave.korn.cygwin@gmail.com> 10774 10775 PR target/40125 10776 PR lto/46695 10777 * configure.ac: Invoke ACX_LT_HOST_FLAGS. 10778 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags. 10779 * aclocal.m4: Regenerate. 10780 * configure: Regenerate. 10781 * Makefile.in: Regenerate. 10782 * testsuite/Makefile.in: Regenerate. 10783 107842010-12-02 Jakub Jelinek <jakub@redhat.com> 10785 10786 PR fortran/46753 10787 * libgomp.fortran/pr46753.f90: New test. 10788 10789 PR libgomp/43706 10790 * env.c (initialize_env): Default to spin count 300000 10791 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT 10792 is specified. 10793 10794 PR libgomp/45240 10795 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock 10796 at the end if sync builtins aren't supported. 10797 107982010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 10799 10800 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS. 10801 108022010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 10803 10804 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0. 10805 108062010-11-24 Iain Sandoe <iains@gcc.gnu.org> 10807 10808 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath. 10809 108102010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 10811 Tobias Burnus <burnus@net-b.de> 10812 10813 PR fortran/32049 10814 * configure.ac: 10815 * configure: Regenerate. 10816 108172010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com> 10818 10819 * config/linux/futex.h: New. 10820 * config/linux/arm/mutex.h: New. 10821 * configure.tgt (arm*-*-linux*): Add config path. 10822 108232010-09-30 Sebastian Pop <sebastian.pop@amd.com> 10824 10825 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust. 10826 108272010-09-23 Tobias Burnus <burnus@net-b.de> 10828 10829 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic): 10830 Change Fortran datatype to LOGICAL. 10831 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock, 10832 omp_unset_nested_lock): Use intent(inout) instead of intent(out). 10833 108342010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 10835 10836 * configure: Regenerate. 10837 108382010-07-26 Jakub Jelinek <jakub@redhat.com> 10839 10840 * libgomp.texi: Add function keyword to a couple of Fortran 10841 interfaces, use integer instead of int for Fortran. 10842 108432010-07-26 Aldy Hernandez <aldyh@redhat.com> 10844 10845 * libgomp.texi: Fix spelling and pasto problems throughout. 10846 Adjust prototypes to match code. 10847 108482010-07-24 Tobias Burnus <burnus@net-b.de> 10849 10850 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to 10851 silence -fwhole-file warning. 10852 108532010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 10854 10855 * configure.tgt (*-*-solaris2.[56]*): Removed. 10856 108572010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 10858 10859 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style. 10860 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU, 10861 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals. 10862 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless 10863 targetting solaris2*. 10864 * configure: Regenerate. 10865 * config.h.in: Regenerate. 10866 10867 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect 10868 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU. 10869 Add libgomp_version_dep. 10870 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol 10871 versioning. 10872 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep. 10873 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep). 10874 * Makefile.in: Regenerate. 10875 10876 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless 10877 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT. 10878 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0 10879 to common block, protected by 10880 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT. 10881 108822010-06-10 Gerald Pfeifer <gerald@pfeifer.com> 10883 10884 * libgomp.texi: Move to GFDL version 1.3. Update copyright years. 10885 108862010-06-09 Iain Sandoe <iains@gcc.gnu.org> 10887 10888 PR bootstrap/43170 10889 * configure: Regenerate. 10890 108912010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 10892 10893 PR other/43620 10894 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist. 10895 * configure: Regenerate. 10896 * Makefile.in: Regenerate. 10897 * testsuite/Makefile.in: Regenerate. 10898 108992010-04-26 Jakub Jelinek <jakub@redhat.com> 10900 10901 PR c/43893 10902 * testsuite/libgomp.c/pr43893.c: New test. 10903 * testsuite/libgomp.c++/pr43893.C: New test. 10904 109052010-04-21 Jakub Jelinek <jakub@redhat.com> 10906 10907 PR middle-end/43570 10908 * testsuite/libgomp.fortran/vla8.f90: New test. 10909 109102010-04-20 Jakub Jelinek <jakub@redhat.com> 10911 10912 PR libgomp/43706 10913 * config/linux/affinity.c (gomp_init_affinity): Decrease 10914 gomp_available_cpus if affinity mask confines the process to fewer 10915 CPUs. 10916 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is 10917 non-NULL, just return gomp_available_cpus. 10918 10919 PR libgomp/43569 10920 * sections.c (gomp_sections_init): Initialize ws->mode. 10921 109222010-04-14 Uros Bizjak <ubizjak@gmail.com> 10923 10924 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but 10925 not unused bar variable. 10926 * configure: Regenerate. 10927 109282010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 10929 10930 * Makefile.in: Regenerate. 10931 * aclocal.m4: Regenerate. 10932 * testsuite/Makefile.in: Regenerate. 10933 109342010-03-22 Jakub Jelinek <jakub@redhat.com> 10935 10936 PR libgomp/42942 10937 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument. 10938 (initialize_env): Adjust callers. 10939 (omp_set_max_active_levels): Set gomp_max_active_levels_var even 10940 when the argument is 0. 10941 10942 * testsuite/libgomp.c/pr42942.c: New test. 10943 109442010-03-08 Tobias Grosser <grosser@fim.uni-passau.de> 10945 10946 PR middle-end/42644 10947 PR middle-end/42130 10948 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust. 10949 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust. 10950 109512010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 10952 10953 * testsuite/libgomp.c++/task-1.C: Renamed err to e. 10954 * testsuite/libgomp.c++/task-6.C: Likewise. 10955 109562010-01-28 Steve Ellcey <sje@cup.hp.com> 10957 10958 * configure.tgt (*-*-hpux*): Add -frandom-seed flag. 10959 109602010-01-26 Paolo Bonzini <bonzini@gnu.org> 10961 10962 * configure.ac: Test for executability of _the first word_ of GFORTRAN. 10963 * configure: Regenerate. 10964 109652010-01-26 Jakub Jelinek <jakub@redhat.com> 10966 10967 PR fortran/42866 10968 * testsuite/libgomp.fortran/allocatable5.f90: New test. 10969 109702010-01-20 Paolo Bonzini <bonzini@gnu.org> 10971 10972 * configure.ac: Test for executability of GFORTRAN. 10973 * configure: Regenerate. 10974 109752010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 10976 10977 * configure: Regenerate. 10978 109792010-01-04 H.J. Lu <hongjiu.lu@intel.com> 10980 10981 PR libgomp/42602 10982 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic. 10983 109842010-01-03 Richard Guenther <rguenther@suse.de> 10985 10986 * testsuite/libgomp.fortran/recursion1.f90: New testcase. 10987 109882009-12-23 Sebastian Pop <sebpop@gmail.com> 10989 10990 * testsuite/libgomp.graphite/pr4118.c: New. 10991 109922009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk> 10993 10994 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage 10995 for darwin, protect the test with require-effective-target tls_runtime. 10996 * testsuite/libgomp.fortran/pr32550.f90: Ditto. 10997 109982009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk> 10999 11000 PR target/41605 11001 * testsuite/lib/libgomp.exp: Provide -B options to allow for 11002 link spec %s substitutions for static libraries. 11003 110042009-12-18 Jack Howarth <howarth@bromo.med.uc.edu> 11005 11006 PR testsuite/42135 11007 * libgomp.graphite/force-parallel-2.c: Reduce array size. 11008 110092009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 11010 11011 * Makefile.in: Regenerate. 11012 * configure: Regenerate. 11013 * testsuite/Makefile.in: Regenerate. 11014 110152009-11-30 Dave Korn <dave.korn.cygwin@gmail.com> 11016 11017 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent 11018 settings for LC_ALL and LANG. 11019 110202009-11-25 Jakub Jelinek <jakub@redhat.com> 11021 11022 PR fortran/42162 11023 * testsuite/libgomp.fortran/pr42162.f90: New test. 11024 110252009-11-13 Jakub Jelinek <jakub@redhat.com> 11026 11027 PR middle-end/42029 11028 * testsuite/libgomp.c/pr42029.c: New test. 11029 110302009-10-26 Jakub Jelinek <jakub@redhat.com> 11031 11032 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many 11033 *s. Accept ld version without text in ()s. 11034 * configure: Regenerated. 11035 110362009-10-22 Razya Ladelsky <razya@il.ibm.com> 11037 11038 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan. 11039 110402009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 11041 11042 PR libgomp/41418 11043 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no" 11044 or a hyphen (happens with fortran language disabled). 11045 * configure: Regenerate. 11046 110472009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 11048 11049 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head', 11050 use sed script portable to Solaris /bin/sed for extracting ld 11051 version. 11052 * configure: Regenerate. 11053 110542009-09-17 Alexander Monakov <amonakov@ispras.ru> 11055 11056 * testsuite/libgomp.graphite/bounds.c: New test. 11057 110582009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 11059 11060 * Makefile.am (libgomp_la_LINK): New. 11061 * Makefile.in: Regenerate. 11062 110632009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 11064 11065 * configure.ac (AC_PREREQ): Bump to 2.64. 11066 110672009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 11068 11069 * Makefile.am (install-html, install-pdf): Remove. 11070 * Makefile.in: Regenerate. 11071 11072 * Makefile.in: Regenerate. 11073 * aclocal.m4: Regenerate. 11074 * config.h.in: Regenerate. 11075 * configure: Regenerate. 11076 * testsuite/Makefile.in: Regenerate. 11077 110782009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 11079 11080 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS). 11081 * Makefile.in: Regenerate. 11082 110832009-08-20 Dave Korn <dave.korn.cygwin@gmail.com> 11084 11085 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag. 11086 * Makefile.in: Regenerate. 11087 110882009-08-19 Tobias Burnus <burnus@net-b.de> 11089 11090 PR fortran/41102 11091 omp_lib.h.in: Fix -std=f95 errors. 11092 110932009-08-14 David Edelsohn <edelsohn@gnu.org> 11094 11095 * testsuite/libgomp.graphite: Move from gcc.dg/graphite. 11096 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete. 11097 * testsuite/libgomp.graphite/graphite.exp: New. 11098 110992009-08-05 Andreas Tobler <a.tobler@schweiz.org> 11100 11101 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared 11102 only build. 11103 111042009-08-04 David Daney <ddaney@caviumnetworks.com> 11105 11106 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about 11107 needed memory barrier semantics. 11108 * config/linux/mips/mutex.h: New file. 11109 111102009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 11111 11112 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force. 11113 111142009-07-16 Joseph Myers <joseph@codesourcery.com> 11115 11116 * configure: Regenerate. 11117 111182009-07-11 Richard Sandiford <rdsandiford@googlemail.com> 11119 11120 PR testsuite/40699 11121 PR testsuite/40707 11122 PR testsuite/40709 11123 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits. 11124 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp, 11125 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits. 11126 111272009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com> 11128 11129 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS 11130 options when choosing a multilib. 11131 111322009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com> 11133 11134 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to 11135 ld_library_path. Use add_path. Add just find_libgcc_s to 11136 ld_library_path, not every libgcc multilib directory. 11137 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call 11138 gcc-set-multilib-library-path; rely on $always_ld_library_path instead. 11139 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise. 11140 Use add_path. 11141 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise. 11142 111432009-06-09 Nathan Froyd <froydnj@codesourcery.com> 11144 11145 * Makefile.am (LTLDFLAGS): Define. 11146 (LINK): Define. 11147 * Makefile.in: Regenerate. 11148 111492009-05-27 Janne Blomqvist <jb@gcc.gnu.org> 11150 11151 PR fortran/39718 11152 * testsuite/libgomp.fortran/fortran.exp: Don't link with 11153 libgfortranbegin, check existence of libgfortran.a instead of 11154 libgfortranbegin.a. 11155 111562009-05-20 Jakub Jelinek <jakub@redhat.com> 11157 11158 PR libgomp/40174 11159 * team.c (gomp_thread_start): Destroy thr->release semaphore. 11160 (gomp_free_pool_helper): Likewise. 11161 111622009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com> 11163 Jakub Jelinek <jakub@redhat.com> 11164 11165 PR fortran/35423 11166 * testsuite/libgomp.fortran/workshare2.f90: New test. 11167 111682009-04-09 Nick Clifton <nickc@redhat.com> 11169 11170 * iter.c: Change copyright header to refer to version 3 of the 11171 GNU General Public License with version 3.1 of the GCC Runtime 11172 Library Exception and to point readers at the COPYING3 and 11173 COPYING3.RUNTIME files and the FSF's license web page. 11174 * alloc.c: Likewise. 11175 * barrier.c: Likewise. 11176 * config/bsd/proc.c: Likewise. 11177 * config/linux/affinity.c: Likewise. 11178 * config/linux/alpha/futex.h: Likewise. 11179 * config/linux/bar.c: Likewise. 11180 * config/linux/bar.h: Likewise. 11181 * config/linux/ia64/futex.h: Likewise. 11182 * config/linux/ia64/mutex.h: Likewise. 11183 * config/linux/lock.c: Likewise. 11184 * config/linux/mips/futex.h: Likewise. 11185 * config/linux/mutex.c: Likewise. 11186 * config/linux/mutex.h: Likewise. 11187 * config/linux/powerpc/futex.h: Likewise. 11188 * config/linux/proc.c: Likewise. 11189 * config/linux/ptrlock.c: Likewise. 11190 * config/linux/ptrlock.h: Likewise. 11191 * config/linux/s390/futex.h: Likewise. 11192 * config/linux/sem.c: Likewise. 11193 * config/linux/sem.h: Likewise. 11194 * config/linux/sparc/futex.h: Likewise. 11195 * config/linux/wait.h: Likewise. 11196 * config/linux/x86/futex.h: Likewise. 11197 * config/mingw32/proc.c: Likewise. 11198 * config/mingw32/time.c: Likewise. 11199 * config/posix/affinity.c: Likewise. 11200 * config/posix/bar.c: Likewise. 11201 * config/posix/bar.h: Likewise. 11202 * config/posix/lock.c: Likewise. 11203 * config/posix/mutex.h: Likewise. 11204 * config/posix/proc.c: Likewise. 11205 * config/posix/ptrlock.h: Likewise. 11206 * config/posix/sem.c: Likewise. 11207 * config/posix/sem.h: Likewise. 11208 * config/posix/time.c: Likewise. 11209 * config/posix95/lock.c: Likewise. 11210 * critical.c: Likewise. 11211 * env.c: Likewise. 11212 * error.c: Likewise. 11213 * fortran.c: Likewise. 11214 * iter_ull.c: Likewise. 11215 * libgomp.h: Likewise. 11216 * libgomp_f.h.in: Likewise. 11217 * libgomp_g.h: Likewise. 11218 * loop.c: Likewise. 11219 * loop_ull.c: Likewise. 11220 * omp.h.in: Likewise. 11221 * omp_lib.f90.in: Likewise. 11222 * omp_lib.h.in: Likewise. 11223 * ordered.c: Likewise. 11224 * parallel.c: Likewise. 11225 * sections.c: Likewise. 11226 * single.c: Likewise. 11227 * task.c: Likewise. 11228 * team.c: Likewise. 11229 * work.c: Likewise. 11230 112312009-04-09 Jakub Jelinek <jakub@redhat.com> 11232 11233 * testsuite/config/default.exp: Change copyright header to refer to 11234 version 3 of the GNU General Public License and to point readers 11235 at the COPYING3 file and the FSF's license web page. 11236 112372009-04-08 Jakub Jelinek <jakub@redhat.com> 11238 11239 PR middle-end/39573 11240 * libgomp.c++/pr39573.C: New test. 11241 112422009-04-01 Jakub Jelinek <jakub@redhat.com> 11243 11244 PR other/39591 11245 * testsuite/libgomp.c/pr39591-1.c: New test. 11246 * testsuite/libgomp.c/pr39591-2.c: New test. 11247 * testsuite/libgomp.c/pr39591-3.c: New test. 11248 112492009-03-25 Uros Bizjak <ubizjak@gmail.com> 11250 11251 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage. 11252 * testsuite/libgomp.c/atomic-6.c: Ditto. 11253 112542009-03-23 Jakub Jelinek <jakub@redhat.com> 11255 11256 PR c/39495 11257 * testsuite/libgomp.c/loop-12.c: New test. 11258 * testsuite/libgomp.c/loop-11.c: New test. 11259 * testsuite/libgomp.c++/loop-11.C: New test. 11260 * testsuite/libgomp.c++/loop-12.C: New test. 11261 * testsuite/libgomp.c++/for-8.C: New test. 11262 112632009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 11264 11265 * configure: Regenerate. 11266 112672009-02-11 Jakub Jelinek <jakub@redhat.com> 11268 11269 PR middle-end/39154 11270 * testsuite/libgomp.c/pr39154.c: New test. 11271 112722009-01-30 Ian Lance Taylor <iant@google.com> 11273 11274 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set 11275 libgomp_ld_is_gold. Get gold version number. 11276 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning. 11277 * configure: Rebuild. 11278 112792009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk> 11280 11281 * testsuite/lib/libgomp.exp: Add -B option for targets that 11282 use libgfortran.a%s in their specs. 11283 112842009-01-07 Jakub Jelinek <jakub@redhat.com> 11285 11286 PR libgomp/38086 11287 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check. 11288 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if 11289 HAVE_AS_SYMVER_DIRECTIVE is not defined. 11290 * configure: Regenerated. 11291 * config.h.in: Likewise. 11292 112932008-12-28 Jakub Jelinek <jakub@redhat.com> 11294 11295 PR c++/38650 11296 * testsuite/libgomp.c/pr38650.c: New test. 11297 * testsuite/libgomp.c++/pr38650.C: New test. 11298 112992008-12-27 Jakub Jelinek <jakub@redhat.com> 11300 11301 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause. 11302 113032008-12-26 Uros Bizjak <ubizjak@gmail.com> 11304 11305 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets. 11306 113072008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 11308 11309 * configure: Regenerate. 11310 113112008-12-08 Jakub Jelinek <jakub@redhat.com> 11312 11313 PR middle-end/36802 11314 * testsuite/libgomp.c/pr36802-1.c: New test. 11315 * testsuite/libgomp.c/pr36802-2.c: New test. 11316 * testsuite/libgomp.c/pr36802-3.c: New test. 11317 113182008-12-01 Janis Johnson <janis187@us.ibm.com> 11319 11320 PR libgomp/38270 11321 * config/linux/powerpc/mutex.h: New. 11322 113232008-12-01 Jakub Jelinek <jakub@redhat.com> 11324 11325 PR c++/38257 11326 * testsuite/libgomp.c++/for-7.C: New test. 11327 11328 PR c++/38348 11329 * testsuite/libgomp.c++/for-6.C: New test. 11330 113312008-11-26 Janis Johnson <janis187@us.ibm.com> 11332 11333 PR testsuite/28870 11334 * testsuite/lib/libgomp.exp: Include new timeout library files. 11335 (libgomp_target_compile): Set timeout value from new proc. 11336 113372008-11-13 Steve Ellcey <sje@cup.hp.com> 11338 11339 PR libgomp/37938 11340 * config/linux/ia64/mutex.h: New. 11341 113422008-11-04 Tobias Burnus <burnus@net-b.de> 11343 11344 PR libgomp/37935 11345 * libgomp.texi (Runtime library routines, environment variables): 11346 Update for OpenMP version 3.0. 11347 113482008-09-26 Peter O'Gorman <pogma@thewrittenword.com> 11349 Steve Ellcey <sje@cup.hp.com> 11350 11351 * configure: Regenerate for new libtool. 11352 * Makefile.in: Ditto. 11353 * testsuite/Makefile.in: Ditto. 11354 113552008-09-19 Jakub Jelinek <jakub@redhat.com> 11356 Andreas Tobler <a.tobler@schweiz.org> 11357 11358 * config/bsd/proc.c: New file. 11359 * configure.tgt (*-*-darwin*): Use config_path "bsd posix". 11360 * configure.ac: Check for header <sys/sysctl.h> 11361 * configure: Regenerate. 11362 * config.h.in: Likewise. 11363 113642008-09-05 Janis Johnson <janis187@us.ibm.com> 11365 11366 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists. 11367 113682008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com> 11369 11370 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined. 11371 * Makefile.in: Regenerated. 11372 * testsuite/Makefile.in: Regenerated. 11373 113742008-08-21 Nathan Froyd <froydnj@codesourcery.com> 11375 11376 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that 11377 depend on blddir if blddir exists. 11378 (libgomp_target_compile): Likewise. 11379 * testsuite/libgomp.c++/c++.exp: Likewise. 11380 * testsuite/libgomp.fortran/fortran.exp: Likewise. 11381 113822008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 11383 11384 * libgomp.texi: Update to GFDL 1.2. Update copyright years. 11385 Do not list GPL as Invariant Section. 11386 113872008-07-28 Ilie Garbacea <ilie@mips.com> 11388 Chao-ying Fu <fu@mips.com> 11389 11390 * configure.tgt: Enable futex for MIPS. 11391 * config/linux/mips/futex.h: New file. 11392 113932008-07-16 Jakub Jelinek <jakub@redhat.com> 11394 11395 * team.c (gomp_team_end): Free team immediately if it has 11396 just one thread. 11397 113982008-07-08 David Edelsohn <edelsohn@gnu.org> 11399 11400 * testsuite/libgomp.c++/c++.exp: Append multilib library path. 11401 * testsuite/libgomp.fortran/fortran.exp: Same. 11402 * testsuite/libgomp.c/c.exp: Same. 11403 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib 11404 directory to library path first. 11405 114062008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com> 11407 11408 * env.c (parse_stacksize): Add cast to avoid warning. 11409 (parse_spincount): Likewise. 11410 114112008-06-27 Jakub Jelinek <jakub@redhat.com> 11412 11413 * testsuite/libgomp.c/loop-10.c: New test. 11414 * libgomp.c/loop-3.c (main): Add lastprivate clause. 11415 * libgomp.c++/loop-6.C (main): Likewise. 11416 11417 PR debug/36617 11418 * testsuite/libgomp.c/debug-1.c: New test. 11419 114202008-06-19 Jakub Jelinek <jakub@redhat.com> 11421 11422 * testsuite/libgomp.c/nqueens-1.c: New test. 11423 11424 PR c++/36523 11425 * testsuite/libgomp.c++/task-7.C: New function. 11426 114272008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 11428 11429 * configure: Regenerate. 11430 114312008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 11432 11433 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock 11434 mutex when HAVE_SYNC_BUILTINS isn't defined. 11435 114362008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 11437 11438 * libgomp.texi (omp_test_lock): Fix typo. 11439 114402008-06-12 Tobias Burnus <burnus@net-b.de> 11441 11442 * omp_lib.f90.in: Add "implicit none". 11443 114442008-06-12 Jakub Jelinek <jakub@redhat.com> 11445 11446 PR middle-end/36506 11447 * testsuite/libgomp.c/reduction-5.c: New test. 11448 114492008-06-11 Jakub Jelinek <jakub@redhat.com> 11450 11451 * libgomp.h (struct gomp_task): Add in_tied_task field. 11452 * task.c (gomp_init_task): Initialize it. 11453 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending 11454 unconditionally. Don't call gomp_team_barrier_wake if 11455 current task is implicit or if(0) from implicit and number of 11456 running tasks is equal to nthreads - 1. 11457 11458 PR libgomp/36471 11459 * omp_lib.f90.in (omp_get_ancestor_thread_num_8, 11460 omp_get_team_size_8): Fix pastos. 11461 11462 PR libgomp/36469 11463 * configure.ac: Add AC_CHECK_FUNCS (strtoull). 11464 * configure: Regenerated. 11465 * config.h.in: Regenerated. 11466 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not 11467 defined. 11468 114692008-06-06 Andreas Tobler <a.tobler@schweiz.org> 11470 11471 PR bootstrap/36452 11472 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API. 11473 (GOMP_loop_ull_dynamic_start): Likewise. 11474 (GOMP_loop_ull_guided_start): Likewise. 11475 (GOMP_loop_ull_ordered_static_start): Likewise. 11476 (GOMP_loop_ull_ordered_dynamic_start): Likewise. 11477 (GOMP_loop_ull_ordered_guided_start): Likewise. 11478 114792008-06-06 Jakub Jelinek <jakub@redhat.com> 11480 Richard Henderson <rth@redhat.com> 11481 Ulrich Drepper <drepper@redhat.com> 11482 Jakob Blomer <jakob.blomer@ira.uka.de> 11483 11484 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE. 11485 Substitute also OMP_*LOCK_25*. 11486 * configure: Regenerated. 11487 * config.h.in: Regenerated. 11488 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c, 11489 ptrlock.c and task.c. 11490 * Makefile.in: Regenerated. 11491 * testsuite/Makefile.in: Regenerated. 11492 * task.c: New file. 11493 * loop_ull.c: New file. 11494 * iter_ull.c: New file. 11495 * libgomp.h: Include ptrlock.h. 11496 (enum gomp_task_kind): New type. 11497 (struct gomp_team): Add task_lock, task_queue, task_count, 11498 task_running_count, single_count fields. Add 11499 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS. 11500 Remove work_share_lock, generation_mask, 11501 oldest_live_gen, num_live_gen and init_work_shares fields, add 11502 work work_share_list_alloc, work_share_list_free and work_share_chunk 11503 fields. Change work_shares from pointer to pointers into an array. 11504 Change ordered_release field into gomp_sem_t ** from flexible array 11505 member. Add implicit_task and initial_work_shares fields. 11506 Move close to the end of the struct. 11507 (struct gomp_team_state): Add single_count, last_work_share, 11508 active_level and level fields, remove work_share_generation. 11509 (gomp_barrier_handle_tasks): New prototype. 11510 (gomp_finish_task): New inline function. 11511 (struct gomp_work_share): Move chunk_size, end, incr into 11512 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and 11513 next_ll fields. Reshuffle fields. Add next_alloc, 11514 next_ws, next_free and inline_ordered_team_ids fields, change 11515 ordered_team_ids into pointer from flexible array member. 11516 Add mode field. Put lock and next into a different cache line 11517 from most of the write-once fields. 11518 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked, 11519 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next, 11520 gomp_iter_ull_guided_next): New prototypes. 11521 (gomp_new_icv): New prototype. 11522 (struct gomp_thread): Add thread_pool and task fields. 11523 (struct gomp_thread_pool): New type. 11524 (gomp_new_team): New prototype. 11525 (gomp_team_start): Change type of last argument. 11526 (gomp_new_work_share): Removed. 11527 (gomp_init_work_share, gomp_fini_work_share): New prototypes. 11528 (gomp_work_share_init_done): New static inline. 11529 (gomp_throttled_spin_count_var, gomp_available_cpus, 11530 gomp_managed_threads): New extern decls. 11531 (gomp_init_task): New prototype. 11532 (gomp_spin_count_var): New extern var decl. 11533 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility 11534 or no alias support, or if not PIC. 11535 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30, 11536 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30, 11537 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30, 11538 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25, 11539 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25, 11540 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25, 11541 gomp_set_nest_lock_25, gomp_unset_nest_lock_25, 11542 gomp_test_nest_lock_25): New prototypes. 11543 (omp_lock_symver, strong_alias): Define. 11544 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New 11545 decls. 11546 (gomp_end_task): New. 11547 (struct gomp_task_icv, gomp_global_icv): New. 11548 (gomp_thread_limit_var, gomp_max_active_levels_var): New. 11549 (struct gomp_task): New. 11550 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var, 11551 gomp_run_sched_var, gomp_run_sched_chunk): Remove. 11552 (gomp_icv): New. 11553 (gomp_schedule_type): Reorder enum to match 11554 omp_sched_t. 11555 * team.c (struct gomp_thread_start_data): Add thread_pool and task 11556 fields. 11557 (gomp_thread_start): Add gomp_team_barrier_wait call. 11558 For non-nested case remove clearing of docked thread thr fields. 11559 Use pool fields instead of global gomp_* variables. Use 11560 gomp_barrier_wait_last when needed. Initialize ts.active_level. 11561 Create tasks for each member thread. 11562 (free_team): Only destroy team barrier, task_lock here and free it. 11563 (gomp_free_thread): Free last_team if non-NULL. 11564 (gomp_team_end): Call gomp_team_barrier_wait instead of 11565 gomp_barrier_wait. For nested case call one extra 11566 gomp_barrier_wait. Move here some destruction from free_team. 11567 Call free_team on pool->last_team if any, rather than freeing 11568 current team. Destroy work_share_list_free_lock ifndef 11569 HAVE_SYNC_BUILTINS. 11570 (gomp_new_icv): New function. 11571 (gomp_threads, gomp_threads_size, gomp_threads_used, 11572 gomp_threads_dock): Removed. 11573 (gomp_thread_destructor): New variable. 11574 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New 11575 functions. 11576 (gomp_team_start): Create new pool if current thread doesn't have 11577 one. Use pool fields instead of global gomp_* variables. 11578 Initialize thread_pool field for new threads. Clear single_count. 11579 Change last argument from ws to team, don't create 11580 new team, set ts.work_share to &team->work_shares[0] and clear 11581 ts.last_work_share. Don't clear ts.work_share_generation. 11582 If number of threads changed, adjust atomically gomp_managed_threads. 11583 Use gomp_init_task instead of gomp_new_task, 11584 set thr->task to the corresponding implicit_task array entry. 11585 Create tasks for each member thread. Initialize ts.level. 11586 (initialize_team): Call pthread_key_create on 11587 gomp_thread_destructor. 11588 (team_destructor): New function. 11589 (new_team): Removed. 11590 (gomp_new_team): New function. 11591 (free_team): Free gomp_work_share blocks chained through next_alloc, 11592 instead of freeing work_shares and destroying work_share_lock. 11593 (gomp_team_end): Call gomp_fini_work_share. If number of threads 11594 changed, adjust atomically gomp_managed_threads. Use gomp_end_task. 11595 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead 11596 of gomp_barrier_wait. 11597 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait 11598 instead of gomp_barrier_wait. Call gomp_work_share_init_done 11599 if gomp_work_share_start returned true. Don't unlock ws->lock. 11600 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead 11601 of gomp_barrier_wait. 11602 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call 11603 gomp_work_share_init_done if gomp_work_share_start returned true. 11604 Don't unlock ws->lock. 11605 * work.c: Include stddef.h. 11606 (free_work_share): Use work_share_list_free_lock instead 11607 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument. 11608 Call gomp_fini_work_share and then either free ws if orphaned, or 11609 put it into work_share_list_free list of the current team. 11610 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New 11611 functions. 11612 (gomp_work_share_start, gomp_work_share_end, 11613 gomp_work_share_end_nowait): Rewritten. 11614 * omp_lib.f90.in Change some tabs to spaces to prevent warnings. 11615 (openmp_version): Set to 200805. 11616 (omp_sched_kind, omp_sched_static, omp_sched_dynamic, 11617 omp_sched_guided, omp_sched_auto): New parameters. 11618 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit, 11619 omp_set_max_active_levels, omp_get_max_active_levels, 11620 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size, 11621 omp_get_active_level): New interfaces. 11622 * omp_lib.h.in (openmp_version): Set to 200805. 11623 (omp_sched_kind, omp_sched_static, omp_sched_dynamic, 11624 omp_sched_guided, omp_sched_auto): New parameters. 11625 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit, 11626 omp_set_max_active_levels, omp_get_max_active_levels, 11627 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size, 11628 omp_get_active_level): New externals. 11629 * loop.c: Include limits.h. 11630 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle 11631 GFS_AUTO. 11632 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start): 11633 Likewise. Use gomp_icv. 11634 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear 11635 ts.static_trip here. 11636 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call 11637 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock. 11638 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call 11639 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS, 11640 don't unlock ws->lock, otherwise lock it. 11641 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call 11642 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock. 11643 (gomp_parallel_loop_start): Call gomp_new_team instead of 11644 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0]. 11645 Adjust gomp_team_start caller. Pass 0 as second argument to 11646 gomp_resolve_num_threads. 11647 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr. 11648 If adding ws->chunk_size nthreads + 1 times after end won't 11649 overflow, set ws->mode to 1. 11650 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start, 11651 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start, 11652 GOMP_loop_ull_ordered_static_start, 11653 GOMP_loop_ull_ordered_dynamic_start, 11654 GOMP_loop_ull_ordered_guided_start, 11655 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next, 11656 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next, 11657 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next, 11658 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next, 11659 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New 11660 prototypes. 11661 * libgomp.map: Export lock routines also @@OMP_2.0. 11662 (GOMP_loop_ordered_dynamic_first, 11663 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first, 11664 GOMP_loop_ordered_static_first): Remove. 11665 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start, 11666 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start, 11667 GOMP_loop_ull_ordered_dynamic_next, 11668 GOMP_loop_ull_ordered_dynamic_start, 11669 GOMP_loop_ull_ordered_guided_next, 11670 GOMP_loop_ull_ordered_guided_start, 11671 GOMP_loop_ull_ordered_runtime_next, 11672 GOMP_loop_ull_ordered_runtime_start, 11673 GOMP_loop_ull_ordered_static_next, 11674 GOMP_loop_ull_ordered_static_start, 11675 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start, 11676 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start, 11677 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0. 11678 (omp_set_schedule, omp_get_schedule, 11679 omp_get_thread_limit, omp_set_max_active_levels, 11680 omp_get_max_active_levels, omp_get_level, 11681 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level, 11682 omp_set_schedule_, omp_set_schedule_8_, 11683 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_, 11684 omp_set_max_active_levels_, omp_set_max_active_levels_8_, 11685 omp_get_max_active_levels_, omp_get_level_, 11686 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_, 11687 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_): 11688 New exports @@OMP_3.0. 11689 * omp.h.in (omp_sched_t): New type. 11690 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit, 11691 omp_set_max_active_levels, omp_get_max_active_levels, 11692 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size, 11693 omp_get_active_level): New prototypes. 11694 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var, 11695 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var, 11696 gomp_thread_limit_var, gomp_remaining_threads_count, 11697 gomp_remaining_threads_lock): New variables. 11698 (parse_spincount): New function. 11699 (initialize_env): Call gomp_init_num_threads unconditionally. 11700 Initialize gomp_available_cpus. Call parse_spincount, 11701 initialize gomp_{,throttled_}spin_count_var 11702 depending on presence and value of OMP_WAIT_POLICY and 11703 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var. 11704 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS, 11705 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification 11706 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and 11707 gomp_remaining_threads_lock if needed. Use gomp_global_icv. 11708 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var, 11709 gomp_run_sched_var, gomp_run_sched_chunk): Remove. 11710 (gomp_global_icv): New. 11711 (parse_schedule): Use it. Parse "auto". 11712 (omp_set_num_threads): Use gomp_icv. 11713 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested): 11714 Likewise. 11715 (omp_get_max_threads): Move from parallel.c. 11716 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit, 11717 omp_set_max_active_levels, omp_get_max_active_levels): New functions, 11718 add ialias. 11719 (parse_stacksize, parse_wait_policy): New functions. 11720 * fortran.c: Rewrite lock wrappers, if symbol versioning provide 11721 both wrappers for compatibility and new locks. 11722 (omp_set_schedule, omp_get_schedule, 11723 omp_get_thread_limit, omp_set_max_active_levels, 11724 omp_get_max_active_levels, omp_get_level, 11725 omp_get_ancestor_thread_num, omp_get_team_size, 11726 omp_get_active_level): New ialias_redirect. 11727 (omp_set_schedule_, omp_set_schedule_8_, 11728 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_, 11729 omp_set_max_active_levels_, omp_set_max_active_levels_8_, 11730 omp_get_max_active_levels_, omp_get_level_, 11731 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_, 11732 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_): 11733 New functions. 11734 * parallel.c: Include limits.h. 11735 (gomp_resolve_num_threads): Add count argument. Rewritten. 11736 (GOMP_parallel_start): Call gomp_new_team and pass that as last 11737 argument to gomp_team_start. Pass 0 as second argument to 11738 gomp_resolve_num_threads. 11739 (GOMP_parallel_end): Decrease gomp_remaining_threads_count 11740 if gomp_thread_limit_var != ULONG_MAX. 11741 (omp_in_parallel): Implement using ts.active_level. 11742 (omp_get_max_threads): Move to env.c. 11743 (omp_get_level, omp_get_ancestor_thread_num, 11744 omp_get_team_size, omp_get_active_level): New functions, 11745 add ialias. 11746 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done 11747 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call 11748 gomp_iter_dynamic_next instead of the _locked variant and don't take 11749 lock around it, otherwise acquire it before calling 11750 gomp_iter_dynamic_next_locked. 11751 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call 11752 gomp_iter_dynamic_next instead of the _locked variant and don't take 11753 lock around it. 11754 (GOMP_parallel_sections_start): Call gomp_new_team instead of 11755 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0]. 11756 Adjust gomp_team_start caller. Pass count as second argument to 11757 gomp_resolve_num_threads, don't adjust num_threads after the call. 11758 Use gomp_icv. 11759 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply 11760 ws->chunk_size by incr. 11761 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient 11762 code. 11763 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New 11764 types. 11765 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros. 11766 (omp_check_defines): Check even the compat defines. 11767 * config/linux/ptrlock.c: New file. 11768 * config/linux/ptrlock.h: New file. 11769 * config/linux/wait.h: New file. 11770 * config/posix/ptrlock.c: New file. 11771 * config/posix/ptrlock.h: New file. 11772 * config/linux/bar.h (gomp_team_barrier_wait, 11773 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes. 11774 (gomp_team_barrier_set_task_pending, 11775 gomp_team_barrier_clear_task_pending, 11776 gomp_team_barrier_set_waiting_for_tasks, 11777 gomp_team_barrier_waiting_for_tasks, 11778 gomp_team_barrier_done): New inlines. 11779 (gomp_barrier_t): Rewritten. 11780 (gomp_barrier_state_t): New typedef. 11781 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy, 11782 gomp_barrier_wait_start): Rewritten. 11783 (gomp_barrier_wait_end): Change second argument to 11784 gomp_barrier_state_t. 11785 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static 11786 inlines. 11787 * config/linux/bar.c: Include wait.h instead of libgomp.h and 11788 futex.h. 11789 (gomp_barrier_wait_end): Rewritten. 11790 (gomp_team_barrier_wait, gomp_team_barrier_wait_end, 11791 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions. 11792 * config/posix/bar.h (gomp_barrier_t): Add generation field. 11793 (gomp_barrier_state_t): New typedef. 11794 (gomp_team_barrier_wait, 11795 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes. 11796 (gomp_barrier_wait_start): Or all but low 2 bits from generation 11797 into the return value. Return gomp_barrier_state_t. 11798 (gomp_team_barrier_set_task_pending, 11799 gomp_team_barrier_clear_task_pending, 11800 gomp_team_barrier_set_waiting_for_tasks, 11801 gomp_team_barrier_waiting_for_tasks, 11802 gomp_team_barrier_done): New inlines. 11803 (gomp_barrier_wait_end): Change second argument to 11804 gomp_barrier_state_t. 11805 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static 11806 inlines. 11807 * config/posix/bar.c (gomp_barrier_init): Clear generation field. 11808 (gomp_barrier_wait_end): Change second argument to 11809 gomp_barrier_state_t. 11810 (gomp_team_barrier_wait, gomp_team_barrier_wait_end, 11811 gomp_team_barrier_wake): New functions. 11812 * config/linux/mutex.c: Include wait.h instead of libgomp.h and 11813 futex.h. 11814 (gomp_futex_wake, gomp_futex_wait): New variables. 11815 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait. 11816 * config/linux/lock.c: Rewrite to make locks task owned, 11817 for backwards compatibility provide the old entrypoints 11818 if symbol versioning. Include wait.h instead of libgomp.h and 11819 futex.h. 11820 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait. 11821 * config/posix95/lock.c: Rewrite to make locks task owned, 11822 for backwards compatibility provide the old entrypoints 11823 if symbol versioning. 11824 * config/posix/lock.c: Rewrite to make locks task owned, 11825 for backwards compatibility provide the old entrypoints 11826 if symbol versioning. 11827 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv. 11828 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv. 11829 * config/posix/proc.c, config/mingw32/proc.c: Similarly. 11830 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove. 11831 (sys_futex0): Return error code. 11832 (futex_wake, futex_wait): If ENOSYS was returned, clear 11833 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry. 11834 (cpu_relax, atomic_write_barrier): New static inlines. 11835 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove. 11836 (futex_wake, futex_wait): If ENOSYS was returned, clear 11837 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry. 11838 (cpu_relax, atomic_write_barrier): New static inlines. 11839 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove. 11840 (sys_futex0): Return error code. 11841 (futex_wake, futex_wait): If ENOSYS was returned, clear 11842 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry. 11843 (cpu_relax, atomic_write_barrier): New static inlines. 11844 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove. 11845 (sys_futex0): Return error code. 11846 (futex_wake, futex_wait): If ENOSYS was returned, clear 11847 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry. 11848 (cpu_relax, atomic_write_barrier): New static inlines. 11849 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove. 11850 (sys_futex0): Return error code. 11851 (futex_wake, futex_wait): If ENOSYS was returned, clear 11852 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry. 11853 (cpu_relax, atomic_write_barrier): New static inlines. 11854 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove. 11855 (sys_futex0): Return error code. 11856 (futex_wake, futex_wait): If ENOSYS was returned, clear 11857 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry. 11858 (cpu_relax, atomic_write_barrier): New static inlines. 11859 * config/linux/sem.c: Include wait.h instead of libgomp.h and 11860 futex.h. 11861 (gomp_sem_wait_slow): Call do_wait instead of futex_wait. 11862 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS. 11863 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New 11864 types. 11865 (omp_nest_lock_t): Change owner into void *, add lock field. 11866 * config/posix95/omp-lock.h: Include semaphore.h. 11867 (omp_lock_25_t, omp_nest_lock_25_t): New types. 11868 (omp_lock_t): Use sem_t instead of mutex if semaphores 11869 aren't broken. 11870 (omp_nest_lock_t): Likewise. Change owner to void *. 11871 * config/posix/omp-lock.h: Include semaphore.h. 11872 (omp_lock_25_t, omp_nest_lock_25_t): New types. 11873 (omp_lock_t): Use sem_t instead of mutex if semaphores 11874 aren't broken. 11875 (omp_nest_lock_t): Likewise. Add owner field. 11876 118772008-06-06 Jakub Jelinek <jakub@redhat.com> 11878 11879 * testsuite/libgomp.c/collapse-1.c: New test. 11880 * testsuite/libgomp.c/collapse-2.c: New test. 11881 * testsuite/libgomp.c/collapse-3.c: New test. 11882 * testsuite/libgomp.c/icv-1.c: New test. 11883 * testsuite/libgomp.c/icv-2.c: New test. 11884 * testsuite/libgomp.c/lib-2.c: New test. 11885 * testsuite/libgomp.c/lock-1.c: New test. 11886 * testsuite/libgomp.c/lock-2.c: New test. 11887 * testsuite/libgomp.c/lock-3.c: New test. 11888 * testsuite/libgomp.c/loop-4.c: New test. 11889 * testsuite/libgomp.c/loop-5.c: New test. 11890 * testsuite/libgomp.c/loop-6.c: New test. 11891 * testsuite/libgomp.c/loop-7.c: New test. 11892 * testsuite/libgomp.c/loop-8.c: New test. 11893 * testsuite/libgomp.c/loop-9.c: New test. 11894 * testsuite/libgomp.c/nested-3.c: New test. 11895 * testsuite/libgomp.c/nestedfn-6.c: New test. 11896 * testsuite/libgomp.c/sort-1.c: New test. 11897 * testsuite/libgomp.c/task-1.c: New test. 11898 * testsuite/libgomp.c/task-2.c: New test. 11899 * testsuite/libgomp.c/task-3.c: New test. 11900 * testsuite/libgomp.c/task-4.c: New test. 11901 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes 11902 to C++ testsuite default compiler options. 11903 * testsuite/libgomp.c++/collapse-1.C: New test. 11904 * testsuite/libgomp.c++/collapse-2.C: New test. 11905 * testsuite/libgomp.c++/ctor-10.C: New test. 11906 * testsuite/libgomp.c++/for-1.C: New test. 11907 * testsuite/libgomp.c++/for-2.C: New test. 11908 * testsuite/libgomp.c++/for-3.C: New test. 11909 * testsuite/libgomp.c++/for-4.C: New test. 11910 * testsuite/libgomp.c++/for-5.C: New test. 11911 * testsuite/libgomp.c++/loop-8.C: New test. 11912 * testsuite/libgomp.c++/loop-9.C: New test. 11913 * testsuite/libgomp.c++/loop-10.C: New test. 11914 * testsuite/libgomp.c++/task-1.C: New test. 11915 * testsuite/libgomp.c++/task-2.C: New test. 11916 * testsuite/libgomp.c++/task-3.C: New test. 11917 * testsuite/libgomp.c++/task-4.C: New test. 11918 * testsuite/libgomp.c++/task-5.C: New test. 11919 * testsuite/libgomp.c++/task-6.C: New test. 11920 * testsuite/libgomp.fortran/allocatable1.f90: New test. 11921 * testsuite/libgomp.fortran/allocatable2.f90: New test. 11922 * testsuite/libgomp.fortran/allocatable3.f90: New test. 11923 * testsuite/libgomp.fortran/allocatable4.f90: New test. 11924 * testsuite/libgomp.fortran/collapse1.f90: New test. 11925 * testsuite/libgomp.fortran/collapse2.f90: New test. 11926 * testsuite/libgomp.fortran/collapse3.f90: New test. 11927 * testsuite/libgomp.fortran/collapse4.f90: New test. 11928 * testsuite/libgomp.fortran/lastprivate1.f90: New test. 11929 * testsuite/libgomp.fortran/lastprivate2.f90: New test. 11930 * testsuite/libgomp.fortran/lib4.f90: New test. 11931 * testsuite/libgomp.fortran/lock-1.f90: New test. 11932 * testsuite/libgomp.fortran/lock-2.f90: New test. 11933 * testsuite/libgomp.fortran/nested1.f90: New test. 11934 * testsuite/libgomp.fortran/nestedfn4.f90: New test. 11935 * testsuite/libgomp.fortran/strassen.f90: New test. 11936 * testsuite/libgomp.fortran/tabs1.f90: New test. 11937 * testsuite/libgomp.fortran/tabs2.f: New test. 11938 * testsuite/libgomp.fortran/task1.f90: New test. 11939 * testsuite/libgomp.fortran/task2.f90: New test. 11940 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning. 11941 * testsuite/libgomp.fortran/vla5.f90: Likewise. 11942 * testsuite/libgomp.c/pr26943-2.c: Likewise. 11943 * testsuite/libgomp.c/pr26943-3.c: Likewise. 11944 * testsuite/libgomp.c/pr26943-4.c: Likewise. 11945 119462008-05-23 Jakub Jelinek <jakub@redhat.com> 11947 11948 PR c++/36308 11949 * testsuite/libgomp.c++/ctor-11.C: New test. 11950 * testsuite/libgomp.c++/ctor-12.C: New test. 11951 119522008-05-15 Janis Johnson <janis187@us.ibm.com> 11953 11954 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib. 11955 119562008-05-07 Jakub Jelinek <jakub@redhat.com> 11957 11958 PR middle-end/36106 11959 * testsuite/libgomp.c/atomic-5.c: New test. 11960 * testsuite/libgomp.c/atomic-6.c: New test. 11961 * testsuite/libgomp.c/autopar-1.c: New test. 11962 119632008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 11964 11965 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS) 11966 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY) 11967 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT) 11968 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names. 11969 * configure: Regenerate. 11970 * Makefile.in, testsuite/Makefile.in: Likewise. 11971 119722008-04-18 Paolo Bonzini <bonzini@gnu.org> 11973 11974 PR bootstrap/35457 11975 * aclocal.m4: Regenerate. 11976 * configure: Regenerate. 11977 119782008-03-18 Jakub Jelinek <jakub@redhat.com> 11979 11980 PR middle-end/35611 11981 * testsuite/libgomp.c/atomic-4.c: New test. 11982 11983 PR libgomp/35625 11984 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end. 11985 (gomp_iter_guided_next): Likewise. 11986 * testsuite/libgomp.c/pr35625.c: New test. 11987 119882008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 11989 11990 * aclocal.m4: Regenerate. 11991 * configure: Likewise. 11992 * Makefile.in: Likewise. 11993 * testsuite/Makefile.in: Likewise. 11994 119952008-03-13 Jakub Jelinek <jakub@redhat.com> 11996 11997 PR middle-end/35185 11998 * testsuite/libgomp.c++/pr35185.C: New test. 11999 120002008-03-12 Jakub Jelinek <jakub@redhat.com> 12001 12002 PR middle-end/35549 12003 * testsuite/libgomp.c/pr35549.c: New test. 12004 120052008-03-06 Jakub Jelinek <jakub@redhat.com> 12006 12007 * testsuite/libgomp.c/atomic-3.c: New test. 12008 120092008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 12010 12011 PR fortran/33197 12012 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and 12013 .F08 file suffixes. 12014 120152008-03-03 Peter O'Gorman <pogma@thewrittenword.com> 12016 12017 PR libgomp/33131 12018 * configure.ac: Add ACX_HEADER_STRING. 12019 * env.c: Include strings.h. 12020 * aclocal.m4: Regenerate. 12021 * config.h.in: Regenerate. 12022 * configure: Regenerate. 12023 * Makefile.in: Regenerate. 12024 * testsuite/Makefile.in: Regenerate. 12025 120262008-02-15 Jakub Jelinek <jakub@redhat.com> 12027 12028 PR middle-end/35196 12029 * testsuite/libgomp.c/pr35196.c: New test. 12030 12031 PR middle-end/35130 12032 * testsuite/libgomp.fortran/pr35130.f90: New test. 12033 * testsuite/libgomp.c/pr35130.c: New test. 12034 120352008-01-25 Jakub Jelinek <jakub@redhat.com> 12036 12037 PR middle-end/33880 12038 * testsuite/libgomp.c/pr33880.c: New test. 12039 * testsuite/libgomp.fortran/pr33880.f90: New test. 12040 120412008-01-24 David Edelsohn <edelsohn@gnu.org> 12042 12043 * configure: Regenerate. 12044 120452008-01-08 Jakub Jelinek <jakub@redhat.com> 12046 12047 * configure.ac: Move futex checking into ../config/futex.m4. 12048 * configure: Rebuilt. 12049 * aclocal.m4: Rebuilt. 12050 * Makefile.in: Rebuilt. 12051 12052 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match 12053 2007-10-15 ../config/tls.m4 change. 12054 120552007-12-19 Jakub Jelinek <jakub@redhat.com> 12056 12057 PR c++/34513 12058 * testsuite/libgomp.c/pr34513.c: New test. 12059 * testsuite/libgomp.c++/pr34513.C: New test. 12060 120612007-12-17 Jack Howarth <howarth@bromo.med.uc.edu> 12062 12063 PR target/32765 12064 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin. 12065 120662007-12-04 Jakub Jelinek <jakub@redhat.com> 12067 12068 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes. 12069 120702007-12-03 Jakub Jelinek <jakub@redhat.com> 12071 12072 * testsuite/libgomp.c/private-1.c: New test. 12073 120742007-11-29 Andris Pavenis <andris.pavenis@iki.fi> 12075 Paolo Bonzini <bonzini@gnu.org> 12076 12077 * Makefile.am: Use space as vpath separator. Use 'vpath %' 12078 instead of 'VPATH ='. 12079 * Makefile.in: Regenerate. 12080 120812007-11-23 Matthias Klose <doko@ubuntu.com> 12082 12083 * configure.ac: Adjust makeinfo version check. 12084 * configure: Regenerate. 12085 120862007-11-10 Jakub Jelinek <jakub@redhat.com> 12087 12088 PR fortran/34020 12089 * testsuite/libgomp.fortran/pr34020.f90: New test. 12090 120912007-11-06 Jakub Jelinek <jakub@redhat.com> 12092 12093 PR c++/33894 12094 * testsuite/libgomp.c++/atomic-1.C: New test. 12095 120962007-10-25 Jakub Jelinek <jakub@redhat.com> 12097 12098 PR libgomp/33275 12099 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate): 12100 Make x and y integers rather than (implicit) reals. Add private (j) 12101 clause to the last omp parallel. 12102 121032007-10-15 Maciej W. Rozycki <macro@linux-mips.org> 12104 12105 * configure: Regenerate following changes to ../config/tls.m4. 12106 121072007-09-28 Jakub Jelinek <jakub@redhat.com> 12108 12109 * testsuite/libgomp.fortran/stack.f90: New test. 12110 121112007-09-10 Danny Smith <dannysmith@users.sourceforge.net> 12112 12113 * config/mingw32/proc.c: New file. 12114 121152007-09-05 Uros Bizjak <ubizjak@gmail.com> 12116 12117 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets. 12118 (main): Use __get_cpuid to get i386 target fetaures. 12119 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets. 12120 (main): Use __get_cpuid to get x86_64 target fetaures. 12121 121222007-08-15 Jack Howarth <howarth@bromo.med.uc.edu> 12123 12124 PR target/32765 12125 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin. 12126 * testsuite/libgomp.fortran/crayptr2.f90: Likwise. 12127 121282007-07-12 Jakub Jelinek <jakub@redhat.com> 12129 12130 PR fortran/32550 12131 * testsuite/libgomp.fortran/pr32550.f90: New test. 12132 * testsuite/libgomp.fortran/crayptr2.f90: New test. 12133 121342007-07-05 H.J. Lu <hongjiu.lu@intel.com> 12135 12136 * aclocal.m4: Regenerated. 12137 121382007-07-05 Tobias Burnus <burnus@net-b.de> 12139 12140 PR fortran/32359 12141 * testsuite/libgomp.fortran/pr32359.f90: New. 12142 121432007-07-02 Jakub Jelinek <jakub@redhat.com> 12144 12145 PR libgomp/32468 12146 * sections.c (GOMP_parallel_sections_start): Only decrease 12147 number of threads to COUNT if dyn_var is true. 12148 * testsuite/libgomp.c/pr32468.c: New test. 12149 121502007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 12151 12152 PR libgomp/26308 12153 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX. 12154 121552007-06-21 Jakub Jelinek <jakub@redhat.com> 12156 12157 PR middle-end/32362 12158 * testsuite/libgomp.c/pr32362-1.c: New test. 12159 * testsuite/libgomp.c/pr32362-2.c: New test. 12160 * testsuite/libgomp.c/pr32362-3.c: New test. 12161 121622007-06-07 Jakub Jelinek <jakub@redhat.com> 12163 12164 * team.c (gomp_team_start): Fix setting up thread_attr 12165 stack size. 12166 121672007-06-02 Paolo Bonzini <bonzini@gnu.org> 12168 12169 * configure: Regenerate. 12170 121712007-05-23 Steve Ellcey <sje@cup.hp.com> 12172 12173 * Makefile.in: Regenerate. 12174 * configure: Regenerate. 12175 * aclocal.m4: Regenerate. 12176 * testsuite/Makefile.in: Regenerate. 12177 121782007-05-04 Jakub Jelinek <jakub@redhat.com> 12179 12180 * config/linux/proc.c: New file. 12181 12182 PR libgomp/28482 12183 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux. 12184 121852007-04-19 Daniel Franke <franke.daniel@gmail.com> 12186 12187 * libgomp.texi (GOMP_CPU_AFFINITY): Updated. 12188 121892007-04-16 Matthias Klose <doko@debian.org> 12190 12191 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific 12192 flags if not building with -m64. 12193 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march 12194 flag for i?86-*-* targets, if current target matches -m64. 12195 121962007-04-14 Steve Ellcey <sje@cup.hp.com> 12197 12198 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS. 12199 * Makefile.in: Regenerate. 12200 122012007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 12202 12203 PR testsuite/31369 12204 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting 12205 ld_library_path. 12206 * testsuite/libgomp.fortran/fortran.exp: Likewise. 12207 122082007-04-04 Jakub Jelinek <jakub@redhat.com> 12209 12210 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern 12211 decls. 12212 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes. 12213 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables. 12214 (parse_affinity): New function. 12215 (initialize_env): Call it and gomp_init_affinity. 12216 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL, 12217 create new pthread_attr_t and call gomp_init_thread_affinity 12218 on it for each thread before passing the attribute to pthread_create. 12219 * config/linux/affinity.c: New file. 12220 * config/posix/affinity.c: New file. 12221 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test. 12222 * configure: Rebuilt. 12223 * config.h.in: Rebuilt. 12224 * Makefile.am (libgomp_la_SOURCES): Add affinity.c. 12225 * Makefile.in: Rebuilt. 12226 122272007-03-23 Andreas Tobler <a.tobler@schweiz.org> 12228 12229 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for 12230 *-*-darwin*. 12231 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library 12232 and use it if found. 12233 122342007-03-18 Uros Bizjak <ubizjak@gmail.com> 12235 12236 * testsuite/config/default.exp: New file. 12237 * testsuite/lib/libgomp.exp: New file. 12238 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init, 12239 libgomp_target_compile, libgomp_option_help, libgomp_option_proc, 12240 load_lib *, load_gcc_lib *): Move to libgomp.exp. 12241 (libgomp_load): Remove. 12242 * testsuite/lib/libgomp.exp (libgomp_init): Compute 12243 always_ld_library_path, not ld_library_path. Set additional_flags 12244 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets. 12245 (target_compile): Do not call libgomp_init. Append lang_library_path 12246 and lang_link_flags to options. 12247 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set 12248 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH 12249 here. 12250 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from 12251 always_ld_library_path. Set LD_LIBRARY_PATH here. 12252 * testsuite/libgomp.fortran/fortran.exp: Ditto. 12253 * testsuite/libgomp.c/atomic-1.c: Set dg-options to 12254 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for 12255 CX8 flag. 12256 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for 12257 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3. 12258 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options. 12259 * testsuite/libgomp.c/pr29947-1.c: Ditto. 12260 * testsuite/libgomp.c/atomic-10.c: Ditto. 12261 122622007-03-21 Jakub Jelinek <jakub@redhat.com> 12263 12264 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add 12265 dg-final cleanup-modules line. 12266 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise. 12267 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise. 12268 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise. 12269 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise. 12270 * testsuite/libgomp.fortran/reduction5.f90: Likewise. 12271 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise. 12272 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. 12273 122742007-03-18 Andreas Schwab <schwab@suse.de> 12275 12276 * acinclude.m4: Adjust regular expression for ld version 12277 extraction. 12278 * configure: Regenerate. 12279 122802007-03-01 Brooks Moses <brooks.moses@codesourcery.com> 12281 12282 * Makefile.am: Add install-pdf target as copied from 12283 automake v1.10 rules. 12284 * Makefile.in: Regenerate 12285 122862007-02-07 Jakub Jelinek <jakub@redhat.com> 12287 12288 PR libgomp/28486 12289 * configure: Regenerate. 12290 12291 PR c++/30703 12292 * testsuite/libgomp.c++/pr30703.C: New test. 12293 122942007-02-02 Jakub Jelinek <jakub@redhat.com> 12295 12296 Revert: 12297 2006-07-05 Eric Christopher <echristo@apple.com> 12298 * configure.ac: Depend addition of -pthread on host OS. 12299 * configure: Regenerate. 12300 123012007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 12302 12303 * libgomp.texi: Fix spacing after abbreviations. 12304 123052007-01-31 Daniel Franke <franke.daniel@gmail.com> 12306 12307 PR libgomp/30546 12308 * configure.ac: Add check for makeinfo 12309 * Makefile.am: Redefined target libgomp.info, build libgomp.info only 12310 if an appropriate version of makeinfo is found. 12311 * aclocal.m4: Regenerated. 12312 * configure: Regenerated. 12313 * Makefile.in: Regenerated. 12314 * testsuite/Makefile.in: Regenerated. 12315 123162007-01-29 Daniel Franke <franke.daniel@gmail.com> 12317 12318 PR libgomp/30540 12319 * libgomp.texi: More about implementation-dependent settings. 12320 123212007-01-26 Tobias Burnus <burnus@net-b.de> 12322 12323 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension. 12324 123252007-01-24 Jakub Jelinek <jakub@redhat.com> 12326 12327 PR middle-end/30494 12328 * testsuite/libgomp.c/pr30494.c: New test. 12329 123302007-01-15 Tom Tromey <tromey@redhat.com> 12331 12332 * configure: Rebuilt. 12333 * configure.ac: Fixed comment. 12334 123352007-01-14 Daniel Franke <franke.daniel@gmail.com> 12336 12337 * libgomp.texi: Document implementation specific default values of 12338 environment variables. 12339 123402006-12-21 Daniel Franke <franke.daniel@gmail.com> 12341 12342 PR libgomp/28209 12343 * libgomp.texi: New file. 12344 * configure.ac: Add --enable-generated-files-in-srcdir option. 12345 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy 12346 files to srcdir. 12347 * Makefile.in: Regenerated. 12348 * config.h.in: Regenerated. 12349 * testsuite/Makefile.in: Regenerated. 12350 * NOTES: Removed. 12351 123522006-12-04 Daniel Franke <franke.daniel@gmail.com> 12353 12354 PR libgomp/29949 12355 * env.c (omp_set_num_threads): Set illegal thread count to 1. 12356 123572006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr> 12358 12359 * configure: Regenerate. 12360 123612006-12-04 Jakub Jelinek <jakub@redhat.com> 12362 12363 PR libgomp/29947 12364 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to 12365 start if there shouldn't be any loop iterations. 12366 (gomp_loop_ordered_static_start): Remove start == end test. 12367 * testsuite/libgomp.c/pr29947-1.c: New test. 12368 * testsuite/libgomp.c/pr29947-2.c: New test. 12369 123702006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr> 12371 12372 * configure.tgt: Force initial-exec TLS model on Linux only. 12373 123742006-11-13 Daniel Jacobowitz <dan@codesourcery.com> 12375 12376 * configure: Regenerated. 12377 123782006-11-09 Uros Bizjak <ubizjak@gmail.com> 12379 12380 * env.c (parse_schedule): Reject out of range values. 12381 (parse_unsigned_long): Reject out of range, negative or zero values. 12382 123832006-10-29 Jakub Jelinek <jakub@redhat.com> 12384 12385 PR fortran/29629 12386 * testsuite/libgomp.fortran/pr29629.f90: New test. 12387 123882006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr> 12389 12390 PR libgomp/29494 12391 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6. 12392 * config/posix95: New directory. 12393 * config/posix95/omp-lock.h: New file. 12394 * config/posix95/lock.c: Likewise. 12395 123962006-10-14 Geoffrey Keating <geoffk@apple.com> 12397 12398 * aclocal.m4: Regenerate. 12399 * configure: Regenerate. 12400 124012006-10-05 Danny Smith <dannysmith@users.sourceforge.net> 12402 12403 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from 12404 '<' to '<='. 12405 124062006-10-05 Danny Smith <dannysmith@users.sourceforge.net> 12407 12408 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from 12409 test. 12410 * configure: Regenerate. 12411 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias. 12412 124132006-09-26 Jakub Jelinek <jakub@redhat.com> 12414 12415 PR middle-end/25261 12416 PR middle-end/28790 12417 * testsuite/libgomp.c/nestedfn-4.c: New test. 12418 * testsuite/libgomp.c/nestedfn-5.c: New test. 12419 * testsuite/libgomp.fortran/nestedfn3.f90: New test. 12420 12421 PR fortran/29097 12422 * testsuite/libgomp.fortran/condinc1.f: New test. 12423 * testsuite/libgomp.fortran/condinc2.f: New test. 12424 * testsuite/libgomp.fortran/condinc3.f90: New test. 12425 * testsuite/libgomp.fortran/condinc4.f90: New test. 12426 * testsuite/libgomp.fortran/condinc1.inc: New file. 12427 124282006-09-18 Tom Tromey <tromey@redhat.com> 12429 12430 * configure: Rebuilt. 12431 124322006-09-13 Joseph S. Myers <joseph@codesourcery.com> 12433 12434 PR c/28768 12435 PR preprocessor/14634 12436 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument 12437 to AC_DEFINE. 12438 * configure: Regenerate. 12439 124402006-09-08 Steven G. Kargl <kargl@gcc.gnu.org> 12441 12442 * testsuite/libgomp.fortran/reduction3.f90: Change 12443 -2147483648 to -huge(i)-1 to avoid overflow. 12444 * testsuite/libgomp.fortran/reduction4.f90: Change 12445 Z'ffffffff' to not(0) to avoid overflow. 12446 124472006-08-26 Joseph S. Myers <joseph@codesourcery.com> 12448 12449 PR libgomp/25938 12450 * Makefile.am (libsubincludedir): New. 12451 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS. 12452 * Makefile.in: Regenerate. 12453 124542006-08-17 Jakub Jelinek <jakub@redhat.com> 12455 12456 PR libgomp/28725 12457 * env.c: Include ctype.h. 12458 (parse_schedule, parse_unsigned_long, parse_boolean): Allow 12459 leading and/or trailing whitespace and compare strings case 12460 insensitively. 12461 124622006-07-16 Jakub Jelinek <jakub@redhat.com> 12463 12464 PR fortran/28390 12465 * testsuite/libgomp.fortran/pr28390.f: New test. 12466 124672006-07-05 Eric Christopher <echristo@apple.com> 12468 12469 * configure.ac: Depend addition of -pthread on host OS. 12470 * configure: Regenerate. 12471 124722006-06-21 Jakub Jelinek <jakub@redhat.com> 12473 12474 * critical.c (GOMP_critical_name_start): Fix *pptr initialization 12475 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is 12476 defined. 12477 124782006-06-20 Jakub Jelinek <jakub@redhat.com> 12479 12480 PR libgomp/26175 12481 PR libgomp/26477 12482 * configure.ac: If neither --enable-linux-futex nor 12483 --disable-linux-futex is passed, determine the default by checking 12484 for compiling and/or running against NPTL. With --enable-linux-futex, 12485 check if SYS_gettid and SYS_futex are defined. 12486 * configure: Rebuilt. 12487 124882006-06-14 Richard Henderson <rth@redhat.com> 12489 12490 PR libgomp/28008 12491 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when 12492 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment. 12493 124942006-06-09 Richard Henderson <rth@redhat.com> 12495 12496 * env.c (gomp_nthreads_var): Change to unsigned long. 12497 (gomp_run_sched_chunk): Likewise. 12498 (parse_unsigned_long): Rename from parse_num_threads and generalize. 12499 (initialize_env): Initialize gomp_thread_attr. 12500 * libgomp.h (gomp_nthreads_var): Update decl. 12501 (gomp_run_sched_chunk): Likewise. 12502 (gomp_thread_attr): Declare. 12503 * team.c (gomp_thread_attr): Export. 12504 (initialize_team): Don't initialize it. 12505 125062006-06-09 Jakub Jelinek <jakub@redhat.com> 12507 12508 PR fortran/27916 12509 * testsuite/libgomp.fortran/pr27916-1.f90: New test. 12510 * testsuite/libgomp.fortran/pr27916-2.f90: New test. 12511 125122006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr> 12513 12514 * config/mingw32/time.c: New file. 12515 * configure.tgt: Use it. 12516 125172006-05-23 Carlos O'Donell <carlos@codesourcery.com> 12518 12519 * Makefile.am: Add install-html target. Add install-html to .PHONY 12520 * Makefile.in: Regenerate. 12521 125222006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 12523 12524 PR libgomp/27612 12525 * testsuite/libgomp.c/sections-1.c: Require sync_int_long. 12526 * testsuite/libgomp.c/critical-1.c: Likewise. 12527 * testsuite/libgomp.c/loop-1.c: Likewise. 12528 * testsuite/libgomp.c/loop-2.c: Likewise. 12529 * testsuite/libgomp.c/single-1.c: Likewise. 12530 * testsuite/libgomp.c/ordered-1.c: Likewise. 12531 * testsuite/libgomp.c/ordered-2.c: Likewise. 12532 125332006-05-15 Jakub Jelinek <jakub@redhat.com> 12534 12535 PR middle-end/27416 12536 * libgomp.fortran/pr27416-1.f90: New test. 12537 125382006-05-03 Jakub Jelinek <jakub@redhat.com> 12539 12540 PR fortran/27395 12541 * testsuite/libgomp.fortran/pr27395-1.f90: New test. 12542 * testsuite/libgomp.fortran/pr27395-2.f90: New test. 12543 125442006-05-02 Jakub Jelinek <jakub@redhat.com> 12545 12546 PR c++/26943 12547 * testsuite/libgomp.c/pr26943-1.c: New test. 12548 * testsuite/libgomp.c/pr26943-2.c: New test. 12549 * testsuite/libgomp.c/pr26943-3.c: New test. 12550 * testsuite/libgomp.c/pr26943-4.c: New test. 12551 * testsuite/libgomp.c++/pr27337.C: Remove barrier. 12552 * testsuite/libgomp.c++/pr26943.C: New test. 12553 125542006-05-02 Jakub Jelinek <jakub@redhat.com> 12555 12556 PR middle-end/27337 12557 * testsuite/libgomp.c++/pr27337.C: New test. 12558 125592006-04-26 Jakub Jelinek <jakub@redhat.com> 12560 12561 PR c/26171 12562 * testsuite/libgomp.c/pr26171.c: New test. 12563 125642006-04-25 Richard Henderson <rth@redhat.com> 12565 12566 PR libgomp/25865 12567 * configure.ac: Use GCC_CHECK_TLS. 12568 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove. 12569 * Makefile.in, aclocal.m4, configure: Regenerate. 12570 125712006-04-10 Matthias Klose <doko@debian.org> 12572 12573 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib 12574 directory names containing underscores. 12575 125762006-03-21 Jakub Jelinek <jakub@redhat.com> 12577 12578 PR c++/26691 12579 * testsuite/libgomp.c++/pr26691.C: New test. 12580 125812006-03-13 Jakub Jelinek <jakub@redhat.com> 12582 12583 * testsuite/libgomp.fortran/retval2.f90: New test. 12584 125852006-03-09 Diego Novillo <dnovillo@redhat.com> 12586 12587 * testsuite/libgomp.c++: New directory. 12588 125892006-02-25 Shantonu Sen <ssen@opendarwin.org> 12590 12591 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions. 12592 * config/posix/sem.c: Implement the above. 12593 125942006-02-25 Andreas Tobler <a.tobler@schweiz.ch> 12595 12596 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and 12597 define HAVE_BROKEN_POSIX_SEMAPHORES. 12598 * configure: Rebuilt. 12599 * config.h.in: Rebuilt. 12600 126012006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr> 12602 12603 PR bootstrap/26161 12604 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment 12605 for the other pthread check. 12606 * configure: Regenerate. 12607 * config.h.in: Regenerate. 12608 126092006-02-15 Jakub Jelinek <jakub@redhat.com> 12610 12611 PR libgomp/25938 12612 PR libgomp/25984 12613 * Makefile.am (fincludedir): New variable. 12614 (nodist_include_HEADERS): Remove Fortran files. 12615 (nodist_finclude_HEADERS): New variable. 12616 * Makefile.in: Regenerated. 12617 126182006-02-13 Jakub Jelinek <jakub@redhat.com> 12619 12620 * testsuite/libgomp.fortran/vla7.f90: Add -w to options. 12621 Remove tests for returning assumed character length arrays. 12622 126232006-02-12 Roger Sayle <roger@eyesopen.com> 12624 John David Anglin <dave@hiauly1.hia.nrc.ca> 12625 12626 PR libgomp/25936 12627 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems. 12628 126292006-02-08 Ulrich Weigand <uweigand@de.ibm.com> 12630 12631 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library. 12632 126332006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr> 12634 12635 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related 12636 part of LD_LIBRARY_PATH manually. 12637 126382006-02-03 H.J. Lu <hongjiu.lu@intel.com> 12639 12640 PR libgomp/25852 12641 * testsuite/lib/libgomp-dg.exp (blddir): Set it in 12642 libgomp_init. 12643 126442005-01-25 Paolo Bonzini <bonzini@gnu.org> 12645 12646 PR libgomp/25884 12647 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove. 12648 * configure.ac (PERL): Don't set. 12649 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here. 12650 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE, 12651 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions. 12652 * omp.h.in: Wrap the new configure substitutions with @ characters. 12653 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise. 12654 * aclocal.m4, configure, Makefile.in: Regenerate. 12655 * mkomp_h.pl: Delete. 12656 126572005-01-24 Paolo Bonzini <bonzini@gnu.org> 12658 12659 PR libgomp/25259 12660 * configure.ac: Use GCC_HEADER_STDINT. 12661 * libgomp.h: Include gstdint.h. 12662 * libgomp_f.h.in: Don't include stdint.h or inttypes.h. 12663 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild. 12664 126652006-01-24 Richard Henderson <rth@redhat.com> 12666 12667 PR libgomp/25942 12668 * configure.ac: Add AM_MAINTAINER_MODE. 12669 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild. 12670 126712006-01-24 Diego Novillo <dnovillo@redhat.com> 12672 12673 * Makefile.in: Regenerate. 12674 * testsuite/Makefile.in: Regenerate. 12675 * aclocal.m4: Regenerate. 12676 126772006-01-23 Andreas Tobler <a.tobler@schweiz.ch> 12678 12679 * config/posix/proc.c: Conditional include of sys/loadavg.h for 12680 Solaris. 12681 * configure.ac: Add check for loadavg.h. 12682 (link_gomp): Adjust comment. 12683 * configure: Regenerate. 12684 * config.h.in: Regenerate. 12685 126862006-01-21 Steve Ellcey <sje@cup.hp.com> 12687 12688 PR libgomp/25877 12689 * configure.ac: Remove check for alloca.h. 12690 * configure: Regenerate. 12691 * config.h.in: Regenerate. 12692 * libgomp.h: define gomp_alloca to be __builtin_alloca. 12693 * team.c: Remove use of alloca.h. 12694 Call gomp_alloca instead of alloca. 12695 126962006-01-20 Steve Ellcey <sje@cup.hp.com> 12697 12698 PR libgomp/25877 12699 * team.c: Add include of alloca.h. 12700 * configure.ac: Add check for alloca.h. 12701 * configure: Regenerate. 12702 * config.h.in: Regenerate. 12703 127042006-01-17 Jakub Jelinek <jakub@redhat.com> 12705 12706 PR fortran/25219 12707 * testsuite/libgomp.fortran/pr25219.f90: New test. 12708 127092005-12-05 Uros Bizjak <uros@kss-loka.si> 12710 12711 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c, 12712 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c, 12713 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C, 12714 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C, 12715 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C, 12716 testsuite/libgomp.fortran/threadprivate1.f90, 12717 testsuite/libgomp.fortran/threadprivate2.f90, 12718 testsuite/libgomp.fortran/threadprivate3.f90, 12719 testsuite/libgomp.fortran/appendix-a/a.22.7.f9, 12720 testsuite/libgomp.fortran/appendix-a/a.22.8.f9, 12721 testsuite/libgomp.fortran/omp_parse3.f90: Change required 12722 effective-target to TLS runtime. 12723 12724 * testsuite/libgomp.fortran/pr25162.f: Require 12725 effective-target TLS runtime. 12726 127272005-12-01 Jakub Jelinek <jakub@redhat.com> 12728 12729 * testsuite/libgomp.fortran/nestedfn2.f90: New test. 12730 * testsuite/libgomp.c/nestedfn-3.c: New test. 12731 127322005-11-30 Jakub Jelinek <jakub@redhat.com> 12733 12734 PR fortran/25162 12735 * testsuite/libgomp.fortran/pr25162.f: New test. 12736 127372005-11-28 Jakub Jelinek <jakub@redhat.com> 12738 12739 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to 12740 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed. 12741 127422005-11-25 Jakub Jelinek <jakub@redhat.com> 12743 12744 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c, 12745 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in, 12746 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c, 12747 single.c, team.c, work.c, config/linux/alpha/futex.h, 12748 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h, 12749 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h, 12750 config/linux/powerpc/futex.h, config/linux/s390/futex.h, 12751 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h, 12752 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h, 12753 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c, 12754 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update 12755 FSF address. 12756 127572005-11-18 Jakub Jelinek <jakub@redhat.com> 12758 12759 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS 12760 to nodist_noinst_HEADERS. 12761 * Makefile.in: Rebuilt. 12762 12763 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct, 12764 add integer count field. 12765 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for 12766 omp_nest_lock_t type change. 12767 (omp_init_nest_lock): Likewise. Initialize count to 0. 12768 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change. 12769 Increment count. 12770 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change. 12771 Decrement count. 12772 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change. 12773 Increment count if successful and return the new nesting level. 12774 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level. 12775 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type. 12776 * testsuite/libgomp.c/lib-1.c: New test. 12777 * testsuite/libgomp.fortran/lib1.f90: New test. 12778 * testsuite/libgomp.fortran/lib2.f: New test. 12779 * testsuite/libgomp.fortran/lib3.f: New test. 12780 127812005-11-17 Richard Henderson <rth@redhat.com> 12782 12783 PR 24845 12784 * Makefile.am (nodist_toolexeclib_HEADERS): New. 12785 * configure.ac (link_gomp): New. Substitute it. 12786 (AC_CONFIG_FILES): Add libgomp.spec. 12787 * libgomp.spec.in: New file. 12788 * Makefile.in, testsuite/Makefile.in, configure: Rebuild. 12789 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags. 12790 127912005-11-18 Jakub Jelinek <jakub@redhat.com> 12792 12793 * testsuite/libgomp.fortran/reduction1.f90: Adjust for 12794 reduction(-:var) behaving the same as reduction(+:var). 12795 * testsuite/libgomp.c/reduction-4.c: New test. 12796 127972005-11-15 Uros Bizjak <uros@kss-loka.si> 12798 12799 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c, 12800 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c, 12801 testsuite/libgomp.c/copyin-3.c, 12802 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C, 12803 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C, 12804 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C, 12805 testsuite/libgomp.c++/pr24455.C, 12806 testsuite/libgomp.fortran/threadprivate1.f90, 12807 testsuite/libgomp.fortran/threadprivate2.f90, 12808 testsuite/libgomp.fortran/threadprivate3.f90, 12809 testsuite/libgomp.fortran/appendix-a/a.22.7.f9, 12810 testsuite/libgomp.fortran/appendix-a/a.22.8.f9, 12811 testsuite/libgomp.fortran/omp_parse3.f90: Require 12812 effective-target TLS. 12813 128142005-11-14 Diego Novillo <dnovillo@redhat.com> 12815 12816 * HEADER: Remove. 12817 128182005-11-13 Jakub Jelinek <jakub@redhat.com> 12819 12820 PR libgomp/24797 12821 * team.c (initialize_team): Pass NULL rather than free as 12822 pthread_key_create destructor. Initialize thread specific data 12823 pointer in initial thread to a static local variable rather than 12824 malloced memory. 12825 128262005-11-11 Uros Bizjak <uros@kss-loka.si> 12827 12828 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append 12829 its location to ld_library_path. 12830 128312005-11-10 Diego Novillo <dnovillo@redhat.com> 12832 12833 * testsuite/libgomp.c/c.exp: Rename from dg.exp. 12834 128352005-11-10 Diego Novillo <dnovillo@redhat.com> 12836 12837 * testsuite/libgomp.c: Rename from libgomp.dg. 12838 128392005-11-09 Diego Novillo <dnovillo@redhat.com> 12840 12841 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for 12842 threadprivate variable 'i'. 12843 128442005-11-09 Jakub Jelinek <jakub@redhat.com> 12845 12846 * config/linux/s390/futex.h: New file. 12847 * configure.tgt: Use it. 12848 12849 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization 12850 before the parallel. 12851 128522005-11-08 Jakub Jelinek <jakub@redhat.com> 12853 12854 PR c++/24734 12855 * testsuite/libgomp.c++/master-1.C: New test. 12856 128572005-11-07 Jakub Jelinek <jakub@redhat.com> 12858 12859 * testsuite/libgomp.dg/copyin-3.c: New test. 12860 128612005-11-07 Jakub Jelinek <jakub@redhat.com> 12862 12863 * testsuite/libgomp.fortran/retval1.f90: New test. 12864 * testsuite/libgomp.fortran/vla7.f90: New test. 12865 128662005-11-06 Jakub Jelinek <jakub@redhat.com> 12867 12868 * testsuite/libgomp.fortran/vla2.f90: New test. 12869 * testsuite/libgomp.fortran/vla3.f90: New test. 12870 * testsuite/libgomp.fortran/vla4.f90: New test. 12871 * testsuite/libgomp.fortran/vla5.f90: New test. 12872 * testsuite/libgomp.fortran/vla6.f90: New test. 12873 128742005-11-01 Jakub Jelinek <jakub@redhat.com> 12875 12876 * config/linux/sparc/futex.h: New file. 12877 * configure.tgt: Use it. 12878 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing. 12879 12880 * critical.c: Include stdlib.h. 12881 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about 12882 ignoring return value. 12883 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after 12884 LIBGOMP_CHECK_SYNC_BUILTINS check. 12885 * configure: Rebuilt. 12886 128872005-10-31 Jakub Jelinek <jakub@redhat.com> 12888 12889 * testsuite/libgomp.fortran/vla1.f90: New test. 12890 128912005-10-31 Richard Henderson <rth@redhat.com> 12892 12893 * testsuite/libgomp.fortran/character2.f90: Fix race condition 12894 setting 's' in different threads. 12895 128962005-10-31 Jakub Jelinek <jakub@redhat.com> 12897 12898 * libgomp.h (attribute_hidden, ialias): Define. 12899 * config/posix/proc.c (omp_get_num_procs): Add ialias. 12900 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise. 12901 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock, 12902 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock, 12903 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock, 12904 omp_test_lock, omp_test_nest_lock): Likewise. 12905 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock, 12906 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock, 12907 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock, 12908 omp_test_lock, omp_test_nest_lock): Likewise. 12909 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads, 12910 omp_get_dynamic, omp_get_nested): Likewise. 12911 * parallel.c (omp_get_num_threads, omp_get_max_threads, 12912 omp_get_thread_num, omp_in_parallel): Likewise. 12913 * fortran.c (ialias_redirect): Define. 12914 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock, 12915 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, 12916 omp_unset_lock, omp_unset_nest_lock, omp_test_lock, 12917 omp_test_nest_lock, omp_set_dynamic, omp_set_nested, 12918 omp_set_num_threads, omp_get_dynamic, omp_get_nested, 12919 omp_in_parallel, omp_get_max_threads, omp_get_num_procs, 12920 omp_get_num_threads, omp_get_thread_num, omp_get_wtick, 12921 omp_get_wtime): Add ialias_redirect. 12922 129232005-10-30 Jakub Jelinek <jakub@redhat.com> 12924 12925 * fortran.c: Include stdlib.h. 12926 129272005-10-29 Jakub Jelinek <jakub@redhat.com> 12928 12929 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h. 12930 * Makefile.in: Regenerated. 12931 129322005-10-28 Jakub Jelinek <jakub@redhat.com> 12933 12934 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE. 12935 * libgomp_f.h.in (omp_check_defines): New function. 12936 * env.c: Include libgomp_f.h. 12937 (initialize_env): Call omp_check_defines. 12938 12939 * testsuite/libgomp.dg/copyin-2.c: New test. 12940 * testsuite/libgomp.c++/copyin-2.C: New test. 12941 * testsuite/libgomp.fortran/threadprivate3.f90: New test. 12942 12943 * testsuite/libgomp.fortran/threadprivate2.f90: New test. 12944 * testsuite/libgomp.fortran/sharing2.f90: New test. 12945 12946 * testsuite/libgomp.dg/copyin-1.c: New test. 12947 * testsuite/libgomp.c++/copyin-1.C: New test. 12948 129492005-10-26 Jakub Jelinek <jakub@redhat.com> 12950 12951 * testsuite/libgomp.fortran/crayptr1.f90: New test. 12952 12953 * testsuite/libgomp.fortran/workshare1.f90: New test. 12954 12955 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile 12956 only test. 12957 * libgomp.fortran/sharing1.f90: New test. 12958 129592005-10-24 Jakub Jelinek <jakub@redhat.com> 12960 12961 PR c++/24502 12962 * testsuite/libgomp.c++/loop-7.C: New test. 12963 12964 * testsuite/libgomp.dg/nestedfn-2.c: New test. 12965 12966 * testsuite/libgomp.dg/nestedfn-1.c: New test. 12967 * testsuite/libgomp.fortran/reduction6.f90: New test. 12968 * testsuite/libgomp.fortran/nestedfn1.f90: New test. 12969 129702005-10-23 Richard Henderson <rth@redhat.com> 12971 12972 * testsuite/libgomp.c++/ctor-1.C: New. 12973 * testsuite/libgomp.c++/ctor-2.C: New. 12974 * testsuite/libgomp.c++/ctor-3.C: New. 12975 * testsuite/libgomp.c++/ctor-4.C: New. 12976 * testsuite/libgomp.c++/ctor-5.C: New. 12977 * testsuite/libgomp.c++/ctor-6.C: New. 12978 * testsuite/libgomp.c++/ctor-7.C: New. 12979 * testsuite/libgomp.c++/ctor-8.C: New. 12980 * testsuite/libgomp.c++/ctor-9.C: New. 12981 129822005-10-21 Diego Novillo <dnovillo@redhat.com> 12983 12984 PR 24455 12985 * testsuite/libgomp.c++/pr24455-1.C: New test. 12986 * testsuite/libgomp.c++/pr24455.C: New test. 12987 * testsuite/libgomp.dg/pr24455-1.c: New test. 12988 * testsuite/libgomp.dg/pr24455.c: New test. 12989 129902005-10-20 Richard Henderson <rth@redhat.com> 12991 12992 * testsuite/libgomp.c++/loop-6.C: New. 12993 * testsuite/libgomp.dg/loop-3.c: New. 12994 129952005-10-20 Jakub Jelinek <jakub@redhat.com> 12996 12997 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j 12998 explicitly private. 12999 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i 13000 explicitly shared. 13001 130022005-10-19 Diego Novillo <dnovillo@redhat.com> 13003 13004 * testsuite/libgomp.fortran/jacobi.f: New test. 13005 130062005-10-19 Richard Henderson <rth@redhat.com> 13007 13008 * configure.tgt (i?86-linux): Default to with_arch instead of 13009 CFLAGS. Add -mtune to match target_cpu. 13010 (x86_64-linux): Tune to i686. 13011 13012 * fortran.c (omp_test_nest_lock_): Fix typo. 13013 130142005-10-19 Jakub Jelinek <jakub@redhat.com> 13015 13016 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next, 13017 gomp_ordered_sync): Do nothing if team->nthreads == 1. 13018 * testsuite/libgomp.dg/ordered-3.c: New test. 13019 13020 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort. 13021 Remove volatile keyword. 13022 13023 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables 13024 in COMMON block to avoid warnings on 64-bit targets. 13025 130262005-10-18 Diego Novillo <dnovillo@redhat.com> 13027 13028 * testsuite/libgomp.dg/shared-3.c: New test. 13029 130302005-10-18 Jakub Jelinek <jakub@redhat.com> 13031 13032 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed. 13033 * testsuite/libgomp.fortran/reduction5.f90: New test. 13034 130352005-10-18 Jakub Jelinek <jakub@redhat.com> 13036 13037 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to 13038 dg-options. 13039 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable 13040 flush loop now that __sync_synchronize has proper memory barrier. 13041 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo. 13042 Add -ffixed-form to dg-options. 13043 130442005-10-17 Diego Novillo <dnovillo@redhat.com> 13045 13046 * testsuite/libgomp.fortran/fortran.exp: Also gather tests 13047 from subdirectories. 13048 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test. 13049 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test. 13050 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test. 13051 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test. 13052 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test. 13053 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test. 13054 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test. 13055 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test. 13056 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test. 13057 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test. 13058 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test. 13059 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test. 13060 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test. 13061 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test. 13062 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test. 13063 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test. 13064 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test. 13065 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test. 13066 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test. 13067 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test. 13068 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test. 13069 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test. 13070 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test. 13071 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test. 13072 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test. 13073 130742005-10-17 Jakub Jelinek <jakub@redhat.com> 13075 13076 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if 13077 lang_library_path exists. Use find instead of glob to gather tests. 13078 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed. 13079 130802005-10-17 Diego Novillo <dnovillo@redhat.com> 13081 13082 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test. 13083 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test. 13084 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test. 13085 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test. 13086 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test. 13087 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test. 13088 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test. 13089 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test. 13090 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test. 13091 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test. 13092 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test. 13093 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test. 13094 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file. 13095 130962005-10-15 Jakub Jelinek <jakub@redhat.com> 13097 13098 * testsuite/libgomp.dg/vla-1.c: New test. 13099 13100 * testsuite/libgomp.fortran/reference2.f90: New test. 13101 13102 * testsuite/libgomp.fortran/character2.f90: Remove explicit 13103 declaration of omp_get_thread_num. 13104 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add 13105 use omp_lib. 13106 13107 * testsuite/libgomp.fortran/reduction1.f90: New test. 13108 * testsuite/libgomp.fortran/reduction2.f90: New test. 13109 * testsuite/libgomp.fortran/reduction3.f90: New test. 13110 * testsuite/libgomp.fortran/reduction4.f90: New test. 13111 131122005-10-13 Richard Henderson <rth@redhat.com> 13113 13114 * Makefile.am (libgomp_la_SOURCES): Add bar.c. 13115 * Makefile.in: Regenerate. 13116 * barrier.c (GOMP_barrier): Use gomp_barrier_wait. 13117 * libgomp.h: Include bar.h. 13118 (struct gomp_barrier): Remove. 13119 (struct gomp_team): Add barrier. Replace master_barrier with 13120 master_release. Replace threads with ordered_release. 13121 (struct gomp_thread): Replace barrier with release. 13122 * ordered.c (gomp_ordered_first): Update for ordered_release change. 13123 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init, 13124 gomp_ordered_static_next, gomp_ordered_sync): Likewise. 13125 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait. 13126 (GOMP_single_copy_end): Likewise. 13127 * team.c (gomp_threads_dock): New. 13128 (gomp_barrier_init, gomp_barrier_destroy): Remove. 13129 (gomp_thread_start): Use gomp_barrier_wait. 13130 (new_team, free_team): Update for gomp_team changes. 13131 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit. 13132 (gomp_team_end): Use gomp_barrier_wait. 13133 (initialize_team): Update for gomp_thread changes. 13134 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start. 13135 (gomp_work_share_end_nowait): Use atomic ops when available. 13136 * config/linux/bar.c, config/linux/bar.h: New files. 13137 * config/posix/bar.c, config/posix/bar.h: New files. 13138 131392005-10-13 Jakub Jelinek <jakub@redhat.com> 13140 13141 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL. 13142 * testsuite/libgomp.dg/single-2.c: New test. 13143 13144 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file, 13145 lang_link_flags): Unset, so that they aren't inherited from previously 13146 sourced *.exp. 13147 13148 * testsuite/libgomp.fortran/threadprivate1.f90: New test. 13149 131502005-10-12 Richard Henderson <rth@redhat.com> 13151 13152 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel. 13153 (libgomp_init): Use lang_test_file, lang_library_path, and 13154 lang_link_flags, set by the subdirectory files. Add -fopenmp here. 13155 13156 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New. 13157 (lang_test_file, lang_link_flags): New. 13158 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove. 13159 13160 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C, 13161 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C, 13162 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C, 13163 testsuite/libgomp.c++/parallel-1.C, 13164 testsuite/libgomp.c++/reduction-1.C, 13165 testsuite/libgomp.c++/reduction-2.C, 13166 testsuite/libgomp.c++/reduction-3.C, 13167 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C, 13168 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C, 13169 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C: 13170 New files, largely cribbed from the C testsuite. 13171 131722005-10-12 Jakub Jelinek <jakub@redhat.com> 13173 13174 * testsuite/libgomp.fortran/character1.f90: New test. 13175 * testsuite/libgomp.fortran/character2.f90: New test. 13176 13177 * testsuite/libgomp.dg/nested-1.c: New test. 13178 * testsuite/libgomp.dg/nested-2.c: New test. 13179 * testsuite/libgomp.fortran/do1.f90: New test. 13180 * testsuite/libgomp.fortran/do2.f90: New test. 13181 13182 * testsuite/libgomp.fortran/reference1.f90: New test. 13183 131842005-10-11 Jakub Jelinek <jakub@redhat.com> 13185 13186 * testsuite/libgomp.dg/reduction-1.c: New test. 13187 * testsuite/libgomp.dg/reduction-2.c: New test. 13188 * testsuite/libgomp.dg/reduction-3.c: New test. 13189 131902005-10-10 Jakub Jelinek <jakub@redhat.com> 13191 13192 * testsuite/libgomp.dg/atomic-1.c: New test. 13193 * testsuite/libgomp.dg/atomic-2.c: New test. 13194 131952005-10-09 Richard Henderson <rth@redhat.com> 13196 13197 * critical.c (atomic_lock): New. 13198 (initialize_critical): Initialize it. 13199 (GOMP_atomic_start, GOMP_atomic_end): New. 13200 * libgomp.map: Export them. 13201 * libgomp_g.h: Declare them. 13202 13203 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite. 13204 132052005-10-02 Richard Henderson <rth@redhat.com> 13206 13207 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror 13208 to XCFLAGS instead of CFLAGS. 13209 132102005-09-30 Richard Henderson <rth@redhat.com> 13211 13212 * configure.ac: Determine whether -pthread or -lpthread is needed. 13213 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread. 13214 * Makefile.in, configure: Rebuild. 13215 132162005-09-28 Richard Henderson <rth@redhat.com> 13217 13218 * testsuite/libgomp.dg/omp-loop03.c: Fix return code. 13219 * testsuite/libgomp.dg/omp-single-3.c: New test. 13220 132212005-09-28 Diego Novillo <dnovillo@redhat.com> 13222 13223 * testsuite/libgomp.dg/omp-single-2.c: New test. 13224 * testsuite/libgomp.dg/shared-2.c: Fix return code. 13225 132262005-09-27 Richard Henderson <rth@redhat.com> 13227 13228 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier. 13229 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule. 13230 132312005-09-27 Jakub Jelinek <jakub@redhat.com> 13232 13233 * testsuite/libgomp.dg/omp-loop03.c: New test. 13234 132352005-09-27 Diego Novillo <dnovillo@redhat.com> 13236 13237 * testsuite/libgomp.dg/omp-parallel-for.c: New test. 13238 132392005-09-27 Diego Novillo <dnovillo@redhat.com> 13240 13241 * testsuite/libgomp.dg/omp-single-1.c: New test. 13242 * testsuite/libgomp.dg/shared-1.c: Return 0. 13243 Add prototype for abort. 13244 * testsuite/libgomp.dg/shared-2.c: Likewise. 13245 132462005-09-26 Jakub Jelinek <jakub@redhat.com> 13247 13248 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming 13249 constructs. 13250 132512005-09-26 Diego Novillo <dnovillo@redhat.com> 13252 13253 * testsuite/libgomp.dg/shared-1.c: New test. 13254 * testsuite/libgomp.dg/shared-2.c: New test. 13255 132562005-09-24 Richard Henderson <rth@redhat.com> 13257 13258 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error. 13259 132602005-09-24 Richard Henderson <rth@redhat.com> 13261 13262 * iter.c (gomp_iter_static_next): Round up when computing number 13263 of iterations. Don't bother distributing a remainder equally. 13264 13265 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main. 13266 Don't call srand. Zero b before testing. 13267 (main): New. 13268 132692005-09-24 Jakub Jelinek <jakub@redhat.com> 13270 13271 * testsuite/libgomp.fortran/omp_atomic1.f90: New test. 13272 * testsuite/libgomp.fortran/omp_atomic2.f90: New test. 13273 132742005-09-23 Jakub Jelinek <jakub@redhat.com> 13275 13276 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do 13277 without !$omp end do, followed immediately by subroutine end. 13278 132792005-09-23 Diego Novillo <dnovillo@redhat.com> 13280 13281 * testsuite/libgomp.dg/omp-parallel-if.c: New test. 13282 132832005-09-22 Richard Henderson <rth@redhat.com> 13284 13285 * critical.c (GOMP_critical_name_start): Change argument to void**. 13286 Reuse the pointer space if the mutex fits. 13287 (GOMP_critical_name_end): Likewise. 13288 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0. 13289 * libgomp_g.h (GOMP_critical_name_start): Update decl. 13290 (GOMP_critical_name_end): Likewise. 13291 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New. 13292 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New. 13293 132942005-09-20 Richard Henderson <rth@redhat.com> 13295 13296 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New. 13297 (create_lock_lock): New. 13298 (initialize_critical): Initialize it. 13299 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New. 13300 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare. 13301 133022005-09-20 Diego Novillo <dnovillo@redhat.com> 13303 13304 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h. 13305 133062005-09-20 Diego Novillo <dnovillo@redhat.com> 13307 13308 * testsuite/libgomp.dg/omp-loop01.c: New test. 13309 * testsuite/libgomp.dg/omp-loop02.c: New test. 13310 133112005-09-20 Jakub Jelinek <jakub@redhat.com> 13312 13313 * configure.ac (AC_PROG_FC): Add. 13314 (USE_FORTRAN): New automake conditional. 13315 * configure: Rebuilt. 13316 * Makefile.am (libgomp_la_SOURCES): Add fortran.c. 13317 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h. 13318 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod. 13319 Add rules to build them. 13320 * Makefile.in: Rebuilt. 13321 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and 13322 OMP_NEST_LOCK_KIND. 13323 * libgomp.map: Add Fortran wrappers. 13324 * libgomp_f.h.in: New file. 13325 * omp_lib.h.in: New file. 13326 * omp_lib.f90.in: New file. 13327 * fortran.c: New file. 13328 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files. 13329 Append libgfortran directory to LD_LIBRARY_PATH if it exists. 13330 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if 13331 libgfortran has been built. 13332 * testsuite/libgomp.fortran/fortran.exp: New file. 13333 * testsuite/libgomp.fortran/omp_cond1.f: New test. 13334 * testsuite/libgomp.fortran/omp_cond2.f: New test. 13335 * testsuite/libgomp.fortran/omp_cond3.F90: New test. 13336 * testsuite/libgomp.fortran/omp_cond4.F90: New test. 13337 * testsuite/libgomp.fortran/omp_hello.f: New test. 13338 * testsuite/libgomp.fortran/omp_orphan.f: New test. 13339 * testsuite/libgomp.fortran/omp_parse1.f90: New test. 13340 * testsuite/libgomp.fortran/omp_parse2.f90: New test. 13341 * testsuite/libgomp.fortran/omp_parse3.f90: New test. 13342 * testsuite/libgomp.fortran/omp_parse4.f90: New test. 13343 * testsuite/libgomp.fortran/omp_reduction.f: New test. 13344 * testsuite/libgomp.fortran/omp_workshare1.f: New test. 13345 * testsuite/libgomp.fortran/omp_workshare2.f: New test. 13346 133472005-08-30 Richard Henderson <rth@redhat.com> 13348 13349 * loop.c (GOMP_loop_static_start): Provide fallback wrapper 13350 function for when aliases are not usable. 13351 (GOMP_loop_dynamic_start, GOMP_loop_guided_start, 13352 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start, 13353 GOMP_loop_ordered_guided_start, GOMP_loop_static_next, 13354 GOMP_loop_dynamic_next, GOMP_loop_guided_next, 13355 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next, 13356 GOMP_loop_ordered_guided_next): Likewise. 13357 * ordered.c (GOMP_ordered_start): Likewise. 13358 133592005-08-01 Diego Novillo <dnovillo@redhat.com> 13360 13361 * testsuite/libgomp.dg/dg.exp: Use -O2 for now. 13362 * testsuite/libgomp.dg/omp_hello.c: Fix return code 13363 * testsuite/libgomp.dg/omp_matvec.c: Likewise. 13364 * testsuite/libgomp.dg/omp_orphan.c: Likewise 13365 * testsuite/libgomp.dg/omp_reduction.c: Likewise 13366 * testsuite/libgomp.dg/omp_workshare1.c: Likewise 13367 * testsuite/libgomp.dg/omp_workshare2.c: Likewise 13368 * testsuite/libgomp.dg/omp_workshare3.c: Likewise 13369 * testsuite/libgomp.dg/omp_workshare4.c: Likewise 13370 133712005-07-07 Eric Christopher <echristo@redhat.com> 13372 Diego Novillo <dnovillo@redhat.com> 13373 13374 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS. 13375 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix 13376 up code. 13377 * testsuite/libgomp.dg/omp_matvec.c: Ditto. 13378 * testsuite/libgomp.dg/omp_orphan.c: Ditto. 13379 * testsuite/libgomp.dg/omp_reduction.c: Ditto. 13380 * testsuite/libgomp.dg/omp_workshare1.c: Ditto. 13381 * testsuite/libgomp.dg/omp_workshare2.c: Ditto. 13382 * testsuite/libgomp.dg/omp_workshare3.c: Ditto. 13383 * testsuite/libgomp.dg/omp_workshare4.c: Ditto. 13384 133852005-06-13 Diego Novillo <dnovillo@redhat.com> 13386 13387 * TOPLEVEL.patch: Remove. 13388 133892005-05-16 Richard Henderson <rth@redhat.com> 13390 13391 * configure.ac: Test for clock_gettime. 13392 * config.h.in, configure: Rebuild. 13393 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern. 13394 (omp_get_wtime): Use clock_gettime if available. 13395 (omp_get_wtick): Use clock_getres if available. 13396 133972005-05-11 Richard Henderson <rth@redhat.com> 13398 13399 * config/linux/ia64/futex.h: New file. 13400 * configure.tgt: Use it. 13401 13402 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline. 13403 134042005-05-07 Richard Henderson <rth@redhat.com> 13405 13406 * config/linux/powerpc/futex.h: New file. 13407 * configure.tgt: Use it. 13408 13409 * config/linux/i486/futex.h: Merge ... 13410 * config/linux/x86_64/futex.h: ... into ... 13411 * config/linux/x86/futex.h: ... here. 13412 * configure.tgt: Update to match. 13413 134142005-05-06 Richard Henderson <rth@redhat.com> 13415 13416 * config/linux/alpha/futex.h: Conditionally define SYS_futex. 13417 * config/linux/i486/futex.h: Likewise. 13418 * config/linux/x86_64/futex.h: Likewise. 13419 13420 * config/linux/lock.c: New file. 13421 * config/linux/omp-lock.h: New file. 13422 13423 * critical.c, env.h: Don't include omp.h 13424 * config/posix/lock.c: Include libgomp.h instead of omp.h. 13425 * config/posix/time.c: Likewise. 13426 * config/posix/omp-lock.h: New file. 13427 * libgomp.h: Include omp-lock.h and omp.h. 13428 * Makefile.am (nodist_include_HEADERS): New. 13429 (omp.h): New rule. 13430 * configure.ac (PERL): New. 13431 * mkomp_h.pl: New file. 13432 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t 13433 with templates. 13434 * Makefile.in, configure, testsuite/Makefile.in: Rebuild. 13435 13436 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into 13437 build directory. Re-add -march=i486 hack. 13438 13439 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove. 13440 (libgomp_link_flags): Remove. 13441 (libgomp_initialized): Remove. 13442 (libgomp_init): Don't protect from reinitialization. Copy code 13443 from libstdc++ for getting the multilib set correctly. 13444 134452005-05-05 Richard Henderson <rth@redhat.com> 13446 13447 * config/linux/alpha/futex.h: New file. 13448 * configure.tgt (alpha*-*-linux*): Use it. 13449 13450 * config/posix/mutex.c: New file. 13451 * config/posix/sem.c: Use libgomp.h. 13452 13453 * configure.tgt (x86_64-linux): Also test CC for -m32. 13454 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage. 13455 13456 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add / 13457 after $gccpath. 13458 13459 * Makefile.am (SUBDIRS): New. 13460 (libgomp_la_LDFLAGS): Add -lpthread. 13461 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies. 13462 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild. 13463 13464 * libgomp_g.h: New file. 13465 * libgomp.h: Split out all public declarations to libgomp_g.h. 13466 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN. 13467 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN. 13468 * config/linux/sem.h: Likewise. 13469 * config/posix/sem.h: Likewise. 13470 13471 * Makefile.am (AM_LDFLAGS): New. 13472 (libgomp_version_script): Split out from ... 13473 (libgomp_la_LDFLAGS): ... here. 13474 (libgomp_version_info): New. 13475 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE. 13476 (LIBGOMP_ENABLE): New. 13477 (LIBGOMP_CHECK_LINKER_FEATURES): New. 13478 (LIBGOMP_ENABLE_SYMVERS): New. 13479 * configure.ac (AC_INIT): Version 1.0. 13480 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE. 13481 (enable-linux-futex): Likewise. Rename from enable-futex. 13482 (libtool_VERSION): New. 13483 (LIBGOMP_ENABLE_SYMVERS): Use it. 13484 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations. 13485 * Makefile.in, aclocal.m4, configure: Rebuild. 13486 13487 * config/linux/mutex.c: Include libgomp.h instead of mutex.h. 13488 (gomp_mutex_unlock_slow): Fix typo. 13489 * config/linux/sem.c: Similarly. 13490 (gomp_sem_post_slow): Fix typo. 13491 * config/linux/sem.h (gomp_sem_post_slow): Fix typo. 13492 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code. 13493 [__PIC__] (sys_futex0): Don't use tmp output in asm. 13494 13495 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS. 13496 (libgomp_la_LDFLAGS): Add top_srcdir to path. 13497 * acinclude.m4: Copy libtool.m4 stuff from libgfortran. 13498 * configure.ac: Check for getloadavg. Substitute XCFLAGS and 13499 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS. 13500 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and 13501 LDFLAGS. Pull enable_futex check to top-level. 13502 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN. 13503 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate. 13504 13505 First attempt at real configury. 13506 * Makefile, config.h: Remove file. 13507 * Makefile.am, Makefile.in: New file. 13508 * acinclude.m4 aclocal.m4: New file. 13509 * configure.ac, configure.tgt, configure: New file. 13510 13511 * config/posix/lock.c: Rename from sys-lock.c. 13512 * config/posix/mutex.h: Rename from sys-mutex.h. 13513 * config/posix/sem.c: Rename from sys-sem.c. 13514 * config/posix/sem.h: Rename from sys-sem.h. 13515 * config/posix/proc.c: Rename from sys-proc.c. 13516 * config/posix/time.c: Rename from sys-proc.c. 13517 13518 * config/linux/mutex.c: New file. 13519 * config/linux/mutex.h: New file. 13520 * config/linux/sem.c: New file. 13521 * config/linux/sem.h: New file. 13522 * config/linux/i486/futex.h: New file. 13523 * config/linux/x86_64/futex.h: New file. 13524 135252005-05-04 Richard Henderson <rth@redhat.com> 13526 13527 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New. 13528 * libgomp.h: Declare them. 13529 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start, 13530 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them. 13531 135322005-05-04 Richard Henderson <rth@redhat.com> 13533 13534 * libgomp-1 code drop 13535 135362005-05-04 Richard Henderson <rth@redhat.com> 13537 13538 * iter.c (gomp_iter_static_next): Return tri-state on 0. 13539 * ordered.c (gomp_ordered_static_next): Remove not_last argument. 13540 * libgomp.h (struct gomp_team_state): Make static_trip unsigned. 13541 (gomp_iter_static_next): Update. 13542 (gomp_ordered_static_next): Update. 13543 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next. 13544 (gomp_loop_ordered_static_start): Likewise. Exit early for a 13545 totally empty range. 13546 (gomp_loop_ordered_static_next): Refine test for calling 13547 gomp_ordered_static_next. 13548 * testsuite/ordered-1.c: Add case for more threads than iterations. 13549 13550 * iter.c (gomp_iter_runtime_next_locked): Remove. 13551 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start, 13552 gomp_loop_guided_start, gomp_loop_ordered_static_start, 13553 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start, 13554 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next, 13555 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next, 13556 gomp_loop_ordered_guided_next): Downcase name, make static, add 13557 an external alias with the old name. 13558 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start, 13559 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a 13560 switch and call one of the above static functions. 13561 * libgomp.h: Update. 13562 13563 * work.c (gomp_work_share_start): Lock the mutex for !first too. 13564 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start, 13565 GOMP_loop_guided_start, GOMP_loop_runtime_start, 13566 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start, 13567 GOMP_loop_ordered_guided_start): Update to match. 13568 * sections.c (GOMP_sections_start): Likewise. 13569 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise. 13570 13571 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next, 13572 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//. 13573 Use bounds check instead of modulus. 13574 (gomp_ordered_sync): Split out of GOMP_ordered_start. 13575 (gomp_ordered_last): Don't sync with ordered_owner here. 13576 (gomp_ordered_next): Likewise. 13577 (gomp_ordered_static_loop_next): Likewise. 13578 * loop.c, libgomp.h: Update to match. 13579 13580 * libgomp.h (GOMP_barrier): Declare. 13581 13582 * testsuite/barrier-1.c: New file. 13583 * testsuite/critical-1.c: New file. 13584 * testsuite/ordered-2.c: New file. 13585 * testsuite/ordered-1.c: New file. 13586 * testsuite/sections-1.c: New file. 13587 * testsuite/single-1.c: New file. 13588 * testsuite/Makefile (TESTS): Add them. 13589 135902005-05-04 Richard Henderson <rth@redhat.com> 13591 13592 * libgomp.h (struct gomp_work_share): Add ordered_owner. 13593 * loop.c (GOMP_loop_static_start): If not the startup thread, 13594 acquire the mutex to wait for initialization complete. 13595 (GOMP_loop_ordered_static_start): Likewise. 13596 (GOMP_loop_ordered_runtime_start): Likewise. 13597 (GOMP_loop_ordered_static_first): Remove. 13598 (GOMP_loop_ordered_dynamic_first): Remove. 13599 (GOMP_loop_ordered_guided_first): Remove. 13600 (GOMP_loop_ordered_runtime_first): Remove. 13601 * ordered.c (gomp_ordered_loop_first): Post to own release when 13602 we're the first thread. 13603 (gomp_ordered_loop_last): Wait on release if not owner. 13604 (gomp_ordered_loop_next): Likewise. 13605 (gomp_ordered_static_loop_init): New. 13606 (gomp_ordered_static_loop_next): Use ordered_owner. 13607 (GOMP_ordered_start): Likewise. 13608 * work.c (gomp_new_work_share): Initialize ordered_owner. 13609 136102005-05-03 Richard Henderson <rth@redhat.com> 13611 13612 * Makefile (OPT): New. 13613 (CFLAGS): Use it. 13614 13615 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New. 13616 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New. 13617 * libgomp.h, libgomp.map, NOTES: Update to match. 13618 13619 * team.c (struct gomp_thread_start_data): Remove ts, fn, data. 13620 Add initialized and thr members. 13621 (gomp_thread_start): Pause when initially spawned to wait for 13622 the whole team to be created. 13623 (gomp_team_start): Release team members at the end. 13624 13625 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100. 13626 (f_foo_1): Use GOMP_loop_end. 13627 (f_foo_2): Use GOMP_loop_end_nowait. 13628 13629 * testsuite/loop-2.c: New file. 13630 * testsuite/Makefile (TESTS): Add it. 13631 136322005-05-03 Richard Henderson <rth@redhat.com> 13633 13634 * iter.c (gomp_iter_static_next): Fix overflow check typo. 13635 (gomp_iter_dynamic_next_locked): Fix overflow check thinko. 13636 * team.c (new_team): Initialize oldest_live_gen to 1 if no 13637 initial work_share. 13638 13639 * testsuite/Makefile: New file. 13640 * testsuite/loop-1.c: New file. 13641 136422005-05-03 Richard Henderson <rth@redhat.com> 13643 13644 Initial implementation and checkin. 13645 13646Copyright (C) 2005-2020 Free Software Foundation, Inc. 13647 13648Copying and distribution of this file, with or without modification, 13649are permitted in any medium without royalty provided the copyright 13650notice and this notice are preserved. 13651