12017-12-10 Tom de Vries <tom@codesourcery.com> 2 3 backport from trunk: 4 PR c/81875 5 2017-09-16 Tom de Vries <tom@codesourcery.com> 6 7 * testsuite/libgomp.c/pr81875.c: New test. 8 92017-09-15 Jakub Jelinek <jakub@redhat.com> 10 11 Backported from mainline 12 2017-09-14 Jakub Jelinek <jakub@redhat.com> 13 14 PR c++/81314 15 * testsuite/libgomp.c++/pr81314.C: New test. 16 17 2017-08-09 Jakub Jelinek <jakub@redhat.com> 18 19 PR c/81687 20 * testsuite/libgomp.c/pr81687-1.c: New test. 21 * testsuite/libgomp.c/pr81687-2.c: New test. 22 23 2017-07-27 Jakub Jelinek <jakub@redhat.com> 24 25 PR c/45784 26 * testsuite/libgomp.c/pr45784.c: New test. 27 * testsuite/libgomp.c++/pr45784.C: New test. 28 292017-07-04 Release Manager 30 31 * GCC 6.4.0 released. 32 332017-06-22 Jakub Jelinek <jakub@redhat.com> 34 35 Backported from mainline 36 2017-06-21 Jakub Jelinek <jakub@redhat.com> 37 38 PR c++/81130 39 * testsuite/libgomp.c++/pr81130.C: New test. 40 41 2017-05-30 Jakub Jelinek <jakub@redhat.com> 42 43 PR libgomp/80822 44 * config/linux/affinity.c (gomp_affinity_init_level_1): New function. 45 (gomp_affinity_init_level): Use it. Always analyze the core and thread 46 sibling lists, depending on level just pick up what CPUs to put 47 together into a place vs. whether add multiple ordered places. 48 49 2017-05-22 Jakub Jelinek <jakub@redhat.com> 50 51 PR middle-end/80809 52 * testsuite/libgomp.c/pr80809-2.c: New test. 53 * testsuite/libgomp.c/pr80809-3.c: New test. 54 55 PR middle-end/80809 56 * testsuite/libgomp.c/pr80809-1.c: New test. 57 58 PR middle-end/80853 59 * testsuite/libgomp.c/pr80853.c: New test. 60 612017-05-05 Jakub Jelinek <jakub@redhat.com> 62 63 Backported from mainline 64 2017-04-11 Jakub Jelinek <jakub@redhat.com> 65 66 PR libgomp/80394 67 * testsuite/libgomp.c/pr80394.c: New test. 68 69 2017-03-30 Jakub Jelinek <jakub@redhat.com> 70 71 * env.c (initialize_env): Initialize stacksize to 0. 72 73 2017-03-08 Jakub Jelinek <jakub@redhat.com> 74 75 PR c/79940 76 * testsuite/libgomp.c/pr79940.c: New test. 77 782017-01-10 Thomas Schwinge <thomas@codesourcery.com> 79 80 Backport trunk r239125: 81 2016-08-04 Thomas Schwinge <thomas@codesourcery.com> 82 83 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link" 84 test, and don't hardcode -O0. 85 86 Backport trunk r239086: 87 2016-08-03 Nathan Sidwell <nathan@codesourcery.com> 88 89 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New. 90 912016-12-21 Release Manager 92 93 * GCC 6.3.0 released. 94 952016-12-07 Jakub Jelinek <jakub@redhat.com> 96 97 Backported from mainline 98 2016-11-01 Jakub Jelinek <jakub@redhat.com> 99 100 * hashtab.h: Use standard GPLv3 with runtime exception 101 boilerplate. 102 1032016-12-06 Sebastian Huber <sebastian.huber@embedded-brains.de> 104 105 Backported from mainline 106 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de> 107 108 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use 109 pthread_spinlock_t instead of gomp_mutex_t lock. 110 (gomp_get_thread_pool): Likewise. 111 (gomp_release_thread_pool): Likewise. 112 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir): 113 Likewise. 114 1152016-12-06 Sebastian Huber <sebastian.huber@embedded-brains.de> 116 117 Backported from mainline 118 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de> 119 120 * config/rtems/pool.h (gomp_get_thread_pool): Return proper 121 thread pool in case nthreads == 1. 122 1232016-09-01 Jakub Jelinek <jakub@redhat.com> 124 125 Backported from mainline 126 2016-08-19 Jakub Jelinek <jakub@redhat.com> 127 128 PR fortran/71014 129 * testsuite/libgomp.fortran/pr71014.f90: New test. 130 1312016-08-22 Release Manager 132 133 * GCC 6.2.0 released. 134 1352016-08-18 Chung-Lin Tang <cltang@codesourcery.com> 136 137 Backport from mainline 138 2016-08-18 Chung-Lin Tang <cltang@codesourcery.com> 139 140 PR middle-end/70895 141 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit 142 firstprivate clauses. 143 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit 144 copy clauses. 145 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise. 146 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise. 147 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise. 148 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise. 149 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise. 150 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise. 151 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise. 152 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise. 153 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise. 154 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise. 155 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise. 156 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise. 157 1582016-07-02 Jakub Jelinek <jakub@redhat.com> 159 160 Backported from mainline 161 2016-07-01 Jakub Jelinek <jakub@redhat.com> 162 163 PR fortran/71717 164 * testsuite/libgomp.fortran/associate3.f90: New test. 165 1662016-06-21 Jakub Jelinek <jakub@redhat.com> 167 168 Backported from mainline 169 2016-06-17 Jakub Jelinek <jakub@redhat.com> 170 171 * testsuite/libgomp.c++/target-21.C: New test. 172 173 2016-06-16 Jakub Jelinek <jakub@redhat.com> 174 175 * testsuite/libgomp.c++/target-20.C: New test. 176 1772016-06-10 Thomas Schwinge <thomas@codesourcery.com> 178 179 PR middle-end/71373 180 Backport from trunk r237291: 181 2016-06-10 Thomas Schwinge <thomas@codesourcery.com> 182 Cesar Philippidis <cesar@codesourcery.com> 183 184 * libgomp.oacc-c/nested-function-1.c: New file. 185 * libgomp.oacc-c/nested-function-2.c: Likewise. 186 * libgomp.oacc-fortran/nested-function-1.f90: Likewise. 187 * libgomp.oacc-fortran/nested-function-2.f90: Likewise. 188 * libgomp.oacc-fortran/nested-function-3.f90: Likewise. 189 190 PR c/71381 191 Backport from trunk r237290: 192 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include 193 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c". 194 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file. 195 1962016-05-23 Martin Jambor <mjambor@suse.cz> 197 198 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test. 199 2002016-05-16 Martin Jambor <mjambor@suse.cz> 201 202 * testsuite/libgomp.hsa.c/complex-align-2.c: New test. 203 2042016-04-29 Cesar Philippidis <cesar@codesourcery.com> 205 206 PR middle-end/70626 207 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test. 208 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test. 209 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test. 210 2112016-04-27 Jakub Jelinek <jakub@redhat.com> 212 213 Backported from mainline 214 2016-04-19 Jakub Jelinek <jakub@redhat.com> 215 216 PR middle-end/70680 217 * testsuite/libgomp.c/pr70680-1.c: New test. 218 * testsuite/libgomp.c/pr70680-2.c: New test. 219 2202016-04-27 Release Manager 221 222 * GCC 6.1.0 released. 223 2242016-04-21 Alexander Monakov <amonakov@ispras.ru> 225 226 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error 227 non-fatal. 228 2292016-04-14 Cesar Philippidis <cesar@codesourcery.com> 230 231 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't 232 pass parameter variables to subroutines. 233 2342016-04-14 Cesar Philippidis <cesar@codesourcery.com> 235 236 PR middle-end/70643 237 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test. 238 2392016-04-13 Cesar Philippidis <cesar@codesourcery.com> 240 241 PR testsuite/68242 242 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test. 243 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise. 244 2452016-04-12 Thomas Schwinge <thomas@codesourcery.com> 246 247 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to 248 GOACC_parallel_keyed, restore GOACC_parallel prototype, new 249 GOACC_declare prototype. 250 251 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: 252 Merge this file, and... 253 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c: 254 ... this file, and... 255 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: 256 ... this file, and... 257 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: 258 ... this file, and... 259 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: 260 ... this file, and... 261 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: 262 ... this file, and... 263 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: 264 ... this file, and... 265 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: 266 ... this file, and... 267 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: 268 ... this file, and... 269 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: 270 ... this file, and... 271 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: 272 ... this file, and... 273 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: 274 ... this file, and... 275 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: 276 ... this file into... 277 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this 278 file. 279 280 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: 281 Make failure observable. 282 2832016-04-12 Jakub Jelinek <jakub@redhat.com> 284 285 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies 286 field. 287 * target.c (gomp_target_fallback_firstprivate, 288 gomp_target_unshare_firstprivate): Removed. 289 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory 290 before waiting for dependencies. 291 (gomp_target_task_fn): Don't copy firstprivate vars here. 292 * task.c (GOMP_PLUGIN_target_task_completion): Don't free 293 firstprivate_copies here. 294 (gomp_create_target_task): Don't initialize firstprivate_copies field. 295 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of 296 explicit/implicit firstprivate. 297 2982016-04-08 Cesar Philippidis <cesar@codesourcery.com> 299 300 PR lto/70289 301 PR ipa/70348 302 PR tree-optimization/70373 303 PR middle-end/70533 304 PR middle-end/70534 305 PR middle-end/70535 306 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New 307 test. 308 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New 309 test. 310 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New 311 test. 312 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New 313 test. 314 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New 315 test. 316 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New 317 test. 318 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New 319 test. 320 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New 321 test. 322 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New 323 test. 324 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test. 325 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test. 326 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test. 327 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New 328 test. 329 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New 330 test. 331 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New 332 test. 333 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New 334 test. 335 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test 336 coverage. 337 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise. 338 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise. 339 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test. 340 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test. 341 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test. 342 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test 343 coverage. 344 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise. 345 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise. 346 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise. 347 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise. 348 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test. 349 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test. 350 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test. 351 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test. 352 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage. 353 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise. 354 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise. 355 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise. 356 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise. 357 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. 358 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test. 359 3602016-03-30 Thomas Schwinge <thomas@codesourcery.com> 361 James Norris <jnorris@codesourcery.com> 362 Nathan Sidwell <nathan@codesourcery.com> 363 Julian Brown <julian@codesourcery.com> 364 Cesar Philippidis <cesar@codesourcery.com> 365 Chung-Lin Tang <cltang@codesourcery.com> 366 Tom de Vries <tom@codesourcery.com> 367 368 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update. 369 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise. 370 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise. 371 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise. 372 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise. 373 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise. 374 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise. 375 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise. 376 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise. 377 XFAIL. 378 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update. 379 Incorporate... 380 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this 381 file. 382 * testsuite/libgomp.oacc-c++/template-reduction.C: New file. 383 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise. 384 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise. 385 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c: 386 Likewise. 387 * testsuite/libgomp.oacc-c-c++-common/private-variables.c: 388 Likewise. 389 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise. 390 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise. 391 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise. 392 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise. 393 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise. 394 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise. 395 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise. 396 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise. 397 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise. 398 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: 399 Likewise. 400 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise. 401 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise. 402 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this 403 file... 404 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this 405 file into... 406 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new 407 file. Update. 408 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New 409 file. 410 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c: 411 Likewise. 412 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to... 413 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c: 414 ... this new file. Update. 415 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to... 416 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c: 417 ... this new file. Update. 418 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New 419 file. Incorporate... 420 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this 421 file, and... 422 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this 423 file, and... 424 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this 425 file. 426 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file. 427 4282016-03-29 Thomas Schwinge <thomas@codesourcery.com> 429 430 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call 431 set-torture-options. 432 4332016-03-24 Thomas Schwinge <thomas@codesourcery.com> 434 435 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use 436 gcc-dg-runtest. 437 * testsuite/libgomp.oacc-c/c.exp: Likewise. 438 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify 439 -fno-builtin-acc_on_device instead of -O0. 440 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for 441 -O0. 442 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise. 443 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: 444 Likewise. 445 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise. 446 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise. 447 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise. 448 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise. 449 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise. 450 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise. 451 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise. 452 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise. 453 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise. 454 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise. 455 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise. 456 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise. 457 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise. 458 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise. 459 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise. 460 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise. 461 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise. 462 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c: 463 Don't specify -O2. 464 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c: 465 Likewise. 466 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c: 467 Likewise. 468 4692016-03-24 Martin Liska <mliska@suse.cz> 470 471 * plugin/plugin-hsa.c (packet_store_release): New function 472 that is taken from the HSA runtime manual. 473 (GOMP_OFFLOAD_run): Use the function. 474 4752016-03-23 Jakub Jelinek <jakub@redhat.com> 476 477 PR c++/70376 478 * testsuite/libgomp.c++/pr70376.C: New test. 479 4802016-03-23 Tom de Vries <tom@codesourcery.com> 481 482 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing 483 initialization of lresult and lvresult. 484 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same. 485 4862016-03-23 James Norris <jnorris@codesourcery.com> 487 Daichi Fukuoka <dc-fukuoka@sgi.com> 488 489 PR libgomp/69414 490 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address. 491 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests. 492 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise. 493 * testsuite/libgomp.oacc-fortran/update-1.f90: New file. 494 4952016-03-23 Martin Liska <mliska@suse.cz> 496 497 PR hsa/70337 498 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow 499 argument just in case a dispatched kernel uses that argument. 500 5012016-03-16 Thomas Schwinge <thomas@codesourcery.com> 502 503 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to 504 -ftree-parallelize-loops/-fopenacc changes. 505 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: 506 Likewise. 507 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: 508 Likewise. 509 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: 510 Likewise. 511 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: 512 Likewise. 513 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise. 514 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise. 515 5162016-03-13 Thomas Schwinge <thomas@codesourcery.com> 517 518 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to 519 always_ld_library_path the path to libgcc_s. 520 5212016-03-10 Cesar Philippidis <cesar@codesourcery.com> 522 523 PR testsuite/70009 524 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed. 525 5262016-03-09 Tom de Vries <tom@codesourcery.com> 527 528 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test. 529 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same. 530 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: 531 Same. 532 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same. 533 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same. 534 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same. 535 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same. 536 5372016-03-07 Martin Jambor <mjambor@suse.cz> 538 539 * testsuite/lib/libgomp.exp 540 (check_effective_target_hsa_offloading_selected_nocache): New. 541 (check_effective_target_hsa_offloading_selected): Likewise. 542 * testsuite/libgomp.hsa.c/c.exp: Likewise. 543 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise. 544 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise. 545 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise. 546 * testsuite/libgomp.hsa.c/complex-1.c: Likewise. 547 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise. 548 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise. 549 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise. 550 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise. 551 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise. 552 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise. 553 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise. 554 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise. 555 * testsuite/libgomp.hsa.c/pr69568.c: Likewise. 556 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise. 557 * testsuite/libgomp.hsa.c/switch-1.c: Likewise. 558 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise. 559 5602016-03-07 Martin Jambor <mjambor@suse.cz> 561 562 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on 563 non-shared memory accelerators. 564 * testsuite/libgomp.c/examples-4/device-1.c: Likewise. 565 * testsuite/libgomp.c/examples-4/target-5.c: Likewise. 566 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise. 567 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise. 568 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise. 569 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise. 570 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise. 571 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise. 572 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise. 573 5742016-03-07 Martin Jambor <mjambor@suse.cz> 575 576 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to 577 ALWAYS_CFLAGS. 578 5792016-03-02 Jakub Jelinek <jakub@redhat.com> 580 581 PR libgomp/69555 582 * testsuite/libgomp.c++/pr69555-1.C: New test. 583 * testsuite/libgomp.c++/pr69555-2.C: New test. 584 5852016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com> 586 Martin Jambor <mjambor@suse.cz> 587 588 * testsuite/lib/libgomp.exp 589 (check_effective_target_offload_device_shared_as): New proc. 590 * testsuite/libgomp.c++/declare_target-1.C: New test. 591 5922016-02-25 Ilya Verbin <ilya.verbin@intel.com> 593 594 PR driver/68463 595 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove. 596 5972016-02-23 Thomas Schwinge <thomas@codesourcery.com> 598 599 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims. 600 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for 601 dims. 602 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to 603 -ftree-parallelize-loops/-fopenacc changes. 604 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise. 605 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: 606 Likewise. 607 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: 608 Likewise. 609 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: 610 Likewise. 611 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: 612 Likewise. 613 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: 614 Likewise. 615 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: 616 Likewise. 617 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: 618 Likewise. 619 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise. 620 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: 621 Likewise. 622 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise. 623 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: 624 Likewise. 625 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise. 626 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: 627 Likewise. 628 6292016-02-22 Cesar Philippidis <cesar@codesourcery.com> 630 631 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test. 632 6332016-02-19 Jakub Jelinek <jakub@redhat.com> 634 635 PR driver/69805 636 * testsuite/libgomp.c/pr69805.c: New test. 637 6382016-02-16 Tom de Vries <tom@codesourcery.com> 639 640 PR lto/67709 641 * testsuite/libgomp.fortran/declare-simd-4.f90: New test. 642 6432016-02-09 Tom de Vries <tom@codesourcery.com> 644 645 PR tree-optimization/69599 646 * testsuite/libgomp.c/omp-nested-3.c: New test. 647 * testsuite/libgomp.c/pr46032-2.c: New test. 648 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test. 649 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test. 650 6512016-02-09 Tom de Vries <tom@codesourcery.com> 652 653 PR lto/69707 654 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test. 655 6562016-02-02 Alexander Monakov <amonakov@ispras.ru> 657 658 * testsuite/libgomp.c/target-31.c: Fix testcase. 659 6602016-02-02 Alexander Monakov <amonakov@ispras.ru> 661 662 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction 663 clause. 664 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise. 665 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing 666 reduction and map clauses. 667 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise. 668 6692016-02-02 James Norris <jnorris@codesourcery.com> 670 671 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause. 672 6732016-02-02 Thomas Schwinge <thomas@codesourcery.com> 674 675 * libgomp.map (GOACC_2.0): Remove GOACC_host_data. 676 * oacc-parallel.c (GOACC_host_data): Remove function definition. 677 678 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test 679 cases. 680 681 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New 682 variables. 683 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib) 684 (hsa_kmt_lib): Set variables. 685 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend 686 always_ld_library_path. 687 * Makefile.in: Regenerate. 688 * configure: Likewise. 689 * testsuite/Makefile.in: Likewise. 690 691 * plugin/configfrag.ac (offload_additional_options) 692 (offload_additional_lib_paths): Don't amend for hsa offloading. 693 * configure: Regenerate. 694 695 * plugin/configfrag.ac: Don't configure for offloading target if 696 we don't build the corresponding plugin. 697 * configure: Regenerate. 698 6992016-02-01 Nathan Sidwell <nathan@codesourcery.com> 700 701 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New. 702 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop. 703 7042016-01-26 Tom de Vries <tom@codesourcery.com> 705 706 PR tree-optimization/69110 707 * testsuite/libgomp.c/pr69110.c: New test. 708 7092016-01-25 Richard Biener <rguenther@suse.de> 710 711 PR lto/69393 712 * testsuite/libgomp.c++/pr69393.C: New testcase. 713 7142016-01-22 Ilya Verbin <ilya.verbin@intel.com> 715 716 * target.c (gomp_get_target_fn_addr): Allow host fallback if target 717 function wasn't mapped to the device with non-shared memory. 718 7192016-01-20 Ilya Verbin <ilya.verbin@intel.com> 720 721 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL. 722 7232016-01-19 Martin Jambor <mjambor@suse.cz> 724 Martin Liska <mliska@suse.cz> 725 726 * plugin/Makefrag.am: Add HSA plugin requirements. 727 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable. 728 (HSA_RUNTIME_LIB): Likewise. 729 (HSA_RUNTIME_CPPFLAGS): Likewise. 730 (HSA_RUNTIME_INCLUDE): New substitution. 731 (HSA_RUNTIME_LIB): Likewise. 732 (HSA_RUNTIME_LDFLAGS): Likewise. 733 (hsa-runtime): New configure option. 734 (hsa-runtime-include): Likewise. 735 (hsa-runtime-lib): Likewise. 736 (PLUGIN_HSA): New substitution variable. 737 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new 738 configure options. 739 (PLUGIN_HSA_CPPFLAGS): Likewise. 740 (PLUGIN_HSA_LDFLAGS): Likewise. 741 (PLUGIN_HSA_LIBS): Likewise. 742 Check that we have access to HSA run-time. 743 * libgomp-plugin.h (offload_target_type): New element 744 OFFLOAD_TARGET_TYPE_HSA. 745 * libgomp.h (gomp_target_task): New fields firstprivate_copies and 746 args. 747 (bool gomp_create_target_task): Updated. 748 (gomp_device_descr): Extra parameter of run_func and async_run_func, 749 new field can_run_func. 750 * libgomp_g.h (GOMP_target_ext): Update prototype. 751 * oacc-host.c (host_run): Added a new parameter args. 752 * target.c (calculate_firstprivate_requirements): New function. 753 (copy_firstprivate_data): Likewise. 754 (gomp_target_fallback_firstprivate): Use them. 755 (gomp_target_unshare_firstprivate): New function. 756 (gomp_get_target_fn_addr): Allow returning NULL for shared memory 757 devices. 758 (GOMP_target): Do host fallback for all shared memory devices. Do not 759 pass any args to plugins. 760 (GOMP_target_ext): Introduce device-specific argument parameter args. 761 Allow host fallback if device shares memory. Do not remap data if 762 device has shared memory. 763 (gomp_target_task_fn): Likewise. Also treat shared memory devices 764 like host fallback for mappings. 765 (GOMP_target_data): Treat shared memory devices like host fallback. 766 (GOMP_target_data_ext): Likewise. 767 (GOMP_target_update): Likewise. 768 (GOMP_target_update_ext): Likewise. Also pass NULL as args to 769 gomp_create_target_task. 770 (GOMP_target_enter_exit_data): Likewise. 771 (omp_target_alloc): Treat shared memory devices like host fallback. 772 (omp_target_free): Likewise. 773 (omp_target_is_present): Likewise. 774 (omp_target_memcpy): Likewise. 775 (omp_target_memcpy_rect): Likewise. 776 (omp_target_associate_ptr): Likewise. 777 (gomp_load_plugin_for_device): Also load can_run. 778 * task.c (GOMP_PLUGIN_target_task_completion): Free 779 firstprivate_copies. 780 (gomp_create_target_task): Accept new argument args and store it to 781 ttask. 782 * plugin/plugin-hsa.c: New file. 783 7842016-01-18 Tom de Vries <tom@codesourcery.com> 785 786 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test. 787 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same. 788 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same. 789 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same. 790 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same. 791 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same. 792 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same. 793 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same. 794 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same. 795 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same. 796 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c: 797 Same. 798 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c: 799 Same. 800 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same. 801 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same. 802 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same. 803 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same. 804 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same. 805 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same. 806 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same. 807 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c: 808 Same. 809 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same. 810 8112016-01-15 Jakub Jelinek <jakub@redhat.com> 812 813 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return. 814 8152016-01-15 Cesar Philippidis <cesar@codesourcery.com> 816 817 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test. 818 8192016-01-12 James Norris <jnorris@codesourcery.com> 820 821 * libgomp.texi: Updates for OpenACC. 822 8232016-01-11 Alexander Monakov <amonakov@ispras.ru> 824 825 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET. 826 8272016-01-07 H.J. Lu <hongjiu.lu@intel.com> 828 829 PR fortran/66680 830 * testsuite/libgomp.fortran/pr66680.f90: New test. 831 8322016-01-07 Jakub Jelinek <jakub@redhat.com> 833 834 PR middle-end/68960 835 * testsuite/libgomp.c/pr68960.c: New test. 836 8372016-01-06 Nathan Sidwell <nathan@acm.org> 838 839 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper. 840 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New. 841 8422016-01-04 Jakub Jelinek <jakub@redhat.com> 843 844 Update copyright years. 845 846 * libgomp.texi: Bump @copying's copyright year. 847 8482015-12-31 Nathan Sidwell <nathan@acm.org> 849 850 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct 851 dg-additional-options syntax. 852 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise. 853 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise. 854 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise. 855 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise. 856 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise. 857 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise. 858 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise. 859 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise. 860 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise. 861 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise. 862 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise. 863 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise. 864 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise. 865 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise. 866 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise. 867 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise. 868 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise. 869 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise. 870 8712015-12-15 Ilya Verbin <ilya.verbin@intel.com> 872 873 * libgomp.h (REFCOUNT_LINK): Define. 874 (struct splay_tree_key_s): Add link_key. 875 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped. 876 Replace target address of the pointer with target address of newly 877 mapped object in the splay tree. Set link pointer on target to the 878 device address of the mapped object. 879 (gomp_unmap_vars): Restore target address of the pointer in the splay 880 tree for REFCOUNT_LINK objects after unmapping. 881 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp 882 declare target link" objects. 883 (gomp_unload_image_from_device): Replace j with i. Force unmap of all 884 "omp declare target link" objects, which were mapped for the image. 885 (gomp_exit_data): Restore target address of the pointer in the splay 886 tree for REFCOUNT_LINK objects after unmapping. 887 * testsuite/libgomp.c/target-link-1.c: New file. 888 8892015-12-14 Ilya Verbin <ilya.verbin@intel.com> 890 891 * libgomp.h (gomp_device_state): New enum. 892 (struct gomp_device_descr): Replace is_initialized with state. 893 (gomp_fini_device): Remove declaration. 894 * oacc-host.c (host_dispatch): Use state instead of is_initialized. 895 * oacc-init.c (acc_init_1): Use state instead of is_initialized. 896 (acc_shutdown_1): Likewise. Inline gomp_fini_device. 897 (acc_set_device_type): Use state instead of is_initialized. 898 (acc_set_device_num): Likewise. 899 * target.c (resolve_device): Use state instead of is_initialized. 900 Do not initialize finalized device. 901 (gomp_map_vars): Do nothing if device is finalized. 902 (gomp_unmap_vars): Likewise. 903 (gomp_update): Likewise. 904 (GOMP_offload_register_ver): Use state instead of is_initialized. 905 (GOMP_offload_unregister_ver): Likewise. 906 (gomp_init_device): Likewise. 907 (gomp_unload_device): Likewise. 908 (gomp_fini_device): Remove. 909 (gomp_get_target_fn_addr): Do nothing if device is finalized. 910 (GOMP_target): Go to host fallback if device is finalized. 911 (GOMP_target_ext): Likewise. 912 (gomp_exit_data): Do nothing if device is finalized. 913 (gomp_target_task_fn): Go to host fallback if device is finalized. 914 (gomp_target_fini): New static function. 915 (gomp_target_init): Use state instead of is_initialized. 916 Call gomp_target_fini at exit. 917 9182015-12-09 Tom de Vries <tom@codesourcery.com> 919 920 PR tree-optimization/68716 921 * testsuite/libgomp.c/omp-nested-2.c: New test. 922 9232015-12-02 Thomas Schwinge <thomas@codesourcery.com> 924 925 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to 926 target openacc_nvidia_accel_selected. 927 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise. 928 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise. 929 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file. 930 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file. 931 9322015-12-01 Julian Brown <julian@codesourcery.com> 933 James Norris <James_Norris@mentor.com> 934 935 * oacc-parallel.c (GOACC_host_data): New function. 936 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1. 937 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test. 938 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test. 939 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test. 940 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test. 941 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test. 942 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test. 943 9442015-11-30 James Norris <jnorris@codesourcery.com> 945 Cesar Philippidis <cesar@codesourcery.com> 946 947 libgomp/ 948 * libgomp.oacc-fortran/routine-5.f90: New test. 949 * libgomp.oacc-fortran/routine-7.f90: New test. 950 * libgomp.oacc-fortran/routine-9.f90: New test. 951 9522015-11-30 Tom de Vries <tom@codesourcery.com> 953 954 PR tree-optimization/46032 955 * testsuite/libgomp.c/pr46032.c: New test. 956 9572015-11-27 Jakub Jelinek <jakub@redhat.com> 958 959 PR libgomp/68579 960 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl. 961 (gomp_create_target_task): Call it before freeing 962 GOMP_TARGET_TASK_DATA tasks. 963 964 PR c/63326 965 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon 966 in between case label and OpenMP standalone directives. 967 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise. 968 9692015-11-26 David Edelsohn <dje.gcc@gmail.com> 970 971 * configure: Regenerate. 972 9732015-11-26 Jakub Jelinek <jakub@redhat.com> 974 975 * testsuite/libgomp.c/target-35.c: New test. 976 9772015-11-22 James Norris <jnorris@codesourcery.com> 978 Cesar Philippidis <cesar@codesourcery.com> 979 980 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test. 981 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise. 982 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise. 983 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise. 984 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise. 985 9862015-11-20 Jakub Jelinek <jakub@redhat.com> 987 988 PR middle-end/68221 989 * testsuite/libgomp.c/reduction-11.c: Remove xfail. 990 * testsuite/libgomp.c/reduction-12.c: Likewise. 991 * testsuite/libgomp.c++/reduction-11.C: Likewise. 992 * testsuite/libgomp.c++/reduction-12.C: Likewise. 993 9942015-11-19 Nathan Sidwell <nathan@codesourcery.com> 995 996 * libgomp.oacc-c-c++-common/reduction-dbl.c: New. 997 * libgomp.oacc-c-c++-common/reduction-flt.c: New. 998 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef. 999 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef. 1000 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests 1001 and fix. 1002 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise. 1003 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise. 1004 10052015-11-18 Nathan Sidwell <nathan@codesourcery.com> 1006 1007 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add 1008 worker & gang cases. 1009 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise. 1010 10112015-11-17 Cesar Philippidis <cesar@codesourcery.com> 1012 1013 * config/nvptx/priority_queue.c: New file. 1014 10152015-11-14 Jakub Jelinek <jakub@redhat.com> 1016 1017 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5 1018 sections. 1019 10202015-11-14 Jakub Jelinek <jakub@redhat.com> 1021 Aldy Hernandez <aldyh@redhat.com> 1022 Ilya Verbin <ilya.verbin@intel.com> 1023 1024 * ordered.c (gomp_doacross_init, GOMP_doacross_post, 1025 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post, 1026 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of 1027 iterators or IV by chunk size. 1028 * parallel.c (gomp_resolve_num_threads): Don't assume that 1029 if thr->ts.team is non-NULL, then pool must be non-NULL. 1030 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare. 1031 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export 1032 GOMP_PLUGIN_target_task_completion. 1033 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c. 1034 * Makefile.in: Regenerate. 1035 * libgomp.h: Shuffle prototypes and forward definitions around so 1036 priority queues can be defined. 1037 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING. 1038 (enum gomp_target_task_state): New enum. 1039 (struct gomp_target_task): Add state, tgt, task and team fields. 1040 (gomp_create_target_task): Change return type to bool, add 1041 state argument. 1042 (gomp_target_task_fn): Change return type to bool. 1043 (struct gomp_device_descr): Add async_run_func. 1044 (struct gomp_task): Remove children, next_child, prev_child, 1045 next_queue, prev_queue, next_taskgroup, prev_taskgroup. 1046 Add pnode field. 1047 (struct gomp_taskgroup): Remove children. 1048 Add taskgroup_queue. 1049 (struct gomp_team): Change task_queue type to a priority queue. 1050 (splay_compare): Define inline. 1051 (priority_queue_offset): New. 1052 (priority_node_to_task): New. 1053 (task_to_priority_node): New. 1054 * oacc-mem.c: Do not include splay-tree.h. 1055 * priority_queue.c: New file. 1056 * priority_queue.h: New file. 1057 * splay-tree.c: Do not include splay-tree.h. 1058 (splay_tree_foreach_internal): New. 1059 (splay_tree_foreach): New. 1060 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined. 1061 (splay_tree_callback): Define typedef. 1062 * target.c (splay_compare): Move to libgomp.h. 1063 (GOMP_target): Don't adjust *thr in any way around running offloaded 1064 task. 1065 (GOMP_target_ext): Likewise. Handle target nowait. 1066 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check 1067 return value from gomp_create_target_task, if false, fallthrough 1068 as if no dependencies exist. 1069 (gomp_target_task_fn): Change return type to bool, return true 1070 if the task should have another part scheduled later. Handle 1071 target nowait. 1072 (gomp_load_plugin_for_device): Initialize async_run. 1073 * task.c (gomp_init_task): Initialize children_queue. 1074 (gomp_clear_parent_in_list): New. 1075 (gomp_clear_parent_in_tree): New. 1076 (gomp_clear_parent): Handle priorities. 1077 (GOMP_task): Likewise. 1078 (priority_queue_move_task_first, 1079 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion): 1080 New functions. 1081 (gomp_create_target_task): Use priority queues. Change return type 1082 to bool, add state argument, return false if for async 1083 {{enter,exit} data,update} constructs no dependencies need to be 1084 waited for, handle target nowait. Set task->fn to NULL instead of 1085 gomp_target_task_fn. 1086 (verify_children_queue): Remove. 1087 (priority_list_upgrade_task): New. 1088 (priority_queue_upgrade_task): New. 1089 (verify_task_queue): Remove. 1090 (priority_list_downgrade_task): New. 1091 (priority_queue_downgrade_task): New. 1092 (gomp_task_run_pre): Use priority queues. 1093 Abstract code out to priority_queue_downgrade_task. 1094 (gomp_task_run_post_handle_dependers): Use priority queues. 1095 (gomp_task_run_post_remove_parent): Likewise. 1096 (gomp_task_run_post_remove_taskgroup): Likewise. 1097 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target 1098 tasks specially. 1099 (GOMP_taskwait): Likewise. 1100 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to 1101 priority-queue_upgrade_task. 1102 (GOMP_taskgroup_start): Use priority queues. 1103 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks 1104 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a 1105 barrier. 1106 * taskloop.c (GOMP_taskloop): Handle priorities. 1107 * team.c (gomp_new_team): Call priority_queue_init. 1108 (free_team): Call priority_queue_free. 1109 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial 1110 team created for target nowait in implicit parallel region. 1111 (gomp_team_start): For nested check, test thr->ts.level instead of 1112 thr->ts.team != NULL. 1113 * testsuite/libgomp.c/doacross-3.c: New test. 1114 * testsuite/libgomp.c/ordered-5.c: New test. 1115 * testsuite/libgomp.c/priority.c: New test. 1116 * testsuite/libgomp.c/target-31.c: New test. 1117 * testsuite/libgomp.c/target-32.c: New test. 1118 * testsuite/libgomp.c/target-33.c: New test. 1119 * testsuite/libgomp.c/target-34.c: New test. 1120 11212015-11-13 Nathan Sidwell <nathan@codesourcery.com> 1122 1123 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New. 1124 1125 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential 1126 loop is sequential. 1127 11282015-11-13 Nathan Sidwell <nathan@codesourcery.com> 1129 1130 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New. 1131 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New. 1132 11332015-11-12 James Norris <jnorris@codesourcery.com> 1134 Joseph Myers <joseph@codesourcery.com> 1135 1136 * libgomp.map (GOACC_2.0.1): Export GOACC_declare. 1137 * oacc-parallel.c (GOACC_declare): New function. 1138 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test. 1139 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise. 1140 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise. 1141 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise. 1142 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise. 1143 11442015-11-12 Nathan Sidwell <nathan@codesourcery.com> 1145 1146 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New. 1147 11482015-11-1 Nathan Sidwell <nathan@codesourcery.com> 1149 1150 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New. 1151 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New. 1152 11532015-11-09 Nathan Sidwell <nathan@codesourcery.com> 1154 1155 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove 1156 inadvertent commit. 1157 11582015-11-09 Nathan Sidwell <nathan@codesourcery.com> 1159 1160 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New. 1161 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New. 1162 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New. 1163 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New. 1164 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New. 1165 11662015-11-06 Thomas Schwinge <thomas@codesourcery.com> 1167 1168 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL. 1169 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise. 1170 11712015-11-05 Jakub Jelinek <jakub@redhat.com> 1172 Ilya Verbin <ilya.verbin@intel.com> 1173 1174 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next, 1175 GOMP_loop_nonmonotonic_dynamic_start, 1176 GOMP_loop_nonmonotonic_guided_next, 1177 GOMP_loop_nonmonotonic_guided_start, 1178 GOMP_loop_ull_nonmonotonic_dynamic_next, 1179 GOMP_loop_ull_nonmonotonic_dynamic_start, 1180 GOMP_loop_ull_nonmonotonic_guided_next, 1181 GOMP_loop_ull_nonmonotonic_guided_start, 1182 GOMP_parallel_loop_nonmonotonic_dynamic, 1183 GOMP_parallel_loop_nonmonotonic_guided): New prototypes. 1184 (GOMP_target_41): Renamed to ... 1185 (GOMP_target_ext): ... this. Add num_teams and thread_limit 1186 arguments. 1187 (GOMP_target_data_41): Renamed to ... 1188 (GOMP_target_data_ext): ... this. 1189 (GOMP_target_update_41): Renamed to ... 1190 (GOMP_target_update_ext): ... this. 1191 * libgomp.map (GOMP_4.5): Export GOMP_target_ext, 1192 GOMP_target_data_ext and GOMP_target_update_ext instead of 1193 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41. 1194 Export GOMP_loop_nonmonotonic_dynamic_next, 1195 GOMP_loop_nonmonotonic_dynamic_start, 1196 GOMP_loop_nonmonotonic_guided_next, 1197 GOMP_loop_nonmonotonic_guided_start, 1198 GOMP_loop_ull_nonmonotonic_dynamic_next, 1199 GOMP_loop_ull_nonmonotonic_dynamic_start, 1200 GOMP_loop_ull_nonmonotonic_guided_next, 1201 GOMP_loop_ull_nonmonotonic_guided_start, 1202 GOMP_parallel_loop_nonmonotonic_dynamic and 1203 GOMP_parallel_loop_nonmonotonic_guided. 1204 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic, 1205 GOMP_parallel_loop_nonmonotonic_guided, 1206 GOMP_loop_nonmonotonic_dynamic_start, 1207 GOMP_loop_nonmonotonic_guided_start, 1208 GOMP_loop_nonmonotonic_dynamic_next, 1209 GOMP_loop_nonmonotonic_guided_next): New aliases or functions. 1210 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start, 1211 GOMP_loop_ull_nonmonotonic_guided_start, 1212 GOMP_loop_ull_nonmonotonic_dynamic_next, 1213 GOMP_loop_ull_nonmonotonic_guided_next): Likewise. 1214 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline 1215 functions. 1216 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For 1217 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup. 1218 Use gomp_map_val function. 1219 (gomp_target_fallback_firstprivate): New static function. 1220 (GOMP_target_41): Renamed to ... 1221 (GOMP_target_ext): ... this. Add num_teams and thread_limit 1222 arguments. Move firstprivate fallback handling into a new 1223 function. 1224 (GOMP_target_data_41): Renamed to ... 1225 (GOMP_target_data_ext): ... this. 1226 (GOMP_target_update_41): Renamed to ... 1227 (GOMP_target_update_ext): ... this. 1228 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use 1229 gomp_map_0len_lookup instead of gomp_map_lookup. 1230 (omp_target_is_present): Use gomp_map_0len_lookup instead of 1231 gomp_map_lookup. 1232 * testsuite/libgomp.c/target-28.c: Likewise. 1233 * testsuite/libgomp.c/monotonic-1.c: New test. 1234 * testsuite/libgomp.c/monotonic-2.c: New test. 1235 * testsuite/libgomp.c/nonmonotonic-1.c: New test. 1236 * testsuite/libgomp.c/nonmonotonic-2.c: New test. 1237 * testsuite/libgomp.c/pr66199-5.c: New test. 1238 * testsuite/libgomp.c/pr66199-6.c: New test. 1239 * testsuite/libgomp.c/pr66199-7.c: New test. 1240 * testsuite/libgomp.c/pr66199-8.c: New test. 1241 * testsuite/libgomp.c/pr66199-9.c: New test. 1242 * testsuite/libgomp.c/reduction-11.c: New test. 1243 * testsuite/libgomp.c/reduction-12.c: New test. 1244 * testsuite/libgomp.c/reduction-13.c: New test. 1245 * testsuite/libgomp.c/reduction-14.c: New test. 1246 * testsuite/libgomp.c/reduction-15.c: New test. 1247 * testsuite/libgomp.c/target-12.c (main): Adjust for 1248 omp_target_is_present change for one-past-last element. 1249 * testsuite/libgomp.c/target-17.c (foo): Drop tests where 1250 the same var is both mapped and privatized. 1251 * testsuite/libgomp.c/target-19.c (foo): Adjust for different 1252 handling of zero-length array sections. 1253 * testsuite/libgomp.c/target-28.c: New test. 1254 * testsuite/libgomp.c/target-29.c: New test. 1255 * testsuite/libgomp.c/target-30.c: New test. 1256 * testsuite/libgomp.c/target-teams-1.c: New test. 1257 * testsuite/libgomp.c++/member-6.C: New test. 1258 * testsuite/libgomp.c++/member-7.C: New test. 1259 * testsuite/libgomp.c++/monotonic-1.C: New test. 1260 * testsuite/libgomp.c++/monotonic-2.C: New test. 1261 * testsuite/libgomp.c++/nonmonotonic-1.C: New test. 1262 * testsuite/libgomp.c++/nonmonotonic-2.C: New test. 1263 * testsuite/libgomp.c++/pr66199-3.C: New test. 1264 * testsuite/libgomp.c++/pr66199-4.C: New test. 1265 * testsuite/libgomp.c++/pr66199-5.C: New test. 1266 * testsuite/libgomp.c++/pr66199-6.C: New test. 1267 * testsuite/libgomp.c++/pr66199-7.C: New test. 1268 * testsuite/libgomp.c++/pr66199-8.C: New test. 1269 * testsuite/libgomp.c++/pr66199-9.C: New test. 1270 * testsuite/libgomp.c++/reduction-11.C: New test. 1271 * testsuite/libgomp.c++/reduction-12.C: New test. 1272 * testsuite/libgomp.c++/target-13.C: New test. 1273 * testsuite/libgomp.c++/target-14.C: New test. 1274 * testsuite/libgomp.c++/target-15.C: New test. 1275 * testsuite/libgomp.c++/target-16.C: New test. 1276 * testsuite/libgomp.c++/target-17.C: New test. 1277 * testsuite/libgomp.c++/target-18.C: New test. 1278 * testsuite/libgomp.c++/target-19.C: New test. 1279 12802015-11-04 Nathan Sidwell <nathan@codesourcery.com> 1281 1282 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions 1283 and reduction copy. 1284 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise. 1285 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise. 1286 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise. 1287 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. 1288 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise. 1289 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise. 1290 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise. 1291 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise. 1292 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise. 1293 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise. 1294 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise. 1295 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise. 1296 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise. 1297 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New. 1298 12992015-11-04 Nathan Sidwell <nathan@codesourcery.com> 1300 1301 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New. 1302 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New. 1303 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New. 1304 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New. 1305 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New. 1306 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New. 1307 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New. 1308 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var. 1309 13102015-11-03 Nathan Sidwell <nathan@codesourcery.com> 1311 1312 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func. 1313 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg. 1314 (GOMP_OFFLOAD_openacc_parallel): Likewise. 1315 * oacc-host.c (host_openacc_exec): Likewise. 1316 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call. 1317 13182015-11-03 Julian Brown <julian@codesourcery.com> 1319 Thomas Schwinge <thomas@codesourcery.com> 1320 1321 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file. 1322 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise. 1323 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: 1324 Likewise. 1325 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise. 1326 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise. 1327 13282015-11-03 James Norris <jnorris@codesourcery.com> 1329 1330 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New 1331 file. 1332 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: 1333 Likewise. 1334 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise. 1335 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise. 1336 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise. 1337 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file. 1338 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise. 1339 13402015-10-29 Nathan Sidwell <nathan@codesourcery.com> 1341 1342 * openacc.h (enum acc_device_t): Reformat. Ensure layout 1343 compatibility. 1344 (enum acc_async_t): Reformat. 1345 (acc_on_device): Declare compatible with builtin and provide C++ 1346 wrapper. 1347 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New. 1348 13492015-10-29 Thomas Schwinge <thomas@codesourcery.com> 1350 Cesar Philippidis <cesar@codesourcery.com> 1351 1352 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to... 1353 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c: 1354 ... this. Add a description of the test at the top of the file. 1355 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to... 1356 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: 1357 ... this. Add a description of the test at the top of the file. 1358 13592015-10-28 Nathan Sidwell <nathan@codesourcery.com> 1360 1361 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New. 1362 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New. 1363 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New. 1364 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New. 1365 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New. 1366 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New. 1367 13682015-10-27 Nathan Sidwell <nathan@codesourcery.com> 1369 1370 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute 1371 dimensions. 1372 13732015-10-27 Thomas Schwinge <thomas@codesourcery.com> 1374 1375 PR testsuite/68063 1376 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause. 1377 13782015-10-27 James Norris <jnorris@codesourcery.com> 1379 1380 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file. 1381 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise. 1382 13832015-10-26 Thomas Schwinge <thomas@codesourcery.com> 1384 1385 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr. 1386 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise. 1387 1388 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit 1389 acc_device_nvidia usage. 1390 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise. 1391 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise. 1392 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise. 1393 1394 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once. 1395 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file. 1396 1397 PR libgomp/66518 1398 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL. 1399 1400 PR libgomp/65437 1401 PR libgomp/66518 1402 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize. 1403 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL. 1404 14052015-10-23 Tom de Vries <tom@codesourcery.com> 1406 1407 PR testsuite/68063 1408 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause. 1409 14102015-10-20 Nathan Sidwell <nathan@codesourcery.com> 1411 1412 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane 1413 vector_length. 1414 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. 1415 14162015-10-14 Ilya Verbin <ilya.verbin@intel.com> 1417 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com> 1418 1419 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end 1420 to 0 when mapnum is 0. 1421 14222015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de> 1423 1424 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_): 1425 Cast to int from int32_t. 1426 14272015-10-13 Jakub Jelinek <jakub@redhat.com> 1428 Aldy Hernandez <aldyh@redhat.com> 1429 Ilya Verbin <ilya.verbin@intel.com> 1430 1431 * config/linux/affinity.c (omp_get_place_num_procs, 1432 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions. 1433 * config/linux/doacross.h: New file. 1434 * config/posix/affinity.c (omp_get_place_num_procs, 1435 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions. 1436 * config/posix/doacross.h: New file. 1437 * env.c: Include gomp-constants.h. 1438 (struct gomp_task_icv): Rename run_sched_modifier to 1439 run_sched_chunk_size. 1440 (gomp_max_task_priority_var): New variable. 1441 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size. 1442 (handle_omp_display_env): Change _OPENMP value from 201307 to 1443 201511. Print OMP_MAX_TASK_PRIORITY. 1444 (initialize_env): Parse OMP_MAX_TASK_PRIORITY. 1445 (omp_set_schedule, omp_get_schedule): Rename modifier argument to 1446 chunk_size and run_sched_modifier to run_sched_chunk_size. 1447 (omp_get_max_task_priority, omp_get_initial_device, 1448 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places, 1449 omp_get_partition_place_nums): New functions. 1450 * fortran.c (omp_set_schedule_, omp_set_schedule_8_, 1451 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument 1452 to chunk_size. 1453 (omp_get_num_places_, omp_get_place_num_procs_, 1454 omp_get_place_num_procs_8_, omp_get_place_proc_ids_, 1455 omp_get_place_proc_ids_8_, omp_get_place_num_, 1456 omp_get_partition_num_places_, omp_get_partition_place_nums_, 1457 omp_get_partition_place_nums_8_, omp_get_initial_device_, 1458 omp_get_max_task_priority_): New functions. 1459 * libgomp_g.h (GOMP_loop_doacross_static_start, 1460 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start, 1461 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start, 1462 GOMP_loop_ull_doacross_dynamic_start, 1463 GOMP_loop_ull_doacross_guided_start, 1464 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post, 1465 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait, 1466 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41, 1467 GOMP_target_data_41, GOMP_target_update_41, 1468 GOMP_target_enter_exit_data): New prototypes. 1469 (GOMP_task): Add prototype argument. 1470 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined. 1471 (struct gomp_doacross_work_share): New type. 1472 (struct gomp_work_share): Add doacross field. 1473 (struct gomp_task_icv): Rename run_sched_modifier to 1474 run_sched_chunk_size. 1475 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to 1476 GOMP_TASK_UNDEFERRED. Add comments. 1477 (struct gomp_task_depend_entry): Add comments. 1478 (struct gomp_task): Likewise. 1479 (struct gomp_taskgroup): Likewise. 1480 (struct gomp_target_task): New type. 1481 (struct gomp_team): Add comment. 1482 (gomp_get_place_proc_ids_8, gomp_doacross_init, 1483 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies, 1484 gomp_create_target_task, gomp_target_task_fn): New prototypes. 1485 (struct target_var_desc): New type. 1486 (struct target_mem_desc): Adjust comment. Use struct 1487 target_var_desc instead of splay_tree_key for list. 1488 (REFCOUNT_INFINITY): Define. 1489 (struct splay_tree_key_s): Remove copy_from field. 1490 (struct gomp_device_descr): Add dev2dev_func field. 1491 (enum gomp_map_vars_kind): New enum. 1492 (gomp_map_vars): Add one argument. 1493 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority, 1494 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_, 1495 omp_get_place_num_procs, omp_get_place_num_procs_, 1496 omp_get_place_num_procs_8_, omp_get_place_proc_ids, 1497 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num, 1498 omp_get_place_num_, omp_get_partition_num_places, 1499 omp_get_partition_num_places_, omp_get_partition_place_nums, 1500 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_, 1501 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc, 1502 omp_target_free, omp_target_is_present, omp_target_memcpy, 1503 omp_target_memcpy_rect, omp_target_associate_ptr and 1504 omp_target_disassociate_ptr. 1505 (GOMP_4.0.2): Renamed to ... 1506 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41, 1507 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop, 1508 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start, 1509 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start, 1510 GOMP_loop_doacross_static_start, GOMP_doacross_post, 1511 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start, 1512 GOMP_loop_ull_doacross_guided_start, 1513 GOMP_loop_ull_doacross_runtime_start, 1514 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and 1515 GOMP_doacross_ull_wait. 1516 * libgomp.texi: Document omp_get_max_task_priority. 1517 Rename modifier argument to chunk_size for omp_set_schedule and 1518 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var. 1519 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier 1520 to run_sched_chunk_size renaming. 1521 (GOMP_loop_ordered_runtime_start): Likewise. 1522 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start, 1523 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start, 1524 GOMP_parallel_loop_runtime_start): New functions. 1525 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier 1526 to run_sched_chunk_size renaming. 1527 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start, 1528 GOMP_loop_doacross_guided_start): New functions or aliases. 1529 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for 1530 run_sched_modifier to run_sched_chunk_size renaming. 1531 (GOMP_loop_ull_ordered_runtime_start): Likewise. 1532 (gomp_loop_ull_doacross_static_start, 1533 gomp_loop_ull_doacross_dynamic_start, 1534 gomp_loop_ull_doacross_guided_start, 1535 GOMP_loop_ull_doacross_runtime_start): New functions. 1536 (GOMP_loop_ull_doacross_static_start, 1537 GOMP_loop_ull_doacross_dynamic_start, 1538 GOMP_loop_ull_doacross_guided_start): New functions or aliases. 1539 * oacc-mem.c (acc_map_data, present_create_copy, 1540 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false 1541 to gomp_map_vars. 1542 (gomp_acc_remove_pointer): Use copy_from from target_var_desc. 1543 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC 1544 instead of false to gomp_map_vars. 1545 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc. 1546 * omp.h.in (omp_lock_hint_t): New type. 1547 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint, 1548 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids, 1549 omp_get_place_num, omp_get_partition_num_places, 1550 omp_get_partition_place_nums, omp_get_initial_device, 1551 omp_get_max_task_priority, omp_target_alloc, omp_target_free, 1552 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect, 1553 omp_target_associate_ptr, omp_target_disassociate_ptr): New 1554 prototypes. 1555 * omp_lib.f90.in (omp_lock_hint_kind): New parameter. 1556 (omp_lock_hint_none, omp_lock_hint_uncontended, 1557 omp_lock_hint_contended, omp_lock_hint_nonspeculative, 1558 omp_lock_hint_speculative): New parameters. 1559 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint, 1560 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids, 1561 omp_get_place_num, omp_get_partition_num_places, 1562 omp_get_partition_place_nums, omp_get_initial_device, 1563 omp_get_max_task_priority): New interfaces. 1564 (omp_set_schedule, omp_get_schedule): Rename modifier argument 1565 to chunk_size. 1566 * omp_lib.h.in (omp_lock_hint_kind): New parameter. 1567 (omp_lock_hint_none, omp_lock_hint_uncontended, 1568 omp_lock_hint_contended, omp_lock_hint_nonspeculative, 1569 omp_lock_hint_speculative): New parameters. 1570 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint, 1571 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids, 1572 omp_get_place_num, omp_get_partition_num_places, 1573 omp_get_partition_place_nums, omp_get_initial_device, 1574 omp_get_max_task_priority): New functions and subroutines. 1575 * ordered.c: Include stdarg.h and string.h. 1576 (MAX_COLLAPSED_BITS): Define. 1577 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait, 1578 gomp_doacross_ull_init, GOMP_doacross_ull_post, 1579 GOMP_doacross_ull_wait): New functions. 1580 * target.c: Include errno.h. 1581 (resolve_device): If device is not initialized, call 1582 gomp_init_device on it. 1583 (gomp_map_lookup): New function. 1584 (gomp_map_vars_existing): Add tgt_var argument, fill it in. 1585 Don't bump refcount if REFCOUNT_INFINITY. Handle 1586 GOMP_MAP_ALWAYS_TO_P. 1587 (get_kind): Rename is_openacc argument to short_mapkind. 1588 (gomp_map_pointer): Use gomp_map_lookup. 1589 (gomp_map_fields_existing): New function. 1590 (gomp_map_vars): Rename is_openacc argument to short_mapkind 1591 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA, 1592 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT, 1593 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION. 1594 Adjust for tgt->list changed type and copy_from living in there. 1595 (gomp_copy_from_async): Adjust for tgt->list changed type and 1596 copy_from living in there. 1597 (gomp_unmap_vars): Likewise. 1598 (gomp_update): Likewise. Rename is_openacc argument to 1599 short_mapkind. Don't fail if object is not mapped. 1600 (gomp_load_image_to_device): Initialize refcount to 1601 REFCOUNT_INFINITY. 1602 (gomp_target_fallback): New function. 1603 (gomp_get_target_fn_addr): Likewise. 1604 (GOMP_target): Adjust gomp_map_vars caller, use 1605 gomp_get_target_fn_addr and gomp_target_fallback. 1606 (GOMP_target_41): New function. 1607 (gomp_target_data_fallback): New function. 1608 (GOMP_target_data): Use it, adjust gomp_map_vars caller. 1609 (GOMP_target_data_41): New function. 1610 (GOMP_target_update): Adjust gomp_update caller. 1611 (GOMP_target_update_41): New function. 1612 (gomp_exit_data, GOMP_target_enter_exit_data, 1613 gomp_target_task_fn, omp_target_alloc, omp_target_free, 1614 omp_target_is_present, omp_target_memcpy, 1615 omp_target_memcpy_rect_worker, omp_target_memcpy_rect, 1616 omp_target_associate_ptr, omp_target_disassociate_ptr, 1617 gomp_load_plugin_for_device): New functions. 1618 * task.c: Include gomp-constants.h. Include taskloop.c 1619 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions. 1620 (gomp_task_handle_depend): New function. 1621 (GOMP_task): Use it. Add priority argument. Use 1622 gomp-constant.h constants instead of hardcoded numbers. 1623 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED. 1624 (gomp_create_target_task): New function. 1625 (verify_children_queue, verify_taskgroup_queue, 1626 verify_task_queue): New functions. 1627 (gomp_task_run_pre): Call verify_*_queue functions. 1628 If an upcoming tied task is about to leave the sibling or 1629 taskgroup queues in an invalid state, adjust appropriately. 1630 Remove taskgroup argument. Add comments. 1631 (gomp_task_run_post_handle_dependers): Add comments. 1632 (gomp_task_run_post_remove_parent): Likewise. 1633 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller. 1634 (GOMP_taskwait): Likewise. Add comments. 1635 (gomp_task_maybe_wait_for_dependencies): Fix scheduling 1636 problem such that the first non parent_depends_on task does not 1637 end up at the end of the children queue. 1638 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to 1639 GOMP_TASK_UNDEFERRED. 1640 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller. 1641 * taskloop.c: New file. 1642 * testsuite/lib/libgomp.exp 1643 (check_effective_target_offload_device_nonshared_as): New proc. 1644 * testsuite/libgomp.c/affinity-2.c: New test. 1645 * testsuite/libgomp.c/doacross-1.c: New test. 1646 * testsuite/libgomp.c/doacross-2.c: New test. 1647 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper): 1648 Add map clause to target. 1649 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise. 1650 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise. 1651 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise. 1652 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise. 1653 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt): 1654 Likewise. 1655 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise. 1656 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise. 1657 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise. 1658 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if 1659 not defined. Use those where needed. 1660 * testsuite/libgomp.c/for-4.c: New test. 1661 * testsuite/libgomp.c/for-5.c: New test. 1662 * testsuite/libgomp.c/for-6.c: New test. 1663 * testsuite/libgomp.c/linear-1.c: New test. 1664 * testsuite/libgomp.c/ordered-4.c: New test. 1665 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause 1666 only allowed on the loop iterator. 1667 * testsuite/libgomp.c/pr66199-3.c: New test. 1668 * testsuite/libgomp.c/pr66199-4.c: New test. 1669 * testsuite/libgomp.c/reduction-7.c: New test. 1670 * testsuite/libgomp.c/reduction-8.c: New test. 1671 * testsuite/libgomp.c/reduction-9.c: New test. 1672 * testsuite/libgomp.c/reduction-10.c: New test. 1673 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add 1674 map(tofrom:s). 1675 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise. 1676 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed. 1677 * testsuite/libgomp.c/target-11.c: New test. 1678 * testsuite/libgomp.c/target-12.c: New test. 1679 * testsuite/libgomp.c/target-13.c: New test. 1680 * testsuite/libgomp.c/target-14.c: New test. 1681 * testsuite/libgomp.c/target-15.c: New test. 1682 * testsuite/libgomp.c/target-16.c: New test. 1683 * testsuite/libgomp.c/target-17.c: New test. 1684 * testsuite/libgomp.c/target-18.c: New test. 1685 * testsuite/libgomp.c/target-19.c: New test. 1686 * testsuite/libgomp.c/target-20.c: New test. 1687 * testsuite/libgomp.c/target-21.c: New test. 1688 * testsuite/libgomp.c/target-22.c: New test. 1689 * testsuite/libgomp.c/target-23.c: New test. 1690 * testsuite/libgomp.c/target-24.c: New test. 1691 * testsuite/libgomp.c/target-25.c: New test. 1692 * testsuite/libgomp.c/target-26.c: New test. 1693 * testsuite/libgomp.c/target-27.c: New test. 1694 * testsuite/libgomp.c/taskloop-1.c: New test. 1695 * testsuite/libgomp.c/taskloop-2.c: New test. 1696 * testsuite/libgomp.c/taskloop-3.c: New test. 1697 * testsuite/libgomp.c/taskloop-4.c: New test. 1698 * testsuite/libgomp.c++/ctor-13.C: New test. 1699 * testsuite/libgomp.c++/doacross-1.C: New test. 1700 * testsuite/libgomp.c++/examples-4/declare_target-2.C: 1701 Replace offload_device with offload_device_nonshared_as. 1702 * testsuite/libgomp.c++/for-12.C: New test. 1703 * testsuite/libgomp.c++/for-13.C: New test. 1704 * testsuite/libgomp.c++/for-14.C: New test. 1705 * testsuite/libgomp.c++/linear-1.C: New test. 1706 * testsuite/libgomp.c++/member-1.C: New test. 1707 * testsuite/libgomp.c++/member-2.C: New test. 1708 * testsuite/libgomp.c++/member-3.C: New test. 1709 * testsuite/libgomp.c++/member-4.C: New test. 1710 * testsuite/libgomp.c++/member-5.C: New test. 1711 * testsuite/libgomp.c++/ordered-1.C: New test. 1712 * testsuite/libgomp.c++/reduction-5.C: New test. 1713 * testsuite/libgomp.c++/reduction-6.C: New test. 1714 * testsuite/libgomp.c++/reduction-7.C: New test. 1715 * testsuite/libgomp.c++/reduction-8.C: New test. 1716 * testsuite/libgomp.c++/reduction-9.C: New test. 1717 * testsuite/libgomp.c++/reduction-10.C: New test. 1718 * testsuite/libgomp.c++/reference-1.C: New test. 1719 * testsuite/libgomp.c++/simd14.C: New test. 1720 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause. 1721 * testsuite/libgomp.c++/target-5.C: New test. 1722 * testsuite/libgomp.c++/target-6.C: New test. 1723 * testsuite/libgomp.c++/target-7.C: New test. 1724 * testsuite/libgomp.c++/target-8.C: New test. 1725 * testsuite/libgomp.c++/target-9.C: New test. 1726 * testsuite/libgomp.c++/target-10.C: New test. 1727 * testsuite/libgomp.c++/target-11.C: New test. 1728 * testsuite/libgomp.c++/target-12.C: New test. 1729 * testsuite/libgomp.c++/taskloop-1.C: New test. 1730 * testsuite/libgomp.c++/taskloop-2.C: New test. 1731 * testsuite/libgomp.c++/taskloop-3.C: New test. 1732 * testsuite/libgomp.c++/taskloop-4.C: New test. 1733 * testsuite/libgomp.c++/taskloop-5.C: New test. 1734 * testsuite/libgomp.c++/taskloop-6.C: New test. 1735 * testsuite/libgomp.c++/taskloop-7.C: New test. 1736 * testsuite/libgomp.c++/taskloop-8.C: New test. 1737 * testsuite/libgomp.c++/taskloop-9.C: New test. 1738 * testsuite/libgomp.fortran/affinity1.f90: New test. 1739 * testsuite/libgomp.fortran/affinity2.f90: New test. 1740 17412015-10-13 Tom de Vries <tom@codesourcery.com> 1742 1743 PR tree-optimization/67476 1744 * testsuite/libgomp.c/autopar-3.c: New test. 1745 * testsuite/libgomp.c/autopar-4.c: New test. 1746 * testsuite/libgomp.c/autopar-5.c: New test. 1747 * testsuite/libgomp.c/autopar-6.c: New test. 1748 * testsuite/libgomp.c/autopar-7.c: New test. 1749 * testsuite/libgomp.c/autopar-8.c: New test. 1750 17512015-10-12 James Norris <jnorris@codesourcery.com> 1752 1753 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop 1754 initializer. 1755 17562015-10-09 David Malcolm <dmalcolm@redhat.com> 1757 1758 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp, 1759 using load_gcc_lib. 1760 17612015-10-02 Thomas Schwinge <thomas@codesourcery.com> 1762 1763 * oacc-ptx.h: Remove file, moving its content into... 1764 * config/nvptx/fortran.c: ... here... 1765 * config/nvptx/oacc-init.c: ..., here... 1766 * config/nvptx/oacc-parallel.c: ..., and here. 1767 * config/nvptx/openacc.f90: New file. 1768 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h". 1769 (link_ptx): Don't link in predefined bits of PTX code. 1770 17712015-09-30 Nathan Sidwell <nathan@codesourcery.com> 1772 Bernd Schmidt <bernds@codesourcery.com> 1773 1774 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX. 1775 (struct targ_ptx_obj): New. 1776 (nvptx_tdata): Move earlier, change data format. 1777 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple 1778 objects. 1779 (GOMP_OFFLOAD_load_image): Adjust. 1780 17812015-09-30 Thomas Schwinge <thomas@codesourcery.com> 1782 1783 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint. 1784 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise. 1785 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise. 1786 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise. 1787 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise. 1788 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise. 1789 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise. 1790 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise. 1791 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise. 1792 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise. 1793 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise. 1794 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise. 1795 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise. 1796 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise. 1797 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise. 1798 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise. 1799 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise. 1800 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise. 1801 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise. 1802 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise. 1803 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. 1804 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise. 1805 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise. 1806 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise. 1807 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise. 1808 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise. 1809 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise. 1810 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise. 1811 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise. 1812 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise. 1813 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise. 1814 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise. 1815 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise. 1816 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise. 1817 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. 1818 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise. 1819 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise. 1820 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise. 1821 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise. 1822 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise. 1823 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise. 1824 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise. 1825 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise. 1826 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise. 1827 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise. 1828 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise. 1829 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise. 1830 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise. 1831 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise. 1832 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise. 1833 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise. 1834 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise. 1835 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise. 1836 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise. 1837 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise. 1838 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise. 1839 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise. 1840 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise. 1841 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise. 1842 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise. 1843 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise. 1844 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise. 1845 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise. 1846 18472015-09-29 Nathan Sidwell <nathan@codesourcery.com> 1848 1849 * oacc-init.c (acc_on_device): Force optimization level. 1850 18512015-09-29 Nathan Sidwell <nathan@codesourcery.com> 1852 1853 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete. 1854 (cuda_errlist): Delete. 1855 (cuda_error): Reimplement. 1856 18572015-09-28 Nathan Sidwell <nathan@codesourcery.com> 1858 1859 * libgomp.h (acc_dispatch_t): Replace separate geometry args with 1860 array. 1861 * libgomp.map (GOACC_parallel_keyed): New. 1862 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust 1863 all callers. 1864 (GOACC_parallel_keyed): New interface. Lose geometry arguments 1865 and take keyed varargs list. Adjust call to exec_func. 1866 (GOACC_parallel): Force host fallback. 1867 * libgomp_g.h (GOACC_parallel): Remove. 1868 (GOACC_parallel_keyed): Declare. 1869 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct. 1870 (stuct targ_gn_descriptor): Replace name field with launch field. 1871 (nvptx_exec): Lose separate geometry args, take array. Process 1872 dynamic dimensions and adjust. 1873 (struct nvptx_tdata): Replace fn_names field with fn_descs. 1874 (GOMP_OFFLOAD_load_image): Adjust for change in function table 1875 data. 1876 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension 1877 passing. 1878 * oacc-host.c (host_openacc_exec): Adjust for change in dimension 1879 passing. 1880 18812015-09-22 Chung-Lin Tang <cltang@codesourcery.com> 1882 1883 PR libgomp/67141 1884 * oacc-int.h (goacc_host_init): Add declaration. 1885 * oacc-host.c (goacc_host_init): Remove static and constructor attribute. 1886 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end. 1887 18882015-09-08 Aditya Kumar <hiraditya@msn.com> 1889 Sebastian Pop <s.pop@samsung.com> 1890 1891 * testsuite/libgomp.graphite/bounds.c (int foo): Modifed test case to 1892 match o/p. 1893 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same. 1894 * testsuite/libgomp.graphite/force-parallel-4.c: Same. 1895 * testsuite/libgomp.graphite/force-parallel-5.c: Same. 1896 * testsuite/libgomp.graphite/force-parallel-7.c: Same. 1897 * testsuite/libgomp.graphite/force-parallel-8.c: Same. 1898 18992015-09-03 Jakub Jelinek <jakub@redhat.com> 1900 1901 * configure.tgt: Add missing ;; in between nvptx and rtems 1902 snippets. 1903 19042015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de> 1905 1906 * config/posix/pool.h (gomp_adjust_thread_attr): New. 1907 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise. 1908 (gomp_thread_pool_reservoir): Add priority member. 1909 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add 1910 priority. 1911 (parse_thread_pools): Likewise. 1912 * team.c (gomp_team_start): Call configuration provided 1913 gomp_adjust_thread_attr(). Destroy thread attributes if 1914 necessary. 1915 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS. 1916 19172015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de> 1918 1919 * config/posix/pool.h: New. 1920 * config/rtems/pool.h: Likewise. 1921 * config/rtems/proc.c: Likewise. 1922 * libgomp.h (gomp_thread_destructor): Declare. 1923 * team.c: Include configuration provided "pool.h". 1924 (gomp_get_thread_pool): Define in configuration. 1925 (gomp_team_end): Call configuration defined 1926 gomp_release_thread_pool(). 1927 19282015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de> 1929 1930 * config/rtems/bar.c: New. 1931 * config/rtems/bar.h: Likewise. 1932 * config/rtems/mutex.c: Likewise. 1933 * config/rtems/mutex.h: Likewise. 1934 * config/rtems/sem.c: Likewise. 1935 * config/rtems/sem.h: Likewise. 1936 * configure.ac (*-*-rtems*): Check that Newlib provides a proper 1937 <sys/lock.h> header file. 1938 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if 1939 supported by Newlib. 1940 * configure: Regenerate. 1941 19422015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de> 1943 1944 * team.c (gomp_new_thread_pool): Delete and move content to ... 1945 (gomp_get_thread_pool): ... new function. Allocate and 1946 initialize thread pool on demand. 1947 (get_last_team): Use gomp_get_thread_pool(). 1948 (gomp_team_start): Delete thread pool initialization. 1949 19502015-09-03 Tom de Vries <tom@codesourcery.com> 1951 1952 PR tree-optimization/65637 1953 * testsuite/libgomp.c/autopar-2.c: New test. 1954 19552015-08-29 Tom de Vries <tom@codesourcery.com> 1956 1957 PR tree-optimization/46193 1958 * testsuite/libgomp.c/pr46193.c: New test. 1959 19602015-08-24 Nathan Sidwell <nathan@codesourcery.com> 1961 1962 libgomp/ 1963 * libgomp.map: Add 4.0.2 version. 1964 * target.c (offload_image_descr): Add version field. 1965 (gomp_load_image_to_device): Add version argument. Adjust plugin 1966 call. Improve load mismatch diagnostic. 1967 (gomp_unload_image_from_device): Add version argument. Adjust plugin 1968 call. 1969 (GOMP_offload_regster): Make stub function, move bulk to ... 1970 (GOMP_offload_register_ver): ... here. Process version argument. 1971 (GOMP_offload_unregister): Make stub function, move bulk to ... 1972 (GOMP_offload_unregister_ver): ... here. Process version argument. 1973 (gomp_init_device): Process version field. 1974 (gomp_unload_device): Process version field. 1975 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT 1976 macros. Check plugin version. 1977 * libgomp.h (gomp_device_descr): Add version function field. Adjust 1978 loader and unloader types. 1979 * oacc-host.c: Include gomp-constants.h. 1980 (host_version): New. 1981 (host_load_image, host_unload_image): Adjust. 1982 (host_dispatch): Add host_version. 1983 * plugin/plugin-nvptx.c: Include gomp-constants.h. 1984 (GOMP_OFFLOAD_version): New. 1985 (GOMP_OFFLOAD_load_image): Add version arg and check it. 1986 (GOMP_OFFLOAD_unload_image): Likewise. 1987 * plugin/plugin-host.c: Include gomp-constants.h. 1988 (GOMP_OFFLOAD_version): New. 1989 (GOMP_OFFLOAD_load_image): Add version arg. 1990 (GOMP_OFFLOAD_unload_image): Likewise. 1991 19922015-08-24 Tom de Vries <tom@codesourcery.com> 1993 1994 PR tree-optimization/65468 1995 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test. 1996 19972015-08-24 Tom de Vries <tom@codesourcery.com> 1998 1999 PR tree-optimization/65468 2000 * testsuite/libgomp.c/static-chunk-size-one.c: New test. 2001 20022015-08-24 Joost VandeVondele <vondele@gnu.gcc.org> 2003 2004 PR libgomp/66761 2005 PR libgomp/67303 2006 * iter.c (gomp_iter_dynamic_next): Employ an atomic load. 2007 (gomp_iter_guided_next): Idem. 2008 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem. 2009 (gomp_iter_ull_guided_next): Idem. 2010 * config/linux/wait.h (do_spin): Idem. 2011 20122015-08-10 Thomas Schwinge <thomas@codesourcery.com> 2013 2014 * libgomp-plugin.h (enum offload_target_type): Remove 2015 OFFLOAD_TARGET_TYPE_HOST_NONSHM. 2016 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm. 2017 * openacc.h (enum acc_device_t): Likewise. 2018 * openacc_lib.h: Likewise. 2019 * oacc-init.c (name_of_acc_device_t): Don't handle it. 2020 (acc_on_device): Just use __builtin_acc_on_device. 2021 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage 2022 of acc_on_device builtin. 2023 * plugin/plugin-host.h: Remove file. 2024 * plugin/plugin-host.c: Likewise, but salvage some content into... 2025 * oacc-host.c: ... this file. 2026 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la. 2027 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm. 2028 * Makefile.in: Regenerate. 2029 * configure: Likewise. 2030 * testsuite/lib/libgomp.exp 2031 (check_effective_target_openacc_host_nonshm_selected): Remove. 2032 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle 2033 ACC_DEVICE_TYPE=host_nonshm. 2034 * testsuite/libgomp.oacc-c/c.exp: Likewise. 2035 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 2036 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise. 2037 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise. 2038 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise. 2039 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise. 2040 20412015-08-10 Thomas Schwinge <thomas@codesourcery.com> 2042 Jakub Jelinek <jakub@redhat.com> 2043 2044 * config/nvptx/affinity.c: New file. 2045 * config/nvptx/alloc.c: Likewise. 2046 * config/nvptx/bar.c: Likewise. 2047 * config/nvptx/barrier.c: Likewise. 2048 * config/nvptx/critical.c: Likewise. 2049 * config/nvptx/env.c: Likewise. 2050 * config/nvptx/error.c: Likewise. 2051 * config/nvptx/fortran.c: Likewise. 2052 * config/nvptx/iter.c: Likewise. 2053 * config/nvptx/iter_ull.c: Likewise. 2054 * config/nvptx/libgomp-plugin.c: Likewise. 2055 * config/nvptx/lock.c: Likewise. 2056 * config/nvptx/loop.c: Likewise. 2057 * config/nvptx/loop_ull.c: Likewise. 2058 * config/nvptx/mutex.c: Likewise. 2059 * config/nvptx/oacc-async.c: Likewise. 2060 * config/nvptx/oacc-cuda.c: Likewise. 2061 * config/nvptx/oacc-host.c: Likewise. 2062 * config/nvptx/oacc-init.c: Likewise. 2063 * config/nvptx/oacc-mem.c: Likewise. 2064 * config/nvptx/oacc-parallel.c: Likewise. 2065 * config/nvptx/oacc-plugin.c: Likewise. 2066 * config/nvptx/omp-lock.h: Likewise. 2067 * config/nvptx/ordered.c: Likewise. 2068 * config/nvptx/parallel.c: Likewise. 2069 * config/nvptx/proc.c: Likewise. 2070 * config/nvptx/ptrlock.c: Likewise. 2071 * config/nvptx/sections.c: Likewise. 2072 * config/nvptx/sem.c: Likewise. 2073 * config/nvptx/single.c: Likewise. 2074 * config/nvptx/splay-tree.c: Likewise. 2075 * config/nvptx/target.c: Likewise. 2076 * config/nvptx/task.c: Likewise. 2077 * config/nvptx/team.c: Likewise. 2078 * config/nvptx/time.c: Likewise. 2079 * config/nvptx/work.c: Likewise. 2080 * configure.ac: Don't probe pthreads support for host nvptx*-*-*. 2081 * configure: Regenerate. 2082 * configure.tgt (config_path): Set to "nvptx" for target 2083 nvptx*-*-*. 2084 20852015-08-10 Thomas Schwinge <thomas@codesourcery.com> 2086 2087 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file. 2088 20892015-08-03 Nathan Sidwell <nathan@codesourcery.com> 2090 2091 * plugin/plugin-nvptx.c: Don't include dlfcn.h. 2092 (cuda_errlist): Constify. 2093 (errmsg): Move into ... 2094 (cuda_error): ... here. Make smaller. 2095 (_XSTR, _STR): Delete. 2096 (cuda_synames): Delete. 2097 (verify_device_library): Delete. 2098 (nvptx_init): Don't call it. 2099 21002015-07-28 Tom de Vries <tom@codesourcery.com> 2101 2102 * testsuite/libgomp.c/uns-outer-4.c: New test. 2103 21042015-07-24 Cesar Philippidis <cesar@codesourcery.com> 2105 2106 * testsuite/libgomp.c/pr66714.c: New test. 2107 21082015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com> 2109 2110 PR libgomp/66950 2111 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45. 2112 (fib_ref): New function. 2113 (fib): Correct corner cases in the recursion. 2114 (main): Replace the non-simd loop with fib_ref call. 2115 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New 2116 subroutine. 2117 (fibonacci): Lower the parameter N to 30. Correct accordingly check 2118 for the last array element value. Replace the non-simd loop with 2119 fib_ref call. Remove redundant b_ref array. Remove the comparison 2120 of the last array element with according Fibonacci sequence element. 2121 (fib): Correct corner cases in the recursion. 2122 21232015-07-21 Nathan Sidwell <nathan@codesourcery.com> 2124 2125 * target.c (gomp_offload_image_to_device): Rename to ... 2126 (gomp_load_image_to_device): ... here. 2127 (GOMP_offload_register): Adjust call. 2128 (gomp_init_device): Likewise. 2129 (gomp_unload_image_from_device): New. Broken out of ... 2130 (GOMP_offload_unregister): ... here. Call it. 2131 (gomp_unload_device): New. 2132 * libgomp.h (gomp_unload_device): Declare. 2133 * oacc-init.c (acc_shutdown_1): Unload from device before deleting 2134 mem maps. 2135 21362015-07-20 Nathan Sidwell <nathan@codesourcery.com> 2137 2138 * oacc-parallel.c (GOACC_parallel): Move variadic handling into 2139 wait=-specific if. 2140 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits 2141 !=0 condition. 2142 (goacc_waits): Move !num_waits handling to ... 2143 (GOACC_wait): ... here, the only caller that might have zero waits. 2144 2145 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later. 2146 (struct ptx_image_data): Move earlier, add fns field. 2147 (struct ptx_device): Add images and image_lock fields. 2148 (ptx_images, ptx_image_lock): Delete. 2149 (nvptx_open_device): Initialize images and image_lock fields. 2150 (nvptx_close_device): Destroy image_lock. 2151 (GOMP_OFFLOAD_load_image): Register image to device-specific fields. 2152 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific 2153 fields. 2154 21552015-07-17 Nathan Sidwell <nathan@codesourcery.com> 2156 2157 * target.c (GOMP_offload_register): Use int for device type arg. 2158 (GOMP_offload_unregister): Likewise. 2159 2160 * target.c (struct_offload_image_descr): Constify host_table. 2161 (gomp_offload_image_to_device): Likewise. 2162 (GOMP_offload_register, GOMP_offload_unregister): Likewise. 2163 2164 * libgomp.h (gomp_device_descr): Constify target data arguments. 2165 * target.c (struct offload_image_descr): Constify target_data. 2166 (gomp_offload_image_to_device): Likewise. 2167 (GOMP_offload_register): Likewise. 2168 (GOMP_offload_unrefister): Likewise. 2169 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image, 2170 GOMP_OFFLOAD_unload_image): Constify target data. 2171 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data. 2172 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise. 2173 21742015-07-16 Nathan Sidwell <nathan@codesourcery.com> 2175 2176 * plugin/plugin-nvptx.c (link_ptx): Constify string argument. 2177 Workaround driver library const error. 2178 (struct nvptx_tdata, nvptx_tdata_t): New. 2179 (GOMP_OFFLOAD_load_image): Use struct for target_data's real 2180 type. 2181 21822015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com> 2183 2184 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type 2185 of EPS parameter from integer to real. 2186 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change 2187 type of EPS parameter from integer to real. 2188 21892015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de> 2190 2191 * team.c (get_last_team): New. 2192 (gomp_new_team): Recycle last non-nested team if possible. 2193 (gomp_team_end): Move team work share list free lock destruction 2194 to ... 2195 (free_team): ... here. 2196 21972015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com> 2198 2199 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res 2200 and ref from int to double. Replaced their comparison with 2201 an inequality of their difference and EPS. 2202 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the 2203 comparison of pri and a reference number with an inequality of their 2204 difference and EPS. 2205 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced 2206 the comparison of sum and sum_ref with an inequality of their 2207 difference and EPS. 2208 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace 2209 the comparison of pri and a reference number with an inequality of 2210 their difference and EPS. 2211 22122015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com> 2213 2214 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to... 2215 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this. 2216 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to... 2217 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this. 2218 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to... 2219 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this. 2220 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to... 2221 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this. 2222 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to... 2223 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this. 2224 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to... 2225 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this. 2226 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local 2227 variables. 2228 (vec_mult): Likewise. Add #pragma omp taskwait. 2229 (main): Adjust caller. 2230 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to... 2231 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this. 2232 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to... 2233 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this. 2234 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to... 2235 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this. 2236 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to... 2237 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this. 2238 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to... 2239 * testsuite/libgomp.c/examples-4/device-1.c: ...this. 2240 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to... 2241 * testsuite/libgomp.c/examples-4/device-2.c: ...this. 2242 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to... 2243 * testsuite/libgomp.c/examples-4/device-3.c: ...this. 2244 * testsuite/libgomp.c/examples-4/simd-1.c: New file. 2245 * testsuite/libgomp.c/examples-4/simd-2.c: New file. 2246 * testsuite/libgomp.c/examples-4/simd-3.c: New file. 2247 * testsuite/libgomp.c/examples-4/simd-4.c: New file. 2248 * testsuite/libgomp.c/examples-4/simd-5.c: New file. 2249 * testsuite/libgomp.c/examples-4/simd-6.c: New file. 2250 * testsuite/libgomp.c/examples-4/simd-7.c: New file. 2251 * testsuite/libgomp.c/examples-4/simd-8.c: New file. 2252 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to... 2253 * testsuite/libgomp.c/examples-4/target-1.c: ...this. 2254 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to... 2255 * testsuite/libgomp.c/examples-4/target-2.c: ...this. 2256 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to... 2257 * testsuite/libgomp.c/examples-4/target-3.c: ...this. 2258 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to... 2259 * testsuite/libgomp.c/examples-4/target-4.c: ...this. 2260 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to... 2261 * testsuite/libgomp.c/examples-4/target-5.c: ...this. 2262 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to... 2263 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this. 2264 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to... 2265 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this. 2266 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to... 2267 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this. 2268 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to... 2269 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this. 2270 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to... 2271 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this. 2272 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to... 2273 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this. 2274 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to... 2275 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this. 2276 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to... 2277 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this. 2278 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file. 2279 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file. 2280 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file. 2281 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file. 2282 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file. 2283 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to... 2284 * testsuite/libgomp.c/examples-4/teams-2.c: ...this. 2285 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to... 2286 * testsuite/libgomp.c/examples-4/teams-3.c: ...this. 2287 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to... 2288 * testsuite/libgomp.c/examples-4/teams-4.c: ...this. 2289 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to... 2290 * testsuite/libgomp.c/examples-4/teams-5.c: ...this. 2291 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to... 2292 * testsuite/libgomp.c/examples-4/teams-6.c: ...this. 2293 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to... 2294 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this. 2295 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to... 2296 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this. 2297 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to... 2298 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this. 2299 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to... 2300 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this. 2301 (vec_mult): Add !$omp taskwait. 2302 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to... 2303 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this. 2304 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to... 2305 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this. 2306 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to... 2307 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this. 2308 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to... 2309 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this. 2310 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to... 2311 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this. 2312 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to... 2313 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this. 2314 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to... 2315 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this. 2316 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to... 2317 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this. 2318 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file. 2319 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file. 2320 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file. 2321 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file. 2322 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file. 2323 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file. 2324 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file. 2325 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file. 2326 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to... 2327 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this. 2328 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to... 2329 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this. 2330 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to... 2331 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this. 2332 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to... 2333 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this. 2334 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to... 2335 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this. 2336 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to... 2337 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this. 2338 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to... 2339 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this. 2340 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to... 2341 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this. 2342 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to... 2343 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this. 2344 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to... 2345 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this. 2346 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to... 2347 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this. 2348 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to... 2349 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this. 2350 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to... 2351 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this. 2352 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to... 2353 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this. 2354 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file. 2355 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file. 2356 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file. 2357 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file. 2358 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file. 2359 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to... 2360 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this. 2361 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to... 2362 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this. 2363 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to... 2364 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this. 2365 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to... 2366 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this. 2367 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to... 2368 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this. 2369 23702015-07-10 Tom de Vries <tom@codesourcery.com> 2371 2372 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test. 2373 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test. 2374 23752015-07-08 Thomas Schwinge <thomas@codesourcery.com> 2376 2377 PR libgomp/65099 2378 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not 2379 in a 64-bit configuration. 2380 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia 2381 offloading testing if no such device is available. 2382 * testsuite/libgomp.oacc-c/c.exp: Likewise. 2383 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 2384 23852015-07-08 Tom de Vries <tom@codesourcery.com> 2386 2387 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix 2388 second call to f. 2389 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same. 2390 23912015-07-07 Tom de Vries <tom@codesourcery.com> 2392 2393 PR tree-optimization/66642 2394 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low 2395 iteration count case. 2396 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New 2397 function, factor out of ... 2398 (main): ... here. Test low iteration count case. 2399 24002015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de> 2401 2402 * libgomp.h (gomp_thread_pool): Comment last_team field. 2403 24042015-07-02 Uros Bizjak <ubizjak@gmail.com> 2405 2406 * testsuite/libgomp.c++/pr66702-1.C: Require 2407 vect_simd_clones effective target. 2408 * testsuite/libgomp.c++/pr66702-2.C: Ditto. 2409 24102015-06-30 Tom de Vries <tom@codesourcery.com> 2411 2412 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not 2413 already set. Use DEFAULT_CFLAGS in dg-runtest. 2414 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options 2415 "-O2". 2416 24172015-06-30 Tom de Vries <tom@codesourcery.com> 2418 2419 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not 2420 already set. Use DEFAULT_CFLAGS in dg-runtest. 2421 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp". 2422 * testsuite/libgomp.c++/pr64824.C: Same. 2423 * testsuite/libgomp.c++/pr64868.C: Same. 2424 * testsuite/libgomp.c++/pr66199-1.C: Same. 2425 * testsuite/libgomp.c++/pr66199-2.C: Same. 2426 * testsuite/libgomp.c++/target-2.C: Same. 2427 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for 2428 -std=<standard> option. 2429 * testsuite/libgomp.c++/udr-11.C: Same. 2430 * testsuite/libgomp.c++/udr-12.C: Same. 2431 * testsuite/libgomp.c++/udr-13.C: Same. 2432 * testsuite/libgomp.c++/udr-14.C: Same. 2433 * testsuite/libgomp.c++/udr-15.C: Same. 2434 * testsuite/libgomp.c++/udr-16.C: Same. 2435 * testsuite/libgomp.c++/udr-17.C: Same. 2436 * testsuite/libgomp.c++/udr-18.C: Same. 2437 * testsuite/libgomp.c++/udr-19.C: Same. 2438 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2". 2439 * testsuite/libgomp.c++/simd-1.C: Same. 2440 * testsuite/libgomp.c++/simd-2.C: Same. 2441 * testsuite/libgomp.c++/simd-3.C: Same. 2442 * testsuite/libgomp.c++/simd-4.C: Same. 2443 * testsuite/libgomp.c++/simd-5.C: Same. 2444 * testsuite/libgomp.c++/simd-6.C: Same. 2445 * testsuite/libgomp.c++/simd-7.C: Same. 2446 * testsuite/libgomp.c++/simd-8.C: Same. 2447 * testsuite/libgomp.c++/simd-9.C: Same. 2448 * testsuite/libgomp.c++/simd10.C: Same. 2449 * testsuite/libgomp.c++/simd11.C: Same. 2450 * testsuite/libgomp.c++/simd12.C: Same. 2451 * testsuite/libgomp.c++/simd13.C: Same. 2452 24532015-06-30 Jakub Jelinek <jakub@redhat.com> 2454 2455 PR middle-end/66702 2456 * testsuite/libgomp.c++/pr66702-1.C: New test. 2457 * testsuite/libgomp.c++/pr66702-2.C: New test. 2458 24592015-06-30 Tom de Vries <tom@codesourcery.com> 2460 2461 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test. 2462 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test. 2463 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test. 2464 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment. 2465 24662015-06-30 Tom de Vries <tom@codesourcery.com> 2467 2468 PR tree-optimization/66652 2469 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite 2470 using restrict pointers. 2471 (main): Add arguments to calls to f. 2472 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same. 2473 24742015-06-23 Andreas Tobler <andreast@gcc.gnu.org> 2475 2476 * configure.ac: Fix check for header <sys/sysctl.h>. 2477 * configure: Regenerate. 2478 * config.h.in: Likewise. 2479 24802015-06-23 Tom de Vries <tom@codesourcery.com> 2481 2482 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use 2483 abort. 2484 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same. 2485 24862015-06-19 Thomas Schwinge <thomas@codesourcery.com> 2487 2488 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for 2489 acc_device_nvidia. 2490 2491 PR libgomp/66518 2492 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL. 2493 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. 2494 24952015-06-15 Tom de Vries <tom@codesourcery.com> 2496 2497 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use 2498 dg-additional-options for any remaining options. 2499 * testsuite/libgomp.c/atomic-2.c: Same. 2500 * testsuite/libgomp.c/atomic-4.c: Same. 2501 * testsuite/libgomp.c/atomic-5.c: Same. 2502 * testsuite/libgomp.c/atomic-6.c: Same. 2503 * testsuite/libgomp.c/autopar-1.c: Same. 2504 * testsuite/libgomp.c/copyin-1.c: Same. 2505 * testsuite/libgomp.c/copyin-2.c: Same. 2506 * testsuite/libgomp.c/copyin-3.c: Same. 2507 * testsuite/libgomp.c/examples-4/e.53.5.c: Same. 2508 * testsuite/libgomp.c/nestedfn-5.c: Same. 2509 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same. 2510 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same. 2511 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same. 2512 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same. 2513 * testsuite/libgomp.c/pr32362-1.c: Same. 2514 * testsuite/libgomp.c/pr32362-2.c: Same. 2515 * testsuite/libgomp.c/pr32362-3.c: Same. 2516 * testsuite/libgomp.c/pr39591-1.c: Same. 2517 * testsuite/libgomp.c/pr39591-2.c: Same. 2518 * testsuite/libgomp.c/pr39591-3.c: Same. 2519 * testsuite/libgomp.c/pr58392.c: Same. 2520 * testsuite/libgomp.c/pr58756.c: Same. 2521 * testsuite/libgomp.c/simd-1.c: Same. 2522 * testsuite/libgomp.c/simd-10.c: Same. 2523 * testsuite/libgomp.c/simd-11.c: Same. 2524 * testsuite/libgomp.c/simd-12.c: Same. 2525 * testsuite/libgomp.c/simd-13.c: Same. 2526 * testsuite/libgomp.c/simd-14.c: Same. 2527 * testsuite/libgomp.c/simd-15.c: Same. 2528 * testsuite/libgomp.c/simd-2.c: Same. 2529 * testsuite/libgomp.c/simd-3.c: Same. 2530 * testsuite/libgomp.c/simd-4.c: Same. 2531 * testsuite/libgomp.c/simd-5.c: Same. 2532 * testsuite/libgomp.c/simd-6.c: Same. 2533 * testsuite/libgomp.c/simd-7.c: Same. 2534 * testsuite/libgomp.c/simd-8.c: Same. 2535 * testsuite/libgomp.c/simd-9.c: Same. 2536 25372015-06-15 Tom de Vries <tom@codesourcery.com> 2538 2539 * testsuite/libgomp.c/pr35625.c: Fix typo. 2540 25412015-06-15 Tom de Vries <tom@codesourcery.com> 2542 2543 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting 2544 in dg-options. 2545 * testsuite/libgomp.c/atomic-3.c: Same. 2546 * testsuite/libgomp.c/debug-1.c: Same. 2547 * testsuite/libgomp.c/nqueens-1.c: Same. 2548 * testsuite/libgomp.c/pr26171.c: Same. 2549 * testsuite/libgomp.c/pr48591.c: Same. 2550 * testsuite/libgomp.c/pr64824.c: Same. 2551 * testsuite/libgomp.c/pr64868.c: Same. 2552 * testsuite/libgomp.c/pr66133.c: Same. 2553 * testsuite/libgomp.c/pr66199-1.c: Same. 2554 * testsuite/libgomp.c/pr66199-2.c: Same. 2555 * testsuite/libgomp.c/target-8.c: Same. 2556 25572015-06-15 Tom de Vries <tom@codesourcery.com> 2558 2559 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for 2560 -std={gnu99,c99}. 2561 * testsuite/libgomp.c/for-1.c: Same. 2562 * testsuite/libgomp.c/for-2.c: Same. 2563 * testsuite/libgomp.c/for-3.c: Same. 2564 * testsuite/libgomp.c/pr35625.c: Same. 2565 * testsuite/libgomp.c/pr39154.c: Same. 2566 * testsuite/libgomp.c/simd-16.c: Same. 2567 * testsuite/libgomp.c/simd-17.c: Same. 2568 25692015-06-13 Tom de Vries <tom@codesourcery.com> 2570 2571 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test. 2572 25732015-06-13 Tom de Vries <tom@codesourcery.com> 2574 2575 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment. 2576 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same. 2577 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment. 2578 (N): Define. 2579 (main): Use N instead of hardcoded constants. 2580 25812015-06-05 Tom de Vries <tom@codesourcery.com> 2582 2583 merge from gomp4 branch: 2584 2015-05-28 Tom de Vries <tom@codesourcery.com> 2585 2586 PR tree-optimization/65443 2587 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test. 2588 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test. 2589 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test. 2590 25912015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> 2592 2593 * testsuite/libgomp.graphite/bounds.c: Adjust for 2594 cleanup-tree-dump removal. 2595 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise. 2596 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise. 2597 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise. 2598 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise. 2599 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise. 2600 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise. 2601 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise. 2602 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise. 2603 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise. 2604 * testsuite/libgomp.graphite/pr41118.c: Likewise. 2605 26062015-05-28 Uros Bizjak <ubizjak@gmail.com> 2607 2608 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function. 2609 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0. 2610 (futex_wake) [!__x86_64__]: Ditto. 2611 26122015-05-28 Julian Brown <julian@codesourcery.com> 2613 2614 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update 2615 function comment. Only call gomp_fatal if new argument is true. 2616 (acc_dev_num_out_of_range): New function. 2617 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call 2618 acc_dev_num_out_of_range as appropriate. 2619 (acc_get_num_devices, acc_set_device_type, acc_get_device_type) 2620 (acc_get_device_num, acc_set_device_num): Update calls to 2621 resolve_device. 2622 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test 2623 output. 2624 26252015-05-28 Julian Brown <julian@codesourcery.com> 2626 2627 PR libgomp/65742 2628 * oacc-init.c (plugin/plugin-host.h): Include. 2629 (acc_on_device): Check whether we're in an offloaded region for 2630 host_nonshm 2631 plugin. Don't use __builtin_acc_on_device. 2632 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set 2633 nonshm_exec flag in thread-local data. 2634 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local 2635 data for host_nonshm plugin. 2636 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data 2637 for host_nonshm plugin. 2638 * plugin/plugin-host.h: New. 2639 26402015-05-27 Uros Bizjak <ubizjak@gmail.com> 2641 2642 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int. 2643 26442015-05-27 Uros Bizjak <ubizjak@gmail.com> 2645 2646 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake): 2647 Declare as int. 2648 (FUTEX_PRIVATE_FLAG): Remove L suffix. 2649 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake): 2650 Declare as int. 2651 26522015-05-27 Uros Bizjak <ubizjak@gmail.com> 2653 2654 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function. 2655 26562015-05-27 Chung-Lin Tang <cltang@codesourcery.com> 2657 2658 * target.c (gomp_map_pointer): New function abstracting out 2659 GOMP_MAP_POINTER handling. 2660 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use 2661 gomp_map_pointer(). 2662 26632015-05-19 Jakub Jelinek <jakub@redhat.com> 2664 2665 PR middle-end/66199 2666 * testsuite/libgomp.c/pr66199-1.c: New test. 2667 * testsuite/libgomp.c/pr66199-2.c: New test. 2668 * testsuite/libgomp.c++/pr66199-1.C: New test. 2669 * testsuite/libgomp.c++/pr66199-2.C: New test. 2670 * testsuite/libgomp.fortran/pr66199-1.f90: New test. 2671 * testsuite/libgomp.fortran/pr66199-2.f90: New test. 2672 26732015-05-19 Julian Brown <julian@codesourcery.com> 2674 2675 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero 2676 on cuInit failure. 2677 26782015-05-13 Jakub Jelinek <jakub@redhat.com> 2679 2680 PR middle-end/66133 2681 * testsuite/libgomp.c/pr66133.c: New test. 2682 26832015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com> 2684 2685 * Makefile.in: Regenerated with automake-1.11.6. 2686 * aclocal.m4: Likewise. 2687 * config.h.in: Likewise. 2688 * configure: Likewise. 2689 * testsuite/Makefile.in: Likewise. 2690 26912015-05-08 Jason Merrill <jason@redhat.com> 2692 2693 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use 2694 _Complex. 2695 2696 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax. 2697 26982015-05-06 Julian Brown <julian@codesourcery.com> 2699 2700 * oacc-init.c (acc_device_lock): Add explanatory comment. 2701 (resolve_device): Add comment about locking requirement. 2702 (acc_init_1, acc_shutdown_1): Likewise. Add locking around 2703 gomp_init_device and gomp_fini_device calls. 2704 (acc_get_num_devices, acc_set_device_type, acc_get_device_type) 2705 (acc_get_device_num, acc_set_device_num): Add locking around 2706 resolve_device and gomp_init_device calls. 2707 27082015-05-06 Julian Brown <julian@codesourcery.com> 2709 2710 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for 2711 goacc_thread_lock on error paths. 2712 * oacc-mem.c (lookup_host): Remove locking from function. Note 2713 locking requirement for caller in function comment. 2714 (lookup_dev): Likewise. 2715 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present) 2716 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout) 2717 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer): 2718 Add locking. 2719 27202015-05-05 Thomas Schwinge <thomas@codesourcery.com> 2721 2722 PR testsuite/65205 2723 PR libgomp/65993 2724 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output, 2725 don't expect "0x" prefix for "%p" format specifier, don't expect 2726 "(nil)" for NULL pointer. 2727 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise. 2728 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise. 2729 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise. 2730 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise. 2731 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise. 2732 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise. 2733 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. 2734 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise. 2735 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise. 2736 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise. 2737 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise. 2738 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise. 2739 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise. 2740 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise. 2741 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise. 2742 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise. 2743 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise. 2744 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise. 2745 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. 2746 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise. 2747 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise. 2748 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise. 2749 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise. 2750 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise. 2751 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise. 2752 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise. 2753 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise. 2754 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise. 2755 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More 2756 accurately specify what we're looking for. 2757 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise. 2758 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise. 2759 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise. 2760 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise. 2761 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise. 2762 27632015-04-30 James Norris <jnorris@codesourcery.com> 2764 2765 PR testsuite/65205 2766 * testsuite/lib/libgomp.exp 2767 (check_effective_target_openacc_host_selected) 2768 (check_effective_target_openacc_host_nonshm_selected): New 2769 procedures. 2770 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of 2771 dg-shouldfail. 2772 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise. 2773 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise. 2774 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise. 2775 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise. 2776 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise. 2777 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise. 2778 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise. 2779 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise. 2780 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise. 2781 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. 2782 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise. 2783 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise. 2784 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise. 2785 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise. 2786 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise. 2787 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise. 2788 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise. 2789 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise. 2790 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise. 2791 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise. 2792 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise. 2793 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise. 2794 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise. 2795 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. 2796 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise. 2797 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise. 2798 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise. 2799 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise. 2800 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise. 2801 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise. 2802 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise. 2803 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise. 2804 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise. 2805 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise. 2806 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise. 2807 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise. 2808 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise. 2809 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise. 2810 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise. 2811 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise. 2812 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise. 2813 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise. 2814 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise. 2815 28162015-04-08 Julian Brown <julian@codesourcery.com> 2817 2818 * libgomp.h (target_mem_desc: Remove mem_map field. 2819 (acc_dispatch_t): Remove open_device_func, close_device_func, 2820 get_device_num_func, set_device_num_func, target_data members. 2821 Change create_thread_data_func argument to device number instead of 2822 generic pointer. 2823 * oacc-async.c (assert.h): Include. 2824 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async) 2825 (acc_wait_all, acc_wait_all_async): Use current host thread's 2826 active device, not base_dev. 2827 * oacc-cuda.c (acc_get_current_cuda_device) 2828 (acc_get_current_cuda_context, acc_get_cuda_stream) 2829 (acc_set_cuda_stream): Likewise. 2830 * oacc-host.c (host_dispatch): Don't set open_device_func, 2831 close_device_func, get_device_num_func or set_device_num_func. 2832 * oacc-init.c (base_dev, init_key): Remove. 2833 (cached_base_dev): New. 2834 (name_of_acc_device_t): New. 2835 (acc_init_1): Initialise default-numbered device, not zeroth. 2836 (acc_shutdown_1): Close all devices of a given type. 2837 (goacc_destroy_thread): Don't use base_dev. 2838 (lazy_open, lazy_init, lazy_init_and_open): Remove. 2839 (goacc_attach_host_thread_to_device): New. 2840 (acc_init): Reimplement with goacc_attach_host_thread_to_device. 2841 (acc_get_num_devices): Don't use base_dev. 2842 (acc_set_device_type): Reimplement. 2843 (acc_get_device_type): Don't use base_dev. 2844 (acc_get_device_num): Tweak logic. 2845 (acc_set_device_num): Likewise. 2846 (acc_on_device): Use acc_get_device_type. 2847 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev. 2848 (goacc_lazy_initialize): Reimplement with acc_init and 2849 goacc_attach_host_thread_to_device. 2850 * oacc-int.h (goacc_thread): Add base_dev field. 2851 (base_dev): Remove extern declaration. 2852 (goacc_attach_host_thread_to_device): Add prototype. 2853 * oacc-mem.c (acc_malloc): Use current thread's device instead of 2854 base_dev. 2855 (acc_free): Likewise. 2856 (acc_memcpy_to_device): Likewise. 2857 (acc_memcpy_from_device): Likewise. 2858 * oacc-parallel.c (select_acc_device): Remove. Replace calls with 2859 goacc_lazy_initialize (throughout). 2860 (GOACC_parallel): Use tgt_offset to locate target functions. 2861 * target.c (gomp_map_vars): Don't set tgt->mem_map. 2862 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map. 2863 (gomp_load_plugin_for_device): Remove open_device, close_device, 2864 get_device_num, set_device_num openacc hook initialisation. Don't set 2865 openacc.target_data. 2866 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device) 2867 (GOMP_OFFLOAD_openacc_close_device) 2868 (GOMP_OFFLOAD_openacc_get_device_num) 2869 (GOMP_OFFLOAD_openacc_set_device_num): Remove. 2870 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument 2871 to int. 2872 * plugin/plugin-nvptx.c (ptx_inited): Remove. 2873 (instantiated_devices, ptx_dev_lock): New. 2874 (struct ptx_image_data): New. 2875 (ptx_devices, ptx_images, ptx_image_lock): New. 2876 (fini_streams_for_device): Reorder cuStreamDestroy call. 2877 (nvptx_get_num_devices): Remove forward declaration. 2878 (nvptx_init): Change return type to bool. 2879 (nvptx_fini): Remove. 2880 (nvptx_attach_host_thread_to_device): New. 2881 (nvptx_open_device): Return struct ptx_device* instead of void*. 2882 (nvptx_close_device): Change argument type to struct ptx_device*, 2883 return type to void. 2884 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited. 2885 (kernel_target_data, kernel_host_table): Remove static globals. 2886 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove. 2887 (GOMP_OFFLOAD_init_device): Reimplement. 2888 (GOMP_OFFLOAD_fini_device): Likewise. 2889 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New. 2890 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host) 2891 (GOMP_OFFLOAD_host2dev): Use ORD argument. 2892 (GOMP_OFFLOAD_openacc_open_device) 2893 (GOMP_OFFLOAD_openacc_close_device) 2894 (GOMP_OFFLOAD_openacc_set_device_num) 2895 (GOMP_OFFLOAD_openacc_get_device_num): Remove. 2896 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int 2897 (device number). 2898 2899 testsuite/ 2900 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test. 2901 29022015-04-06 Ilya Verbin <ilya.verbin@intel.com> 2903 2904 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair. 2905 * libgomp.h (struct gomp_memory_mapping): Remove. 2906 (struct target_mem_desc): Change type of mem_map from 2907 gomp_memory_mapping * to splay_tree_s *. 2908 (struct gomp_device_descr): Remove register_image_func, get_table_func. 2909 Add load_image_func, unload_image_func. 2910 Change type of mem_map from gomp_memory_mapping to splay_tree_s. 2911 Remove offload_regions_registered. 2912 (gomp_init_tables): Remove. 2913 (gomp_free_memmap): Change type of argument from gomp_memory_mapping * 2914 to splay_tree_s *. 2915 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister. 2916 * oacc-host.c (host_dispatch): Do not initialize register_image_func, 2917 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root, 2918 offload_regions_registered. 2919 Initialize load_image_func, unload_image_func, mem_map.root. 2920 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock. 2921 * oacc-init.c (lazy_open): Don't call gomp_init_tables. 2922 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's. 2923 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of 2924 gomp_memory_mapping *. Use dev's lock and splay_tree. 2925 (lookup_dev): Use dev's lock. 2926 (acc_deviceptr): Pass dev to lookup_host instead of mem_map. 2927 (acc_is_present): Likewise. 2928 (acc_map_data): Likewise. 2929 (acc_unmap_data): Likewise. Use dev's lock. 2930 (present_create_copy): Likewise. 2931 (delete_copyout): Pass dev to lookup_host instead of mem_map. 2932 (update_dev_host): Likewise. 2933 (gomp_acc_remove_pointer): Likewise. Use dev's lock. 2934 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree. 2935 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove. 2936 (GOMP_OFFLOAD_get_table): Remove 2937 (GOMP_OFFLOAD_load_image): New function. 2938 (GOMP_OFFLOAD_unload_image): New function. 2939 * target.c (register_lock): New mutex for offload image registration. 2940 (num_devices): Do not guard with PLUGIN_SUPPORT. 2941 (gomp_realloc_unlock): New static function. 2942 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex 2943 before gomp_fatal. 2944 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's. 2945 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal. 2946 (gomp_copy_from_async): Use dev's lock and splay_tree instead of 2947 mem_map's. 2948 (gomp_unmap_vars): Likewise. 2949 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and 2950 splay_tree instead of mm's. Unlock mutex before gomp_fatal. 2951 (gomp_offload_image_to_device): New static function. 2952 (GOMP_offload_register): Add mutex lock. 2953 Call gomp_offload_image_to_device for all initialized devices. 2954 Replace gomp_realloc with gomp_realloc_unlock. 2955 (GOMP_offload_unregister): New function. 2956 (gomp_init_tables): Replace with gomp_init_device. Replace a call to 2957 get_table_func from the plugin with calls to init_device_func and 2958 gomp_offload_image_to_device. 2959 (gomp_free_memmap): Change type of argument from gomp_memory_mapping * 2960 to splay_tree_s *. 2961 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and 2962 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal. 2963 (GOMP_target_data): Do not call gomp_init_tables. 2964 (GOMP_target_update): Likewise. Remove argument from gomp_update. 2965 (gomp_load_plugin_for_device): Replace register_image and get_table 2966 with load_image and unload_image in DLSYM (). 2967 (gomp_register_images_for_device): Remove function. 2968 (gomp_target_init): Do not initialize current_device.mem_map.*, 2969 current_device.offload_regions_registered. 2970 Remove call to gomp_register_images_for_device. 2971 Do not free offload_images and num_offload_images. 2972 29732015-03-30 Jakub Jelinek <jakub@redhat.com> 2974 2975 PR fortran/65597 2976 * testsuite/libgomp.fortran/pr65597.f90: New test. 2977 29782015-03-27 Tom de Vries <tom@codesourcery.com> 2979 2980 PR testsuite/65594 2981 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare. 2982 (init, check): New function. 2983 (foo): Change return type to void. 2984 (main): Call init and check. 2985 29862015-03-27 Tom de Vries <tom@codesourcery.com> 2987 2988 PR testsuite/65594 2989 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define. 2990 (foo): Use M for non-inner loops to scale down test-case. 2991 29922015-03-25 Kai Tietz <ktietz@redhat.com> 2993 2994 PR libgomp/64972 2995 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available. 2996 (GOACC_data_start): Likewise. 2997 * target.c (gomp_map_vars): Likewise. 2998 29992015-03-21 John David Anglin <danglin@gcc.gnu.org> 3000 3001 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on 3002 hppa*-*-hpux*. 3003 30042015-03-19 Jakub Jelinek <jakub@redhat.com> 3005 3006 * testsuite/libgomp.c/target-10.c: New test. 3007 * testsuite/libgomp.c++/target-4.C: New test. 3008 30092015-03-13 Ilya Verbin <ilya.verbin@intel.com> 3010 3011 * testsuite/libgomp.fortran/declare-target-1.f90: New test. 3012 * testsuite/libgomp.fortran/declare-target-2.f90: New file. 3013 30142015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de> 3015 3016 * configure.tgt (*-*-rtems*): Use local-exec TLS model. 3017 * configure.ac (*-*-rtems*): Assume Pthread is supported. 3018 (pthread.h): Check for this header file. 3019 * configure: Regenerate. 3020 30212015-02-25 Tom de Vries <tom@codesourcery.com> 3022 3023 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA) 3024 (check_reduction_op, check_reduction_macro, max, min): 3025 Declare. 3026 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New 3027 function. 3028 (main): Use new functions. 3029 30302015-02-18 Ilya Tocar <ilya.tocar@intel.com> 3031 3032 * target.c (gomp_load_plugin_for_device): Use const char * instead of 3033 char * for variables holding dlerror return values. 3034 (DLSYM_OPT): Ditto. 3035 30362015-02-17 Thomas Schwinge <thomas@codesourcery.com> 3037 3038 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo. 3039 30402015-02-17 Thomas Schwinge <thomas@codesourcery.com> 3041 Cesar Philippidis <cesar@codesourcery.com> 3042 3043 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid, 3044 GOACC_ctaid, and GOACC_nctaid routines. 3045 30462015-02-11 Jakub Jelinek <jakub@redhat.com> 3047 3048 PR c/64824 3049 * testsuite/libgomp.c/atomic-18.c: New test. 3050 * testsuite/libgomp.c++/atomic-16.C: New test. 3051 30522015-02-04 Jakub Jelinek <jakub@redhat.com> 3053 3054 PR c/64824 3055 PR c/64868 3056 * testsuite/libgomp.c/pr64824.c: New test. 3057 * testsuite/libgomp.c/pr64868.c: New test. 3058 * testsuite/libgomp.c++/pr64824.C: New test. 3059 * testsuite/libgomp.c++/pr64868.C: New test. 3060 30612015-02-01 David Edelsohn <dje.gcc@gmail.com> 3062 3063 PR libgomp/64635 3064 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h. 3065 Link with -lpthread. 3066 * config/aix/plugin-suffix.h: Delete. 3067 30682015-01-28 Jack Howarth <howarth.at.gcc@gmail.com> 3069 3070 PR libgomp/64635 3071 * configure.tgt (*-*-aix*): Use config_path "aix posix". 3072 (*-*-darwin*): Use config_path "bsd darwin posix". 3073 (*-*-hpux*): Use config_path "hpux posix". 3074 * target.c: Add include of plugin-suffix.h and use 3075 SONAME_SUFFIX macro. 3076 * config/aix/plugin-suffix.h: New file. 3077 * config/darwin/plugin-suffix.h: New file. 3078 * config/hpux/plugin-suffix.h: New file. 3079 * config/posix/plugin-suffix.h: New file. 3080 30812015-01-23 Jakub Jelinek <jakub@redhat.com> 3082 3083 PR middle-end/64734 3084 * libgomp.c/pr64734.c: New test. 3085 30862015-01-23 Tom de Vries <tom@codesourcery.com> 3087 3088 PR libgomp/64672 3089 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test. 3090 30912015-01-23 Tom de Vries <tom@codesourcery.com> 3092 3093 PR libgomp/64707 3094 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to 3095 dg-options. 3096 30972015-01-19 Thomas Schwinge <thomas@codesourcery.com> 3098 3099 PR libgomp/64625 3100 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data) 3101 (GOACC_parallel, GOACC_update): Remove const_void *offload_table 3102 formal parameter. Update all users. 3103 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update): 3104 Document unused formal parameter. 3105 31062015-01-16 Thomas Schwinge <thomas@codesourcery.com> 3107 3108 * oacc-parallel.c: Don't include <alloca.h>. 3109 (GOACC_parallel): Use gomp_alloca instead of alloca. 3110 31112015-01-16 Gerald Pfeifer <gerald@pfeifer.com> 3112 3113 * target.c (num_devices): Guard with PLUGIN_SUPPORT. 3114 31152015-01-15 Thomas Schwinge <thomas@codesourcery.com> 3116 James Norris <jnorris@codesourcery.com> 3117 Tom de Vries <tom@codesourcery.com> 3118 Julian Brown <julian@codesourcery.com> 3119 Cesar Philippidis <cesar@codesourcery.com> 3120 Nathan Sidwell <nathan@codesourcery.com> 3121 Tobias Burnus <burnus@net-b.de> 3122 3123 * Makefile.am (search_path): Add $(top_srcdir)/../include. 3124 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c, 3125 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c, 3126 oacc-async.c, oacc-plugin.c, oacc-cuda.c. 3127 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90. 3128 Include $(top_srcdir)/plugin/Makefrag.am. 3129 (nodist_libsubinclude_HEADERS): Add openacc.h. 3130 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h, 3131 openacc.f90, openacc.mod, openacc_kinds.mod. 3132 (omp_lib.mod): Generalize into... 3133 (%.mod): ... this new rule. 3134 (openacc_kinds.mod, openacc.mod): New rules. 3135 * plugin/configfrag.ac: New file. 3136 * configure.ac: Move plugin/offloading support into it. Include 3137 it. Instantiate testsuite/libgomp-test-support.pt.exp. 3138 * plugin/Makefrag.am: New file. 3139 * testsuite/Makefile.am (OFFLOAD_TARGETS) 3140 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't 3141 export. 3142 (libgomp-test-support.exp): New rule. 3143 (all-local): Depend on it. 3144 * Makefile.in: Regenerate. 3145 * testsuite/Makefile.in: Regenerate. 3146 * config.h.in: Likewise. 3147 * configure: Likewise. 3148 * configure.tgt: Harden shell syntax. 3149 * env.c: Include "oacc-int.h". 3150 (parse_acc_device_type): New function. 3151 (gomp_debug_var, goacc_device_type, goacc_device_num): New 3152 variables. 3153 (initialize_env): Initialize those. Call 3154 goacc_runtime_initialize. 3155 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions. 3156 (gomp_fatal): Call gomp_vfatal. 3157 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>. 3158 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug) 3159 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once) 3160 (splay_tree_node, splay_tree, splay_tree_key) 3161 (struct target_mem_desc, struct splay_tree_key_s) 3162 (struct gomp_memory_mapping, struct acc_dispatch_t) 3163 (struct gomp_device_descr, gomp_acc_insert_pointer) 3164 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async) 3165 (gomp_unmap_vars, gomp_init_device, gomp_init_tables) 3166 (gomp_free_memmap, gomp_fini_device): New declarations. 3167 (gomp_vdebug, gomp_debug): New macros. 3168 Include "splay-tree.h". 3169 * libgomp.map (OACC_2.0): New symbol version. Use for 3170 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type, 3171 acc_set_device_type_h_, acc_get_device_type, 3172 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_, 3173 acc_get_device_num, acc_get_device_num_h_, acc_async_test, 3174 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_, 3175 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_, 3176 acc_wait_all, acc_wait_all_h_, acc_wait_all_async, 3177 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown, 3178 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc, 3179 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_, 3180 acc_copyin_array_h_, acc_present_or_copyin, 3181 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_, 3182 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_, 3183 acc_create_64_h_, acc_create_array_h_, acc_present_or_create, 3184 acc_present_or_create_32_h_, acc_present_or_create_64_h_, 3185 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_, 3186 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete, 3187 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_, 3188 acc_update_device, acc_update_device_32_h_, 3189 acc_update_device_64_h_, acc_update_device_array_h_, 3190 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_, 3191 acc_update_self_array_h_, acc_map_data, acc_unmap_data, 3192 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_, 3193 acc_is_present_64_h_, acc_is_present_array_h_, 3194 acc_memcpy_to_device, acc_memcpy_from_device, 3195 acc_get_current_cuda_device, acc_get_current_cuda_context, 3196 acc_get_cuda_stream, acc_set_cuda_stream. 3197 (GOACC_2.0): New symbol version. Use for GOACC_data_end, 3198 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel, 3199 GOACC_update, GOACC_wait, GOACC_get_thread_num, 3200 GOACC_get_num_threads. 3201 (GOMP_PLUGIN_1.0): New symbol version. Use for 3202 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared, 3203 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error, 3204 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars, 3205 GOMP_PLUGIN_acc_thread. 3206 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG 3207 environment variable. 3208 * libgomp_g.h (GOACC_data_start, GOACC_data_end) 3209 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait) 3210 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations. 3211 * splay-tree.h (splay_tree_lookup, splay_tree_insert) 3212 (splay_tree_remove): New declarations. 3213 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert) 3214 (splay_tree_remove, splay_tree_lookup): Move into... 3215 * splay-tree.c: ... this new file. 3216 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>. 3217 (splay_tree_node, splay_tree, splay_tree_key) 3218 (struct target_mem_desc, struct splay_tree_key_s) 3219 (struct gomp_device_descr): Don't declare. 3220 (num_devices_openmp): New variable. 3221 (gomp_get_num_devices ): Use it. 3222 (gomp_init_targets_once): New function. 3223 (gomp_get_num_devices ): Use it. 3224 (get_kind, gomp_copy_from_async, gomp_free_memmap) 3225 (gomp_fini_device, gomp_register_image_for_device): New functions. 3226 (gomp_map_vars): Add devaddrs parameter. 3227 (gomp_update): Add mm parameter. 3228 (gomp_init_device): Move most of it into... 3229 (gomp_init_tables): ... this new function. 3230 (gomp_register_images_for_device): Remove function. 3231 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device): 3232 Make them hidden instead of static. 3233 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars) 3234 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data) 3235 (GOMP_target_end_data, GOMP_target_update) 3236 (gomp_load_plugin_for_device, gomp_target_init): Update for 3237 OpenACC changes. 3238 * oacc-async.c: New file. 3239 * oacc-cuda.c: Likewise. 3240 * oacc-host.c: Likewise. 3241 * oacc-init.c: Likewise. 3242 * oacc-int.h: Likewise. 3243 * oacc-mem.c: Likewise. 3244 * oacc-parallel.c: Likewise. 3245 * oacc-plugin.c: Likewise. 3246 * oacc-plugin.h: Likewise. 3247 * oacc-ptx.h: Likewise. 3248 * openacc.f90: Likewise. 3249 * openacc.h: Likewise. 3250 * openacc_lib.h: Likewise. 3251 * plugin/plugin-host.c: Likewise. 3252 * plugin/plugin-nvptx.c: Likewise. 3253 * libgomp-plugin.c: Likewise. 3254 * libgomp-plugin.h: Likewise. 3255 * libgomp_target.h: Remove file after merging content into the 3256 former file. Update all users. 3257 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp. 3258 (offload_targets_s, offload_targets_s_openacc): New variables. 3259 (check_effective_target_openacc_nvidia_accel_present) 3260 (check_effective_target_openacc_nvidia_accel_selected): New 3261 procedures. 3262 (libgomp_init): Update for OpenACC changes. 3263 * testsuite/libgomp-test-support.exp.in: New file. 3264 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. 3265 * testsuite/libgomp.oacc-c/c.exp: Likewise. 3266 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 3267 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise. 3268 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise. 3269 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise. 3270 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise. 3271 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise. 3272 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise. 3273 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise. 3274 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise. 3275 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise. 3276 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise. 3277 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise. 3278 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise. 3279 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise. 3280 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise. 3281 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise. 3282 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise. 3283 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise. 3284 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise. 3285 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise. 3286 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise. 3287 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise. 3288 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise. 3289 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise. 3290 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise. 3291 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise. 3292 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise. 3293 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise. 3294 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise. 3295 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise. 3296 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise. 3297 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise. 3298 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise. 3299 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise. 3300 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise. 3301 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise. 3302 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise. 3303 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise. 3304 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise. 3305 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise. 3306 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise. 3307 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise. 3308 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise. 3309 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise. 3310 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise. 3311 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise. 3312 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise. 3313 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise. 3314 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. 3315 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise. 3316 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise. 3317 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise. 3318 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise. 3319 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise. 3320 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise. 3321 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise. 3322 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise. 3323 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise. 3324 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise. 3325 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise. 3326 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise. 3327 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise. 3328 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise. 3329 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise. 3330 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise. 3331 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise. 3332 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise. 3333 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise. 3334 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise. 3335 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. 3336 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise. 3337 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise. 3338 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise. 3339 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise. 3340 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise. 3341 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise. 3342 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise. 3343 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise. 3344 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise. 3345 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise. 3346 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise. 3347 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise. 3348 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise. 3349 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise. 3350 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise. 3351 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise. 3352 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise. 3353 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise. 3354 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise. 3355 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise. 3356 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise. 3357 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise. 3358 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise. 3359 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise. 3360 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise. 3361 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise. 3362 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise. 3363 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise. 3364 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise. 3365 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise. 3366 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise. 3367 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise. 3368 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise. 3369 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise. 3370 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise. 3371 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise. 3372 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise. 3373 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise. 3374 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise. 3375 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise. 3376 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise. 3377 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise. 3378 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise. 3379 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise. 3380 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise. 3381 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise. 3382 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise. 3383 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise. 3384 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise. 3385 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise. 3386 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise. 3387 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise. 3388 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise. 3389 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise. 3390 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise. 3391 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise. 3392 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise. 3393 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise. 3394 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise. 3395 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise. 3396 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise. 3397 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise. 3398 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise. 3399 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise. 3400 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise. 3401 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise. 3402 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise. 3403 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: 3404 Likewise. 3405 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise. 3406 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise. 3407 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise. 3408 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise. 3409 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise. 3410 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise. 3411 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise. 3412 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise. 3413 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise. 3414 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise. 3415 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise. 3416 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise. 3417 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise. 3418 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise. 3419 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise. 3420 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise. 3421 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise. 3422 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise. 3423 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise. 3424 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise. 3425 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise. 3426 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise. 3427 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise. 3428 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise. 3429 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise. 3430 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise. 3431 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise. 3432 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise. 3433 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise. 3434 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise. 3435 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise. 3436 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise. 3437 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise. 3438 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise. 3439 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise. 3440 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise. 3441 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise. 3442 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise. 3443 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise. 3444 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise. 3445 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise. 3446 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise. 3447 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise. 3448 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise. 3449 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise. 3450 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise. 3451 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise. 3452 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise. 3453 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise. 3454 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise. 3455 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise. 3456 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise. 3457 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise. 3458 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. 3459 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise. 3460 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise. 3461 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise. 3462 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise. 3463 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise. 3464 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise. 3465 34662015-01-10 Thomas Schwinge <thomas@codesourcery.com> 3467 Julian Brown <julian@codesourcery.com> 3468 David Malcolm <dmalcolm@redhat.com> 3469 3470 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library" 3471 to "GNU Offloading and Multi Processing Runtime Library". Change 3472 all users. 3473 * configure: Regenerate. 3474 * libgomp.texi: Update. 3475 34762015-01-08 Thomas Schwinge <thomas@codesourcery.com> 3477 3478 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add 3479 "$tgt_dir/lib32". 3480 * configure: Regenerate. 3481 3482 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match 3483 "intelmic" in $offload_targets. 3484 34852015-01-05 Jakub Jelinek <jakub@redhat.com> 3486 3487 Update copyright years. 3488 3489 * libgomp.texi: Bump @copying's copyright year. 3490 34912014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 3492 3493 * testsuite/lib/libgomp.exp: Load target-utils.exp. 3494 Move load of target-supportes.exp earlier. 3495 34962014-12-10 Ilya Verbin <ilya.verbin@intel.com> 3497 3498 * testsuite/libgomp.c/target-9.c: New test. 3499 35002014-12-09 Varvara Rainchik <varvara.rainchik@intel.com> 3501 3502 * config.h.in: Regenerate. 3503 * configure: Regenerate. 3504 * configure.ac: Add GCC_CHECK_EMUTLS. 3505 * libgomp.h: Add check for USE_EMUTLS: this case 3506 is equal to HAVE_TLS. 3507 * team.c: Likewise. 3508 35092014-12-03 Uros Bizjak <ubizjak@gmail.com> 3510 3511 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic. 3512 35132014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com> 3514 Ilya Verbin <ilya.verbin@intel.com> 3515 3516 * testsuite/libgomp.c/target-critical-1.c: New test. 3517 35182014-11-26 Jakub Jelinek <jakub@redhat.com> 3519 3520 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20 3521 to dg-options unless expensive testing is on. 3522 (TESTITERS): Define to N if not defined. 3523 (main): Use TESTITERS instead of N. 3524 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from 3525 dg-additional-options depending on whether expensive testing is on. 3526 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod): 3527 Decrease N to 100000 and CHUNKSZ to 10000. 3528 35292014-11-24 Jakub Jelinek <jakub@redhat.com> 3530 3531 PR fortran/63938 3532 * testsuite/libgomp.fortran/pr63938-1.f90: New test. 3533 * testsuite/libgomp.fortran/pr63938-2.f90: New test. 3534 35352014-11-21 Steve Ellcey <sellcey@imgtec.com> 3536 3537 * config/linux/mips/futex.h (SYS_futex): Define if not already done. 3538 35392014-11-21 H.J. Lu <hongjiu.lu@intel.com> 3540 3541 PR bootstrap/63784 3542 * configure: Regenerated. 3543 35442014-11-19 Uros Bizjak <ubizjak@gmail.com> 3545 3546 * testsuite/libgomp.c/examples-4/e.53.5.c: Require 3547 vect_simd_clones effective target. 3548 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto. 3549 35502014-11-14 Jakub Jelinek <jakub@redhat.com> 3551 3552 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead 3553 of 32 as block_size. 3554 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8 3555 instead of 32 as block_size. 3556 35572014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com> 3558 Ilya Verbin <ilya.verbin@intel.com> 3559 3560 * Makefile.in: Regenerate. 3561 * configure: Regenerate. 3562 * configure.ac: Set up offload_additional_options, 3563 offload_additional_lib_paths and offload_targets. 3564 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS, 3565 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS. 3566 * testsuite/Makefile.in: Regenerate. 3567 * testsuite/lib/libgomp.exp (libgomp_init): Append 3568 offload_additional_lib_paths to LD_LIBRARY_PATH. Append 3569 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic 3570 build directory to LD_LIBRARY_PATH for intelmic offload targets. 3571 35722014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com> 3573 Ilya Verbin <ilya.verbin@intel.com> 3574 Kirill Yukhin <kirill.yukhin@intel.com> 3575 Ilya Tocar <ilya.tocar@intel.com> 3576 3577 * testsuite/lib/libgomp.exp 3578 (check_effective_target_offload_device): New. 3579 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories. 3580 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test. 3581 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto. 3582 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto. 3583 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto. 3584 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto. 3585 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto. 3586 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto. 3587 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto. 3588 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto. 3589 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto. 3590 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto. 3591 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto. 3592 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto. 3593 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto. 3594 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto. 3595 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto. 3596 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto. 3597 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto. 3598 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto. 3599 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto. 3600 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto. 3601 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto. 3602 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto. 3603 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto. 3604 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto. 3605 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto. 3606 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto. 3607 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto. 3608 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto. 3609 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto. 3610 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto. 3611 * testsuite/libgomp.c/target-7.c: Fix test. 3612 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test. 3613 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto. 3614 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto. 3615 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto. 3616 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto. 3617 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto. 3618 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto. 3619 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto. 3620 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto. 3621 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto. 3622 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto. 3623 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto. 3624 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto. 3625 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto. 3626 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto. 3627 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto. 3628 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto. 3629 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto. 3630 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto. 3631 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto. 3632 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto. 3633 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto. 3634 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto. 3635 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto. 3636 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto. 3637 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto. 3638 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto. 3639 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto. 3640 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto. 3641 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto. 3642 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto. 3643 36442014-11-13 Jakub Jelinek <jakub@redhat.com> 3645 Ilya Verbin <ilya.verbin@intel.com> 3646 Thomas Schwinge <thomas@codesourcery.com> 3647 Andrey Turetskiy <andrey.turetskiy@intel.com> 3648 3649 * libgomp.map (GOMP_4.0.1): New symbol version. 3650 Add GOMP_offload_register. 3651 * libgomp_target.h: New file. 3652 * splay-tree.h: New file. 3653 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h. 3654 (gomp_target_init): New forward declaration. 3655 (gomp_is_initialized): New static variable. 3656 (splay_tree_node, splay_tree, splay_tree_key): New typedefs. 3657 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr): 3658 New structures. 3659 (offload_images, num_offload_images, devices, num_devices): New static 3660 variables. 3661 (splay_compare): New static function. 3662 (struct gomp_device_descr): New structure. 3663 (gomp_get_num_devices): Call gomp_target_init. 3664 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt) 3665 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions. 3666 (GOMP_offload_register): New function. 3667 (GOMP_target): Arrange for host callback to be performed in a separate 3668 initial thread and contention group, inheriting ICVs from 3669 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars. 3670 Add device initialization and lookup for target function in splay tree. 3671 (GOMP_target_data): Add device initialization and call gomp_map_vars. 3672 (GOMP_target_end_data): Call gomp_unmap_vars. 3673 (GOMP_target_update): Add device initialization and call gomp_update. 3674 (gomp_load_plugin_for_device, gomp_register_images_for_device) 3675 (gomp_target_init): New static functions. 3676 36772014-11-13 Bernd Schmidt <bernds@codesourcery.com> 3678 Thomas Schwinge <thomas@codesourcery.com> 3679 Ilya Verbin <ilya.verbin@intel.com> 3680 Andrey Turetskiy <andrey.turetskiy@intel.com> 3681 3682 * config.h.in: Regenerate. 3683 * configure: Regenerate. 3684 * configure.ac: Check for libdl, required for plugin support. 3685 (PLUGIN_SUPPORT): Define if plugins are supported. 3686 (enable_offload_targets): Support Intel MIC targets. 3687 (OFFLOAD_TARGETS): List of target names suitable for offloading. 3688 36892014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 3690 3691 PR target/63610 3692 * configure: Regenerate. 3693 36942014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 3695 3696 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600. 3697 36982014-10-06 Marek Polacek <polacek@redhat.com> 3699 3700 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>. 3701 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>. 3702 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h> 3703 * testsuite/libgomp.c/thread-limit-2.c: Likewise. 3704 37052014-10-06 Marek Polacek <polacek@redhat.com> 3706 3707 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations. 3708 * testsuite/libgomp.c/nqueens-1.c: Likewise. 3709 * testsuite/libgomp.c/pr26943-3.c: Likewise. 3710 * testsuite/libgomp.c/pr26943-4.c: Likewise. 3711 * testsuite/libgomp.c/pr36802-2.c: Likewise. 3712 * testsuite/libgomp.c/pr36802-3.c: Likewise. 3713 * testsuite/libgomp.c/thread-limit-1.c: Likewise. 3714 * testsuite/libgomp.c/thread-limit-2.c: Likewise. 3715 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>. 3716 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int. 3717 * testsuite/libgomp.c/omp-parallel-for.c: Likewise. 3718 * testsuite/libgomp.c/omp-parallel-if.c: Likewise. 3719 * testsuite/libgomp.c/omp-single-1.c: Likewise. 3720 * testsuite/libgomp.c/omp-single-2.c: Likewise. 3721 * testsuite/libgomp.c/omp_matvec.c: Likewise. 3722 * testsuite/libgomp.c/omp_workshare3.c: Likewise. 3723 * testsuite/libgomp.c/omp_workshare4.c: Likewise. 3724 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit 3725 declarations. 3726 37272014-10-03 Jakub Jelinek <jakub@redhat.com> 3728 3729 PR libgomp/61200 3730 * testsuite/libgomp.c/pr61200.c: New test. 3731 37322014-09-18 Jakub Jelinek <jakub@redhat.com> 3733 3734 PR c++/63248 3735 * testsuite/libgomp.c++/pr63248.C: New test. 3736 37372014-08-04 Jakub Jelinek <jakub@redhat.com> 3738 3739 * task.c (GOMP_taskgroup_end): If taskgroup->num_children 3740 is not zero, but taskgroup->children is NULL and there are 3741 any task->children, schedule those instead of waiting. 3742 * testsuite/libgomp.c/depend-6.c: New test. 3743 * testsuite/libgomp.c/depend-7.c: New test. 3744 * testsuite/libgomp.c/depend-8.c: New test. 3745 * testsuite/libgomp.c/depend-9.c: New test. 3746 * testsuite/libgomp.c/depend-10.c: New test. 3747 37482014-08-01 Jakub Jelinek <jakub@redhat.com> 3749 3750 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field. 3751 (struct gomp_taskwait): New type. 3752 (struct gomp_task): Add taskwait and parent_depends_on, remove 3753 in_taskwait and taskwait_sem fields. 3754 (gomp_finish_task): Don't destroy taskwait_sem. 3755 * task.c (gomp_init_task): Don't init in_taskwait, instead init 3756 taskwait and parent_depends_on. 3757 (GOMP_task): For if (0) tasks with depend clause that depend on 3758 earlier tasks don't defer them, instead call 3759 gomp_task_maybe_wait_for_dependencies to wait for the dependencies. 3760 Initialize redundant_out field, for redundant out entries just 3761 move them at the end of linked list instead of removing them 3762 completely, and set redundant_out flag instead of redundant. 3763 (gomp_task_run_pre): Update last_parent_depends_on if scheduling 3764 that task. 3765 (gomp_task_run_post_handle_dependers): If parent is in 3766 gomp_task_maybe_wait_for_dependencies and newly runnable task 3767 is not parent_depends_on, queue it in parent->children linked 3768 list after all runnable tasks with parent_depends_on set. 3769 Adjust for addition of taskwait indirection. 3770 (gomp_task_run_post_remove_parent): If parent is in 3771 gomp_task_maybe_wait_for_dependencies and task to be removed 3772 is parent_depends_on, decrement n_depend and if needed awake 3773 parent. Adjust for addition of taskwait indirection. 3774 (GOMP_taskwait): Adjust for addition of taskwait indirection. 3775 (gomp_task_maybe_wait_for_dependencies): New function. 3776 * testsuite/libgomp.c/depend-5.c: New test. 3777 37782014-07-13 Tobias Burnus <burnus@net-b.de> 3779 3780 * testsuite/libgomp.fortran/pr34020.f90: Make compile 3781 with TS 18508/Fortran 2015. 3782 37832014-07-06 Marek Polacek <polacek@redhat.com> 3784 3785 PR c/6940 3786 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings. 3787 37882014-07-03 Jakub Jelinek <jakub@redhat.com> 3789 3790 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source 3791 matches regex $lang_source_re, add $lang_include_flags to options. 3792 * testsuite/libgomp.c/c.exp: Unset lang_include_flags. 3793 * testsuite/libgomp.c++/c++.exp: Likewise. 3794 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re 3795 and lang_include_flags instead of adding -fintrinsic-modules-path= to 3796 ALWAYS_CFLAGS. 3797 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags. 3798 37992014-07-03 Thomas Schwinge <thomas@codesourcery.com> 3800 3801 * testsuite/libgomp.fortran/fortran.exp: Explain 3802 gfortran-dg-runtest usage. 3803 38042014-06-25 Jakub Jelinek <jakub@redhat.com> 3805 3806 * testsuite/libgomp.fortran/simd5.f90: New test. 3807 * testsuite/libgomp.fortran/simd6.f90: New test. 3808 * testsuite/libgomp.fortran/simd7.f90: New test. 3809 38102014-06-24 Jakub Jelinek <jakub@redhat.com> 3811 3812 * testsuite/libgomp.c/for-2.c: Define SC to static for 3813 #pragma omp for simd testing. 3814 * testsuite/libgomp.c/for-2.h (SC): Define if not defined. 3815 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use 3816 SC macro. 3817 * testsuite/libgomp.c/simd-14.c: New test. 3818 * testsuite/libgomp.c/simd-15.c: New test. 3819 * testsuite/libgomp.c/simd-16.c: New test. 3820 * testsuite/libgomp.c/simd-17.c: New test. 3821 * testsuite/libgomp.c++/for-10.C: Define SC to static for 3822 #pragma omp for simd testing. 3823 * testsuite/libgomp.c++/simd10.C: New test. 3824 * testsuite/libgomp.c++/simd11.C: New test. 3825 * testsuite/libgomp.c++/simd12.C: New test. 3826 * testsuite/libgomp.c++/simd13.C: New test. 3827 3828 * testsuite/libgomp.fortran/aligned1.f03: New test. 3829 * testsuite/libgomp.fortran/nestedfn5.f90: New test. 3830 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning 3831 tasks with !$omp parallel !$omp single. 3832 * testsuite/libgomp.fortran/target8.f90: New test. 3833 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust 3834 not to use trim in the combiner, instead call elemental function. 3835 (fn): New elemental function. 3836 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init): 3837 Make elemental. 3838 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out, 3839 omp_in): Likewise. 3840 * testsuite/libgomp.fortran/udr12.f90: New test. 3841 * testsuite/libgomp.fortran/udr13.f90: New test. 3842 * testsuite/libgomp.fortran/udr14.f90: New test. 3843 * testsuite/libgomp.fortran/udr15.f90: New test. 3844 38452014-06-18 Jakub Jelinek <jakub@redhat.com> 3846 3847 * omp_lib.f90.in (openmp_version): Set to 201307. 3848 * omp_lib.h.in (openmp_version): Likewise. 3849 * testsuite/libgomp.c/target-8.c: New test. 3850 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch 3851 and inbranch clauses. 3852 * testsuite/libgomp.fortran/depend-3.f90: New test. 3853 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new 3854 openmp_version. 3855 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise. 3856 * testsuite/libgomp.fortran/target1.f90: New test. 3857 * testsuite/libgomp.fortran/target2.f90: New test. 3858 * testsuite/libgomp.fortran/target3.f90: New test. 3859 * testsuite/libgomp.fortran/target4.f90: New test. 3860 * testsuite/libgomp.fortran/target5.f90: New test. 3861 * testsuite/libgomp.fortran/target6.f90: New test. 3862 * testsuite/libgomp.fortran/target7.f90: New test. 3863 38642014-06-10 Jakub Jelinek <jakub@redhat.com> 3865 3866 PR fortran/60928 3867 * testsuite/libgomp.fortran/allocatable9.f90: New test. 3868 * testsuite/libgomp.fortran/allocatable10.f90: New test. 3869 * testsuite/libgomp.fortran/allocatable11.f90: New test. 3870 * testsuite/libgomp.fortran/allocatable12.f90: New test. 3871 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test. 3872 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test. 3873 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test. 3874 * testsuite/libgomp.fortran/associate1.f90: New test. 3875 * testsuite/libgomp.fortran/associate2.f90: New test. 3876 * testsuite/libgomp.fortran/procptr1.f90: New test. 3877 38782014-06-06 Jakub Jelinek <jakub@redhat.com> 3879 3880 * testsuite/libgomp.fortran/simd1.f90: New test. 3881 * testsuite/libgomp.fortran/udr1.f90: New test. 3882 * testsuite/libgomp.fortran/udr2.f90: New test. 3883 * testsuite/libgomp.fortran/udr3.f90: New test. 3884 * testsuite/libgomp.fortran/udr4.f90: New test. 3885 * testsuite/libgomp.fortran/udr5.f90: New test. 3886 * testsuite/libgomp.fortran/udr6.f90: New test. 3887 * testsuite/libgomp.fortran/udr7.f90: New test. 3888 * testsuite/libgomp.fortran/udr8.f90: New test. 3889 * testsuite/libgomp.fortran/udr9.f90: New test. 3890 * testsuite/libgomp.fortran/udr10.f90: New test. 3891 * testsuite/libgomp.fortran/udr11.f90: New test. 3892 38932014-05-27 Uros Bizjak <ubizjak@gmail.com> 3894 3895 * testsuite/libgomp.fortran/declare-simd-1.f90: Require 3896 vect_simd_clones effective target. 3897 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto. 3898 38992014-05-21 Jakub Jelinek <jakub@redhat.com> 3900 3901 PR middle-end/61252 3902 * testsuite/libgomp.c++/simd-9.C: New test. 3903 39042014-05-18 Uros Bizjak <ubizjak@gmail.com> 3905 3906 * libgomp.texi (Runitme Library Routines): Remove multiple @menu. 3907 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node 3908 texts according to their @menu entry positions. 3909 39102014-05-11 Jakub Jelinek <jakub@redhat.com> 3911 3912 * testsuite/libgomp.fortran/cancel-do-1.f90: New test. 3913 * testsuite/libgomp.fortran/cancel-do-2.f90: New test. 3914 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test. 3915 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test. 3916 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test. 3917 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test. 3918 * testsuite/libgomp.fortran/declare-simd-1.f90: New test. 3919 * testsuite/libgomp.fortran/declare-simd-2.f90: New test. 3920 * testsuite/libgomp.fortran/declare-simd-3.f90: New test. 3921 * testsuite/libgomp.fortran/depend-1.f90: New test. 3922 * testsuite/libgomp.fortran/depend-2.f90: New test. 3923 * testsuite/libgomp.fortran/omp_atomic5.f90: New test. 3924 * testsuite/libgomp.fortran/simd1.f90: New test. 3925 * testsuite/libgomp.fortran/simd2.f90: New test. 3926 * testsuite/libgomp.fortran/simd3.f90: New test. 3927 * testsuite/libgomp.fortran/simd4.f90: New test. 3928 * testsuite/libgomp.fortran/taskgroup1.f90: New test. 3929 39302014-05-02 Jakub Jelinek <jakub@redhat.com> 3931 3932 * testsuite/libgomp.c/simd-10.c: New test. 3933 * testsuite/libgomp.c/simd-11.c: New test. 3934 * testsuite/libgomp.c/simd-12.c: New test. 3935 * testsuite/libgomp.c/simd-13.c: New test. 3936 39372014-04-24 Jakub Jelinek <jakub@redhat.com> 3938 3939 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and 3940 atomic type clauses in any order and optional comma in between. 3941 * testsuite/libgomp.c++/atomic-15.C: Likewise. 3942 * testsuite/libgomp.c/atomic-17.c: Likewise. 3943 3944 * testsuite/libgomp.c/simd-7.c: New test. 3945 * testsuite/libgomp.c/simd-8.c: New test. 3946 * testsuite/libgomp.c/simd-9.c: New test. 3947 * testsuite/libgomp.c/loop-16.c: New test. 3948 39492014-04-02 Richard Henderson <rth@redhat.com> 3950 3951 * config/linux/futex.h (futex_wait): Get error value from errno. 3952 (futex_wake): Likewise. 3953 39542014-03-25 Jakub Jelinek <jakub@redhat.com> 3955 3956 PR c++/60331 3957 * testsuite/libgomp.c++/udr-11.C: New test. 3958 * testsuite/libgomp.c++/udr-12.C: New test. 3959 * testsuite/libgomp.c++/udr-13.C: New test. 3960 * testsuite/libgomp.c++/udr-14.C: New test. 3961 * testsuite/libgomp.c++/udr-15.C: New test. 3962 * testsuite/libgomp.c++/udr-16.C: New test. 3963 * testsuite/libgomp.c++/udr-17.C: New test. 3964 * testsuite/libgomp.c++/udr-18.C: New test. 3965 * testsuite/libgomp.c++/udr-19.C: New test. 3966 39672014-01-02 Richard Sandiford <rdsandiford@googlemail.com> 3968 3969 Update copyright years 3970 39712014-01-02 Richard Sandiford <rdsandiford@googlemail.com> 3972 3973 * hashtab.h: Use the standard form for the copyright notice. 3974 39752014-01-02 Tobias Burnus <burnus@net-b.de> 3976 3977 * libgomp.texi: Bump @copying's copyright year. 3978 39792013-12-17 Andreas Tobler <andreast@gcc.gnu.org> 3980 3981 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h inlcude. Replace 3982 alloca () with __builtin_alloca (). 3983 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage. 3984 * testsuite/libgomp.c/lock-3.c: Likewise. 3985 * testsuite/libgomp.c/pr48591.c: Likewise. 3986 39872013-12-17 Jakub Jelinek <jakub@redhat.com> 3988 3989 PR testsuite/59534 3990 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited 3991 comparisons. 3992 39932013-12-16 Jakub Jelinek <jakub@redhat.com> 3994 3995 PR libgomp/58756 3996 * testsuite/libgomp.c/pr58756.c: New test. 3997 39982013-12-12 Jakub Jelinek <jakub@redhat.com> 3999 4000 PR libgomp/59467 4001 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to 4002 !$omp parallel. 4003 40042013-11-07 Thomas Schwinge <thomas@codesourcery.com> 4005 4006 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to 4007 ALWAYS_CFLAGS. 4008 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp. 4009 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise. 4010 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise. 4011 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS): 4012 Likewise. 4013 4014 * libgomp_g.h: Include <stddef.h> for size_t. 4015 4016 * libgomp.spec.in: Update comment about libgomp's dependencies. 4017 * configure.ac: Likewise. 4018 * configure: Regenerate. 4019 40202013-10-16 Tobias Burnus <burnus@net-b.de> 4021 4022 * libgomp.texi: (Runtime Library Routines): Update references for 4023 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device, 4024 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind, 4025 omp_get_team_num, omp_is_initial_device, omp_set_default_device. 4026 (Environment Variables): Update references for OpenMP 4.0. Add 4027 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES. 4028 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical 4029 order. 4030 40312013-10-14 Jakub Jelinek <jakub@redhat.com> 4032 4033 * env.c (parse_bind_var): Initialize value to avoid 4034 (false positive) warning. 4035 40362013-10-12 Jakub Jelinek <jakub@redhat.com> 4037 4038 PR libgomp/58691 4039 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute 4040 to check variable. 4041 (gomp_init_num_threads): Move i variable declaration into 4042 #ifdef CPU_ALLOC_SIZE block. 4043 * config/linux/affinity.c (gomp_affinity_init_level): Test 4044 gomp_places_list_len == 0 rather than gomp_places_list == 0 4045 when checking for topology reading error. 4046 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false. 4047 * env.c (parse_affinity): Add ignore argument, if true, don't populate 4048 gomp_places_list, only parse env var and always return false. 4049 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var. 4050 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env 4051 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified 4052 and either of these variables were parsed correctly into a places 4053 list. 4054 40552013-10-11 Thomas Schwinge <thomas@codesourcery.com> 4056 Jakub Jelinek <jakub@redhat.com> 4057 4058 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead 4059 of 5 loopfn matches. 4060 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise. 4061 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise. 4062 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise. 4063 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise. 4064 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise. 4065 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise. 4066 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise. 4067 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise. 4068 40692013-10-11 Thomas Schwinge <thomas@codesourcery.com> 4070 4071 * Makefile.am (omp_lib.mod): Streamline rule. 4072 * Makefile.in: Regenerate. 4073 4074 * libgomp.texi (Runtime Library Routines): C linkage, don't throw 4075 exceptions. 4076 4077 * testsuite/libgomp.c/lib-1.c (main): Add missing error check. 4078 * testsuite/libgomp.fortran/lib1.f90: Likewise. 4079 * testsuite/libgomp.fortran/lib2.f: Likewise. 4080 * testsuite/libgomp.fortran/lib3.f: Likewise. 4081 4082 * configure.ac: Typo fix. 4083 * configure: Regenerate. 4084 4085 * testsuite/libgomp.fortran/openmp_version-1.f: New file. 4086 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise. 4087 4088 * omp.h.in: Don't touch the user's namespace. 4089 40902013-10-11 Jakub Jelinek <jakub@redhat.com> 4091 Tobias Burnus <burnus@net-b.de> 4092 Richard Henderson <rth@redhat.com> 4093 4094 * target.c: New file. 4095 * Makefile.am (libgomp_la_SOURCES): Add target.c. 4096 * Makefile.in: Regenerated. 4097 * libgomp_g.h (GOMP_task): Add depend argument. 4098 (GOMP_barrier_cancel, GOMP_loop_end_cancel, 4099 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data, 4100 GOMP_target_end_data, GOMP_target_update, GOMP_teams, 4101 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic, 4102 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime, 4103 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point, 4104 GOMP_taskgroup_start, GOMP_taskgroup_end, 4105 GOMP_parallel_sections): New prototypes. 4106 * fortran.c (omp_is_initial_device): Add ialias_redirect. 4107 (omp_is_initial_device_): New function. 4108 (ULP, STR1, STR2, ialias_redirect): Removed. 4109 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_, 4110 omp_set_default_device_8_, omp_get_default_device_, 4111 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New 4112 functions. 4113 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel, 4114 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data, 4115 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export 4116 @@GOMP_4.0. 4117 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation, 4118 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_, 4119 omp_set_default_device, omp_set_default_device_, 4120 omp_set_default_device_8_, omp_get_default_device, 4121 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_, 4122 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num, 4123 omp_get_team_num_): Export @@OMP_4.0. 4124 * team.c (struct gomp_thread_start_data): Add place field. 4125 (gomp_thread_start): Clear thr->thread_pool and 4126 thr->task before returning. Use gomp_team_barrier_wait_final 4127 instead of gomp_team_barrier_wait. Initialize thr->place. 4128 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled, 4129 team_cancelled and task_queued_count fields. 4130 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task 4131 before calling pthread_exit. 4132 (gomp_free_thread): No longer static. Use 4133 gomp_managed_threads_lock instead of gomp_remaining_threads_lock. 4134 (gomp_team_start): Add flags argument. Set 4135 thr->thread_pool->threads_busy to nthreads immediately after creating 4136 new pool. Use gomp_managed_threads_lock instead of 4137 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity. 4138 (gomp_team_end): Use gomp_managed_threads_lock instead of 4139 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead 4140 of gomp_team_barrier_wait. If team->team_cancelled, call 4141 gomp_fini_worshare on ws chain starting at team->work_shares_to_free 4142 rather than thr->ts.work_share. 4143 (initialize_team): Don't call gomp_sem_init here. 4144 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start 4145 caller. 4146 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions. 4147 * env.c (gomp_global_icv): Add default_device_var, target_data and 4148 bind_var initializers. 4149 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove. 4150 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list, 4151 gomp_places_list_len): New variables. 4152 (parse_bind_var, parse_one_place, parse_places_var): New functions. 4153 (parse_affinity): Rewritten to construct OMP_PLACES list with unit 4154 sized places. 4155 (gomp_cancel_var): New global variable. 4156 (parse_int): New function. 4157 (handle_omp_display_env): New function. 4158 (initialize_env): Use it. Initialize default_device_var. 4159 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse 4160 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for 4161 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has 4162 been successfully parsed (and call gomp_init_affinity in that case). 4163 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device, 4164 omp_get_default_device, omp_get_num_devices, omp_get_num_teams, 4165 omp_get_team_num, omp_is_initial_device): New functions. 4166 * libgomp.h: Include stdlib.h. 4167 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call): 4168 Define. 4169 (struct target_mem_desc): Forward declare. 4170 (struct gomp_task_icv): Add default_device_var, target_data, bind_var 4171 and thread_limit_var fields. 4172 (gomp_get_num_devices): New prototype. 4173 (gomp_cancel_var): New extern decl. 4174 (struct gomp_team): Add work_shares_to_free, work_share_cancelled, 4175 team_cancelled and task_queued_count fields. Add comments about 4176 task_{,queued_,running_}count. 4177 (gomp_cancel_kind): New enum. 4178 (gomp_work_share_end_cancel): New prototype. 4179 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup, 4180 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees 4181 and depend fields. 4182 (struct gomp_taskgroup): New type. 4183 (struct gomp_task_depend_entry, 4184 struct gomp_dependers_vec): New types. 4185 (gomp_finish_task): Free depend_hash if non-NULL. 4186 (struct gomp_team_state): Add place_partition_off 4187 and place_partition_len fields. 4188 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list, 4189 gomp_places_list_len): New extern decls. 4190 (struct gomp_thread): Add place field. 4191 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove. 4192 (gomp_init_thread_affinity): Add place argument. 4193 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus, 4194 gomp_affinity_remove_cpu, gomp_affinity_copy_place, 4195 gomp_affinity_same_place, gomp_affinity_finalize_place_list, 4196 gomp_affinity_init_level, gomp_affinity_print_place): New 4197 prototypes. 4198 (gomp_team_start): Add flags argument. 4199 (gomp_thread_limit_var, gomp_remaining_threads_count, 4200 gomp_remaining_threads_lock): Remove. 4201 (gomp_managed_threads_lock): New variable. 4202 (struct gomp_thread_pool): Add threads_busy field. 4203 (gomp_free_thread): New prototype. 4204 * task.c: Include hashtab.h. 4205 (hash_entry_type): New typedef. 4206 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines. 4207 (gomp_init_task): Clear dependers, depend_hash, depend_count, 4208 copy_ctors_done and taskgroup fields. 4209 (GOMP_task): Add depend argument, handle depend clauses. If 4210 gomp_team_barrier_cancelled or if it's taskgroup has been 4211 cancelled, don't queue or start new tasks. Set copy_ctors_done 4212 field if needed. Initialize taskgroup field. If copy_ctors_done 4213 and already cancelled, don't discard the task. If taskgroup is 4214 non-NULL, enqueue the task into taskgroup queue. Increment 4215 num_children field in taskgroup. Increment task_queued_count. 4216 (gomp_task_run_pre, gomp_task_run_post_remove_parent, 4217 gomp_task_run_post_remove_taskgroup): New inline functions. 4218 (gomp_task_run_post_handle_depend_hash, 4219 gomp_task_run_post_handle_dependers, 4220 gomp_task_run_post_handle_depend): New functions. 4221 (GOMP_taskwait): Use them. If more than one new tasks 4222 have been queued, wake other threads if needed. 4223 (gomp_barrier_handle_tasks): Likewise. If 4224 gomp_team_barrier_cancelled, don't start any new tasks, just free 4225 all tasks. 4226 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions. 4227 * omp_lib.f90.in 4228 (omp_proc_bind_kind, omp_proc_bind_false, 4229 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close, 4230 omp_proc_bind_spread): New params. 4231 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device, 4232 omp_get_default_device, omp_get_num_devices, omp_get_num_teams, 4233 omp_get_team_num, omp_is_initial_device): New interfaces. 4234 (omp_get_dynamic, omp_get_nested, omp_in_parallel, 4235 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads, 4236 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels, 4237 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num, 4238 omp_get_team_size, omp_get_active_level, omp_in_final): Remove 4239 useless use omp_lib_kinds. 4240 * omp.h.in (omp_proc_bind_t): New typedef. 4241 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device, 4242 omp_get_default_device, omp_get_num_devices, omp_get_num_teams, 4243 omp_get_team_num, omp_is_initial_device): New prototypes. 4244 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it 4245 through to gomp_team_start. 4246 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start, 4247 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start): 4248 Adjust gomp_parallel_loop_start callers. 4249 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic, 4250 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime, 4251 GOMP_loop_end_cancel): New functions. 4252 (GOMP_parallel_end): Add ialias_redirect. 4253 * hashtab.h: New file. 4254 * libgomp.texi (Environment Variables): Minor cleanup, 4255 update section refs to OpenMP 4.0rc2. 4256 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these 4257 environment variables. 4258 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set 4259 team->work_shares_to_free to thr->ts.work_share before calling 4260 free_work_share. 4261 (gomp_work_share_end_cancel): New function. 4262 * config/linux/proc.c: Include errno.h. 4263 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables. 4264 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of 4265 sizeof (cpu_set_t) to determine number of iterations. Fix up check 4266 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if 4267 gomp_cpuset_size is sizeof (cpu_set_t). 4268 (gomp_init_num_threads): Initialize gomp_cpuset_size, 4269 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead 4270 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t) 4271 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't 4272 contain any logical CPUs. 4273 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp 4274 is NULL. Use gomp_cpusetp instead of &cpuset and pass 4275 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to 4276 pthread_getaffinity_np. Check gomp_places_list instead of 4277 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller. 4278 * config/linux/bar.c (gomp_barrier_wait_end, 4279 gomp_barrier_wait_last): Use BAR_* defines. 4280 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED 4281 from state where needed. Set work_share_cancelled to 0 on last 4282 thread. 4283 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end, 4284 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New 4285 functions. 4286 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden. 4287 Add cpusetsize argument. 4288 (gomp_cpuset_size, gomp_cpusetp): Declare. 4289 * config/linux/affinity.c: Include errno.h, stdio.h and string.h. 4290 (affinity_counter): Remove. 4291 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define 4292 if CPU_ALLOC_SIZE isn't defined. 4293 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try 4294 silently create OMP_PLACES=threads, if it is non-NULL afterwards, 4295 bind current thread to the first place. 4296 (gomp_init_thread_affinity): Rewritten. Add place argument, just 4297 pthread_setaffinity_np to gomp_places_list[place]. 4298 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus, 4299 gomp_affinity_remove_cpu, gomp_affinity_copy_place, 4300 gomp_affinity_same_place, gomp_affinity_finalize_place_list, 4301 gomp_affinity_init_level, gomp_affinity_print_place): New functions. 4302 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST, 4303 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define. 4304 (gomp_barrier_t): Add awaited_final field. 4305 (gomp_barrier_init): Initialize awaited_final field. 4306 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel, 4307 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New 4308 prototypes. 4309 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_* 4310 defines. 4311 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start, 4312 gomp_team_barrier_cancelled): New inline functions. 4313 (gomp_barrier_last_thread, 4314 gomp_team_barrier_set_task_pending, 4315 gomp_team_barrier_clear_task_pending, 4316 gomp_team_barrier_set_waiting_for_tasks, 4317 gomp_team_barrier_waiting_for_tasks, 4318 gomp_team_barrier_done): Use BAR_* defines. 4319 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field. 4320 (gomp_barrier_wait_end): Use BAR_* defines. 4321 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state. 4322 Set work_share_cancelled to 0 on last thread, use __atomic_load_n. 4323 Use BAR_* defines. 4324 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel, 4325 gomp_team_barrier_cancel): New functions. 4326 * config/posix/affinity.c (gomp_init_thread_affinity): Add place 4327 argument. 4328 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus, 4329 gomp_affinity_remove_cpu, gomp_affinity_copy_place, 4330 gomp_affinity_same_place, gomp_affinity_finalize_place_list, 4331 gomp_affinity_init_level, gomp_affinity_print_place): New stubs. 4332 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST, 4333 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define. 4334 (gomp_barrier_t): Add cancellable field. 4335 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end, 4336 gomp_team_barrier_cancel): New prototypes. 4337 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. 4338 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final, 4339 gomp_team_barrier_cancelled): New inline functions. 4340 (gomp_barrier_wait_start, gomp_barrier_last_thread, 4341 gomp_team_barrier_set_task_pending, 4342 gomp_team_barrier_clear_task_pending, 4343 gomp_team_barrier_set_waiting_for_tasks, 4344 gomp_team_barrier_waiting_for_tasks, 4345 gomp_team_barrier_done): Use BAR_* defines. 4346 * barrier.c (GOMP_barrier_cancel): New function. 4347 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false, 4348 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close, 4349 omp_proc_bind_spread): New params. 4350 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device, 4351 omp_get_default_device, omp_get_num_devices, omp_get_num_teams, 4352 omp_get_team_num, omp_is_initial_device): New externals. 4353 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point): 4354 New functions. 4355 (gomp_resolve_num_threads): Adjust for thread_limit now being in 4356 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as 4357 infinity. If not nested, just return minimum of max_num_threads 4358 and icv->thread_limit_var and if thr->thread_pool, set threads_busy 4359 to the returned value. Otherwise, don't update atomically 4360 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy. 4361 (GOMP_parallel_end): Adjust for thread_limit now being in 4362 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as 4363 infinity. Adjust threads_busy in the pool rather than 4364 gomp_remaining_threads_count. Remember team->nthreads and call 4365 gomp_team_end before adjusting threads_busy, if not nested 4366 afterwards, just set it to 1 non-atomically. Add ialias. 4367 (GOMP_parallel_start): Adjust gomp_team_start caller. 4368 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid. 4369 * testsuite/libgomp.c/affinity-1.c: New test. 4370 * testsuite/libgomp.c/atomic-15.c: New test. 4371 * testsuite/libgomp.c/atomic-16.c: New test. 4372 * testsuite/libgomp.c/atomic-17.c: New test. 4373 * testsuite/libgomp.c/cancel-for-1.c: New test. 4374 * testsuite/libgomp.c/cancel-for-2.c: New test. 4375 * testsuite/libgomp.c/cancel-parallel-1.c: New test. 4376 * testsuite/libgomp.c/cancel-parallel-2.c: New test. 4377 * testsuite/libgomp.c/cancel-parallel-3.c: New test. 4378 * testsuite/libgomp.c/cancel-sections-1.c: New test. 4379 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test. 4380 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test. 4381 * testsuite/libgomp.c/depend-1.c: New test. 4382 * testsuite/libgomp.c/depend-2.c: New test. 4383 * testsuite/libgomp.c/depend-3.c: New test. 4384 * testsuite/libgomp.c/depend-4.c: New test. 4385 * testsuite/libgomp.c/for-1.c: New test. 4386 * testsuite/libgomp.c/for-1.h: New file. 4387 * testsuite/libgomp.c/for-2.c: New test. 4388 * testsuite/libgomp.c/for-2.h: New file. 4389 * testsuite/libgomp.c/for-3.c: New test. 4390 * testsuite/libgomp.c/pr58392.c: New test. 4391 * testsuite/libgomp.c/simd-1.c: New test. 4392 * testsuite/libgomp.c/simd-2.c: New test. 4393 * testsuite/libgomp.c/simd-3.c: New test. 4394 * testsuite/libgomp.c/simd-4.c: New test. 4395 * testsuite/libgomp.c/simd-5.c: New test. 4396 * testsuite/libgomp.c/simd-6.c: New test. 4397 * testsuite/libgomp.c/target-1.c: New test. 4398 * testsuite/libgomp.c/target-2.c: New test. 4399 * testsuite/libgomp.c/target-3.c: New test. 4400 * testsuite/libgomp.c/target-4.c: New test. 4401 * testsuite/libgomp.c/target-5.c: New test. 4402 * testsuite/libgomp.c/target-6.c: New test. 4403 * testsuite/libgomp.c/target-7.c: New test. 4404 * testsuite/libgomp.c/taskgroup-1.c: New test. 4405 * testsuite/libgomp.c/thread-limit-1.c: New test. 4406 * testsuite/libgomp.c/thread-limit-2.c: New test. 4407 * testsuite/libgomp.c/thread-limit-3.c: New test. 4408 * testsuite/libgomp.c/udr-1.c: New test. 4409 * testsuite/libgomp.c/udr-2.c: New test. 4410 * testsuite/libgomp.c/udr-3.c: New test. 4411 * testsuite/libgomp.c++/affinity-1.C: New test. 4412 * testsuite/libgomp.c++/atomic-10.C: New test. 4413 * testsuite/libgomp.c++/atomic-11.C: New test. 4414 * testsuite/libgomp.c++/atomic-12.C: New test. 4415 * testsuite/libgomp.c++/atomic-13.C: New test. 4416 * testsuite/libgomp.c++/atomic-14.C: New test. 4417 * testsuite/libgomp.c++/atomic-15.C: New test. 4418 * testsuite/libgomp.c++/cancel-for-1.C: New test. 4419 * testsuite/libgomp.c++/cancel-for-2.C: New test. 4420 * testsuite/libgomp.c++/cancel-parallel-1.C: New test. 4421 * testsuite/libgomp.c++/cancel-parallel-2.C: New test. 4422 * testsuite/libgomp.c++/cancel-parallel-3.C: New test. 4423 * testsuite/libgomp.c++/cancel-sections-1.C: New test. 4424 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test. 4425 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test. 4426 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test. 4427 * testsuite/libgomp.c++/cancel-test.h: New file. 4428 * testsuite/libgomp.c++/for-9.C: New test. 4429 * testsuite/libgomp.c++/for-10.C: New test. 4430 * testsuite/libgomp.c++/for-11.C: New test. 4431 * testsuite/libgomp.c++/simd-1.C: New test. 4432 * testsuite/libgomp.c++/simd-2.C: New test. 4433 * testsuite/libgomp.c++/simd-3.C: New test. 4434 * testsuite/libgomp.c++/simd-4.C: New test. 4435 * testsuite/libgomp.c++/simd-5.C: New test. 4436 * testsuite/libgomp.c++/simd-6.C: New test. 4437 * testsuite/libgomp.c++/simd-7.C: New test. 4438 * testsuite/libgomp.c++/simd-8.C: New test. 4439 * testsuite/libgomp.c++/target-1.C: New test. 4440 * testsuite/libgomp.c++/target-2.C: New test. 4441 * testsuite/libgomp.c++/target-2-aux.cc: New file. 4442 * testsuite/libgomp.c++/target-3.C: New test. 4443 * testsuite/libgomp.c++/taskgroup-1.C: New test. 4444 * testsuite/libgomp.c++/udr-1.C: New test. 4445 * testsuite/libgomp.c++/udr-2.C: New test. 4446 * testsuite/libgomp.c++/udr-3.C: New test. 4447 * testsuite/libgomp.c++/udr-4.C: New test. 4448 * testsuite/libgomp.c++/udr-5.C: New test. 4449 * testsuite/libgomp.c++/udr-6.C: New test. 4450 * testsuite/libgomp.c++/udr-7.C: New test. 4451 * testsuite/libgomp.c++/udr-8.C: New test. 4452 * testsuite/libgomp.c++/udr-9.C: New test. 4453 44542013-09-20 Jakub Jelinek <jakub@redhat.com> 4455 4456 PR testsuite/57605 4457 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to 4458 ALWAYS_CFLAGS. 4459 44602013-09-20 Alan Modra <amodra@gmail.com> 4461 4462 * configure: Regenerate. 4463 44642013-09-19 Jakub Jelinek <jakub@redhat.com> 4465 4466 * testsuite/libgomp.c/sections-2.c: New test. 4467 44682013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com> 4469 4470 * testsuite/libgomp.fortran/strassen.f90: 4471 Add dg-skip-if aarch64_tiny. 4472 44732013-06-20 Iain Sandoe <iain@codesourcery.com> 4474 Cesar Philippidis <cesar@codesourcery.com> 4475 4476 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order. 4477 Do not load_gcc_lib gcc-dg.exp and add a comment as to why. 4478 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp. 4479 * testsuite/libgomp.fortran/fortran.exp: Likewise. 4480 * testsuite/libgomp.graphite/graphite.exp: Likewise. 4481 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp. 4482 Use dg-runtest rather than gfortran-dg-runtest. 4483 44842013-06-10 Thomas Schwinge <thomas@codesourcery.com> 4485 4486 * testsuite/libgomp.c/icv-2.c: Extend current handling of 4487 Linux-based x86 systems to cover all GNU systems. 4488 * testsuite/libgomp.c/lock-3.c: Likewise. 4489 * testsuite/libgomp.c/pr48591.c: Likewise. 4490 44912013-06-06 Thomas Schwinge <thomas@codesourcery.com> 4492 4493 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for 4494 GNU/Hurd, as done for Linux-based systems. 4495 4496 * config/posix/ptrlock.h: Fix comment. 4497 44982013-05-27 Tobias Burnus <burnus@net-b.de> 4499 4500 PR fortran/57423 4501 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested, 4502 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock, 4503 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock, 4504 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock, 4505 omp_destroy_nest_lock): Correct arguments to match the one in 4506 the OpenMP spec. 4507 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock 4508 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock, 4509 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested, 4510 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto. 4511 45122013-05-16 Jakub Jelinek <jakub@redhat.com> 4513 4514 * testsuite/libgomp.c/loop-13.c: New test. 4515 * testsuite/libgomp.c/loop-14.c: New test. 4516 * testsuite/libgomp.c/loop-15.c: New test. 4517 * testsuite/libgomp.c++/loop-13.C: New test. 4518 * testsuite/libgomp.c++/loop-14.C: New test. 4519 * testsuite/libgomp.c++/loop-15.C: New test. 4520 45212013-02-06 Jakub Jelinek <jakub@redhat.com> 4522 4523 PR middle-end/56217 4524 * testsuite/libgomp.c++/pr56217.C: New test. 4525 45262013-02-01 Alan Modra <amodra@gmail.com> 4527 4528 * task.c (GOMP_task, GOMP_taskwait): Comment. 4529 45302013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org> 4531 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch> 4532 4533 PR libgomp/55561 4534 * config/linux/wait.h (do_spin): Use atomic load for addr. 4535 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic 4536 for intptr and ptrlock. 4537 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load 4538 for ptrlock. 4539 45402013-01-22 Alan Modra <amodra@gmail.com> 4541 4542 PR libgomp/51376 4543 PR libgomp/56073 4544 * task.c (GOMP_task): Revert 2011-12-09 change. 4545 (GOMP_taskwait): Likewise. Instead use atomic load with acquire 4546 barrier to read task->children.. 4547 (gomp_barrier_handle_tasks): ..and matching atomic store with 4548 release barrier here when setting parent->children to NULL. 4549 45502013-01-16 Jakub Jelinek <jakub@redhat.com> 4551 Tobias Burnus <burnus@net-b.de> 4552 4553 PR driver/55884 4554 * testsuite/libgomp.fortran/fortran.exp: Use 4555 -fintrinsic-modules-path= instead of 4556 -fintrinsic-modules-path. 4557 45582013-01-14 Richard Sandiford <rdsandiford@googlemail.com> 4559 4560 Update copyright years. 4561 45622012-12-19 Tobias Burnus <burnus@net-b.de> 4563 4564 * testsuite/libgomp.fortran/fortran.exp: Set 4565 -fintrinsic-modules-path. 4566 45672012-12-19 Tobias Burnus <burnus@net-b.de> 4568 4569 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved 4570 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90. 4571 45722012-11-21 Jakub Jelinek <jakub@redhat.com> 4573 4574 PR libgomp/55411 4575 * team.c (gomp_free_thread): Decrease gomp_managed_threads 4576 if pool had any threads_used. 4577 45782012-11-07 Jack Howarth <howarth@bromo.med.uc.edu> 4579 4580 * testsuite/libgomp.c++/pr24455.C: Use 4581 -Wl,-undefined,dynamic_lookup on darwin. 4582 45832012-11-07 David Edelsohn <dje.gcc@gmail.com> 4584 4585 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX. 4586 45872012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr> 4588 4589 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops. 4590 45912012-10-23 Ian Bolton <ian.bolton@arm.com> 4592 Jim MacArthur <jim.macarthur@arm.com> 4593 Marcus Shawcroft <marcus.shawcroft@arm.com> 4594 Nigel Stephens <nigel.stephens@arm.com> 4595 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> 4596 Richard Earnshaw <rearnsha@arm.com> 4597 Sofiane Naci <sofiane.naci@arm.com> 4598 Stephen Thomas <stephen.thomas@arm.com> 4599 Tejas Belagod <tejas.belagod@arm.com> 4600 Yufeng Zhang <yufeng.zhang@arm.com> 4601 4602 * configure.tgt: Add AArch64. 4603 46042012-10-04 Jason Merrill <jason@redhat.com> 4605 4606 * testsuite/libgomp.c++/tls-init1.C: New. 4607 46082012-09-14 David Edelsohn <dje.gcc@gmail.com> 4609 4610 * configure: Regenerated. 4611 46122012-08-29 Chung-Lin Tang <cltang@codesourcery.com> 4613 4614 * config/linux/mips/futex.h (sys_futex0): Change to static 4615 function with noinline, nomips16 attributes under MIPS16. Adjust 4616 asm statement to place 'li v0,SYS_futex' immediately before 4617 syscall insn. 4618 46192012-07-04 Sandra Loosemore <sandra@codesourcery.com> 4620 4621 * libgomp.texi (Library Index): Renamed from "Index" to prevent 4622 conflict with index.html on case-insensitive file systems. 4623 46242012-07-03 Uros Bizjak <ubizjak@gmail.com> 4625 4626 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause. 4627 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto. 4628 46292012-07-02 Richard Guenther <rguenther@suse.de> 4630 Michael Matz <matz@suse.de> 4631 Tobias Grosser <tobias@grosser.es> 4632 Sebastian Pop <sebpop@gmail.com> 4633 4634 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust. 4635 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise. 4636 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise. 4637 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise. 4638 46392012-06-28 Andreas Schwab <schwab@linux-m68k.org> 4640 4641 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi. 4642 46432012-06-22 Richard Guenther <rguenther@suse.de> 4644 4645 Merge from graphite branch 4646 2012-01-13 Tobias Grosser <tobias@grosser.es> 4647 4648 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust. 4649 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise. 4650 46512012-06-07 Jakub Jelinek <jakub@redhat.com> 4652 4653 PR middle-end/53580 4654 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier, 4655 use GOMP_barrier () call instead. 4656 * testsuite/libgomp.c/pr26943-3.c: Likewise. 4657 * testsuite/libgomp.c/pr26943-4.c: Likewise. 4658 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier, 4659 call GOMP_barrier instead. 4660 * testsuite/libgomp.fortran/vla5.f90: Likewise. 4661 46622012-06-06 Jakub Jelinek <jakub@redhat.com> 4663 4664 PR libgomp/52993 4665 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last 4666 argument to memset call. 4667 46682012-05-16 H.J. Lu <hongjiu.lu@intel.com> 4669 4670 * configure: Regenerated. 4671 46722012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org> 4673 4674 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret. 4675 46762012-03-31 H.J. Lu <hongjiu.lu@intel.com> 4677 4678 PR bootstrap/52812 4679 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64. 4680 46812012-03-22 Jakub Jelinek <jakub@redhat.com> 4682 4683 PR middle-end/52547 4684 * testsuite/libgomp.c/pr52547.c: New test. 4685 46862012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> 4687 4688 * testsuite/lib/libgomp.exp: load fortran-modules.exp 4689 46902012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 4691 4692 * configure.tgt (mips-sgi-irix6*): Remove. 4693 46942012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 4695 4696 * configure.tgt (alpha*-dec-osf*): Remove. 4697 4698 * config/osf/sem.h: Remove. 4699 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally. 4700 47012012-02-29 Eric Botcazou <ebotcazou@adacore.com> 4702 4703 * config/linux/sparc/futex.h (cpu_relax): Read from CC register. 4704 47052012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 4706 4707 PR libstdc++/52188 4708 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming. 4709 Remove ENABLE_SYMVERS_SOL2. 4710 * configure: Regenerate. 4711 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable. 4712 (PREPROCESS): New variable. 4713 (libgomp.ver): New target. 4714 [LIBGOMP_BUILD_VERSIONED_SHLIB && 4715 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove 4716 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling. 4717 Use libgomp.ver. 4718 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun. 4719 * Makefile.in: Regenerate. 4720 47212012-02-14 Walter Lee <walt@tilera.com> 4722 4723 * configure.tgt: Handle tilegx and tilepro. 4724 * config/linux/tile/futex.h: New file. 4725 47262012-02-08 Richard Guenther <rguenther@suse.de> 4727 4728 PR tree-optimization/46886 4729 * testsuite/libgomp.c/pr46886.c: New testcase. 4730 47312012-01-25 Matthias Klose <doko@ubuntu.com> 4732 4733 * config/linux/arm: Remove empty directory. 4734 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*. 4735 47362011-12-09 Alan Modra <amodra@gmail.com> 4737 4738 PR libgomp/51376 4739 * task.c (GOMP_taskwait): Don't access task->children outside of 4740 task_lock mutex region. 4741 (GOMP_task): Likewise. 4742 47432011-12-06 Jakub Jelinek <jakub@redhat.com> 4744 4745 PR libgomp/51132 4746 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays 4747 to file scope. 4748 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise. 4749 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise. 4750 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise. 4751 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise. 4752 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise. 4753 47542011-12-02 Alan Modra <amodra@gmail.com> 4755 4756 * config/linux/affinity.c: Use atomic rather than sync builtin. 4757 * config/linux/lock.c: Likewise. 4758 * config/linux/ptrlock.h: Likewise. 4759 * config/linux/ptrlock.c: Likewise. 4760 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here.. 4761 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here. 4762 * config/linux/futex.h (atomic_write_barrier): Delete unused function. 4763 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise. 4764 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise. 4765 * config/linux/mips/futex.h (atomic_write_barrier): Likewise. 4766 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise. 4767 * config/linux/s390/futex.h (atomic_write_barrier): Likewise. 4768 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise. 4769 * config/linux/x86/futex.h (atomic_write_barrier): Likewise. 4770 47712011-11-30 Alan Modra <amodra@gmail.com> 4772 4773 PR libgomp/51298 4774 * config/linux/bar.h: Use atomic rather than sync builtins. 4775 * config/linux/bar.c: Likewise. Add missing acquire 4776 synchronisation on generation field. 4777 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not 4778 double unlock. 4779 47802011-11-30 Alan Modra <amodra@gmail.com> 4781 4782 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence. 4783 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence. 4784 * config/linux/mutex.h: Use atomic rather than sync builtins. 4785 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state. 4786 * config/linux/omp-lock.h: Comment fix. 4787 * config/linux/arm/mutex.h: Delete. 4788 * config/linux/powerpc/mutex.h: Delete. 4789 * config/linux/ia64/mutex.h: Delete. 4790 * config/linux/mips/mutex.h: Delete. 4791 47922011-11-30 Alan Modra <amodra@gmail.com> 4793 4794 PR libgomp/51249 4795 * config/linux/sem.h: Rewrite. 4796 * config/linux/sem.c: Rewrite. 4797 47982011-11-28 Richard Henderson <rth@redhat.com> 4799 4800 * libgomp.h (enum memmodel): New. 4801 48022011-11-21 Andreas Tobler <andreast@fgznet.ch> 4803 4804 * configure: Regenerate. 4805 48062011-10-10 Matthias Klose <doko@ubuntu.com> 4807 4808 * config/posix95: Remove empty directory. 4809 48102011-08-26 Jakub Jelinek <jakub@redhat.com> 4811 4812 * testsuite/libgomp.fortran/threadprivate4.f90: New test. 4813 48142011-08-19 Jakub Jelinek <jakub@redhat.com> 4815 4816 PR fortran/49792 4817 * testsuite/libgomp.fortran/pr49792-1.f90: New test. 4818 * testsuite/libgomp.fortran/pr49792-2.f90: New test. 4819 48202011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 4821 4822 * config/posix95/lock.c, posix95/omp-lock.h: Remove. 4823 48242011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 4825 4826 PR libgomp/49965 4827 * testsuite/libgomp.c++/task-8.C: Replaced err by errval. 4828 48292011-08-03 Uros Bizjak <ubizjak@gmail.com> 4830 4831 * config/linux/proc.h: New. 4832 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>. 4833 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static. 4834 (gomp_init_num_threads): Update call to cpuset_popcount. 4835 (get_num_procs): Ditto. 4836 * config/linux/affinity.c (gomp_init_affinity): Call 4837 gomp_cpuset_popcount. 4838 48392011-08-02 Jakub Jelinek <jakub@redhat.com> 4840 4841 PR fortran/42041 4842 PR fortran/46752 4843 * omp.h.in (omp_in_final): New prototype. 4844 * omp_lib.f90.in (omp_in_final): New interface. 4845 (omp_integer_kind, omp_logical_kind): Remove 4846 and replace all its uses in the module with 4. 4847 (openmp_version): Change to 201107. 4848 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic, 4849 omp_sched_guided, omp_sched_auto): Use omp_sched_kind 4850 kind for the parameters. 4851 (omp_in_final): New external. 4852 (openmp_version): Change to 201107. 4853 * task.c (omp_in_final): New function. 4854 (gomp_init_task): Initialize final_task. 4855 (GOMP_task): Remove unused attribute from flags. Handle final 4856 tasks. 4857 (GOMP_taskyield): New function. 4858 (omp_in_final): Return true if if (false) or final (true) task 4859 or descendant of final (true). 4860 * fortran.c (omp_in_final_): New function. 4861 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_. 4862 (GOMP_3.0): Export GOMP_taskyield. 4863 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New 4864 variables. 4865 (parse_unsigned_long_list): New function. 4866 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean 4867 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity 4868 even if parse_affinity returned false. 4869 * config/linux/affinity.c (gomp_init_affinity): Handle 4870 gomp_cpu_affinity_len == 0. 4871 * libgomp_g.h (GOMP_taskyield): New prototype. 4872 * libgomp.h (struct gomp_task): Add final_task field. 4873 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs. 4874 * team.c (gomp_team_start): Override new task's nthreads_var icv 4875 if list form OMP_NUM_THREADS has been used and it has value for 4876 the new nesting level. 4877 4878 * testsuite/libgomp.c/atomic-11.c: New test. 4879 * testsuite/libgomp.c/atomic-12.c: New test. 4880 * testsuite/libgomp.c/atomic-13.c: New test. 4881 * testsuite/libgomp.c/atomic-14.c: New test. 4882 * testsuite/libgomp.c/reduction-6.c: New test. 4883 * testsuite/libgomp.c/task-5.c: New test. 4884 * testsuite/libgomp.c++/atomic-2.C: New test. 4885 * testsuite/libgomp.c++/atomic-3.C: New test. 4886 * testsuite/libgomp.c++/atomic-4.C: New test. 4887 * testsuite/libgomp.c++/atomic-5.C: New test. 4888 * testsuite/libgomp.c++/atomic-6.C: New test. 4889 * testsuite/libgomp.c++/atomic-7.C: New test. 4890 * testsuite/libgomp.c++/atomic-8.C: New test. 4891 * testsuite/libgomp.c++/atomic-9.C: New test. 4892 * testsuite/libgomp.c++/task-8.C: New test. 4893 * testsuite/libgomp.c++/reduction-4.C: New test. 4894 * testsuite/libgomp.fortran/allocatable7.f90: New test. 4895 * testsuite/libgomp.fortran/allocatable8.f90: New test. 4896 * testsuite/libgomp.fortran/crayptr3.f90: New test. 4897 * testsuite/libgomp.fortran/omp_atomic3.f90: New test. 4898 * testsuite/libgomp.fortran/omp_atomic4.f90: New test. 4899 * testsuite/libgomp.fortran/pointer1.f90: New test. 4900 * testsuite/libgomp.fortran/pointer2.f90: New test. 4901 * testsuite/libgomp.fortran/task4.f90: New test. 4902 49032011-08-02 Tobias Burnus <burnus@net-b.de> 4904 4905 * libgomp.texi: Update OpenMP spec references to 3.1. 4906 (omp_in_final,OMP_PROC_BIND): New sections. 4907 (OMP_NUM_THREADS): Document that the value can be now a list. 4908 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref. 4909 49102011-08-02 H.J. Lu <hongjiu.lu@intel.com> 4911 4912 * config/linux/x86/futex.h: Check __x86_64__ instead of 4913 __LP64__. 4914 49152011-07-29 Jakub Jelinek <jakub@redhat.com> 4916 4917 PR middle-end/49897 4918 PR middle-end/49898 4919 * testsuite/libgomp.c/pr49897-1.c: New test. 4920 * testsuite/libgomp.c/pr49897-2.c: New test. 4921 * testsuite/libgomp.c/pr49898-1.c: New test. 4922 * testsuite/libgomp.c/pr49898-2.c: New test. 4923 49242011-07-28 H.J. Lu <hongjiu.lu@intel.com> 4925 4926 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486 4927 for ia32 instead of ilp32. 4928 4929 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32. 4930 * testsuite/libgomp.c/atomic-6.c: Likewise. 4931 49322011-07-23 Sebastian Pop <sebastian.pop@amd.com> 4933 4934 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail. 4935 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern. 4936 49372011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 4938 4939 PR libgomp/45351 4940 * config/osf/sem.h: New file. 4941 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path. 4942 49432011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 4944 4945 PR target/49541 4946 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to 4947 ldflags. 4948 49492011-07-15 Jakub Jelinek <jakub@redhat.com> 4950 4951 * config/linux/wait.h (do_spin): New inline, largely copied 4952 from do_wait, just don't do futex_wait here, instead return true if 4953 it should be done. 4954 (do_wait): Implement using do_spin. 4955 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument 4956 to prototype. 4957 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of 4958 __sync_bool_compare_and_swap, pass the oldval to 4959 gomp_mutex_lock_slow. 4960 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument. 4961 If all mutex contenders are just spinning and not sleeping, don't 4962 change state to 2 unnecessarily. Optimize the loop when state has 4963 already become 2 to use just one atomic operation per loop instead 4964 of two. 4965 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument 4966 to prototype. 4967 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of 4968 __sync_bool_compare_and_swap, pass the oldval to 4969 gomp_mutex_lock_slow. 4970 49712011-06-22 Jakub Jelinek <jakub@redhat.com> 4972 4973 PR libgomp/49490 4974 * iter.c (gomp_iter_static_next): For chunk size 0 4975 only use n ceil/ nthreads size for the first 4976 n % nthreads threads in the team instead of 4977 all threads except for the last few ones which 4978 get less work or none at all. 4979 * iter_ull.c (gomp_iter_ull_static_next): Likewise. 4980 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have 4981 chunk argument, set run_sched_modifier to 0 for static 4982 resp. 1 for other kinds. If chunk argument is 0 4983 and not static, set value to 1. 4984 49852011-05-19 Jakub Jelinek <jakub@redhat.com> 4986 4987 PR c++/49043 4988 * testsuite/libgomp.c++/pr49043.C: New test. 4989 4990 PR c++/48869 4991 * testsuite/libgomp.c++/pr48869.C: New test. 4992 49932011-05-06 Jakub Jelinek <jakub@redhat.com> 4994 4995 PR fortran/48894 4996 * fortran.c: Include limits.h. 4997 (TO_INT): Define. 4998 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of 4999 *set. 5000 (omp_set_num_threads_8_, omp_set_schedule_8_, 5001 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_, 5002 omp_get_team_size_8_): Use TO_INT macro. 5003 * testsuite/libgomp.fortran/pr48894.f90: New test. 5004 50052011-04-13 Jakub Jelinek <jakub@redhat.com> 5006 5007 PR middle-end/48591 5008 * testsuite/libgomp.c/pr48591.c: New test. 5009 50102011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 5011 5012 PR bootstrap/48135 5013 * acinclude.m4 (enable_symvers): Handle --disable-symvers. 5014 * configure: Regenerate. 5015 50162011-02-27 Jakub Jelinek <jakub@redhat.com> 5017 5018 PR fortran/47886 5019 * testsuite/libgomp.fortran/task3.f90: New test. 5020 50212011-02-24 Tobias Burnus <burnus@net-b.de> 5022 5023 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE. 5024 50252011-02-23 Jakub Jelinek <jakub@redhat.com> 5026 5027 PR libgomp/47854 5028 * libgomp.texi (omp_get_wtime): Don't say time in the past 5029 must be Unix Epoch. 5030 50312011-02-18 Jakub Jelinek <jakub@redhat.com> 5032 5033 PR libgomp/47804 5034 * testsuite/libgomp.fortran/fortran.exp: Check for both 5035 libquadmath.a and libquadmath.${shlib_ext}. If neither exists, 5036 but $blddir != "", still append ${blddir}/${lang_library_path} 5037 to ld_library_path. 5038 50392011-02-16 Tobias Burnus <burnus@net-b.de> 5040 5041 PR libgomp/47758 5042 * testsuite/libgomp.fortran/fortran.exp: Check for the existence 5043 of libquadmath.a before adding its libpath to ldflags. 5044 50452011-02-14 Jakub Jelinek <jakub@redhat.com> 5046 5047 PR libgomp/47731 5048 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument 5049 to FUTEX_WAIT futex syscall. 5050 * config/linux/wait.h: Include <futex.h> instead of "futex.h". 5051 50522011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 5053 5054 * configure: Regenerate. 5055 50562011-01-20 Benjamin Kosnik <bkoz@redhat.com> 5057 5058 PR libstdc++/36104 5059 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants. 5060 50612011-01-16 Gerald Pfeifer 5062 5063 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS. 5064 50652010-12-14 Jakub Jelinek <jakub@redhat.com> 5066 5067 PR fortran/46874 5068 * libgomp.fortran/allocatable6.f90: New test. 5069 50702010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 5071 5072 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no. 5073 * configure: Regenerate. 5074 50752010-12-06 Dave Korn <dave.korn.cygwin@gmail.com> 5076 5077 PR target/40125 5078 PR lto/46695 5079 * configure.ac: Invoke ACX_LT_HOST_FLAGS. 5080 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags. 5081 * aclocal.m4: Regenerate. 5082 * configure: Regenerate. 5083 * Makefile.in: Regenerate. 5084 * testsuite/Makefile.in: Regenerate. 5085 50862010-12-02 Jakub Jelinek <jakub@redhat.com> 5087 5088 PR fortran/46753 5089 * libgomp.fortran/pr46753.f90: New test. 5090 5091 PR libgomp/43706 5092 * env.c (initialize_env): Default to spin count 300000 5093 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT 5094 is specified. 5095 5096 PR libgomp/45240 5097 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock 5098 at the end if sync builtins aren't supported. 5099 51002010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 5101 5102 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS. 5103 51042010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 5105 5106 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0. 5107 51082010-11-24 Iain Sandoe <iains@gcc.gnu.org> 5109 5110 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath. 5111 51122010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 5113 Tobias Burnus <burnus@net-b.de> 5114 5115 PR fortran/32049 5116 * configure.ac: 5117 * configure: Regenerate. 5118 51192010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com> 5120 5121 * config/linux/futex.h: New. 5122 * config/linux/arm/mutex.h: New. 5123 * configure.tgt (arm*-*-linux*): Add config path. 5124 51252010-09-30 Sebastian Pop <sebastian.pop@amd.com> 5126 5127 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust. 5128 51292010-09-23 Tobias Burnus <burnus@net-b.de> 5130 5131 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic): 5132 Change Fortran datatype to LOGICAL. 5133 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock, 5134 omp_unset_nested_lock): Use intent(inout) instead of intent(out). 5135 51362010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 5137 5138 * configure: Regenerate. 5139 51402010-07-26 Jakub Jelinek <jakub@redhat.com> 5141 5142 * libgomp.texi: Add function keyword to a couple of Fortran 5143 interfaces, use integer instead of int for Fortran. 5144 51452010-07-26 Aldy Hernandez <aldyh@redhat.com> 5146 5147 * libgomp.texi: Fix spelling and pasto problems throughout. 5148 Adjust prototypes to match code. 5149 51502010-07-24 Tobias Burnus <burnus@net-b.de> 5151 5152 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to 5153 silence -fwhole-file warning. 5154 51552010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 5156 5157 * configure.tgt (*-*-solaris2.[56]*): Removed. 5158 51592010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 5160 5161 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style. 5162 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU, 5163 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals. 5164 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless 5165 targetting solaris2*. 5166 * configure: Regenerate. 5167 * config.h.in: Regenerate. 5168 5169 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect 5170 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU. 5171 Add libgomp_version_dep. 5172 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol 5173 versioning. 5174 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep. 5175 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep). 5176 * Makefile.in: Regenerate. 5177 5178 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless 5179 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT. 5180 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0 5181 to common block, protected by 5182 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT. 5183 51842010-06-10 Gerald Pfeifer <gerald@pfeifer.com> 5185 5186 * libgomp.texi: Move to GFDL version 1.3. Update copyright years. 5187 51882010-06-09 Iain Sandoe <iains@gcc.gnu.org> 5189 5190 PR bootstrap/43170 5191 * configure: Regenerate. 5192 51932010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 5194 5195 PR other/43620 5196 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist. 5197 * configure: Regenerate. 5198 * Makefile.in: Regenerate. 5199 * testsuite/Makefile.in: Regenerate. 5200 52012010-04-26 Jakub Jelinek <jakub@redhat.com> 5202 5203 PR c/43893 5204 * testsuite/libgomp.c/pr43893.c: New test. 5205 * testsuite/libgomp.c++/pr43893.C: New test. 5206 52072010-04-21 Jakub Jelinek <jakub@redhat.com> 5208 5209 PR middle-end/43570 5210 * testsuite/libgomp.fortran/vla8.f90: New test. 5211 52122010-04-20 Jakub Jelinek <jakub@redhat.com> 5213 5214 PR libgomp/43706 5215 * config/linux/affinity.c (gomp_init_affinity): Decrease 5216 gomp_available_cpus if affinity mask confines the process to fewer 5217 CPUs. 5218 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is 5219 non-NULL, just return gomp_available_cpus. 5220 5221 PR libgomp/43569 5222 * sections.c (gomp_sections_init): Initialize ws->mode. 5223 52242010-04-14 Uros Bizjak <ubizjak@gmail.com> 5225 5226 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but 5227 not unused bar variable. 5228 * configure: Regenerate. 5229 52302010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 5231 5232 * Makefile.in: Regenerate. 5233 * aclocal.m4: Regenerate. 5234 * testsuite/Makefile.in: Regenerate. 5235 52362010-03-22 Jakub Jelinek <jakub@redhat.com> 5237 5238 PR libgomp/42942 5239 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument. 5240 (initialize_env): Adjust callers. 5241 (omp_set_max_active_levels): Set gomp_max_active_levels_var even 5242 when the argument is 0. 5243 5244 * testsuite/libgomp.c/pr42942.c: New test. 5245 52462010-03-08 Tobias Grosser <grosser@fim.uni-passau.de> 5247 5248 PR middle-end/42644 5249 PR middle-end/42130 5250 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust. 5251 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust. 5252 52532010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 5254 5255 * testsuite/libgomp.c++/task-1.C: Renamed err to e. 5256 * testsuite/libgomp.c++/task-6.C: Likewise. 5257 52582010-01-28 Steve Ellcey <sje@cup.hp.com> 5259 5260 * configure.tgt (*-*-hpux*): Add -frandom-seed flag. 5261 52622010-01-26 Paolo Bonzini <bonzini@gnu.org> 5263 5264 * configure.ac: Test for executability of _the first word_ of GFORTRAN. 5265 * configure: Regenerate. 5266 52672010-01-26 Jakub Jelinek <jakub@redhat.com> 5268 5269 PR fortran/42866 5270 * testsuite/libgomp.fortran/allocatable5.f90: New test. 5271 52722010-01-20 Paolo Bonzini <bonzini@gnu.org> 5273 5274 * configure.ac: Test for executability of GFORTRAN. 5275 * configure: Regenerate. 5276 52772010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 5278 5279 * configure: Regenerate. 5280 52812010-01-04 H.J. Lu <hongjiu.lu@intel.com> 5282 5283 PR libgomp/42602 5284 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic. 5285 52862010-01-03 Richard Guenther <rguenther@suse.de> 5287 5288 * testsuite/libgomp.fortran/recursion1.f90: New testcase. 5289 52902009-12-23 Sebastian Pop <sebpop@gmail.com> 5291 5292 * testsuite/libgomp.graphite/pr4118.c: New. 5293 52942009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk> 5295 5296 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage 5297 for darwin, protect the test with require-effective-target tls_runtime. 5298 * testsuite/libgomp.fortran/pr32550.f90: Ditto. 5299 53002009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk> 5301 5302 PR target/41605 5303 * testsuite/lib/libgomp.exp: Provide -B options to allow for 5304 link spec %s substitutions for static libraries. 5305 53062009-12-18 Jack Howarth <howarth@bromo.med.uc.edu> 5307 5308 PR testsuite/42135 5309 * libgomp.graphite/force-parallel-2.c: Reduce array size. 5310 53112009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 5312 5313 * Makefile.in: Regenerate. 5314 * configure: Regenerate. 5315 * testsuite/Makefile.in: Regenerate. 5316 53172009-11-30 Dave Korn <dave.korn.cygwin@gmail.com> 5318 5319 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent 5320 settings for LC_ALL and LANG. 5321 53222009-11-25 Jakub Jelinek <jakub@redhat.com> 5323 5324 PR fortran/42162 5325 * testsuite/libgomp.fortran/pr42162.f90: New test. 5326 53272009-11-13 Jakub Jelinek <jakub@redhat.com> 5328 5329 PR middle-end/42029 5330 * testsuite/libgomp.c/pr42029.c: New test. 5331 53322009-10-26 Jakub Jelinek <jakub@redhat.com> 5333 5334 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many 5335 *s. Accept ld version without text in ()s. 5336 * configure: Regenerated. 5337 53382009-10-22 Razya Ladelsky <razya@il.ibm.com> 5339 5340 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan. 5341 53422009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 5343 5344 PR libgomp/41418 5345 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no" 5346 or a hyphen (happens with fortran language disabled). 5347 * configure: Regenerate. 5348 53492009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 5350 5351 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head', 5352 use sed script portable to Solaris /bin/sed for extracting ld 5353 version. 5354 * configure: Regenerate. 5355 53562009-09-17 Alexander Monakov <amonakov@ispras.ru> 5357 5358 * testsuite/libgomp.graphite/bounds.c: New test. 5359 53602009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 5361 5362 * Makefile.am (libgomp_la_LINK): New. 5363 * Makefile.in: Regenerate. 5364 53652009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 5366 5367 * configure.ac (AC_PREREQ): Bump to 2.64. 5368 53692009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 5370 5371 * Makefile.am (install-html, install-pdf): Remove. 5372 * Makefile.in: Regenerate. 5373 5374 * Makefile.in: Regenerate. 5375 * aclocal.m4: Regenerate. 5376 * config.h.in: Regenerate. 5377 * configure: Regenerate. 5378 * testsuite/Makefile.in: Regenerate. 5379 53802009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 5381 5382 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS). 5383 * Makefile.in: Regenerate. 5384 53852009-08-20 Dave Korn <dave.korn.cygwin@gmail.com> 5386 5387 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag. 5388 * Makefile.in: Regenerate. 5389 53902009-08-19 Tobias Burnus <burnus@net-b.de> 5391 5392 PR fortran/41102 5393 omp_lib.h.in: Fix -std=f95 errors. 5394 53952009-08-14 David Edelsohn <edelsohn@gnu.org> 5396 5397 * testsuite/libgomp.graphite: Move from gcc.dg/graphite. 5398 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete. 5399 * testsuite/libgomp.graphite/graphite.exp: New. 5400 54012009-08-05 Andreas Tobler <a.tobler@schweiz.org> 5402 5403 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared 5404 only build. 5405 54062009-08-04 David Daney <ddaney@caviumnetworks.com> 5407 5408 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about 5409 needed memory barrier semantics. 5410 * config/linux/mips/mutex.h: New file. 5411 54122009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 5413 5414 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force. 5415 54162009-07-16 Joseph Myers <joseph@codesourcery.com> 5417 5418 * configure: Regenerate. 5419 54202009-07-11 Richard Sandiford <rdsandiford@googlemail.com> 5421 5422 PR testsuite/40699 5423 PR testsuite/40707 5424 PR testsuite/40709 5425 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits. 5426 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp, 5427 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits. 5428 54292009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com> 5430 5431 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS 5432 options when choosing a multilib. 5433 54342009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com> 5435 5436 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to 5437 ld_library_path. Use add_path. Add just find_libgcc_s to 5438 ld_library_path, not every libgcc multilib directory. 5439 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call 5440 gcc-set-multilib-library-path; rely on $always_ld_library_path instead. 5441 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise. 5442 Use add_path. 5443 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise. 5444 54452009-06-09 Nathan Froyd <froydnj@codesourcery.com> 5446 5447 * Makefile.am (LTLDFLAGS): Define. 5448 (LINK): Define. 5449 * Makefile.in: Regenerate. 5450 54512009-05-27 Janne Blomqvist <jb@gcc.gnu.org> 5452 5453 PR fortran/39718 5454 * testsuite/libgomp.fortran/fortran.exp: Don't link with 5455 libgfortranbegin, check existence of libgfortran.a instead of 5456 libgfortranbegin.a. 5457 54582009-05-20 Jakub Jelinek <jakub@redhat.com> 5459 5460 PR libgomp/40174 5461 * team.c (gomp_thread_start): Destroy thr->release semaphore. 5462 (gomp_free_pool_helper): Likewise. 5463 54642009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com> 5465 Jakub Jelinek <jakub@redhat.com> 5466 5467 PR fortran/35423 5468 * testsuite/libgomp.fortran/workshare2.f90: New test. 5469 54702009-04-09 Nick Clifton <nickc@redhat.com> 5471 5472 * iter.c: Change copyright header to refer to version 3 of the 5473 GNU General Public License with version 3.1 of the GCC Runtime 5474 Library Exception and to point readers at the COPYING3 and 5475 COPYING3.RUNTIME files and the FSF's license web page. 5476 * alloc.c: Likewise. 5477 * barrier.c: Likewise. 5478 * config/bsd/proc.c: Likewise. 5479 * config/linux/affinity.c: Likewise. 5480 * config/linux/alpha/futex.h: Likewise. 5481 * config/linux/bar.c: Likewise. 5482 * config/linux/bar.h: Likewise. 5483 * config/linux/ia64/futex.h: Likewise. 5484 * config/linux/ia64/mutex.h: Likewise. 5485 * config/linux/lock.c: Likewise. 5486 * config/linux/mips/futex.h: Likewise. 5487 * config/linux/mutex.c: Likewise. 5488 * config/linux/mutex.h: Likewise. 5489 * config/linux/powerpc/futex.h: Likewise. 5490 * config/linux/proc.c: Likewise. 5491 * config/linux/ptrlock.c: Likewise. 5492 * config/linux/ptrlock.h: Likewise. 5493 * config/linux/s390/futex.h: Likewise. 5494 * config/linux/sem.c: Likewise. 5495 * config/linux/sem.h: Likewise. 5496 * config/linux/sparc/futex.h: Likewise. 5497 * config/linux/wait.h: Likewise. 5498 * config/linux/x86/futex.h: Likewise. 5499 * config/mingw32/proc.c: Likewise. 5500 * config/mingw32/time.c: Likewise. 5501 * config/posix/affinity.c: Likewise. 5502 * config/posix/bar.c: Likewise. 5503 * config/posix/bar.h: Likewise. 5504 * config/posix/lock.c: Likewise. 5505 * config/posix/mutex.h: Likewise. 5506 * config/posix/proc.c: Likewise. 5507 * config/posix/ptrlock.h: Likewise. 5508 * config/posix/sem.c: Likewise. 5509 * config/posix/sem.h: Likewise. 5510 * config/posix/time.c: Likewise. 5511 * config/posix95/lock.c: Likewise. 5512 * critical.c: Likewise. 5513 * env.c: Likewise. 5514 * error.c: Likewise. 5515 * fortran.c: Likewise. 5516 * iter_ull.c: Likewise. 5517 * libgomp.h: Likewise. 5518 * libgomp_f.h.in: Likewise. 5519 * libgomp_g.h: Likewise. 5520 * loop.c: Likewise. 5521 * loop_ull.c: Likewise. 5522 * omp.h.in: Likewise. 5523 * omp_lib.f90.in: Likewise. 5524 * omp_lib.h.in: Likewise. 5525 * ordered.c: Likewise. 5526 * parallel.c: Likewise. 5527 * sections.c: Likewise. 5528 * single.c: Likewise. 5529 * task.c: Likewise. 5530 * team.c: Likewise. 5531 * work.c: Likewise. 5532 55332009-04-09 Jakub Jelinek <jakub@redhat.com> 5534 5535 * testsuite/config/default.exp: Change copyright header to refer to 5536 version 3 of the GNU General Public License and to point readers 5537 at the COPYING3 file and the FSF's license web page. 5538 55392009-04-08 Jakub Jelinek <jakub@redhat.com> 5540 5541 PR middle-end/39573 5542 * libgomp.c++/pr39573.C: New test. 5543 55442009-04-01 Jakub Jelinek <jakub@redhat.com> 5545 5546 PR other/39591 5547 * testsuite/libgomp.c/pr39591-1.c: New test. 5548 * testsuite/libgomp.c/pr39591-2.c: New test. 5549 * testsuite/libgomp.c/pr39591-3.c: New test. 5550 55512009-03-25 Uros Bizjak <ubizjak@gmail.com> 5552 5553 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage. 5554 * testsuite/libgomp.c/atomic-6.c: Ditto. 5555 55562009-03-23 Jakub Jelinek <jakub@redhat.com> 5557 5558 PR c/39495 5559 * testsuite/libgomp.c/loop-12.c: New test. 5560 * testsuite/libgomp.c/loop-11.c: New test. 5561 * testsuite/libgomp.c++/loop-11.C: New test. 5562 * testsuite/libgomp.c++/loop-12.C: New test. 5563 * testsuite/libgomp.c++/for-8.C: New test. 5564 55652009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 5566 5567 * configure: Regenerate. 5568 55692009-02-11 Jakub Jelinek <jakub@redhat.com> 5570 5571 PR middle-end/39154 5572 * testsuite/libgomp.c/pr39154.c: New test. 5573 55742009-01-30 Ian Lance Taylor <iant@google.com> 5575 5576 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set 5577 libgomp_ld_is_gold. Get gold version number. 5578 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning. 5579 * configure: Rebuild. 5580 55812009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk> 5582 5583 * testsuite/lib/libgomp.exp: Add -B option for targets that 5584 use libgfortran.a%s in their specs. 5585 55862009-01-07 Jakub Jelinek <jakub@redhat.com> 5587 5588 PR libgomp/38086 5589 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check. 5590 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if 5591 HAVE_AS_SYMVER_DIRECTIVE is not defined. 5592 * configure: Regenerated. 5593 * config.h.in: Likewise. 5594 55952008-12-28 Jakub Jelinek <jakub@redhat.com> 5596 5597 PR c++/38650 5598 * testsuite/libgomp.c/pr38650.c: New test. 5599 * testsuite/libgomp.c++/pr38650.C: New test. 5600 56012008-12-27 Jakub Jelinek <jakub@redhat.com> 5602 5603 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause. 5604 56052008-12-26 Uros Bizjak <ubizjak@gmail.com> 5606 5607 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets. 5608 56092008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 5610 5611 * configure: Regenerate. 5612 56132008-12-08 Jakub Jelinek <jakub@redhat.com> 5614 5615 PR middle-end/36802 5616 * testsuite/libgomp.c/pr36802-1.c: New test. 5617 * testsuite/libgomp.c/pr36802-2.c: New test. 5618 * testsuite/libgomp.c/pr36802-3.c: New test. 5619 56202008-12-01 Janis Johnson <janis187@us.ibm.com> 5621 5622 PR libgomp/38270 5623 * config/linux/powerpc/mutex.h: New. 5624 56252008-12-01 Jakub Jelinek <jakub@redhat.com> 5626 5627 PR c++/38257 5628 * testsuite/libgomp.c++/for-7.C: New test. 5629 5630 PR c++/38348 5631 * testsuite/libgomp.c++/for-6.C: New test. 5632 56332008-11-26 Janis Johnson <janis187@us.ibm.com> 5634 5635 PR testsuite/28870 5636 * testsuite/lib/libgomp.exp: Include new timeout library files. 5637 (libgomp_target_compile): Set timeout value from new proc. 5638 56392008-11-13 Steve Ellcey <sje@cup.hp.com> 5640 5641 PR libgomp/37938 5642 * config/linux/ia64/mutex.h: New. 5643 56442008-11-04 Tobias Burnus <burnus@net-b.de> 5645 5646 PR libgomp/37935 5647 * libgomp.texi (Runtime library routines, environment variables): 5648 Update for OpenMP version 3.0. 5649 56502008-09-26 Peter O'Gorman <pogma@thewrittenword.com> 5651 Steve Ellcey <sje@cup.hp.com> 5652 5653 * configure: Regenerate for new libtool. 5654 * Makefile.in: Ditto. 5655 * testsuite/Makefile.in: Ditto. 5656 56572008-09-19 Jakub Jelinek <jakub@redhat.com> 5658 Andreas Tobler <a.tobler@schweiz.org> 5659 5660 * config/bsd/proc.c: New file. 5661 * configure.tgt (*-*-darwin*): Use config_path "bsd posix". 5662 * configure.ac: Check for header <sys/sysctl.h> 5663 * configure: Regenerate. 5664 * config.h.in: Likewise. 5665 56662008-09-05 Janis Johnson <janis187@us.ibm.com> 5667 5668 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists. 5669 56702008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com> 5671 5672 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined. 5673 * Makefile.in: Regenerated. 5674 * testsuite/Makefile.in: Regenerated. 5675 56762008-08-21 Nathan Froyd <froydnj@codesourcery.com> 5677 5678 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that 5679 depend on blddir if blddir exists. 5680 (libgomp_target_compile): Likewise. 5681 * testsuite/libgomp.c++/c++.exp: Likewise. 5682 * testsuite/libgomp.fortran/fortran.exp: Likewise. 5683 56842008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 5685 5686 * libgomp.texi: Update to GFDL 1.2. Update copyright years. 5687 Do not list GPL as Invariant Section. 5688 56892008-07-28 Ilie Garbacea <ilie@mips.com> 5690 Chao-ying Fu <fu@mips.com> 5691 5692 * configure.tgt: Enable futex for MIPS. 5693 * config/linux/mips/futex.h: New file. 5694 56952008-07-16 Jakub Jelinek <jakub@redhat.com> 5696 5697 * team.c (gomp_team_end): Free team immediately if it has 5698 just one thread. 5699 57002008-07-08 David Edelsohn <edelsohn@gnu.org> 5701 5702 * testsuite/libgomp.c++/c++.exp: Append multilib library path. 5703 * testsuite/libgomp.fortran/fortran.exp: Same. 5704 * testsuite/libgomp.c/c.exp: Same. 5705 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib 5706 directory to library path first. 5707 57082008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com> 5709 5710 * env.c (parse_stacksize): Add cast to avoid warning. 5711 (parse_spincount): Likewise. 5712 57132008-06-27 Jakub Jelinek <jakub@redhat.com> 5714 5715 * testsuite/libgomp.c/loop-10.c: New test. 5716 * libgomp.c/loop-3.c (main): Add lastprivate clause. 5717 * libgomp.c++/loop-6.C (main): Likewise. 5718 5719 PR debug/36617 5720 * testsuite/libgomp.c/debug-1.c: New test. 5721 57222008-06-19 Jakub Jelinek <jakub@redhat.com> 5723 5724 * testsuite/libgomp.c/nqueens-1.c: New test. 5725 5726 PR c++/36523 5727 * testsuite/libgomp.c++/task-7.C: New function. 5728 57292008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 5730 5731 * configure: Regenerate. 5732 57332008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 5734 5735 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock 5736 mutex when HAVE_SYNC_BUILTINS isn't defined. 5737 57382008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 5739 5740 * libgomp.texi (omp_test_lock): Fix typo. 5741 57422008-06-12 Tobias Burnus <burnus@net-b.de> 5743 5744 * omp_lib.f90.in: Add "implicit none". 5745 57462008-06-12 Jakub Jelinek <jakub@redhat.com> 5747 5748 PR middle-end/36506 5749 * testsuite/libgomp.c/reduction-5.c: New test. 5750 57512008-06-11 Jakub Jelinek <jakub@redhat.com> 5752 5753 * libgomp.h (struct gomp_task): Add in_tied_task field. 5754 * task.c (gomp_init_task): Initialize it. 5755 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending 5756 unconditionally. Don't call gomp_team_barrier_wake if 5757 current task is implicit or if(0) from implicit and number of 5758 running tasks is equal to nthreads - 1. 5759 5760 PR libgomp/36471 5761 * omp_lib.f90.in (omp_get_ancestor_thread_num_8, 5762 omp_get_team_size_8): Fix pastos. 5763 5764 PR libgomp/36469 5765 * configure.ac: Add AC_CHECK_FUNCS (strtoull). 5766 * configure: Regenerated. 5767 * config.h.in: Regenerated. 5768 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not 5769 defined. 5770 57712008-06-06 Andreas Tobler <a.tobler@schweiz.org> 5772 5773 PR bootstrap/36452 5774 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API. 5775 (GOMP_loop_ull_dynamic_start): Likewise. 5776 (GOMP_loop_ull_guided_start): Likewise. 5777 (GOMP_loop_ull_ordered_static_start): Likewise. 5778 (GOMP_loop_ull_ordered_dynamic_start): Likewise. 5779 (GOMP_loop_ull_ordered_guided_start): Likewise. 5780 57812008-06-06 Jakub Jelinek <jakub@redhat.com> 5782 Richard Henderson <rth@redhat.com> 5783 Ulrich Drepper <drepper@redhat.com> 5784 Jakob Blomer <jakob.blomer@ira.uka.de> 5785 5786 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE. 5787 Substitute also OMP_*LOCK_25*. 5788 * configure: Regenerated. 5789 * config.h.in: Regenerated. 5790 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c, 5791 ptrlock.c and task.c. 5792 * Makefile.in: Regenerated. 5793 * testsuite/Makefile.in: Regenerated. 5794 * task.c: New file. 5795 * loop_ull.c: New file. 5796 * iter_ull.c: New file. 5797 * libgomp.h: Include ptrlock.h. 5798 (enum gomp_task_kind): New type. 5799 (struct gomp_team): Add task_lock, task_queue, task_count, 5800 task_running_count, single_count fields. Add 5801 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS. 5802 Remove work_share_lock, generation_mask, 5803 oldest_live_gen, num_live_gen and init_work_shares fields, add 5804 work work_share_list_alloc, work_share_list_free and work_share_chunk 5805 fields. Change work_shares from pointer to pointers into an array. 5806 Change ordered_release field into gomp_sem_t ** from flexible array 5807 member. Add implicit_task and initial_work_shares fields. 5808 Move close to the end of the struct. 5809 (struct gomp_team_state): Add single_count, last_work_share, 5810 active_level and level fields, remove work_share_generation. 5811 (gomp_barrier_handle_tasks): New prototype. 5812 (gomp_finish_task): New inline function. 5813 (struct gomp_work_share): Move chunk_size, end, incr into 5814 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and 5815 next_ll fields. Reshuffle fields. Add next_alloc, 5816 next_ws, next_free and inline_ordered_team_ids fields, change 5817 ordered_team_ids into pointer from flexible array member. 5818 Add mode field. Put lock and next into a different cache line 5819 from most of the write-once fields. 5820 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked, 5821 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next, 5822 gomp_iter_ull_guided_next): New prototypes. 5823 (gomp_new_icv): New prototype. 5824 (struct gomp_thread): Add thread_pool and task fields. 5825 (struct gomp_thread_pool): New type. 5826 (gomp_new_team): New prototype. 5827 (gomp_team_start): Change type of last argument. 5828 (gomp_new_work_share): Removed. 5829 (gomp_init_work_share, gomp_fini_work_share): New prototypes. 5830 (gomp_work_share_init_done): New static inline. 5831 (gomp_throttled_spin_count_var, gomp_available_cpus, 5832 gomp_managed_threads): New extern decls. 5833 (gomp_init_task): New prototype. 5834 (gomp_spin_count_var): New extern var decl. 5835 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility 5836 or no alias support, or if not PIC. 5837 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30, 5838 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30, 5839 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30, 5840 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25, 5841 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25, 5842 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25, 5843 gomp_set_nest_lock_25, gomp_unset_nest_lock_25, 5844 gomp_test_nest_lock_25): New prototypes. 5845 (omp_lock_symver, strong_alias): Define. 5846 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New 5847 decls. 5848 (gomp_end_task): New. 5849 (struct gomp_task_icv, gomp_global_icv): New. 5850 (gomp_thread_limit_var, gomp_max_active_levels_var): New. 5851 (struct gomp_task): New. 5852 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var, 5853 gomp_run_sched_var, gomp_run_sched_chunk): Remove. 5854 (gomp_icv): New. 5855 (gomp_schedule_type): Reorder enum to match 5856 omp_sched_t. 5857 * team.c (struct gomp_thread_start_data): Add thread_pool and task 5858 fields. 5859 (gomp_thread_start): Add gomp_team_barrier_wait call. 5860 For non-nested case remove clearing of docked thread thr fields. 5861 Use pool fields instead of global gomp_* variables. Use 5862 gomp_barrier_wait_last when needed. Initialize ts.active_level. 5863 Create tasks for each member thread. 5864 (free_team): Only destroy team barrier, task_lock here and free it. 5865 (gomp_free_thread): Free last_team if non-NULL. 5866 (gomp_team_end): Call gomp_team_barrier_wait instead of 5867 gomp_barrier_wait. For nested case call one extra 5868 gomp_barrier_wait. Move here some destruction from free_team. 5869 Call free_team on pool->last_team if any, rather than freeing 5870 current team. Destroy work_share_list_free_lock ifndef 5871 HAVE_SYNC_BUILTINS. 5872 (gomp_new_icv): New function. 5873 (gomp_threads, gomp_threads_size, gomp_threads_used, 5874 gomp_threads_dock): Removed. 5875 (gomp_thread_destructor): New variable. 5876 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New 5877 functions. 5878 (gomp_team_start): Create new pool if current thread doesn't have 5879 one. Use pool fields instead of global gomp_* variables. 5880 Initialize thread_pool field for new threads. Clear single_count. 5881 Change last argument from ws to team, don't create 5882 new team, set ts.work_share to &team->work_shares[0] and clear 5883 ts.last_work_share. Don't clear ts.work_share_generation. 5884 If number of threads changed, adjust atomically gomp_managed_threads. 5885 Use gomp_init_task instead of gomp_new_task, 5886 set thr->task to the corresponding implicit_task array entry. 5887 Create tasks for each member thread. Initialize ts.level. 5888 (initialize_team): Call pthread_key_create on 5889 gomp_thread_destructor. 5890 (team_destructor): New function. 5891 (new_team): Removed. 5892 (gomp_new_team): New function. 5893 (free_team): Free gomp_work_share blocks chained through next_alloc, 5894 instead of freeing work_shares and destroying work_share_lock. 5895 (gomp_team_end): Call gomp_fini_work_share. If number of threads 5896 changed, adjust atomically gomp_managed_threads. Use gomp_end_task. 5897 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead 5898 of gomp_barrier_wait. 5899 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait 5900 instead of gomp_barrier_wait. Call gomp_work_share_init_done 5901 if gomp_work_share_start returned true. Don't unlock ws->lock. 5902 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead 5903 of gomp_barrier_wait. 5904 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call 5905 gomp_work_share_init_done if gomp_work_share_start returned true. 5906 Don't unlock ws->lock. 5907 * work.c: Include stddef.h. 5908 (free_work_share): Use work_share_list_free_lock instead 5909 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument. 5910 Call gomp_fini_work_share and then either free ws if orphaned, or 5911 put it into work_share_list_free list of the current team. 5912 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New 5913 functions. 5914 (gomp_work_share_start, gomp_work_share_end, 5915 gomp_work_share_end_nowait): Rewritten. 5916 * omp_lib.f90.in Change some tabs to spaces to prevent warnings. 5917 (openmp_version): Set to 200805. 5918 (omp_sched_kind, omp_sched_static, omp_sched_dynamic, 5919 omp_sched_guided, omp_sched_auto): New parameters. 5920 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit, 5921 omp_set_max_active_levels, omp_get_max_active_levels, 5922 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size, 5923 omp_get_active_level): New interfaces. 5924 * omp_lib.h.in (openmp_version): Set to 200805. 5925 (omp_sched_kind, omp_sched_static, omp_sched_dynamic, 5926 omp_sched_guided, omp_sched_auto): New parameters. 5927 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit, 5928 omp_set_max_active_levels, omp_get_max_active_levels, 5929 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size, 5930 omp_get_active_level): New externals. 5931 * loop.c: Include limits.h. 5932 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle 5933 GFS_AUTO. 5934 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start): 5935 Likewise. Use gomp_icv. 5936 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear 5937 ts.static_trip here. 5938 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call 5939 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock. 5940 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call 5941 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS, 5942 don't unlock ws->lock, otherwise lock it. 5943 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call 5944 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock. 5945 (gomp_parallel_loop_start): Call gomp_new_team instead of 5946 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0]. 5947 Adjust gomp_team_start caller. Pass 0 as second argument to 5948 gomp_resolve_num_threads. 5949 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr. 5950 If adding ws->chunk_size nthreads + 1 times after end won't 5951 overflow, set ws->mode to 1. 5952 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start, 5953 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start, 5954 GOMP_loop_ull_ordered_static_start, 5955 GOMP_loop_ull_ordered_dynamic_start, 5956 GOMP_loop_ull_ordered_guided_start, 5957 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next, 5958 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next, 5959 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next, 5960 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next, 5961 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New 5962 prototypes. 5963 * libgomp.map: Export lock routines also @@OMP_2.0. 5964 (GOMP_loop_ordered_dynamic_first, 5965 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first, 5966 GOMP_loop_ordered_static_first): Remove. 5967 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start, 5968 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start, 5969 GOMP_loop_ull_ordered_dynamic_next, 5970 GOMP_loop_ull_ordered_dynamic_start, 5971 GOMP_loop_ull_ordered_guided_next, 5972 GOMP_loop_ull_ordered_guided_start, 5973 GOMP_loop_ull_ordered_runtime_next, 5974 GOMP_loop_ull_ordered_runtime_start, 5975 GOMP_loop_ull_ordered_static_next, 5976 GOMP_loop_ull_ordered_static_start, 5977 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start, 5978 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start, 5979 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0. 5980 (omp_set_schedule, omp_get_schedule, 5981 omp_get_thread_limit, omp_set_max_active_levels, 5982 omp_get_max_active_levels, omp_get_level, 5983 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level, 5984 omp_set_schedule_, omp_set_schedule_8_, 5985 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_, 5986 omp_set_max_active_levels_, omp_set_max_active_levels_8_, 5987 omp_get_max_active_levels_, omp_get_level_, 5988 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_, 5989 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_): 5990 New exports @@OMP_3.0. 5991 * omp.h.in (omp_sched_t): New type. 5992 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit, 5993 omp_set_max_active_levels, omp_get_max_active_levels, 5994 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size, 5995 omp_get_active_level): New prototypes. 5996 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var, 5997 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var, 5998 gomp_thread_limit_var, gomp_remaining_threads_count, 5999 gomp_remaining_threads_lock): New variables. 6000 (parse_spincount): New function. 6001 (initialize_env): Call gomp_init_num_threads unconditionally. 6002 Initialize gomp_available_cpus. Call parse_spincount, 6003 initialize gomp_{,throttled_}spin_count_var 6004 depending on presence and value of OMP_WAIT_POLICY and 6005 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var. 6006 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS, 6007 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification 6008 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and 6009 gomp_remaining_threads_lock if needed. Use gomp_global_icv. 6010 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var, 6011 gomp_run_sched_var, gomp_run_sched_chunk): Remove. 6012 (gomp_global_icv): New. 6013 (parse_schedule): Use it. Parse "auto". 6014 (omp_set_num_threads): Use gomp_icv. 6015 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested): 6016 Likewise. 6017 (omp_get_max_threads): Move from parallel.c. 6018 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit, 6019 omp_set_max_active_levels, omp_get_max_active_levels): New functions, 6020 add ialias. 6021 (parse_stacksize, parse_wait_policy): New functions. 6022 * fortran.c: Rewrite lock wrappers, if symbol versioning provide 6023 both wrappers for compatibility and new locks. 6024 (omp_set_schedule, omp_get_schedule, 6025 omp_get_thread_limit, omp_set_max_active_levels, 6026 omp_get_max_active_levels, omp_get_level, 6027 omp_get_ancestor_thread_num, omp_get_team_size, 6028 omp_get_active_level): New ialias_redirect. 6029 (omp_set_schedule_, omp_set_schedule_8_, 6030 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_, 6031 omp_set_max_active_levels_, omp_set_max_active_levels_8_, 6032 omp_get_max_active_levels_, omp_get_level_, 6033 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_, 6034 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_): 6035 New functions. 6036 * parallel.c: Include limits.h. 6037 (gomp_resolve_num_threads): Add count argument. Rewritten. 6038 (GOMP_parallel_start): Call gomp_new_team and pass that as last 6039 argument to gomp_team_start. Pass 0 as second argument to 6040 gomp_resolve_num_threads. 6041 (GOMP_parallel_end): Decrease gomp_remaining_threads_count 6042 if gomp_thread_limit_var != ULONG_MAX. 6043 (omp_in_parallel): Implement using ts.active_level. 6044 (omp_get_max_threads): Move to env.c. 6045 (omp_get_level, omp_get_ancestor_thread_num, 6046 omp_get_team_size, omp_get_active_level): New functions, 6047 add ialias. 6048 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done 6049 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call 6050 gomp_iter_dynamic_next instead of the _locked variant and don't take 6051 lock around it, otherwise acquire it before calling 6052 gomp_iter_dynamic_next_locked. 6053 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call 6054 gomp_iter_dynamic_next instead of the _locked variant and don't take 6055 lock around it. 6056 (GOMP_parallel_sections_start): Call gomp_new_team instead of 6057 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0]. 6058 Adjust gomp_team_start caller. Pass count as second argument to 6059 gomp_resolve_num_threads, don't adjust num_threads after the call. 6060 Use gomp_icv. 6061 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply 6062 ws->chunk_size by incr. 6063 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient 6064 code. 6065 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New 6066 types. 6067 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros. 6068 (omp_check_defines): Check even the compat defines. 6069 * config/linux/ptrlock.c: New file. 6070 * config/linux/ptrlock.h: New file. 6071 * config/linux/wait.h: New file. 6072 * config/posix/ptrlock.c: New file. 6073 * config/posix/ptrlock.h: New file. 6074 * config/linux/bar.h (gomp_team_barrier_wait, 6075 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes. 6076 (gomp_team_barrier_set_task_pending, 6077 gomp_team_barrier_clear_task_pending, 6078 gomp_team_barrier_set_waiting_for_tasks, 6079 gomp_team_barrier_waiting_for_tasks, 6080 gomp_team_barrier_done): New inlines. 6081 (gomp_barrier_t): Rewritten. 6082 (gomp_barrier_state_t): New typedef. 6083 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy, 6084 gomp_barrier_wait_start): Rewritten. 6085 (gomp_barrier_wait_end): Change second argument to 6086 gomp_barrier_state_t. 6087 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static 6088 inlines. 6089 * config/linux/bar.c: Include wait.h instead of libgomp.h and 6090 futex.h. 6091 (gomp_barrier_wait_end): Rewritten. 6092 (gomp_team_barrier_wait, gomp_team_barrier_wait_end, 6093 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions. 6094 * config/posix/bar.h (gomp_barrier_t): Add generation field. 6095 (gomp_barrier_state_t): New typedef. 6096 (gomp_team_barrier_wait, 6097 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes. 6098 (gomp_barrier_wait_start): Or all but low 2 bits from generation 6099 into the return value. Return gomp_barrier_state_t. 6100 (gomp_team_barrier_set_task_pending, 6101 gomp_team_barrier_clear_task_pending, 6102 gomp_team_barrier_set_waiting_for_tasks, 6103 gomp_team_barrier_waiting_for_tasks, 6104 gomp_team_barrier_done): New inlines. 6105 (gomp_barrier_wait_end): Change second argument to 6106 gomp_barrier_state_t. 6107 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static 6108 inlines. 6109 * config/posix/bar.c (gomp_barrier_init): Clear generation field. 6110 (gomp_barrier_wait_end): Change second argument to 6111 gomp_barrier_state_t. 6112 (gomp_team_barrier_wait, gomp_team_barrier_wait_end, 6113 gomp_team_barrier_wake): New functions. 6114 * config/linux/mutex.c: Include wait.h instead of libgomp.h and 6115 futex.h. 6116 (gomp_futex_wake, gomp_futex_wait): New variables. 6117 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait. 6118 * config/linux/lock.c: Rewrite to make locks task owned, 6119 for backwards compatibility provide the old entrypoints 6120 if symbol versioning. Include wait.h instead of libgomp.h and 6121 futex.h. 6122 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait. 6123 * config/posix95/lock.c: Rewrite to make locks task owned, 6124 for backwards compatibility provide the old entrypoints 6125 if symbol versioning. 6126 * config/posix/lock.c: Rewrite to make locks task owned, 6127 for backwards compatibility provide the old entrypoints 6128 if symbol versioning. 6129 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv. 6130 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv. 6131 * config/posix/proc.c, config/mingw32/proc.c: Similarly. 6132 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove. 6133 (sys_futex0): Return error code. 6134 (futex_wake, futex_wait): If ENOSYS was returned, clear 6135 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry. 6136 (cpu_relax, atomic_write_barrier): New static inlines. 6137 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove. 6138 (futex_wake, futex_wait): If ENOSYS was returned, clear 6139 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry. 6140 (cpu_relax, atomic_write_barrier): New static inlines. 6141 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove. 6142 (sys_futex0): Return error code. 6143 (futex_wake, futex_wait): If ENOSYS was returned, clear 6144 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry. 6145 (cpu_relax, atomic_write_barrier): New static inlines. 6146 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove. 6147 (sys_futex0): Return error code. 6148 (futex_wake, futex_wait): If ENOSYS was returned, clear 6149 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry. 6150 (cpu_relax, atomic_write_barrier): New static inlines. 6151 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove. 6152 (sys_futex0): Return error code. 6153 (futex_wake, futex_wait): If ENOSYS was returned, clear 6154 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry. 6155 (cpu_relax, atomic_write_barrier): New static inlines. 6156 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove. 6157 (sys_futex0): Return error code. 6158 (futex_wake, futex_wait): If ENOSYS was returned, clear 6159 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry. 6160 (cpu_relax, atomic_write_barrier): New static inlines. 6161 * config/linux/sem.c: Include wait.h instead of libgomp.h and 6162 futex.h. 6163 (gomp_sem_wait_slow): Call do_wait instead of futex_wait. 6164 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS. 6165 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New 6166 types. 6167 (omp_nest_lock_t): Change owner into void *, add lock field. 6168 * config/posix95/omp-lock.h: Include semaphore.h. 6169 (omp_lock_25_t, omp_nest_lock_25_t): New types. 6170 (omp_lock_t): Use sem_t instead of mutex if semaphores 6171 aren't broken. 6172 (omp_nest_lock_t): Likewise. Change owner to void *. 6173 * config/posix/omp-lock.h: Include semaphore.h. 6174 (omp_lock_25_t, omp_nest_lock_25_t): New types. 6175 (omp_lock_t): Use sem_t instead of mutex if semaphores 6176 aren't broken. 6177 (omp_nest_lock_t): Likewise. Add owner field. 6178 61792008-06-06 Jakub Jelinek <jakub@redhat.com> 6180 6181 * testsuite/libgomp.c/collapse-1.c: New test. 6182 * testsuite/libgomp.c/collapse-2.c: New test. 6183 * testsuite/libgomp.c/collapse-3.c: New test. 6184 * testsuite/libgomp.c/icv-1.c: New test. 6185 * testsuite/libgomp.c/icv-2.c: New test. 6186 * testsuite/libgomp.c/lib-2.c: New test. 6187 * testsuite/libgomp.c/lock-1.c: New test. 6188 * testsuite/libgomp.c/lock-2.c: New test. 6189 * testsuite/libgomp.c/lock-3.c: New test. 6190 * testsuite/libgomp.c/loop-4.c: New test. 6191 * testsuite/libgomp.c/loop-5.c: New test. 6192 * testsuite/libgomp.c/loop-6.c: New test. 6193 * testsuite/libgomp.c/loop-7.c: New test. 6194 * testsuite/libgomp.c/loop-8.c: New test. 6195 * testsuite/libgomp.c/loop-9.c: New test. 6196 * testsuite/libgomp.c/nested-3.c: New test. 6197 * testsuite/libgomp.c/nestedfn-6.c: New test. 6198 * testsuite/libgomp.c/sort-1.c: New test. 6199 * testsuite/libgomp.c/task-1.c: New test. 6200 * testsuite/libgomp.c/task-2.c: New test. 6201 * testsuite/libgomp.c/task-3.c: New test. 6202 * testsuite/libgomp.c/task-4.c: New test. 6203 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes 6204 to C++ testsuite default compiler options. 6205 * testsuite/libgomp.c++/collapse-1.C: New test. 6206 * testsuite/libgomp.c++/collapse-2.C: New test. 6207 * testsuite/libgomp.c++/ctor-10.C: New test. 6208 * testsuite/libgomp.c++/for-1.C: New test. 6209 * testsuite/libgomp.c++/for-2.C: New test. 6210 * testsuite/libgomp.c++/for-3.C: New test. 6211 * testsuite/libgomp.c++/for-4.C: New test. 6212 * testsuite/libgomp.c++/for-5.C: New test. 6213 * testsuite/libgomp.c++/loop-8.C: New test. 6214 * testsuite/libgomp.c++/loop-9.C: New test. 6215 * testsuite/libgomp.c++/loop-10.C: New test. 6216 * testsuite/libgomp.c++/task-1.C: New test. 6217 * testsuite/libgomp.c++/task-2.C: New test. 6218 * testsuite/libgomp.c++/task-3.C: New test. 6219 * testsuite/libgomp.c++/task-4.C: New test. 6220 * testsuite/libgomp.c++/task-5.C: New test. 6221 * testsuite/libgomp.c++/task-6.C: New test. 6222 * testsuite/libgomp.fortran/allocatable1.f90: New test. 6223 * testsuite/libgomp.fortran/allocatable2.f90: New test. 6224 * testsuite/libgomp.fortran/allocatable3.f90: New test. 6225 * testsuite/libgomp.fortran/allocatable4.f90: New test. 6226 * testsuite/libgomp.fortran/collapse1.f90: New test. 6227 * testsuite/libgomp.fortran/collapse2.f90: New test. 6228 * testsuite/libgomp.fortran/collapse3.f90: New test. 6229 * testsuite/libgomp.fortran/collapse4.f90: New test. 6230 * testsuite/libgomp.fortran/lastprivate1.f90: New test. 6231 * testsuite/libgomp.fortran/lastprivate2.f90: New test. 6232 * testsuite/libgomp.fortran/lib4.f90: New test. 6233 * testsuite/libgomp.fortran/lock-1.f90: New test. 6234 * testsuite/libgomp.fortran/lock-2.f90: New test. 6235 * testsuite/libgomp.fortran/nested1.f90: New test. 6236 * testsuite/libgomp.fortran/nestedfn4.f90: New test. 6237 * testsuite/libgomp.fortran/strassen.f90: New test. 6238 * testsuite/libgomp.fortran/tabs1.f90: New test. 6239 * testsuite/libgomp.fortran/tabs2.f: New test. 6240 * testsuite/libgomp.fortran/task1.f90: New test. 6241 * testsuite/libgomp.fortran/task2.f90: New test. 6242 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning. 6243 * testsuite/libgomp.fortran/vla5.f90: Likewise. 6244 * testsuite/libgomp.c/pr26943-2.c: Likewise. 6245 * testsuite/libgomp.c/pr26943-3.c: Likewise. 6246 * testsuite/libgomp.c/pr26943-4.c: Likewise. 6247 62482008-05-23 Jakub Jelinek <jakub@redhat.com> 6249 6250 PR c++/36308 6251 * testsuite/libgomp.c++/ctor-11.C: New test. 6252 * testsuite/libgomp.c++/ctor-12.C: New test. 6253 62542008-05-15 Janis Johnson <janis187@us.ibm.com> 6255 6256 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib. 6257 62582008-05-07 Jakub Jelinek <jakub@redhat.com> 6259 6260 PR middle-end/36106 6261 * testsuite/libgomp.c/atomic-5.c: New test. 6262 * testsuite/libgomp.c/atomic-6.c: New test. 6263 * testsuite/libgomp.c/autopar-1.c: New test. 6264 62652008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 6266 6267 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS) 6268 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY) 6269 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT) 6270 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names. 6271 * configure: Regenerate. 6272 * Makefile.in, testsuite/Makefile.in: Likewise. 6273 62742008-04-18 Paolo Bonzini <bonzini@gnu.org> 6275 6276 PR bootstrap/35457 6277 * aclocal.m4: Regenerate. 6278 * configure: Regenerate. 6279 62802008-03-18 Jakub Jelinek <jakub@redhat.com> 6281 6282 PR middle-end/35611 6283 * testsuite/libgomp.c/atomic-4.c: New test. 6284 6285 PR libgomp/35625 6286 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end. 6287 (gomp_iter_guided_next): Likewise. 6288 * testsuite/libgomp.c/pr35625.c: New test. 6289 62902008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 6291 6292 * aclocal.m4: Regenerate. 6293 * configure: Likewise. 6294 * Makefile.in: Likewise. 6295 * testsuite/Makefile.in: Likewise. 6296 62972008-03-13 Jakub Jelinek <jakub@redhat.com> 6298 6299 PR middle-end/35185 6300 * testsuite/libgomp.c++/pr35185.C: New test. 6301 63022008-03-12 Jakub Jelinek <jakub@redhat.com> 6303 6304 PR middle-end/35549 6305 * testsuite/libgomp.c/pr35549.c: New test. 6306 63072008-03-06 Jakub Jelinek <jakub@redhat.com> 6308 6309 * testsuite/libgomp.c/atomic-3.c: New test. 6310 63112008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 6312 6313 PR fortran/33197 6314 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and 6315 .F08 file suffixes. 6316 63172008-03-03 Peter O'Gorman <pogma@thewrittenword.com> 6318 6319 PR libgomp/33131 6320 * configure.ac: Add ACX_HEADER_STRING. 6321 * env.c: Include strings.h. 6322 * aclocal.m4: Regenerate. 6323 * config.h.in: Regenerate. 6324 * configure: Regenerate. 6325 * Makefile.in: Regenerate. 6326 * testsuite/Makefile.in: Regenerate. 6327 63282008-02-15 Jakub Jelinek <jakub@redhat.com> 6329 6330 PR middle-end/35196 6331 * testsuite/libgomp.c/pr35196.c: New test. 6332 6333 PR middle-end/35130 6334 * testsuite/libgomp.fortran/pr35130.f90: New test. 6335 * testsuite/libgomp.c/pr35130.c: New test. 6336 63372008-01-25 Jakub Jelinek <jakub@redhat.com> 6338 6339 PR middle-end/33880 6340 * testsuite/libgomp.c/pr33880.c: New test. 6341 * testsuite/libgomp.fortran/pr33880.f90: New test. 6342 63432008-01-24 David Edelsohn <edelsohn@gnu.org> 6344 6345 * configure: Regenerate. 6346 63472008-01-08 Jakub Jelinek <jakub@redhat.com> 6348 6349 * configure.ac: Move futex checking into ../config/futex.m4. 6350 * configure: Rebuilt. 6351 * aclocal.m4: Rebuilt. 6352 * Makefile.in: Rebuilt. 6353 6354 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match 6355 2007-10-15 ../config/tls.m4 change. 6356 63572007-12-19 Jakub Jelinek <jakub@redhat.com> 6358 6359 PR c++/34513 6360 * testsuite/libgomp.c/pr34513.c: New test. 6361 * testsuite/libgomp.c++/pr34513.C: New test. 6362 63632007-12-17 Jack Howarth <howarth@bromo.med.uc.edu> 6364 6365 PR target/32765 6366 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin. 6367 63682007-12-04 Jakub Jelinek <jakub@redhat.com> 6369 6370 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes. 6371 63722007-12-03 Jakub Jelinek <jakub@redhat.com> 6373 6374 * testsuite/libgomp.c/private-1.c: New test. 6375 63762007-11-29 Andris Pavenis <andris.pavenis@iki.fi> 6377 Paolo Bonzini <bonzini@gnu.org> 6378 6379 * Makefile.am: Use space as vpath separator. Use 'vpath %' 6380 instead of 'VPATH ='. 6381 * Makefile.in: Regenerate. 6382 63832007-11-23 Matthias Klose <doko@ubuntu.com> 6384 6385 * configure.ac: Adjust makeinfo version check. 6386 * configure: Regenerate. 6387 63882007-11-10 Jakub Jelinek <jakub@redhat.com> 6389 6390 PR fortran/34020 6391 * testsuite/libgomp.fortran/pr34020.f90: New test. 6392 63932007-11-06 Jakub Jelinek <jakub@redhat.com> 6394 6395 PR c++/33894 6396 * testsuite/libgomp.c++/atomic-1.C: New test. 6397 63982007-10-25 Jakub Jelinek <jakub@redhat.com> 6399 6400 PR libgomp/33275 6401 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate): 6402 Make x and y integers rather than (implicit) reals. Add private (j) 6403 clause to the last omp parallel. 6404 64052007-10-15 Maciej W. Rozycki <macro@linux-mips.org> 6406 6407 * configure: Regenerate following changes to ../config/tls.m4. 6408 64092007-09-28 Jakub Jelinek <jakub@redhat.com> 6410 6411 * testsuite/libgomp.fortran/stack.f90: New test. 6412 64132007-09-10 Danny Smith <dannysmith@users.sourceforge.net> 6414 6415 * config/mingw32/proc.c: New file. 6416 64172007-09-05 Uros Bizjak <ubizjak@gmail.com> 6418 6419 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets. 6420 (main): Use __get_cpuid to get i386 target fetaures. 6421 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets. 6422 (main): Use __get_cpuid to get x86_64 target fetaures. 6423 64242007-08-15 Jack Howarth <howarth@bromo.med.uc.edu> 6425 6426 PR target/32765 6427 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin. 6428 * testsuite/libgomp.fortran/crayptr2.f90: Likwise. 6429 64302007-07-12 Jakub Jelinek <jakub@redhat.com> 6431 6432 PR fortran/32550 6433 * testsuite/libgomp.fortran/pr32550.f90: New test. 6434 * testsuite/libgomp.fortran/crayptr2.f90: New test. 6435 64362007-07-05 H.J. Lu <hongjiu.lu@intel.com> 6437 6438 * aclocal.m4: Regenerated. 6439 64402007-07-05 Tobias Burnus <burnus@net-b.de> 6441 6442 PR fortran/32359 6443 * testsuite/libgomp.fortran/pr32359.f90: New. 6444 64452007-07-02 Jakub Jelinek <jakub@redhat.com> 6446 6447 PR libgomp/32468 6448 * sections.c (GOMP_parallel_sections_start): Only decrease 6449 number of threads to COUNT if dyn_var is true. 6450 * testsuite/libgomp.c/pr32468.c: New test. 6451 64522007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 6453 6454 PR libgomp/26308 6455 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX. 6456 64572007-06-21 Jakub Jelinek <jakub@redhat.com> 6458 6459 PR middle-end/32362 6460 * testsuite/libgomp.c/pr32362-1.c: New test. 6461 * testsuite/libgomp.c/pr32362-2.c: New test. 6462 * testsuite/libgomp.c/pr32362-3.c: New test. 6463 64642007-06-07 Jakub Jelinek <jakub@redhat.com> 6465 6466 * team.c (gomp_team_start): Fix setting up thread_attr 6467 stack size. 6468 64692007-06-02 Paolo Bonzini <bonzini@gnu.org> 6470 6471 * configure: Regenerate. 6472 64732007-05-23 Steve Ellcey <sje@cup.hp.com> 6474 6475 * Makefile.in: Regenerate. 6476 * configure: Regenerate. 6477 * aclocal.m4: Regenerate. 6478 * testsuite/Makefile.in: Regenerate. 6479 64802007-05-04 Jakub Jelinek <jakub@redhat.com> 6481 6482 * config/linux/proc.c: New file. 6483 6484 PR libgomp/28482 6485 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux. 6486 64872007-04-19 Daniel Franke <franke.daniel@gmail.com> 6488 6489 * libgomp.texi (GOMP_CPU_AFFINITY): Updated. 6490 64912007-04-16 Matthias Klose <doko@debian.org> 6492 6493 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific 6494 flags if not building with -m64. 6495 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march 6496 flag for i?86-*-* targets, if current target matches -m64. 6497 64982007-04-14 Steve Ellcey <sje@cup.hp.com> 6499 6500 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS. 6501 * Makefile.in: Regenerate. 6502 65032007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 6504 6505 PR testsuite/31369 6506 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting 6507 ld_library_path. 6508 * testsuite/libgomp.fortran/fortran.exp: Likewise. 6509 65102007-04-04 Jakub Jelinek <jakub@redhat.com> 6511 6512 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern 6513 decls. 6514 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes. 6515 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables. 6516 (parse_affinity): New function. 6517 (initialize_env): Call it and gomp_init_affinity. 6518 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL, 6519 create new pthread_attr_t and call gomp_init_thread_affinity 6520 on it for each thread before passing the attribute to pthread_create. 6521 * config/linux/affinity.c: New file. 6522 * config/posix/affinity.c: New file. 6523 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test. 6524 * configure: Rebuilt. 6525 * config.h.in: Rebuilt. 6526 * Makefile.am (libgomp_la_SOURCES): Add affinity.c. 6527 * Makefile.in: Rebuilt. 6528 65292007-03-23 Andreas Tobler <a.tobler@schweiz.org> 6530 6531 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for 6532 *-*-darwin*. 6533 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library 6534 and use it if found. 6535 65362007-03-18 Uros Bizjak <ubizjak@gmail.com> 6537 6538 * testsuite/config/default.exp: New file. 6539 * testsuite/lib/libgomp.exp: New file. 6540 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init, 6541 libgomp_target_compile, libgomp_option_help, libgomp_option_proc, 6542 load_lib *, load_gcc_lib *): Move to libgomp.exp. 6543 (libgomp_load): Remove. 6544 * testsuite/lib/libgomp.exp (libgomp_init): Compute 6545 always_ld_library_path, not ld_library_path. Set additional_flags 6546 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets. 6547 (target_compile): Do not call libgomp_init. Append lang_library_path 6548 and lang_link_flags to options. 6549 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set 6550 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH 6551 here. 6552 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from 6553 always_ld_library_path. Set LD_LIBRARY_PATH here. 6554 * testsuite/libgomp.fortran/fortran.exp: Ditto. 6555 * testsuite/libgomp.c/atomic-1.c: Set dg-options to 6556 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for 6557 CX8 flag. 6558 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for 6559 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3. 6560 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options. 6561 * testsuite/libgomp.c/pr29947-1.c: Ditto. 6562 * testsuite/libgomp.c/atomic-10.c: Ditto. 6563 65642007-03-21 Jakub Jelinek <jakub@redhat.com> 6565 6566 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add 6567 dg-final cleanup-modules line. 6568 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise. 6569 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise. 6570 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise. 6571 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise. 6572 * testsuite/libgomp.fortran/reduction5.f90: Likewise. 6573 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise. 6574 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. 6575 65762007-03-18 Andreas Schwab <schwab@suse.de> 6577 6578 * acinclude.m4: Adjust regular expression for ld version 6579 extraction. 6580 * configure: Regenerate. 6581 65822007-03-01 Brooks Moses <brooks.moses@codesourcery.com> 6583 6584 * Makefile.am: Add install-pdf target as copied from 6585 automake v1.10 rules. 6586 * Makefile.in: Regenerate 6587 65882007-02-07 Jakub Jelinek <jakub@redhat.com> 6589 6590 PR libgomp/28486 6591 * configure: Regenerate. 6592 6593 PR c++/30703 6594 * testsuite/libgomp.c++/pr30703.C: New test. 6595 65962007-02-02 Jakub Jelinek <jakub@redhat.com> 6597 6598 Revert: 6599 2006-07-05 Eric Christopher <echristo@apple.com> 6600 * configure.ac: Depend addition of -pthread on host OS. 6601 * configure: Regenerate. 6602 66032007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 6604 6605 * libgomp.texi: Fix spacing after abbreviations. 6606 66072007-01-31 Daniel Franke <franke.daniel@gmail.com> 6608 6609 PR libgomp/30546 6610 * configure.ac: Add check for makeinfo 6611 * Makefile.am: Redefined target libgomp.info, build libgomp.info only 6612 if an appropiate version of makeinfo is found. 6613 * aclocal.m4: Regenerated. 6614 * configure: Regenerated. 6615 * Makefile.in: Regenerated. 6616 * testsuite/Makefile.in: Regenerated. 6617 66182007-01-29 Daniel Franke <franke.daniel@gmail.com> 6619 6620 PR libgomp/30540 6621 * libgomp.texi: More about implementation-dependent settings. 6622 66232007-01-26 Tobias Burnus <burnus@net-b.de> 6624 6625 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension. 6626 66272007-01-24 Jakub Jelinek <jakub@redhat.com> 6628 6629 PR middle-end/30494 6630 * testsuite/libgomp.c/pr30494.c: New test. 6631 66322007-01-15 Tom Tromey <tromey@redhat.com> 6633 6634 * configure: Rebuilt. 6635 * configure.ac: Fixed comment. 6636 66372007-01-14 Daniel Franke <franke.daniel@gmail.com> 6638 6639 * libgomp.texi: Document implementation specific default values of 6640 environment variables. 6641 66422006-12-21 Daniel Franke <franke.daniel@gmail.com> 6643 6644 PR libgomp/28209 6645 * libgomp.texi: New file. 6646 * configure.ac: Add --enable-generated-files-in-srcdir option. 6647 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy 6648 files to srcdir. 6649 * Makefile.in: Regenerated. 6650 * config.h.in: Regenerated. 6651 * testsuite/Makefile.in: Regenerated. 6652 * NOTES: Removed. 6653 66542006-12-04 Daniel Franke <franke.daniel@gmail.com> 6655 6656 PR libgomp/29949 6657 * env.c (omp_set_num_threads): Set illegal thread count to 1. 6658 66592006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr> 6660 6661 * configure: Regenerate. 6662 66632006-12-04 Jakub Jelinek <jakub@redhat.com> 6664 6665 PR libgomp/29947 6666 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to 6667 start if there shouldn't be any loop iterations. 6668 (gomp_loop_ordered_static_start): Remove start == end test. 6669 * testsuite/libgomp.c/pr29947-1.c: New test. 6670 * testsuite/libgomp.c/pr29947-2.c: New test. 6671 66722006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr> 6673 6674 * configure.tgt: Force initial-exec TLS model on Linux only. 6675 66762006-11-13 Daniel Jacobowitz <dan@codesourcery.com> 6677 6678 * configure: Regenerated. 6679 66802006-11-09 Uros Bizjak <ubizjak@gmail.com> 6681 6682 * env.c (parse_schedule): Reject out of range values. 6683 (parse_unsigned_long): Reject out of range, negative or zero values. 6684 66852006-10-29 Jakub Jelinek <jakub@redhat.com> 6686 6687 PR fortran/29629 6688 * testsuite/libgomp.fortran/pr29629.f90: New test. 6689 66902006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr> 6691 6692 PR libgomp/29494 6693 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6. 6694 * config/posix95: New directory. 6695 * config/posix95/omp-lock.h: New file. 6696 * config/posix95/lock.c: Likewise. 6697 66982006-10-14 Geoffrey Keating <geoffk@apple.com> 6699 6700 * aclocal.m4: Regenerate. 6701 * configure: Regenerate. 6702 67032006-10-05 Danny Smith <dannysmith@users.sourceforge.net> 6704 6705 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from 6706 '<' to '<='. 6707 67082006-10-05 Danny Smith <dannysmith@users.sourceforge.net> 6709 6710 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from 6711 test. 6712 * configure: Regenerate. 6713 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias. 6714 67152006-09-26 Jakub Jelinek <jakub@redhat.com> 6716 6717 PR middle-end/25261 6718 PR middle-end/28790 6719 * testsuite/libgomp.c/nestedfn-4.c: New test. 6720 * testsuite/libgomp.c/nestedfn-5.c: New test. 6721 * testsuite/libgomp.fortran/nestedfn3.f90: New test. 6722 6723 PR fortran/29097 6724 * testsuite/libgomp.fortran/condinc1.f: New test. 6725 * testsuite/libgomp.fortran/condinc2.f: New test. 6726 * testsuite/libgomp.fortran/condinc3.f90: New test. 6727 * testsuite/libgomp.fortran/condinc4.f90: New test. 6728 * testsuite/libgomp.fortran/condinc1.inc: New file. 6729 67302006-09-18 Tom Tromey <tromey@redhat.com> 6731 6732 * configure: Rebuilt. 6733 67342006-09-13 Joseph S. Myers <joseph@codesourcery.com> 6735 6736 PR c/28768 6737 PR preprocessor/14634 6738 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument 6739 to AC_DEFINE. 6740 * configure: Regenerate. 6741 67422006-09-08 Steven G. Kargl <kargl@gcc.gnu.org> 6743 6744 * testsuite/libgomp.fortran/reduction3.f90: Change 6745 -2147483648 to -huge(i)-1 to avoid overflow. 6746 * testsuite/libgomp.fortran/reduction4.f90: Change 6747 Z'ffffffff' to not(0) to avoid overflow. 6748 67492006-08-26 Joseph S. Myers <joseph@codesourcery.com> 6750 6751 PR libgomp/25938 6752 * Makefile.am (libsubincludedir): New. 6753 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS. 6754 * Makefile.in: Regenerate. 6755 67562006-08-17 Jakub Jelinek <jakub@redhat.com> 6757 6758 PR libgomp/28725 6759 * env.c: Include ctype.h. 6760 (parse_schedule, parse_unsigned_long, parse_boolean): Allow 6761 leading and/or trailing whitespace and compare strings case 6762 insensitively. 6763 67642006-07-16 Jakub Jelinek <jakub@redhat.com> 6765 6766 PR fortran/28390 6767 * testsuite/libgomp.fortran/pr28390.f: New test. 6768 67692006-07-05 Eric Christopher <echristo@apple.com> 6770 6771 * configure.ac: Depend addition of -pthread on host OS. 6772 * configure: Regenerate. 6773 67742006-06-21 Jakub Jelinek <jakub@redhat.com> 6775 6776 * critical.c (GOMP_critical_name_start): Fix *pptr initialization 6777 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is 6778 defined. 6779 67802006-06-20 Jakub Jelinek <jakub@redhat.com> 6781 6782 PR libgomp/26175 6783 PR libgomp/26477 6784 * configure.ac: If neither --enable-linux-futex nor 6785 --disable-linux-futex is passed, determine the default by checking 6786 for compiling and/or running against NPTL. With --enable-linux-futex, 6787 check if SYS_gettid and SYS_futex are defined. 6788 * configure: Rebuilt. 6789 67902006-06-14 Richard Henderson <rth@redhat.com> 6791 6792 PR libgomp/28008 6793 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when 6794 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment. 6795 67962006-06-09 Richard Henderson <rth@redhat.com> 6797 6798 * env.c (gomp_nthreads_var): Change to unsigned long. 6799 (gomp_run_sched_chunk): Likewise. 6800 (parse_unsigned_long): Rename from parse_num_threads and generalize. 6801 (initialize_env): Initialize gomp_thread_attr. 6802 * libgomp.h (gomp_nthreads_var): Update decl. 6803 (gomp_run_sched_chunk): Likewise. 6804 (gomp_thread_attr): Declare. 6805 * team.c (gomp_thread_attr): Export. 6806 (initialize_team): Don't initialize it. 6807 68082006-06-09 Jakub Jelinek <jakub@redhat.com> 6809 6810 PR fortran/27916 6811 * testsuite/libgomp.fortran/pr27916-1.f90: New test. 6812 * testsuite/libgomp.fortran/pr27916-2.f90: New test. 6813 68142006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr> 6815 6816 * config/mingw32/time.c: New file. 6817 * configure.tgt: Use it. 6818 68192006-05-23 Carlos O'Donell <carlos@codesourcery.com> 6820 6821 * Makefile.am: Add install-html target. Add install-html to .PHONY 6822 * Makefile.in: Regenerate. 6823 68242006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 6825 6826 PR libgomp/27612 6827 * testsuite/libgomp.c/sections-1.c: Require sync_int_long. 6828 * testsuite/libgomp.c/critical-1.c: Likewise. 6829 * testsuite/libgomp.c/loop-1.c: Likewise. 6830 * testsuite/libgomp.c/loop-2.c: Likewise. 6831 * testsuite/libgomp.c/single-1.c: Likewise. 6832 * testsuite/libgomp.c/ordered-1.c: Likewise. 6833 * testsuite/libgomp.c/ordered-2.c: Likewise. 6834 68352006-05-15 Jakub Jelinek <jakub@redhat.com> 6836 6837 PR middle-end/27416 6838 * libgomp.fortran/pr27416-1.f90: New test. 6839 68402006-05-03 Jakub Jelinek <jakub@redhat.com> 6841 6842 PR fortran/27395 6843 * testsuite/libgomp.fortran/pr27395-1.f90: New test. 6844 * testsuite/libgomp.fortran/pr27395-2.f90: New test. 6845 68462006-05-02 Jakub Jelinek <jakub@redhat.com> 6847 6848 PR c++/26943 6849 * testsuite/libgomp.c/pr26943-1.c: New test. 6850 * testsuite/libgomp.c/pr26943-2.c: New test. 6851 * testsuite/libgomp.c/pr26943-3.c: New test. 6852 * testsuite/libgomp.c/pr26943-4.c: New test. 6853 * testsuite/libgomp.c++/pr27337.C: Remove barrier. 6854 * testsuite/libgomp.c++/pr26943.C: New test. 6855 68562006-05-02 Jakub Jelinek <jakub@redhat.com> 6857 6858 PR middle-end/27337 6859 * testsuite/libgomp.c++/pr27337.C: New test. 6860 68612006-04-26 Jakub Jelinek <jakub@redhat.com> 6862 6863 PR c/26171 6864 * testsuite/libgomp.c/pr26171.c: New test. 6865 68662006-04-25 Richard Henderson <rth@redhat.com> 6867 6868 PR libgomp/25865 6869 * configure.ac: Use GCC_CHECK_TLS. 6870 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove. 6871 * Makefile.in, aclocal.m4, configure: Regenerate. 6872 68732006-04-10 Matthias Klose <doko@debian.org> 6874 6875 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib 6876 directory names containing underscores. 6877 68782006-03-21 Jakub Jelinek <jakub@redhat.com> 6879 6880 PR c++/26691 6881 * testsuite/libgomp.c++/pr26691.C: New test. 6882 68832006-03-13 Jakub Jelinek <jakub@redhat.com> 6884 6885 * testsuite/libgomp.fortran/retval2.f90: New test. 6886 68872006-03-09 Diego Novillo <dnovillo@redhat.com> 6888 6889 * testsuite/libgomp.c++: New directory. 6890 68912006-02-25 Shantonu Sen <ssen@opendarwin.org> 6892 6893 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions. 6894 * config/posix/sem.c: Implement the above. 6895 68962006-02-25 Andreas Tobler <a.tobler@schweiz.ch> 6897 6898 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and 6899 define HAVE_BROKEN_POSIX_SEMAPHORES. 6900 * configure: Rebuilt. 6901 * config.h.in: Rebuilt. 6902 69032006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr> 6904 6905 PR bootstrap/26161 6906 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment 6907 for the other pthread check. 6908 * configure: Regenerate. 6909 * config.h.in: Regenerate. 6910 69112006-02-15 Jakub Jelinek <jakub@redhat.com> 6912 6913 PR libgomp/25938 6914 PR libgomp/25984 6915 * Makefile.am (fincludedir): New variable. 6916 (nodist_include_HEADERS): Remove Fortran files. 6917 (nodist_finclude_HEADERS): New variable. 6918 * Makefile.in: Regenerated. 6919 69202006-02-13 Jakub Jelinek <jakub@redhat.com> 6921 6922 * testsuite/libgomp.fortran/vla7.f90: Add -w to options. 6923 Remove tests for returning assumed character length arrays. 6924 69252006-02-12 Roger Sayle <roger@eyesopen.com> 6926 John David Anglin <dave@hiauly1.hia.nrc.ca> 6927 6928 PR libgomp/25936 6929 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems. 6930 69312006-02-08 Ulrich Weigand <uweigand@de.ibm.com> 6932 6933 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library. 6934 69352006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr> 6936 6937 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related 6938 part of LD_LIBRARY_PATH manually. 6939 69402006-02-03 H.J. Lu <hongjiu.lu@intel.com> 6941 6942 PR libgomp/25852 6943 * testsuite/lib/libgomp-dg.exp (blddir): Set it in 6944 libgomp_init. 6945 69462005-01-25 Paolo Bonzini <bonzini@gnu.org> 6947 6948 PR libgomp/25884 6949 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove. 6950 * configure.ac (PERL): Don't set. 6951 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here. 6952 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE, 6953 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions. 6954 * omp.h.in: Wrap the new configure substitutions with @ characters. 6955 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise. 6956 * aclocal.m4, configure, Makefile.in: Regenerate. 6957 * mkomp_h.pl: Delete. 6958 69592005-01-24 Paolo Bonzini <bonzini@gnu.org> 6960 6961 PR libgomp/25259 6962 * configure.ac: Use GCC_HEADER_STDINT. 6963 * libgomp.h: Include gstdint.h. 6964 * libgomp_f.h.in: Don't include stdint.h or inttypes.h. 6965 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild. 6966 69672006-01-24 Richard Henderson <rth@redhat.com> 6968 6969 PR libgomp/25942 6970 * configure.ac: Add AM_MAINTAINER_MODE. 6971 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild. 6972 69732006-01-24 Diego Novillo <dnovillo@redhat.com> 6974 6975 * Makefile.in: Regenerate. 6976 * testsuite/Makefile.in: Regenerate. 6977 * aclocal.m4: Regenerate. 6978 69792006-01-23 Andreas Tobler <a.tobler@schweiz.ch> 6980 6981 * config/posix/proc.c: Conditional include of sys/loadavg.h for 6982 Solaris. 6983 * configure.ac: Add check for loadavg.h. 6984 (link_gomp): Adjust comment. 6985 * configure: Regenerate. 6986 * config.h.in: Regenerate. 6987 69882006-01-21 Steve Ellcey <sje@cup.hp.com> 6989 6990 PR libgomp/25877 6991 * configure.ac: Remove check for alloca.h. 6992 * configure: Regenerate. 6993 * config.h.in: Regenerate. 6994 * libgomp.h: define gomp_alloca to be __builtin_alloca. 6995 * team.c: Remove use of alloca.h. 6996 Call gomp_alloca instead of alloca. 6997 69982006-01-20 Steve Ellcey <sje@cup.hp.com> 6999 7000 PR libgomp/25877 7001 * team.c: Add include of alloca.h. 7002 * configure.ac: Add check for alloca.h. 7003 * configure: Regenerate. 7004 * config.h.in: Regenerate. 7005 70062006-01-17 Jakub Jelinek <jakub@redhat.com> 7007 7008 PR fortran/25219 7009 * testsuite/libgomp.fortran/pr25219.f90: New test. 7010 70112005-12-05 Uros Bizjak <uros@kss-loka.si> 7012 7013 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c, 7014 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c, 7015 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C, 7016 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C, 7017 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C, 7018 testsuite/libgomp.fortran/threadprivate1.f90, 7019 testsuite/libgomp.fortran/threadprivate2.f90, 7020 testsuite/libgomp.fortran/threadprivate3.f90, 7021 testsuite/libgomp.fortran/appendix-a/a.22.7.f9, 7022 testsuite/libgomp.fortran/appendix-a/a.22.8.f9, 7023 testsuite/libgomp.fortran/omp_parse3.f90: Change required 7024 effective-target to TLS runtime. 7025 7026 * testsuite/libgomp.fortran/pr25162.f: Require 7027 effective-target TLS runtime. 7028 70292005-12-01 Jakub Jelinek <jakub@redhat.com> 7030 7031 * testsuite/libgomp.fortran/nestedfn2.f90: New test. 7032 * testsuite/libgomp.c/nestedfn-3.c: New test. 7033 70342005-11-30 Jakub Jelinek <jakub@redhat.com> 7035 7036 PR fortran/25162 7037 * testsuite/libgomp.fortran/pr25162.f: New test. 7038 70392005-11-28 Jakub Jelinek <jakub@redhat.com> 7040 7041 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to 7042 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed. 7043 70442005-11-25 Jakub Jelinek <jakub@redhat.com> 7045 7046 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c, 7047 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in, 7048 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c, 7049 single.c, team.c, work.c, config/linux/alpha/futex.h, 7050 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h, 7051 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h, 7052 config/linux/powerpc/futex.h, config/linux/s390/futex.h, 7053 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h, 7054 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h, 7055 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c, 7056 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update 7057 FSF address. 7058 70592005-11-18 Jakub Jelinek <jakub@redhat.com> 7060 7061 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS 7062 to nodist_noinst_HEADERS. 7063 * Makefile.in: Rebuilt. 7064 7065 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct, 7066 add integer count field. 7067 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for 7068 omp_nest_lock_t type change. 7069 (omp_init_nest_lock): Likewise. Initialize count to 0. 7070 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change. 7071 Increment count. 7072 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change. 7073 Decrement count. 7074 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change. 7075 Increment count if successful and return the new nesting level. 7076 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level. 7077 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type. 7078 * testsuite/libgomp.c/lib-1.c: New test. 7079 * testsuite/libgomp.fortran/lib1.f90: New test. 7080 * testsuite/libgomp.fortran/lib2.f: New test. 7081 * testsuite/libgomp.fortran/lib3.f: New test. 7082 70832005-11-17 Richard Henderson <rth@redhat.com> 7084 7085 PR 24845 7086 * Makefile.am (nodist_toolexeclib_HEADERS): New. 7087 * configure.ac (link_gomp): New. Substitute it. 7088 (AC_CONFIG_FILES): Add libgomp.spec. 7089 * libgomp.spec.in: New file. 7090 * Makefile.in, testsuite/Makefile.in, configure: Rebuild. 7091 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags. 7092 70932005-11-18 Jakub Jelinek <jakub@redhat.com> 7094 7095 * testsuite/libgomp.fortran/reduction1.f90: Adjust for 7096 reduction(-:var) behaving the same as reduction(+:var). 7097 * testsuite/libgomp.c/reduction-4.c: New test. 7098 70992005-11-15 Uros Bizjak <uros@kss-loka.si> 7100 7101 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c, 7102 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c, 7103 testsuite/libgomp.c/copyin-3.c, 7104 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C, 7105 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C, 7106 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C, 7107 testsuite/libgomp.c++/pr24455.C, 7108 testsuite/libgomp.fortran/threadprivate1.f90, 7109 testsuite/libgomp.fortran/threadprivate2.f90, 7110 testsuite/libgomp.fortran/threadprivate3.f90, 7111 testsuite/libgomp.fortran/appendix-a/a.22.7.f9, 7112 testsuite/libgomp.fortran/appendix-a/a.22.8.f9, 7113 testsuite/libgomp.fortran/omp_parse3.f90: Require 7114 effective-target TLS. 7115 71162005-11-14 Diego Novillo <dnovillo@redhat.com> 7117 7118 * HEADER: Remove. 7119 71202005-11-13 Jakub Jelinek <jakub@redhat.com> 7121 7122 PR libgomp/24797 7123 * team.c (initialize_team): Pass NULL rather than free as 7124 pthread_key_create destructor. Initialize thread specific data 7125 pointer in initial thread to a static local variable rather than 7126 malloced memory. 7127 71282005-11-11 Uros Bizjak <uros@kss-loka.si> 7129 7130 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append 7131 its location to ld_library_path. 7132 71332005-11-10 Diego Novillo <dnovillo@redhat.com> 7134 7135 * testsuite/libgomp.c/c.exp: Rename from dg.exp. 7136 71372005-11-10 Diego Novillo <dnovillo@redhat.com> 7138 7139 * testsuite/libgomp.c: Rename from libgomp.dg. 7140 71412005-11-09 Diego Novillo <dnovillo@redhat.com> 7142 7143 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for 7144 threadprivate variable 'i'. 7145 71462005-11-09 Jakub Jelinek <jakub@redhat.com> 7147 7148 * config/linux/s390/futex.h: New file. 7149 * configure.tgt: Use it. 7150 7151 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization 7152 before the parallel. 7153 71542005-11-08 Jakub Jelinek <jakub@redhat.com> 7155 7156 PR c++/24734 7157 * testsuite/libgomp.c++/master-1.C: New test. 7158 71592005-11-07 Jakub Jelinek <jakub@redhat.com> 7160 7161 * testsuite/libgomp.dg/copyin-3.c: New test. 7162 71632005-11-07 Jakub Jelinek <jakub@redhat.com> 7164 7165 * testsuite/libgomp.fortran/retval1.f90: New test. 7166 * testsuite/libgomp.fortran/vla7.f90: New test. 7167 71682005-11-06 Jakub Jelinek <jakub@redhat.com> 7169 7170 * testsuite/libgomp.fortran/vla2.f90: New test. 7171 * testsuite/libgomp.fortran/vla3.f90: New test. 7172 * testsuite/libgomp.fortran/vla4.f90: New test. 7173 * testsuite/libgomp.fortran/vla5.f90: New test. 7174 * testsuite/libgomp.fortran/vla6.f90: New test. 7175 71762005-11-01 Jakub Jelinek <jakub@redhat.com> 7177 7178 * config/linux/sparc/futex.h: New file. 7179 * configure.tgt: Use it. 7180 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing. 7181 7182 * critical.c: Include stdlib.h. 7183 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about 7184 ignoring return value. 7185 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after 7186 LIBGOMP_CHECK_SYNC_BUILTINS check. 7187 * configure: Rebuilt. 7188 71892005-10-31 Jakub Jelinek <jakub@redhat.com> 7190 7191 * testsuite/libgomp.fortran/vla1.f90: New test. 7192 71932005-10-31 Richard Henderson <rth@redhat.com> 7194 7195 * testsuite/libgomp.fortran/character2.f90: Fix race condition 7196 setting 's' in different threads. 7197 71982005-10-31 Jakub Jelinek <jakub@redhat.com> 7199 7200 * libgomp.h (attribute_hidden, ialias): Define. 7201 * config/posix/proc.c (omp_get_num_procs): Add ialias. 7202 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise. 7203 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock, 7204 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock, 7205 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock, 7206 omp_test_lock, omp_test_nest_lock): Likewise. 7207 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock, 7208 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock, 7209 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock, 7210 omp_test_lock, omp_test_nest_lock): Likewise. 7211 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads, 7212 omp_get_dynamic, omp_get_nested): Likewise. 7213 * parallel.c (omp_get_num_threads, omp_get_max_threads, 7214 omp_get_thread_num, omp_in_parallel): Likewise. 7215 * fortran.c (ialias_redirect): Define. 7216 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock, 7217 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, 7218 omp_unset_lock, omp_unset_nest_lock, omp_test_lock, 7219 omp_test_nest_lock, omp_set_dynamic, omp_set_nested, 7220 omp_set_num_threads, omp_get_dynamic, omp_get_nested, 7221 omp_in_parallel, omp_get_max_threads, omp_get_num_procs, 7222 omp_get_num_threads, omp_get_thread_num, omp_get_wtick, 7223 omp_get_wtime): Add ialias_redirect. 7224 72252005-10-30 Jakub Jelinek <jakub@redhat.com> 7226 7227 * fortran.c: Include stdlib.h. 7228 72292005-10-29 Jakub Jelinek <jakub@redhat.com> 7230 7231 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h. 7232 * Makefile.in: Regenerated. 7233 72342005-10-28 Jakub Jelinek <jakub@redhat.com> 7235 7236 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE. 7237 * libgomp_f.h.in (omp_check_defines): New function. 7238 * env.c: Include libgomp_f.h. 7239 (initialize_env): Call omp_check_defines. 7240 7241 * testsuite/libgomp.dg/copyin-2.c: New test. 7242 * testsuite/libgomp.c++/copyin-2.C: New test. 7243 * testsuite/libgomp.fortran/threadprivate3.f90: New test. 7244 7245 * testsuite/libgomp.fortran/threadprivate2.f90: New test. 7246 * testsuite/libgomp.fortran/sharing2.f90: New test. 7247 7248 * testsuite/libgomp.dg/copyin-1.c: New test. 7249 * testsuite/libgomp.c++/copyin-1.C: New test. 7250 72512005-10-26 Jakub Jelinek <jakub@redhat.com> 7252 7253 * testsuite/libgomp.fortran/crayptr1.f90: New test. 7254 7255 * testsuite/libgomp.fortran/workshare1.f90: New test. 7256 7257 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile 7258 only test. 7259 * libgomp.fortran/sharing1.f90: New test. 7260 72612005-10-24 Jakub Jelinek <jakub@redhat.com> 7262 7263 PR c++/24502 7264 * testsuite/libgomp.c++/loop-7.C: New test. 7265 7266 * testsuite/libgomp.dg/nestedfn-2.c: New test. 7267 7268 * testsuite/libgomp.dg/nestedfn-1.c: New test. 7269 * testsuite/libgomp.fortran/reduction6.f90: New test. 7270 * testsuite/libgomp.fortran/nestedfn1.f90: New test. 7271 72722005-10-23 Richard Henderson <rth@redhat.com> 7273 7274 * testsuite/libgomp.c++/ctor-1.C: New. 7275 * testsuite/libgomp.c++/ctor-2.C: New. 7276 * testsuite/libgomp.c++/ctor-3.C: New. 7277 * testsuite/libgomp.c++/ctor-4.C: New. 7278 * testsuite/libgomp.c++/ctor-5.C: New. 7279 * testsuite/libgomp.c++/ctor-6.C: New. 7280 * testsuite/libgomp.c++/ctor-7.C: New. 7281 * testsuite/libgomp.c++/ctor-8.C: New. 7282 * testsuite/libgomp.c++/ctor-9.C: New. 7283 72842005-10-21 Diego Novillo <dnovillo@redhat.com> 7285 7286 PR 24455 7287 * testsuite/libgomp.c++/pr24455-1.C: New test. 7288 * testsuite/libgomp.c++/pr24455.C: New test. 7289 * testsuite/libgomp.dg/pr24455-1.c: New test. 7290 * testsuite/libgomp.dg/pr24455.c: New test. 7291 72922005-10-20 Richard Henderson <rth@redhat.com> 7293 7294 * testsuite/libgomp.c++/loop-6.C: New. 7295 * testsuite/libgomp.dg/loop-3.c: New. 7296 72972005-10-20 Jakub Jelinek <jakub@redhat.com> 7298 7299 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j 7300 explicitly private. 7301 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i 7302 explicitly shared. 7303 73042005-10-19 Diego Novillo <dnovillo@redhat.com> 7305 7306 * testsuite/libgomp.fortran/jacobi.f: New test. 7307 73082005-10-19 Richard Henderson <rth@redhat.com> 7309 7310 * configure.tgt (i?86-linux): Default to with_arch instead of 7311 CFLAGS. Add -mtune to match target_cpu. 7312 (x86_64-linux): Tune to i686. 7313 7314 * fortran.c (omp_test_nest_lock_): Fix typo. 7315 73162005-10-19 Jakub Jelinek <jakub@redhat.com> 7317 7318 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next, 7319 gomp_ordered_sync): Do nothing if team->nthreads == 1. 7320 * testsuite/libgomp.dg/ordered-3.c: New test. 7321 7322 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort. 7323 Remove volatile keyword. 7324 7325 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables 7326 in COMMON block to avoid warnings on 64-bit targets. 7327 73282005-10-18 Diego Novillo <dnovillo@redhat.com> 7329 7330 * testsuite/libgomp.dg/shared-3.c: New test. 7331 73322005-10-18 Jakub Jelinek <jakub@redhat.com> 7333 7334 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed. 7335 * testsuite/libgomp.fortran/reduction5.f90: New test. 7336 73372005-10-18 Jakub Jelinek <jakub@redhat.com> 7338 7339 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to 7340 dg-options. 7341 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable 7342 flush loop now that __sync_synchronize has proper memory barrier. 7343 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo. 7344 Add -ffixed-form to dg-options. 7345 73462005-10-17 Diego Novillo <dnovillo@redhat.com> 7347 7348 * testsuite/libgomp.fortran/fortran.exp: Also gather tests 7349 from subdirectories. 7350 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test. 7351 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test. 7352 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test. 7353 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test. 7354 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test. 7355 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test. 7356 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test. 7357 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test. 7358 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test. 7359 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test. 7360 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test. 7361 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test. 7362 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test. 7363 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test. 7364 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test. 7365 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test. 7366 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test. 7367 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test. 7368 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test. 7369 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test. 7370 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test. 7371 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test. 7372 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test. 7373 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test. 7374 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test. 7375 73762005-10-17 Jakub Jelinek <jakub@redhat.com> 7377 7378 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if 7379 lang_library_path exists. Use find instead of glob to gather tests. 7380 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed. 7381 73822005-10-17 Diego Novillo <dnovillo@redhat.com> 7383 7384 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test. 7385 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test. 7386 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test. 7387 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test. 7388 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test. 7389 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test. 7390 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test. 7391 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test. 7392 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test. 7393 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test. 7394 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test. 7395 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test. 7396 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file. 7397 73982005-10-15 Jakub Jelinek <jakub@redhat.com> 7399 7400 * testsuite/libgomp.dg/vla-1.c: New test. 7401 7402 * testsuite/libgomp.fortran/reference2.f90: New test. 7403 7404 * testsuite/libgomp.fortran/character2.f90: Remove explicit 7405 declaration of omp_get_thread_num. 7406 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add 7407 use omp_lib. 7408 7409 * testsuite/libgomp.fortran/reduction1.f90: New test. 7410 * testsuite/libgomp.fortran/reduction2.f90: New test. 7411 * testsuite/libgomp.fortran/reduction3.f90: New test. 7412 * testsuite/libgomp.fortran/reduction4.f90: New test. 7413 74142005-10-13 Richard Henderson <rth@redhat.com> 7415 7416 * Makefile.am (libgomp_la_SOURCES): Add bar.c. 7417 * Makefile.in: Regenerate. 7418 * barrier.c (GOMP_barrier): Use gomp_barrier_wait. 7419 * libgomp.h: Include bar.h. 7420 (struct gomp_barrier): Remove. 7421 (struct gomp_team): Add barrier. Replace master_barrier with 7422 master_release. Replace threads with ordered_release. 7423 (struct gomp_thread): Replace barrier with release. 7424 * ordered.c (gomp_ordered_first): Update for ordered_release change. 7425 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init, 7426 gomp_ordered_static_next, gomp_ordered_sync): Likewise. 7427 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait. 7428 (GOMP_single_copy_end): Likewise. 7429 * team.c (gomp_threads_dock): New. 7430 (gomp_barrier_init, gomp_barrier_destroy): Remove. 7431 (gomp_thread_start): Use gomp_barrier_wait. 7432 (new_team, free_team): Update for gomp_team changes. 7433 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit. 7434 (gomp_team_end): Use gomp_barrier_wait. 7435 (initialize_team): Update for gomp_thread changes. 7436 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start. 7437 (gomp_work_share_end_nowait): Use atomic ops when available. 7438 * config/linux/bar.c, config/linux/bar.h: New files. 7439 * config/posix/bar.c, config/posix/bar.h: New files. 7440 74412005-10-13 Jakub Jelinek <jakub@redhat.com> 7442 7443 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL. 7444 * testsuite/libgomp.dg/single-2.c: New test. 7445 7446 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file, 7447 lang_link_flags): Unset, so that they aren't inherited from previously 7448 sourced *.exp. 7449 7450 * testsuite/libgomp.fortran/threadprivate1.f90: New test. 7451 74522005-10-12 Richard Henderson <rth@redhat.com> 7453 7454 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel. 7455 (libgomp_init): Use lang_test_file, lang_library_path, and 7456 lang_link_flags, set by the subdirectory files. Add -fopenmp here. 7457 7458 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New. 7459 (lang_test_file, lang_link_flags): New. 7460 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove. 7461 7462 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C, 7463 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C, 7464 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C, 7465 testsuite/libgomp.c++/parallel-1.C, 7466 testsuite/libgomp.c++/reduction-1.C, 7467 testsuite/libgomp.c++/reduction-2.C, 7468 testsuite/libgomp.c++/reduction-3.C, 7469 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C, 7470 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C, 7471 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C: 7472 New files, largely cribbed from the C testsuite. 7473 74742005-10-12 Jakub Jelinek <jakub@redhat.com> 7475 7476 * testsuite/libgomp.fortran/character1.f90: New test. 7477 * testsuite/libgomp.fortran/character2.f90: New test. 7478 7479 * testsuite/libgomp.dg/nested-1.c: New test. 7480 * testsuite/libgomp.dg/nested-2.c: New test. 7481 * testsuite/libgomp.fortran/do1.f90: New test. 7482 * testsuite/libgomp.fortran/do2.f90: New test. 7483 7484 * testsuite/libgomp.fortran/reference1.f90: New test. 7485 74862005-10-11 Jakub Jelinek <jakub@redhat.com> 7487 7488 * testsuite/libgomp.dg/reduction-1.c: New test. 7489 * testsuite/libgomp.dg/reduction-2.c: New test. 7490 * testsuite/libgomp.dg/reduction-3.c: New test. 7491 74922005-10-10 Jakub Jelinek <jakub@redhat.com> 7493 7494 * testsuite/libgomp.dg/atomic-1.c: New test. 7495 * testsuite/libgomp.dg/atomic-2.c: New test. 7496 74972005-10-09 Richard Henderson <rth@redhat.com> 7498 7499 * critical.c (atomic_lock): New. 7500 (initialize_critical): Initialize it. 7501 (GOMP_atomic_start, GOMP_atomic_end): New. 7502 * libgomp.map: Export them. 7503 * libgomp_g.h: Declare them. 7504 7505 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite. 7506 75072005-10-02 Richard Henderson <rth@redhat.com> 7508 7509 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror 7510 to XCFLAGS instead of CFLAGS. 7511 75122005-09-30 Richard Henderson <rth@redhat.com> 7513 7514 * configure.ac: Determine whether -pthread or -lpthread is needed. 7515 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread. 7516 * Makefine.in, configure: Rebuild. 7517 75182005-09-28 Richard Henderson <rth@redhat.com> 7519 7520 * testsuite/libgomp.dg/omp-loop03.c: Fix return code. 7521 * testsuite/libgomp.dg/omp-single-3.c: New test. 7522 75232005-09-28 Diego Novillo <dnovillo@redhat.com> 7524 7525 * testsuite/libgomp.dg/omp-single-2.c: New test. 7526 * testsuite/libgomp.dg/shared-2.c: Fix return code. 7527 75282005-09-27 Richard Henderson <rth@redhat.com> 7529 7530 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier. 7531 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule. 7532 75332005-09-27 Jakub Jelinek <jakub@redhat.com> 7534 7535 * testsuite/libgomp.dg/omp-loop03.c: New test. 7536 75372005-09-27 Diego Novillo <dnovillo@redhat.com> 7538 7539 * testsuite/libgomp.dg/omp-parallel-for.c: New test. 7540 75412005-09-27 Diego Novillo <dnovillo@redhat.com> 7542 7543 * testsuite/libgomp.dg/omp-single-1.c: New test. 7544 * testsuite/libgomp.dg/shared-1.c: Return 0. 7545 Add prototype for abort. 7546 * testsuite/libgomp.dg/shared-2.c: Likewise. 7547 75482005-09-26 Jakub Jelinek <jakub@redhat.com> 7549 7550 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming 7551 constructs. 7552 75532005-09-26 Diego Novillo <dnovillo@redhat.com> 7554 7555 * testsuite/libgomp.dg/shared-1.c: New test. 7556 * testsuite/libgomp.dg/shared-2.c: New test. 7557 75582005-09-24 Richard Henderson <rth@redhat.com> 7559 7560 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error. 7561 75622005-09-24 Richard Henderson <rth@redhat.com> 7563 7564 * iter.c (gomp_iter_static_next): Round up when computing number 7565 of iterations. Don't bother distributing a remainder equally. 7566 7567 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main. 7568 Don't call srand. Zero b before testing. 7569 (main): New. 7570 75712005-09-24 Jakub Jelinek <jakub@redhat.com> 7572 7573 * testsuite/libgomp.fortran/omp_atomic1.f90: New test. 7574 * testsuite/libgomp.fortran/omp_atomic2.f90: New test. 7575 75762005-09-23 Jakub Jelinek <jakub@redhat.com> 7577 7578 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do 7579 without !$omp end do, followed immediately by subroutine end. 7580 75812005-09-23 Diego Novillo <dnovillo@redhat.com> 7582 7583 * testsuite/libgomp.dg/omp-parallel-if.c: New test. 7584 75852005-09-22 Richard Henderson <rth@redhat.com> 7586 7587 * critical.c (GOMP_critical_name_start): Change argument to void**. 7588 Reuse the pointer space if the mutex fits. 7589 (GOMP_critical_name_end): Likewise. 7590 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0. 7591 * libgomp_g.h (GOMP_critical_name_start): Update decl. 7592 (GOMP_critical_name_end): Likewise. 7593 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New. 7594 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New. 7595 75962005-09-20 Richard Henderson <rth@redhat.com> 7597 7598 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New. 7599 (create_lock_lock): New. 7600 (initialize_critical): Initialize it. 7601 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New. 7602 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare. 7603 76042005-09-20 Diego Novillo <dnovillo@redhat.com> 7605 7606 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h. 7607 76082005-09-20 Diego Novillo <dnovillo@redhat.com> 7609 7610 * testsuite/libgomp.dg/omp-loop01.c: New test. 7611 * testsuite/libgomp.dg/omp-loop02.c: New test. 7612 76132005-09-20 Jakub Jelinek <jakub@redhat.com> 7614 7615 * configure.ac (AC_PROG_FC): Add. 7616 (USE_FORTRAN): New automake conditional. 7617 * configure: Rebuilt. 7618 * Makefile.am (libgomp_la_SOURCES): Add fortran.c. 7619 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h. 7620 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod. 7621 Add rules to build them. 7622 * Makefile.in: Rebuilt. 7623 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and 7624 OMP_NEST_LOCK_KIND. 7625 * libgomp.map: Add Fortran wrappers. 7626 * libgomp_f.h.in: New file. 7627 * omp_lib.h.in: New file. 7628 * omp_lib.f90.in: New file. 7629 * fortran.c: New file. 7630 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files. 7631 Append libgfortran directory to LD_LIBRARY_PATH if it exists. 7632 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if 7633 libgfortran has been built. 7634 * testsuite/libgomp.fortran/fortran.exp: New file. 7635 * testsuite/libgomp.fortran/omp_cond1.f: New test. 7636 * testsuite/libgomp.fortran/omp_cond2.f: New test. 7637 * testsuite/libgomp.fortran/omp_cond3.F90: New test. 7638 * testsuite/libgomp.fortran/omp_cond4.F90: New test. 7639 * testsuite/libgomp.fortran/omp_hello.f: New test. 7640 * testsuite/libgomp.fortran/omp_orphan.f: New test. 7641 * testsuite/libgomp.fortran/omp_parse1.f90: New test. 7642 * testsuite/libgomp.fortran/omp_parse2.f90: New test. 7643 * testsuite/libgomp.fortran/omp_parse3.f90: New test. 7644 * testsuite/libgomp.fortran/omp_parse4.f90: New test. 7645 * testsuite/libgomp.fortran/omp_reduction.f: New test. 7646 * testsuite/libgomp.fortran/omp_workshare1.f: New test. 7647 * testsuite/libgomp.fortran/omp_workshare2.f: New test. 7648 76492005-08-30 Richard Henderson <rth@redhat.com> 7650 7651 * loop.c (GOMP_loop_static_start): Provide fallback wrapper 7652 function for when aliases are not usable. 7653 (GOMP_loop_dynamic_start, GOMP_loop_guided_start, 7654 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start, 7655 GOMP_loop_ordered_guided_start, GOMP_loop_static_next, 7656 GOMP_loop_dynamic_next, GOMP_loop_guided_next, 7657 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next, 7658 GOMP_loop_ordered_guided_next): Likewise. 7659 * ordered.c (GOMP_ordered_start): Likewise. 7660 76612005-08-01 Diego Novillo <dnovillo@redhat.com> 7662 7663 * testsuite/libgomp.dg/dg.exp: Use -O2 for now. 7664 * testsuite/libgomp.dg/omp_hello.c: Fix return code 7665 * testsuite/libgomp.dg/omp_matvec.c: Likewise. 7666 * testsuite/libgomp.dg/omp_orphan.c: Likewise 7667 * testsuite/libgomp.dg/omp_reduction.c: Likewise 7668 * testsuite/libgomp.dg/omp_workshare1.c: Likewise 7669 * testsuite/libgomp.dg/omp_workshare2.c: Likewise 7670 * testsuite/libgomp.dg/omp_workshare3.c: Likewise 7671 * testsuite/libgomp.dg/omp_workshare4.c: Likewise 7672 76732005-07-07 Eric Christopher <echristo@redhat.com> 7674 Diego Novillo <dnovillo@redhat.com> 7675 7676 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS. 7677 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix 7678 up code. 7679 * testsuite/libgomp.dg/omp_matvec.c: Ditto. 7680 * testsuite/libgomp.dg/omp_orphan.c: Ditto. 7681 * testsuite/libgomp.dg/omp_reduction.c: Ditto. 7682 * testsuite/libgomp.dg/omp_workshare1.c: Ditto. 7683 * testsuite/libgomp.dg/omp_workshare2.c: Ditto. 7684 * testsuite/libgomp.dg/omp_workshare3.c: Ditto. 7685 * testsuite/libgomp.dg/omp_workshare4.c: Ditto. 7686 76872005-06-13 Diego Novillo <dnovillo@redhat.com> 7688 7689 * TOPLEVEL.patch: Remove. 7690 76912005-05-16 Richard Henderson <rth@redhat.com> 7692 7693 * configure.ac: Test for clock_gettime. 7694 * config.h.in, configure: Rebuild. 7695 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern. 7696 (omp_get_wtime): Use clock_gettime if available. 7697 (omp_get_wtick): Use clock_getres if available. 7698 76992005-05-11 Richard Henderson <rth@redhat.com> 7700 7701 * config/linux/ia64/futex.h: New file. 7702 * configure.tgt: Use it. 7703 7704 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline. 7705 77062005-05-07 Richard Henderson <rth@redhat.com> 7707 7708 * config/linux/powerpc/futex.h: New file. 7709 * configure.tgt: Use it. 7710 7711 * config/linux/i486/futex.h: Merge ... 7712 * config/linux/x86_64/futex.h: ... into ... 7713 * config/linux/x86/futex.h: ... here. 7714 * configure.tgt: Update to match. 7715 77162005-05-06 Richard Henderson <rth@redhat.com> 7717 7718 * config/linux/alpha/futex.h: Conditionally define SYS_futex. 7719 * config/linux/i486/futex.h: Likewise. 7720 * config/linux/x86_64/futex.h: Likewise. 7721 7722 * config/linux/lock.c: New file. 7723 * config/linux/omp-lock.h: New file. 7724 7725 * critical.c, env.h: Don't include omp.h 7726 * config/posix/lock.c: Include libgomp.h instead of omp.h. 7727 * config/posix/time.c: Likewise. 7728 * config/posix/omp-lock.h: New file. 7729 * libgomp.h: Include omp-lock.h and omp.h. 7730 * Makefile.am (nodist_include_HEADERS): New. 7731 (omp.h): New rule. 7732 * configure.ac (PERL): New. 7733 * mkomp_h.pl: New file. 7734 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t 7735 with templates. 7736 * Makefile.in, configure, testsuite/Makefile.in: Rebuild. 7737 7738 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into 7739 build directory. Re-add -march=i486 hack. 7740 7741 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove. 7742 (libgomp_link_flags): Remove. 7743 (libgomp_initialized): Remove. 7744 (libgomp_init): Don't protect from reinitialization. Copy code 7745 from libstdc++ for getting the multilib set correctly. 7746 77472005-05-05 Richard Henderson <rth@redhat.com> 7748 7749 * config/linux/alpha/futex.h: New file. 7750 * configure.tgt (alpha*-*-linux*): Use it. 7751 7752 * config/posix/mutex.c: New file. 7753 * config/posix/sem.c: Use libgomp.h. 7754 7755 * configure.tgt (x86_64-linux): Also test CC for -m32. 7756 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage. 7757 7758 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add / 7759 after $gccpath. 7760 7761 * Makefile.am (SUBDIRS): New. 7762 (libgomp_la_LDFLAGS): Add -lpthread. 7763 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies. 7764 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild. 7765 7766 * libgomp_g.h: New file. 7767 * libgomp.h: Split out all public declarations to libgomp_g.h. 7768 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN. 7769 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN. 7770 * config/linux/sem.h: Likewise. 7771 * config/posix/sem.h: Likewise. 7772 7773 * Makefile.am (AM_LDFLAGS): New. 7774 (libgomp_version_script): Split out from ... 7775 (libgomp_la_LDFLAGS): ... here. 7776 (libgomp_version_info): New. 7777 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE. 7778 (LIBGOMP_ENABLE): New. 7779 (LIBGOMP_CHECK_LINKER_FEATURES): New. 7780 (LIBGOMP_ENABLE_SYMVERS): New. 7781 * configure.ac (AC_INIT): Version 1.0. 7782 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE. 7783 (enable-linux-futex): Likewise. Rename from enable-futex. 7784 (libtool_VERSION): New. 7785 (LIBGOMP_ENABLE_SYMVERS): Use it. 7786 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations. 7787 * Makefile.in, aclocal.m4, configure: Rebuild. 7788 7789 * config/linux/mutex.c: Include libgomp.h instead of mutex.h. 7790 (gomp_mutex_unlock_slow): Fix typo. 7791 * config/linux/sem.c: Similarly. 7792 (gomp_sem_post_slow): Fix typo. 7793 * config/linux/sem.h (gomp_sem_post_slow): Fix typo. 7794 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code. 7795 [__PIC__] (sys_futex0): Don't use tmp output in asm. 7796 7797 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS. 7798 (libgomp_la_LDFLAGS): Add top_srcdir to path. 7799 * acinclude.m4: Copy libtool.m4 stuff from libgfortran. 7800 * configure.ac: Check for getloadavg. Substitute XCFLAGS and 7801 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS. 7802 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and 7803 LDFLAGS. Pull enable_futex check to top-level. 7804 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN. 7805 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate. 7806 7807 First attempt at real configury. 7808 * Makefile, config.h: Remove file. 7809 * Makefile.am, Makefile.in: New file. 7810 * acinclude.m4 aclocal.m4: New file. 7811 * configure.ac, configure.tgt, configure: New file. 7812 7813 * config/posix/lock.c: Rename from sys-lock.c. 7814 * config/posix/mutex.h: Rename from sys-mutex.h. 7815 * config/posix/sem.c: Rename from sys-sem.c. 7816 * config/posix/sem.h: Rename from sys-sem.h. 7817 * config/posix/proc.c: Rename from sys-proc.c. 7818 * config/posix/time.c: Rename from sys-proc.c. 7819 7820 * config/linux/mutex.c: New file. 7821 * config/linux/mutex.h: New file. 7822 * config/linux/sem.c: New file. 7823 * config/linux/sem.h: New file. 7824 * config/linux/i486/futex.h: New file. 7825 * config/linux/x86_64/futex.h: New file. 7826 78272005-05-04 Richard Henderson <rth@redhat.com> 7828 7829 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New. 7830 * libgomp.h: Declare them. 7831 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start, 7832 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them. 7833 78342005-05-04 Richard Henderson <rth@redhat.com> 7835 7836 * libgomp-1 code drop 7837 78382005-05-04 Richard Henderson <rth@redhat.com> 7839 7840 * iter.c (gomp_iter_static_next): Return tri-state on 0. 7841 * ordered.c (gomp_ordered_static_next): Remove not_last argument. 7842 * libgomp.h (struct gomp_team_state): Make static_trip unsigned. 7843 (gomp_iter_static_next): Update. 7844 (gomp_ordered_static_next): Update. 7845 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next. 7846 (gomp_loop_ordered_static_start): Likewise. Exit early for a 7847 totally empty range. 7848 (gomp_loop_ordered_static_next): Refine test for calling 7849 gomp_ordered_static_next. 7850 * testsuite/ordered-1.c: Add case for more threads than iterations. 7851 7852 * iter.c (gomp_iter_runtime_next_locked): Remove. 7853 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start, 7854 gomp_loop_guided_start, gomp_loop_ordered_static_start, 7855 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start, 7856 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next, 7857 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next, 7858 gomp_loop_ordered_guided_next): Downcase name, make static, add 7859 an external alias with the old name. 7860 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start, 7861 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a 7862 switch and call one of the above static functions. 7863 * libgomp.h: Update. 7864 7865 * work.c (gomp_work_share_start): Lock the mutex for !first too. 7866 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start, 7867 GOMP_loop_guided_start, GOMP_loop_runtime_start, 7868 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start, 7869 GOMP_loop_ordered_guided_start): Update to match. 7870 * sections.c (GOMP_sections_start): Likewise. 7871 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise. 7872 7873 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next, 7874 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//. 7875 Use bounds check instead of modulus. 7876 (gomp_ordered_sync): Split out of GOMP_ordered_start. 7877 (gomp_ordered_last): Don't sync with ordered_owner here. 7878 (gomp_ordered_next): Likewise. 7879 (gomp_ordered_static_loop_next): Likewise. 7880 * loop.c, libgomp.h: Update to match. 7881 7882 * libgomp.h (GOMP_barrier): Declare. 7883 7884 * testsuite/barrier-1.c: New file. 7885 * testsuite/critical-1.c: New file. 7886 * testsuite/ordered-2.c: New file. 7887 * testsuite/ordered-1.c: New file. 7888 * testsuite/sections-1.c: New file. 7889 * testsuite/single-1.c: New file. 7890 * testsuite/Makefile (TESTS): Add them. 7891 78922005-05-04 Richard Henderson <rth@redhat.com> 7893 7894 * libgomp.h (struct gomp_work_share): Add ordered_owner. 7895 * loop.c (GOMP_loop_static_start): If not the startup thread, 7896 acquire the mutex to wait for initialization complete. 7897 (GOMP_loop_ordered_static_start): Likewise. 7898 (GOMP_loop_ordered_runtime_start): Likewise. 7899 (GOMP_loop_ordered_static_first): Remove. 7900 (GOMP_loop_ordered_dynamic_first): Remove. 7901 (GOMP_loop_ordered_guided_first): Remove. 7902 (GOMP_loop_ordered_runtime_first): Remove. 7903 * ordered.c (gomp_ordered_loop_first): Post to own release when 7904 we're the first thread. 7905 (gomp_ordered_loop_last): Wait on release if not owner. 7906 (gomp_ordered_loop_next): Likewise. 7907 (gomp_ordered_static_loop_init): New. 7908 (gomp_ordered_static_loop_next): Use ordered_owner. 7909 (GOMP_ordered_start): Likewise. 7910 * work.c (gomp_new_work_share): Initialize ordered_owner. 7911 79122005-05-03 Richard Henderson <rth@redhat.com> 7913 7914 * Makefile (OPT): New. 7915 (CFLAGS): Use it. 7916 7917 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New. 7918 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New. 7919 * libgomp.h, libgomp.map, NOTES: Update to match. 7920 7921 * team.c (struct gomp_thread_start_data): Remove ts, fn, data. 7922 Add initialized and thr members. 7923 (gomp_thread_start): Pause when initially spawned to wait for 7924 the whole team to be created. 7925 (gomp_team_start): Release team members at the end. 7926 7927 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100. 7928 (f_foo_1): Use GOMP_loop_end. 7929 (f_foo_2): Use GOMP_loop_end_nowait. 7930 7931 * testsuite/loop-2.c: New file. 7932 * testsuite/Makefile (TESTS): Add it. 7933 79342005-05-03 Richard Henderson <rth@redhat.com> 7935 7936 * iter.c (gomp_iter_static_next): Fix overflow check typo. 7937 (gomp_iter_dynamic_next_locked): Fix overflow check thinko. 7938 * team.c (new_team): Initialize oldest_live_gen to 1 if no 7939 initial work_share. 7940 7941 * testsuite/Makefile: New file. 7942 * testsuite/loop-1.c: New file. 7943 79442005-05-03 Richard Henderson <rth@redhat.com> 7945 7946 Initial implementation and checkin. 7947 7948Copyright (C) 2005-2016 Free Software Foundation, Inc. 7949 7950Copying and distribution of this file, with or without modification, 7951are permitted in any medium without royalty provided the copyright 7952notice and this notice are preserved. 7953