12021-12-04 Tobias Burnus <tobias@codesourcery.com> 2 3 * libgomp.texi (OpenMP 5.1): Update status. 4 52021-12-04 Tobias Burnus <tobias@codesourcery.com> 6 7 * libgomp.texi (OMP_PLACES): Extend description for OMP 5.1 changes. 8 92021-12-02 Chung-Lin Tang <cltang@codesourcery.com> 10 11 PR fortran/90030 12 * testsuite/libgomp.oacc-fortran/pr90030.f90: New test. 13 * testsuite/libgomp.fortran/pr90030.f90: New test. 14 152021-11-30 Kwok Cheung Yeung <kcy@codesourcery.com> 16 Thomas Schwinge <thomas@codesourcery.com> 17 18 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Remove 19 temporary skip. 20 212021-11-30 Cesar Philippidis <cesar@codesourcery.com> 22 Thomas Schwinge <thomas@codesourcery.com> 23 24 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Temporarily 25 skip. 26 272021-11-29 Richard Biener <rguenther@suse.de> 28 29 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): Remove unreachable 30 return. 31 322021-11-24 Jakub Jelinek <jakub@redhat.com> 33 34 PR middle-end/103384 35 * testsuite/libgomp.c/declare-variant-2.c: New test. 36 372021-11-18 David Edelsohn <dje.gcc@gmail.com> 38 39 * alloc.c (gomp_aligned_alloc): Fix typo. 40 412021-11-18 Jakub Jelinek <jakub@redhat.com> 42 43 PR libgomp/102838 44 * libgomp.h (GOMP_USE_ALIGNED_WORK_SHARES): Define if 45 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined and __AMDGCN__ is not. 46 (struct gomp_work_share): Use GOMP_USE_ALIGNED_WORK_SHARES instead of 47 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC. 48 * work.c (alloc_work_share, gomp_work_share_start): Likewise. 49 * team.c (gomp_new_team): If GOMP_USE_ALIGNED_WORK_SHARES, use 50 gomp_aligned_alloc instead of team_malloc. 51 522021-11-18 Jakub Jelinek <jakub@redhat.com> 53 54 PR libgomp/102838 55 * alloc.c (gomp_aligned_alloc): Prefer _aligned_alloc over 56 memalign over posix_memalign over aligned_alloc over fallback 57 with malloc instead of aligned_alloc over _aligned_alloc over 58 posix_memalign over memalign over fallback with malloc. For 59 aligned_alloc, round up size up to multiple of al. 60 612021-11-16 Jakub Jelinek <jakub@redhat.com> 62 63 * libgomp.texi (OpenMP 5.1): Mark thread_limit clause to target 64 construct as implemented. 65 662021-11-15 Tobias Burnus <tobias@codesourcery.com> 67 68 * testsuite/libgomp.fortran/thread-limit-1.f90: New test. 69 702021-11-15 Jakub Jelinek <jakub@redhat.com> 71 72 * task.c (gomp_create_target_task): Copy args array as well. 73 * target.c (gomp_target_fallback): Add args argument. 74 Set gomp_icv (true)->thread_limit_var if thread_limit is present. 75 (GOMP_target): Adjust gomp_target_fallback caller. 76 (GOMP_target_ext): Likewise. 77 (gomp_target_task_fn): Likewise. 78 * config/nvptx/team.c (gomp_nvptx_main): Set 79 gomp_global_icv.thread_limit_var. 80 * testsuite/libgomp.c-c++-common/thread-limit-1.c: New test. 81 822021-11-15 Jakub Jelinek <jakub@redhat.com> 83 84 * config/nvptx/team.c (__gomp_team_num): Define as 85 __attribute__((shared)) var. 86 (gomp_nvptx_main): Initialize __gomp_team_num to 0. 87 * config/nvptx/target.c (__gomp_team_num): Declare as 88 extern __attribute__((shared)) var. 89 (GOMP_teams4): Use __gomp_team_num as the team number instead of 90 %ctaid.x. If first, initialize it to %ctaid.x. If num_teams_lower 91 is bigger than num_blocks, use num_teams_lower teams and arrange for 92 bumping of __gomp_team_num if !first and returning false once we run 93 out of teams. 94 * config/nvptx/teams.c (__gomp_team_num): Declare as 95 extern __attribute__((shared)) var. 96 (omp_get_team_num): Return __gomp_team_num value instead of %ctaid.x. 97 982021-11-15 Jakub Jelinek <jakub@redhat.com> 99 100 * testsuite/libgomp.c/teams-5.c: New test. 101 1022021-11-12 Jakub Jelinek <jakub@redhat.com> 103 104 PR target/103201 105 * config/gcn/icv-device.c (omp_get_num_teams, omp_get_team_num): Move 106 to ... 107 * config/gcn/teams.c: ... here. New file. 108 1092021-11-12 Chung-Lin Tang <cltang@codesourcery.com> 110 111 * target.c (gomp_map_vars_existing): Add 'bool implicit' parameter, add 112 implicit map handling to allow a "superset" existing map as valid case. 113 (get_kind): Adjust to filter out GOMP_MAP_IMPLICIT bits in return value. 114 (get_implicit): New function to extract implicit status. 115 (gomp_map_fields_existing): Adjust arguments in calls to 116 gomp_map_vars_existing, and add uses of get_implicit. 117 (gomp_map_vars_internal): Likewise. 118 * testsuite/libgomp.c-c++-common/target-implicit-map-1.c: New test. 119 1202021-11-12 Jakub Jelinek <jakub@redhat.com> 121 122 * libgomp_g.h (GOMP_teams4): Declare. 123 * libgomp.map (GOMP_5.1): Export GOMP_teams4. 124 * target.c (GOMP_teams4): New function. 125 * config/nvptx/target.c (GOMP_teams): Remove. 126 (GOMP_teams4): New function. 127 * config/gcn/target.c (GOMP_teams): Remove. 128 (GOMP_teams4): New function. 129 * testsuite/libgomp.c/teams-4.c (main): Expect exactly 2 130 teams instead of <= 2. 131 * testsuite/libgomp.c-c++-common/teams-2.c: New test. 132 1332021-11-11 Tobias Burnus <tobias@codesourcery.com> 134 135 * testsuite/libgomp.fortran/teams-1.f90: New test. 136 1372021-11-11 Jakub Jelinek <jakub@redhat.com> 138 139 * libgomp.h (struct gomp_thread): Add num_teams and team_num members. 140 * team.c (struct gomp_thread_start_data): Likewise. 141 (gomp_thread_start): Initialize thr->num_teams and thr->team_num. 142 (gomp_team_start): Initialize start_data->num_teams and 143 start_data->team_num. Update nthr->num_teams and nthr->team_num. 144 * teams.c (gomp_num_teams, gomp_team_num): Remove. 145 (GOMP_teams_reg): Set and restore thr->num_teams and thr->team_num 146 instead of gomp_num_teams and gomp_team_num. 147 (omp_get_num_teams): Use thr->num_teams + 1 instead of gomp_num_teams. 148 (omp_get_team_num): Use thr->team_num instead of gomp_team_num. 149 * testsuite/libgomp.c/teams-4.c: New test. 150 1512021-11-11 Jakub Jelinek <jakub@redhat.com> 152 153 * testsuite/libgomp.c-c++-common/teams-1.c: New test. 154 1552021-11-09 Thomas Schwinge <thomas@codesourcery.com> 156 157 * env.c (parse_gomp_openacc_dim): Restore parsing. 158 1592021-10-30 Tobias Burnus <tobias@codesourcery.com> 160 161 PR middle-end/102972 162 * testsuite/libgomp.c-c++-common/icv-3.c: Nest API calls inside 163 parallel construct. 164 * testsuite/libgomp.c-c++-common/icv-4.c: Likewise. 165 * testsuite/libgomp.c/target-3.c: Likewise. 166 * testsuite/libgomp.c/target-5.c: Likewise. 167 * testsuite/libgomp.c/target-6.c: Likewise. 168 * testsuite/libgomp.c/target-teams-1.c: Likewise. 169 * testsuite/libgomp.c/teams-1.c: Likewise. 170 * testsuite/libgomp.c/thread-limit-2.c: Likewise. 171 * testsuite/libgomp.c/thread-limit-3.c: Likewise. 172 * testsuite/libgomp.c/thread-limit-4.c: Likewise. 173 * testsuite/libgomp.c/thread-limit-5.c: Likewise. 174 * testsuite/libgomp.fortran/icv-3.f90: Likewise. 175 * testsuite/libgomp.fortran/icv-4.f90: Likewise. 176 * testsuite/libgomp.fortran/teams1.f90: Likewise. 177 1782021-10-29 Aldy Hernandez <aldyh@redhat.com> 179 180 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for threading changes. 181 * testsuite/libgomp.graphite/force-parallel-8.c: Same. 182 1832021-10-27 Jakub Jelinek <jakub@redhat.com> 184 185 * libgomp.texi (OpenMP 5.0): Mention that Non-rectangular loop nests 186 aren't implemented for Fortran yet. 187 1882021-10-27 Jakub Jelinek <jakub@redhat.com> 189 190 * testsuite/libgomp.c/loop-26.c: New test. 191 * testsuite/libgomp.c/loop-27.c: New test. 192 1932021-10-25 Tobias Burnus <tobias@codesourcery.com> 194 195 PR testsuite/102910 196 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Use __builtin_alloca 197 instead of #include <alloca.h> + alloca. 198 1992021-10-21 Chung-Lin Tang <cltang@codesourcery.com> 200 201 * libgomp.texi (Support of strictly structured blocks in Fortran): 202 Adjust to 'Y'. 203 * testsuite/libgomp.fortran/task-reduction-16.f90: Adjust testcase. 204 2052021-10-20 Chung-Lin Tang <cltang@codesourcery.com> 206 207 * testsuite/libgomp.fortran/target-in-reduction-1.f90: New test. 208 * testsuite/libgomp.fortran/target-in-reduction-2.f90: New test. 209 2102021-10-20 Jakub Jelinek <jakub@redhat.com> 211 212 PR libgomp/102838 213 * libgomp.h (struct gomp_work_share_1st_cacheline): New type. 214 (struct gomp_work_share): Only use aligned(64) attribute if 215 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined, otherwise just 216 add padding before lock to ensure lock is at offset 64 bytes 217 into the structure. 218 (gomp_workshare_struct_check1, gomp_workshare_struct_check2): 219 New poor man's static assertions. 220 * work.c (gomp_work_share_start): Use gomp_aligned_alloc instead of 221 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC. 222 2232021-10-20 Aldy Hernandez <aldyh@redhat.com> 224 Richard Biener <rguenther@suse.de> 225 226 * testsuite/libgomp.graphite/force-parallel-5.c: Remove xfail. 227 2282021-10-18 Jakub Jelinek <jakub@redhat.com> 229 230 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Add 231 && gomp_places_list_len < count after nfirst <= nlast loop condition. 232 2332021-10-18 Tobias Burnus <tobias@codesourcery.com> 234 235 PR fortran/102086 236 PR fortran/92189 237 PR fortran/92621 238 PR fortran/101308 239 PR fortran/101309 240 PR fortran/101635 241 PR fortran/92482 242 * testsuite/libgomp.fortran/optional-bind-c.f90: New test. 243 2442021-10-15 Jakub Jelinek <jakub@redhat.com> 245 246 * testsuite/libgomp.c/affinity-1.c (struct places): Change name field 247 type from char [50] to const char *. 248 (places_array): Add a testcase for simplified syntax place followed 249 by length or length and stride. 250 2512021-10-15 Jakub Jelinek <jakub@redhat.com> 252 253 * env.c (parse_one_place): Handle non-negative-number the same 254 as { non-negative-number }. Reject even !number:1 and 255 !number:1:stride or !place:1 or !place:1:stride instead of just 256 length other than 1. 257 * libgomp.texi (OpenMP 5.1): Document OMP_PLACES syntax extensions 258 and OMP_NUM_TEAMS/OMP_TEAMS_THREAD_LIMIT and 259 omp_{set_num,get_max}_teams/omp_{s,g}et_teams_thread_limit features 260 as implemented. 261 * testsuite/libgomp.c/affinity-1.c: Add a test for the 5.1 place 262 simplified syntax. 263 2642021-10-15 Jakub Jelinek <jakub@redhat.com> 265 266 * env.c (parse_schedule): For strtoul or strtoull calls which don't 267 clearly reject return value 0 as invalid handle the case where end 268 pointer is the same as first argument as invalid. 269 (parse_unsigned_long_1): Likewise. 270 (parse_one_place): Likewise. 271 (parse_places_var): Likewise. 272 (parse_stacksize): Likewise. 273 (parse_spincount): Likewise. 274 (parse_affinity): Likewise. 275 (parse_gomp_openacc_dim): Likewise. Avoid strict aliasing violation. 276 Make code valid C89. 277 * config/linux/affinity.c (gomp_affinity_find_last_cache_level): 278 For strtoul calls which don't clearly reject return value 0 as 279 invalid handle the case where end pointer is the same as first 280 argument as invalid. 281 (gomp_affinity_init_level_1): Likewise. 282 (gomp_affinity_init_numa_domains): Likewise. 283 * config/rtems/proc.c (parse_thread_pools): Likewise. 284 2852021-10-15 Jakub Jelinek <jakub@redhat.com> 286 287 * config/linux/affinity.c (gomp_affinity_init_level_1): For level 1 288 after creating count places clean up and return immediately. 289 * testsuite/libgomp.c/places-6.c: New test. 290 * testsuite/libgomp.c/places-7.c: New test. 291 * testsuite/libgomp.c/places-8.c: New test. 292 * testsuite/libgomp.c/places-9.c: New test. 293 * testsuite/libgomp.c/places-10.c: New test. 294 2952021-10-15 Jakub Jelinek <jakub@redhat.com> 296 297 * env.c (parse_places_var): Handle numa_domains as level 5. 298 * config/linux/affinity.c (gomp_affinity_init_numa_domains): New 299 function. 300 (gomp_affinity_init_level): Use it instead of 301 gomp_affinity_init_level_1 for level == 5. 302 * testsuite/libgomp.c/places-5.c: New test. 303 3042021-10-15 Jakub Jelinek <jakub@redhat.com> 305 306 * env.c (parse_places_var): Handle ll_caches as level 4. 307 * config/linux/affinity.c (gomp_affinity_find_last_cache_level): New 308 function. 309 (gomp_affinity_init_level_1): Handle level 4 as logical cpus sharing 310 last level cache. 311 (gomp_affinity_init_level): Likewise. 312 * testsuite/libgomp.c/places-1.c: New test. 313 * testsuite/libgomp.c/places-2.c: New test. 314 * testsuite/libgomp.c/places-3.c: New test. 315 * testsuite/libgomp.c/places-4.c: New test. 316 3172021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com> 318 319 * libgomp.texi (OpenMP 5.0): Update entry for declare variant 320 directive. 321 3222021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com> 323 324 * testsuite/libgomp.fortran/declare-variant-1.f90: New test. 325 3262021-10-12 Julian Brown <julian@codesourcery.com> 327 328 * target.c (gomp_copy_host2dev): Release device lock on cbuf 329 error path. 330 3312021-10-12 Tobias Burnus <tobias@codesourcery.com> 332 333 * testsuite/libgomp.fortran/icv-3.f90: New. 334 * testsuite/libgomp.fortran/icv-4.f90: New. 335 3362021-10-12 Jakub Jelinek <jakub@redhat.com> 337 338 * libgomp.texi (omp_get_max_teams, omp_get_teams_thread_limit, 339 omp_set_num_teams, omp_set_teams_thread_limit, OMP_NUM_TEAMS, 340 OMP_TEAMS_THREAD_LIMIT): Document. 341 3422021-10-12 Jakub Jelinek <jakub@redhat.com> 343 344 * libgomp.texi (omp_get_device_num): Move @node before omp_get_dynamic 345 to avoid makeinfo warnings. 346 3472021-10-12 Jakub Jelinek <jakub@redhat.com> 348 349 * testsuite/libgomp.c-c++-common/icv-3.c: New test. 350 * testsuite/libgomp.c-c++-common/icv-4.c: New test. 351 3522021-10-12 Jakub Jelinek <jakub@redhat.com> 353 354 PR libgomp/102628 355 PR libgomp/102668 356 * testsuite/libgomp.c-c++-common/alloc-9.c (main): Decrease 357 allocation sizes from 420 to 320 and from 768 to 568. 358 * testsuite/libgomp.fortran/alloc-11.f90: Likewise. 359 * testsuite/libgomp.fortran/alloc-1.F90: Change expected alignment 360 for cr from 16 to 4. 361 3622021-10-12 Jakub Jelinek <jakub@redhat.com> 363 364 * testsuite/libgomp.c/scan-11.c: Remove option -fvect-cost-model=cheap. 365 * testsuite/libgomp.c/scan-12.c: Likewise. 366 * testsuite/libgomp.c/scan-13.c: Likewise. 367 * testsuite/libgomp.c/scan-14.c: Likewise. 368 * testsuite/libgomp.c/scan-15.c: Likewise. 369 * testsuite/libgomp.c/scan-16.c: Likewise. 370 * testsuite/libgomp.c/scan-17.c: Likewise. 371 * testsuite/libgomp.c/scan-18.c: Likewise. 372 * testsuite/libgomp.c/scan-19.c: Likewise. 373 * testsuite/libgomp.c/scan-20.c: Likewise. 374 * testsuite/libgomp.c/scan-21.c: Likewise. 375 * testsuite/libgomp.c/scan-22.c: Likewise. 376 * testsuite/libgomp.c++/scan-9.C: Likewise. 377 * testsuite/libgomp.c++/scan-10.C: Likewise. 378 * testsuite/libgomp.c++/scan-11.C: Likewise. 379 * testsuite/libgomp.c++/scan-12.C: Likewise. 380 * testsuite/libgomp.c++/scan-13.C: Likewise. 381 * testsuite/libgomp.c++/scan-14.C: Likewise. 382 * testsuite/libgomp.c++/scan-15.C: Likewise. 383 * testsuite/libgomp.c++/scan-16.C: Likewise. 384 3852021-10-12 Kewen Lin <linkw@linux.ibm.com> 386 387 * testsuite/libgomp.graphite/force-parallel-8.c: Add --param max-stores-to-sink=0. 388 3892021-10-11 Marcel Vollweiler <marcel@codesourcery.com> 390 391 * allocator.c (omp_init_allocator): Replace omp_atv_sequential with 392 omp_atv_serialized. 393 * omp.h.in: Add deprecated flag for omp_atv_sequential. 394 * omp_lib.f90.in: Add deprecated flag for omp_atv_sequential. 395 * testsuite/libgomp.c-c++-common/alloc-10.c: New test. 396 * testsuite/libgomp.fortran/alloc-12.f90: New test. 397 3982021-10-11 Jakub Jelinek <jakub@redhat.com> 399 400 * omp.h.in (omp_set_num_teams, omp_get_max_teams, 401 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare. 402 * omp_lib.f90.in (omp_set_num_teams, omp_get_max_teams, 403 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare. 404 * omp_lib.h.in (omp_set_num_teams, omp_get_max_teams, 405 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare. 406 * libgomp.h (gomp_nteams_var, gomp_teams_thread_limit_var): Declare. 407 * libgomp.map (OMP_5.1): Export omp_get_max_teams{,_}, 408 omp_get_teams_thread_limit{,_}, omp_set_num_teams{,_,_8_} and 409 omp_set_teams_thread_limit{,_,_8_}. 410 * icv.c (omp_set_num_teams, omp_get_max_teams, 411 omp_set_teams_thread_limit, omp_get_teams_thread_limit): New 412 functions. 413 * env.c (gomp_nteams_var, gomp_teams_thread_limit_var): Define. 414 (omp_display_env): Print OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT. 415 (initialize_env): Handle OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT env 416 vars. 417 * teams.c (GOMP_teams_reg): If thread_limit is not specified, use 418 gomp_teams_thread_limit_var as fallback if not zero. If num_teams 419 is not specified, use gomp_nteams_var. 420 * fortran.c (omp_set_num_teams, omp_get_max_teams, 421 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Add 422 ialias_redirect. 423 (omp_set_num_teams_, omp_set_num_teams_8_, omp_get_max_teams_, 424 omp_set_teams_thread_limit_, omp_set_teams_thread_limit_8_, 425 omp_get_teams_thread_limit_): New functions. 426 4272021-10-09 liuhongt <hongtao.liu@intel.com> 428 429 * testsuite/libgomp.c++/scan-10.C: Add option -fvect-cost-model=cheap. 430 * testsuite/libgomp.c++/scan-11.C: Ditto. 431 * testsuite/libgomp.c++/scan-12.C: Ditto. 432 * testsuite/libgomp.c++/scan-13.C: Ditto. 433 * testsuite/libgomp.c++/scan-14.C: Ditto. 434 * testsuite/libgomp.c++/scan-15.C: Ditto. 435 * testsuite/libgomp.c++/scan-16.C: Ditto. 436 * testsuite/libgomp.c++/scan-9.C: Ditto. 437 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: Ditto. 438 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: Ditto. 439 * testsuite/libgomp.c/scan-11.c: Ditto. 440 * testsuite/libgomp.c/scan-12.c: Ditto. 441 * testsuite/libgomp.c/scan-13.c: Ditto. 442 * testsuite/libgomp.c/scan-14.c: Ditto. 443 * testsuite/libgomp.c/scan-15.c: Ditto. 444 * testsuite/libgomp.c/scan-16.c: Ditto. 445 * testsuite/libgomp.c/scan-17.c: Ditto. 446 * testsuite/libgomp.c/scan-18.c: Ditto. 447 * testsuite/libgomp.c/scan-19.c: Ditto. 448 * testsuite/libgomp.c/scan-20.c: Ditto. 449 * testsuite/libgomp.c/scan-21.c: Ditto. 450 * testsuite/libgomp.c/scan-22.c: Ditto. 451 4522021-10-09 Jakub Jelinek <jakub@redhat.com> 453 454 * libgomp.texi (OpenMP 5.1): Mention implemented support for 455 structured block sequences in C/C++. Mention support for 456 unconstrained/reproducible modifiers on order clause. 457 Mention partial (C/C++ only) support of extentensions to atomics 458 construct. Mention partial (C/C++ on clause only) support of 459 align/allocator modifiers on allocate clause. 460 4612021-10-02 Tobias Burnus <tobias@codesourcery.com> 462 463 * testsuite/libgomp.fortran/order-reproducible-1.f90: New test 464 based on libgomp.c-c++-common/order-reproducible-1.c. 465 * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise. 466 * testsuite/libgomp.fortran/my-usleep.c: New test. 467 4682021-10-01 Tobias Burnus <tobias@codesourcery.com> 469 470 * testsuite/libgomp.fortran/alloc-10.f90: Fix alignment check. 471 * testsuite/libgomp.fortran/alloc-7.f90: Fix array access. 472 * testsuite/libgomp.fortran/alloc-8.f90: Likewise. 473 * testsuite/libgomp.fortran/alloc-11.f90: New test for omp_realloc, 474 based on libgomp.c-c++-common/alloc-9.c. 475 4762021-10-01 Jakub Jelinek <jakub@redhat.com> 477 478 * testsuite/libgomp.c-c++-common/order-reproducible-1.c: New test. 479 * testsuite/libgomp.c-c++-common/order-reproducible-2.c: New test. 480 4812021-10-01 Jakub Jelinek <jakub@redhat.com> 482 483 * affinity-fmt.c (omp_get_team_num, omp_get_num_teams): Add 484 ialias_redirect. 485 * env.c (handle_omp_display_env): Use ialias_call. 486 * icv-device.c: Move ialias right below each function. 487 (omp_get_device_num): Use ialias_call. 488 * fortran.c (omp_fulfill_event): Add ialias_redirect. 489 * icv.c (omp_get_active_level): Add ialias_redirect. 490 4912021-10-01 Jakub Jelinek <jakub@redhat.com> 492 493 * omp.h.in (omp_aligned_alloc, omp_aligned_calloc): Add 494 __alloc_align__ (1) attribute. 495 * testsuite/libgomp.c-c++-common/alloc-9.c: New test. 496 4972021-09-30 Tobias Burnus <tobias@codesourcery.com> 498 499 * testsuite/libgomp.fortran/alloc-7.f90: Add dg-prune-output 500 for -fintrinsic-modules-path= warning of the C compiler. 501 * testsuite/libgomp.fortran/alloc-9.f90: Likewise. 502 * testsuite/libgomp.fortran/alloc-10.f90: Likewise. 503 5042021-09-30 Tobias Burnus <tobias@codesourcery.com> 505 506 * libgomp.texi (OpenMP 5.1): Set implementation status to Y for 507 omp_aligned_{,c}alloc and omp_{c,re}alloc routines. 508 * omp_lib.f90.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc, 509 omp_realloc): Add. 510 * omp_lib.h.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc, 511 omp_realloc): Add. 512 * testsuite/libgomp.fortran/alloc-10.f90: New test. 513 * testsuite/libgomp.fortran/alloc-6.f90: New test. 514 * testsuite/libgomp.fortran/alloc-7.c: New test. 515 * testsuite/libgomp.fortran/alloc-7.f90: New test. 516 * testsuite/libgomp.fortran/alloc-8.f90: New test. 517 * testsuite/libgomp.fortran/alloc-9.f90: New test. 518 5192021-09-30 Jakub Jelinek <jakub@redhat.com> 520 521 * omp.h.in (omp_aligned_alloc, omp_calloc, omp_aligned_calloc, 522 omp_realloc): New prototypes. 523 (omp_alloc): Move after omp_free prototype, add __malloc__ (omp_free) 524 attribute. 525 * allocator.c: Include string.h. 526 (omp_aligned_alloc): No longer static, add ialias. Add new_alignment 527 variable and use it instead of alignment so that when retrying the old 528 alignment is used again. Don't retry if new alignment is the same 529 as old alignment, unless allocator had pool size. 530 (omp_alloc, GOMP_alloc, GOMP_free): Use ialias_call. 531 (omp_aligned_calloc, omp_calloc, omp_realloc): New functions. 532 * libgomp.map (OMP_5.0.2): Export omp_aligned_alloc, omp_calloc, 533 omp_aligned_calloc and omp_realloc. 534 * testsuite/libgomp.c-c++-common/alloc-4.c (main): Add 535 omp_aligned_alloc, omp_calloc and omp_aligned_calloc tests. 536 * testsuite/libgomp.c-c++-common/alloc-5.c: New test. 537 * testsuite/libgomp.c-c++-common/alloc-6.c: New test. 538 * testsuite/libgomp.c-c++-common/alloc-7.c: New test. 539 * testsuite/libgomp.c-c++-common/alloc-8.c: New test. 540 5412021-09-28 Tobias Burnus <tobias@codesourcery.com> 542 543 PR libgomp/96661 544 * configure.ac: Only check for int-type = 2*size_t support when 545 building with Fortran support. 546 * configure: Regenerate. 547 5482021-09-28 Thomas Schwinge <thomas@codesourcery.com> 549 550 * testsuite/libgomp.oacc-fortran/if-1.f90: Adjust. 551 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise. 552 5532021-09-27 Aldy Hernandez <aldyh@redhat.com> 554 555 * team.c: Initialize start_data. 556 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust. 557 * testsuite/libgomp.graphite/force-parallel-8.c: Adjust. 558 5592021-09-27 Tobias Burnus <tobias@codesourcery.com> 560 561 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Change 562 dg-message back to dg-note. 563 5642021-09-27 Tobias Burnus <tobias@codesourcery.com> 565 566 PR fortran/94070 567 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Update 568 expected dg-note output. 569 5702021-09-22 Tobias Burnus <tobias@codesourcery.com> 571 572 PR fortran/55534 573 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Revert 574 r12-3722 by removing -Wno-missing-include-dirs. 575 * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS): Likewise. 576 5772021-09-22 Jakub Jelinek <jakub@redhat.com> 578 579 * testsuite/libgomp.c-c++-common/allocate-2.c: New test. 580 * testsuite/libgomp.c-c++-common/allocate-3.c: New test. 581 5822021-09-21 Tobias Burnus <tobias@codesourcery.com> 583 584 PR fortran/55534 585 * testsuite/libgomp.fortran/fortran.exp: Add -Wno-missing-include-dirs 586 to ALWAYS_CFLAGS. 587 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 588 5892021-09-18 Jakub Jelinek <jakub@redhat.com> 590 591 * testsuite/libgomp.c++/default-1.C: New test. 592 * testsuite/libgomp.c-c++-common/default-1.c: New test. 593 * libgomp.texi (OpenMP 5.1): Mark "private and firstprivate argument 594 to default clause in C and C++" as implemented. 595 5962021-09-17 Julian Brown <julian@codesourcery.com> 597 598 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Update. 599 6002021-09-17 Julian Brown <julian@codesourcery.com> 601 602 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: New test. 603 6042021-09-17 Jakub Jelinek <jakub@redhat.com> 605 606 * libgomp.texi (OpenMP 5.1): Spelling fix, 607 declare variante -> declare variant. 608 6092021-09-17 Jakub Jelinek <jakub@redhat.com> 610 611 * testsuite/libgomp.c-c++-common/atomic-19.c: Drop c effective target. 612 Use /* */ comments instead of //. 613 * testsuite/libgomp.c-c++-common/atomic-20.c: Likewise. 614 * testsuite/libgomp.c-c++-common/atomic-21.c: Likewise. 615 * testsuite/libgomp.c++/atomic-16.C: New test. 616 * testsuite/libgomp.c++/atomic-17.C: New test. 617 6182021-09-10 Jakub Jelinek <jakub@redhat.com> 619 620 * testsuite/libgomp.c-c++-common/atomic-19.c: New test. 621 * testsuite/libgomp.c-c++-common/atomic-20.c: New test. 622 * testsuite/libgomp.c-c++-common/atomic-21.c: New test. 623 6242021-09-07 Tobias Burnus <tobias@codesourcery.com> 625 626 * libgomp.texi (OpenMP Implementation Status): Extend 627 OpenMP 5.0 section. 628 (OpenACC Profiling Interface): Fix typo. 629 6302021-09-07 Tobias Burnus <tobias@codesourcery.com> 631 632 * libgomp.texi (Enabling OpenMP): Refer to OMP spec in general 633 not to 4.5; link to new section. 634 (OpenMP Implementation Status): New. 635 6362021-09-06 Thomas Schwinge <thomas@codesourcery.com> 637 638 * testsuite/libgomp.c/target-43.c: '-latomic' for nvptx offloading. 639 6402021-09-03 Tobias Burnus <tobias@codesourcery.com> 641 642 * testsuite/libgomp.c-c++-common/error-1.c: Use \r\n not \n\r in 643 dg-output. 644 * testsuite/libgomp.fortran/error-1.f90: Likewise. 645 6462021-08-23 Thomas Schwinge <thomas@codesourcery.com> 647 Jakub Jelinek <jakub@redhat.com> 648 649 * testsuite/libgomp.c/address-space-1.c: New file. 650 6512021-08-23 Thomas Schwinge <thomas@codesourcery.com> 652 653 * testsuite/lib/libgomp.exp 654 (check_effective_target_offload_target_intelmic): Remove 'proc'. 655 (check_effective_target_offload_device_intel_mic): New 'proc'. 656 * testsuite/libgomp.c-c++-common/on_device_arch.h 657 (device_arch_intel_mic, on_device_arch_intel_mic): New. 658 * testsuite/libgomp.c-c++-common/target-45.c: Use that for 659 'dg-xfail-run-if'. 660 * testsuite/libgomp.fortran/target10.f90: Likewise. 661 6622021-08-23 Tobias Burnus <tobias@codesourcery.com> 663 664 * testsuite/libgomp.fortran/taskloop-4-a.f90: New test. 665 * testsuite/libgomp.fortran/taskloop-4.f90: New test. 666 * testsuite/libgomp.fortran/taskloop-5-a.f90: New test. 667 * testsuite/libgomp.fortran/taskloop-5.f90: New test. 668 6692021-08-23 Jakub Jelinek <jakub@redhat.com> 670 671 * taskloop.c (GOMP_taskloop): Handle GOMP_TASK_FLAG_STRICT. 672 * testsuite/libgomp.c-c++-common/taskloop-4.c (main): Fix up comment. 673 * testsuite/libgomp.c-c++-common/taskloop-5.c: New test. 674 6752021-08-22 Thomas Schwinge <thomas@codesourcery.com> 676 677 * config/nvptx/error.c (fwrite, exit): Override, too. 678 * testsuite/libgomp.c-c++-common/error-1.c: Add a minimum amount 679 of offloading testing. 680 * testsuite/libgomp.fortran/error-1.f90: Likewise. 681 6822021-08-20 Tobias Burnus <tobias@codesourcery.com> 683 684 * testsuite/libgomp.fortran/error-1.f90: New test. 685 6862021-08-20 Jakub Jelinek <jakub@redhat.com> 687 688 * libgomp.map (GOMP_5.1): Add GOMP_error and GOMP_warning. 689 * libgomp_g.h (GOMP_warning, GOMP_error): Declare. 690 * error.c (GOMP_warning, GOMP_error): New functions. 691 * testsuite/libgomp.c-c++-common/error-1.c: New test. 692 6932021-08-18 Tobias Burnus <tobias@codesourcery.com> 694 695 * omp_lib.f90.in (omp_alloc, omp_free, omp_target_alloc, 696 omp_target_free. omp_target_is_present, omp_target_memcpy, 697 omp_target_memcpy_rect, omp_target_associate_ptr, 698 omp_target_disassociate_ptr): Add interface. 699 * omp_lib.h.in (omp_alloc, omp_free, omp_target_alloc, 700 omp_target_free. omp_target_is_present, omp_target_memcpy, 701 omp_target_memcpy_rect, omp_target_associate_ptr, 702 omp_target_disassociate_ptr): Add interface. 703 * testsuite/libgomp.fortran/alloc-1.F90: Remove local 704 interface block for omp_alloc + omp_free. 705 * testsuite/libgomp.fortran/alloc-4.f90: Likewise. 706 * testsuite/libgomp.fortran/refcount-1.f90: New test. 707 * testsuite/libgomp.fortran/target-12.f90: New test. 708 7092021-08-18 Jakub Jelinek <jakub@redhat.com> 710 711 * testsuite/libgomp.c-c++-common/nothing-1.c: New test. 712 7132021-08-17 Tobias Burnus <tobias@codesourcery.com> 714 715 * testsuite/libgomp.fortran/scope-1.f90: New test. 716 * testsuite/libgomp.fortran/task-reduction-16.f90: New test. 717 7182021-08-17 Jakub Jelinek <jakub@redhat.com> 719 720 * Makefile.am (libgomp_la_SOURCES): Add scope.c 721 * Makefile.in: Regenerated. 722 * libgomp_g.h (GOMP_scope_start): Declare. 723 * libgomp.map: Add GOMP_scope_start@@GOMP_5.1. 724 * scope.c: New file. 725 * testsuite/libgomp.c-c++-common/scope-1.c: New test. 726 * testsuite/libgomp.c-c++-common/task-reduction-16.c: New test. 727 7282021-08-16 Thomas Schwinge <thomas@codesourcery.com> 729 730 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Address 731 '?:' issues. 732 7332021-08-16 Tobias Burnus <tobias@codesourcery.com> 734 735 * testsuite/libgomp.fortran/masked-1.f90: New test. 736 7372021-08-13 Thomas Schwinge <thomas@codesourcery.com> 738 739 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Adjust. 740 7412021-08-12 Jakub Jelinek <jakub@redhat.com> 742 743 * testsuite/libgomp.c-c++-common/masked-1.c: New test. 744 7452021-08-12 Tobias Burnus <tobias@codesourcery.com> 746 747 * env.c (parse_bind_var): Accept 'primary' as alias for 748 'master'. 749 (omp_display_env): Add TODO comment to 750 change 'master' to 'primary' in proc_bind for OpenMP 5.1. 751 * libgomp.texi: Change 'master thread' to 'primary thread' 752 in line with OpenMP 5.1. 753 (omp_get_proc_bind): Add omp_proc_bind_primary and note that 754 omp_proc_bind_master is an alias of it. 755 (OMP_PROC_BIND): Mention 'PRIMARY'. 756 * omp.h.in (__GOMP_DEPRECATED_5_1): Define. 757 (omp_proc_bind_primary): Add. 758 (omp_proc_bind_master): Deprecate for OpenMP 5.1. 759 * omp_lib.f90.in (omp_proc_bind_primary): Add. 760 (omp_proc_bind_master): Deprecate for OpenMP 5.1. 761 * omp_lib.h.in (omp_proc_bind_primary): Add. 762 * testsuite/libgomp.c/affinity-1.c: Check that 763 'primary' works and is identical to 'master'. 764 7652021-08-09 Julian Brown <julian@codesourcery.com> 766 Kwok Cheung Yeung <kcy@codesourcery.com> 767 Thomas Schwinge <thomas@codesourcery.com> 768 769 * plugin/plugin-gcn.c (gcn_exec): Change default number of workers to 770 16. 771 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c 772 [acc_device_radeon]: Update. 773 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c 774 [ACC_DEVICE_TYPE_radeon]: Likewise. 775 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c 776 [acc_device_radeon]: Likewise. 777 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c 778 [ACC_DEVICE_TYPE_radeon]: Likewise. 779 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: XFAIL for 780 'openacc_radeon_accel_selected' and '-O0'. 781 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise. 782 7832021-08-05 Chung-Lin Tang <cltang@codesourcery.com> 784 785 * icv-device.c (omp_get_device_num): New API function, host side. 786 * fortran.c (omp_get_device_num_): New interface function. 787 * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Define macro symbol. 788 * libgomp.map (OMP_5.0.2): New version space with omp_get_device_num, 789 omp_get_device_num_. 790 * libgomp.texi (omp_get_device_num): Add documentation for new API 791 function. 792 * omp.h.in (omp_get_device_num): Add declaration. 793 * omp_lib.f90.in (omp_get_device_num): Likewise. 794 * omp_lib.h.in (omp_get_device_num): Likewise. 795 * target.c (gomp_load_image_to_device): If additional entry for device 796 number exists at end of returned entries from 'load_image_func' hook, 797 copy the assigned device number over to the device variable. 798 * config/gcn/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global. 799 (omp_get_device_num): New API function, device side. 800 * plugin/plugin-gcn.c ("symcat.h"): Add include. 801 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR 802 at end of returned 'target_table' entries. 803 * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global. 804 (omp_get_device_num): New API function, device side. 805 * plugin/plugin-nvptx.c ("symcat.h"): Add include. 806 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR 807 at end of returned 'target_table' entries. 808 * testsuite/lib/libgomp.exp 809 (check_effective_target_offload_target_intelmic): New function for 810 testing for intelmic offloading. 811 * testsuite/libgomp.c-c++-common/target-45.c: New test. 812 * testsuite/libgomp.fortran/target10.f90: New test. 813 8142021-07-30 Thomas Schwinge <thomas@codesourcery.com> 815 Ulrich Drepper <drepper@redhat.com> 816 817 * fortran.c (omp_display_env_, omp_display_env_8_): Only 818 '#ifndef LIBGOMP_OFFLOADED_ONLY'. 819 8202021-07-29 Thomas Schwinge <thomas@codesourcery.com> 821 Julian Brown <julian@codesourcery.com> 822 Kwok Cheung Yeung <kcy@codesourcery.com> 823 824 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: 825 's%oaccdevlow%oaccloops%g'. 826 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise. 827 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise. 828 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c: 829 Likewise. 830 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: 831 Likewise. 832 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: 833 Likewise. 834 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: 835 Likewise. 836 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: 837 Likewise. 838 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: 839 Likewise. 840 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: 841 Likewise. 842 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: 843 Likewise. 844 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise. 845 8462021-07-29 Aldy Hernandez <aldyh@redhat.com> 847 848 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for 849 threader. 850 * testsuite/libgomp.graphite/force-parallel-8.c: Same. 851 8522021-07-27 Ulrich Drepper <drepper@gmail.com> 853 854 * env.c (wait_policy, stacksize): New static variables, 855 move out of handle_omp_display_env. 856 (omp_display_env): New function. The meat of the old 857 handle_omp_display_env function. 858 (handle_omp_display_env): Change to not take parameters 859 and instead use the global variables. Only perform 860 parsing, defer to omp_display_env for the implementation. 861 (initialize_env): Remove local variables wait_policy and 862 stacksize. Don't pass parameters to handle_omp_display_env. 863 * fortran.c: Add ialias_redirect for omp_display_env. 864 (omp_display_env_, omp_display_env_8_): New functions. 865 * libgomp.map (OMP_5.1): New version. Add omp_display_env, 866 omp_display_env_, and omp_display_env_8_. 867 * omp.h.in: Declare omp_display_env. 868 * omp_lib.f90.in: Likewise. 869 * omp_lib.h.in: Likewise. 870 8712021-07-27 Thomas Schwinge <thomas@codesourcery.com> 872 Julian Brown <julian@codesourcery.com> 873 874 * target.c (gomp_coalesce_buf_add): Update comment. 875 (gomp_copy_host2dev, gomp_map_vars_internal): Don't expect to see 876 'aq && cbuf'. 877 (gomp_map_vars_internal): Only 'if (!aq)', do 878 'gomp_coalesce_buf_add'. 879 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Remove 880 XFAIL. 881 8822021-07-27 Julian Brown <julian@codesourcery.com> 883 Thomas Schwinge <thomas@codesourcery.com> 884 885 * libgomp.h (gomp_copy_host2dev): Update prototype. 886 * oacc-mem.c (memcpy_tofrom_device, update_dev_host): Add new 887 argument to gomp_copy_host2dev (false). 888 * plugin/plugin-gcn.c (struct copy_data): Remove free_src field. 889 (copy_data): Don't free src. 890 (queue_push_copy): Remove free_src handling. 891 (GOMP_OFFLOAD_dev2dev): Update call to queue_push_copy. 892 (GOMP_OFFLOAD_openacc_async_host2dev): Remove source-data 893 snapshotting. 894 (GOMP_OFFLOAD_openacc_async_dev2host): Update call to 895 queue_push_copy. 896 * target.c (goacc_device_copy_async): Add SRCADDR_ORIG parameter. 897 (gomp_copy_host2dev): Add EPHEMERAL parameter. Snapshot source 898 data when true, and set up deferred freeing of temporary buffer. 899 (gomp_copy_dev2host): Update call to goacc_device_copy_async. 900 (gomp_map_vars_existing, gomp_map_pointer, gomp_attach_pointer) 901 (gomp_detach_pointer, gomp_map_vars_internal, gomp_update): Update 902 calls to gomp_copy_host2dev with appropriate ephemeral argument. 903 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: Remove 904 XFAIL. 905 9062021-07-27 Thomas Schwinge <thomas@codesourcery.com> 907 Tom de Vries <tom@codesourcery.com> 908 909 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: New file. 910 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Likewise. 911 9122021-07-27 Thomas Schwinge <thomas@codesourcery.com> 913 914 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Clarify 915 sequencing of 'async' data copying vs. profiling events. 916 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: 917 Likewise. 918 9192021-07-27 Thomas Schwinge <thomas@codesourcery.com> 920 Julian Brown <julian@codesourcery.com> 921 922 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: Fix OpenACC 923 'async'/'wait' issue. 924 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: Likewise. 925 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: Likewise. 926 * testsuite/libgomp.oacc-fortran/lib-16.f90: Likewise. 927 9282021-07-21 Thomas Schwinge <thomas@codesourcery.com> 929 Joseph Myers <joseph@codesourcery.com> 930 Cesar Philippidis <cesar@codesourcery.com> 931 932 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c: New 933 file. 934 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: 935 Likewise. 936 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2_2.c: 937 Likewise. 938 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise. 939 9402021-07-20 Thomas Schwinge <thomas@codesourcery.com> 941 942 PR target/101484 943 * configure.tgt [amdgcn*-*-*] (XCFLAGS): Add 944 '-Wno-error=array-bounds'. 945 * config/gcn/team.c: Remove '-Werror=array-bounds' work-around. 946 * libgomp.h [__AMDGCN__]: Likewise. 947 9482021-07-19 Thomas Schwinge <thomas@codesourcery.com> 949 950 PR target/101484 951 * config/gcn/team.c: Apply '-Werror=array-bounds' work-around. 952 * libgomp.h [__AMDGCN__]: Likewise. 953 9542021-07-13 Jakub Jelinek <jakub@redhat.com> 955 Florian Weimer <fweimer@redhat.com> 956 957 * config/linux/sem.h: Don't include limits.h. 958 (SEM_WAIT): Define to -__INT_MAX__ - 1 instead of INT_MIN. 959 * config/linux/affinity.c: Include limits.h. 960 9612021-07-01 Jakub Jelinek <jakub@redhat.com> 962 963 PR middle-end/94366 964 * testsuite/libgomp.c-c++-common/pr94366.c: New test. 965 9662021-06-29 Tobias Burnus <tobias@codesourcery.com> 967 968 PR other/67300 969 * testsuite/libgomp.c-c++-common/reduction-16.c: Replace 970 -foffload=nvptx-none= by -foffload-options=nvptx-none= to 971 avoid disabling other offload targets. 972 * testsuite/libgomp.c-c++-common/reduction-5.c: Likewise. 973 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise. 974 * testsuite/libgomp.c/target-44.c: Likewise. 975 9762021-06-29 Tobias Burnus <tobias@codesourcery.com> 977 978 * testsuite/libgomp.fortran/defaultmap-8.f90 (bar): Determine whether 979 target has shared memory and disable some scalar pointer/allocatable 980 checks if not as firstprivate does not work. 981 9822021-06-25 Chung-Lin Tang <cltang@codesourcery.com> 983 984 PR testsuite/101114 985 * testsuite/libgomp.c-c++-common/struct-elem-5.c: 986 Add "target offload_device_nonshared_as" condition for enabling test. 987 9882021-06-24 Jakub Jelinek <jakub@redhat.com> 989 990 * testsuite/libgomp.c-c++-common/target-in-reduction-1.c: New test. 991 * testsuite/libgomp.c-c++-common/target-in-reduction-2.c: New test. 992 * testsuite/libgomp.c++/target-in-reduction-1.C: New test. 993 * testsuite/libgomp.c++/target-in-reduction-2.C: New test. 994 9952021-06-23 Jakub Jelinek <jakub@redhat.com> 996 997 PR middle-end/101167 998 * testsuite/libgomp.c-c++-common/task-reduction-15.c: New test. 999 10002021-06-17 Chung-Lin Tang <cltang@codesourcery.com> 1001 1002 * hashtab.h (htab_clear): New function with initialization code 1003 factored out from... 1004 (htab_create): ...here, adjust to use htab_clear function. 1005 * libgomp.h (REFCOUNT_SPECIAL): New symbol to denote range of 1006 special refcount values, add comments. 1007 (REFCOUNT_INFINITY): Adjust definition to use REFCOUNT_SPECIAL. 1008 (REFCOUNT_LINK): Likewise. 1009 (REFCOUNT_STRUCTELEM): New special refcount range for structure 1010 element siblings. 1011 (REFCOUNT_STRUCTELEM_P): Macro for testing for structure element 1012 sibling maps. 1013 (REFCOUNT_STRUCTELEM_FLAG_FIRST): Flag to indicate first sibling. 1014 (REFCOUNT_STRUCTELEM_FLAG_LAST): Flag to indicate last sibling. 1015 (REFCOUNT_STRUCTELEM_FIRST_P): Macro to test _FIRST flag. 1016 (REFCOUNT_STRUCTELEM_LAST_P): Macro to test _LAST flag. 1017 (struct splay_tree_key_s): Add structelem_refcount and 1018 structelem_refcount_ptr fields into a union with dynamic_refcount. 1019 Add comments. 1020 (gomp_map_vars): Delete declaration. 1021 (gomp_map_vars_async): Likewise. 1022 (gomp_unmap_vars): Likewise. 1023 (gomp_unmap_vars_async): Likewise. 1024 (goacc_map_vars): New declaration. 1025 (goacc_unmap_vars): Likewise. 1026 * oacc-mem.c (acc_map_data): Adjust to use goacc_map_vars. 1027 (goacc_enter_datum): Likewise. 1028 (goacc_enter_data_internal): Likewise. 1029 * oacc-parallel.c (GOACC_parallel_keyed): Adjust to use goacc_map_vars 1030 and goacc_unmap_vars. 1031 (GOACC_data_start): Adjust to use goacc_map_vars. 1032 (GOACC_data_end): Adjust to use goacc_unmap_vars. 1033 * target.c (hash_entry_type): New typedef. 1034 (htab_alloc): New function hook for hashtab.h. 1035 (htab_free): Likewise. 1036 (htab_hash): Likewise. 1037 (htab_eq): Likewise. 1038 (hashtab.h): Add file include. 1039 (gomp_increment_refcount): New function. 1040 (gomp_decrement_refcount): Likewise. 1041 (gomp_map_vars_existing): Add refcount_set parameter, adjust to use 1042 gomp_increment_refcount. 1043 (gomp_map_fields_existing): Add refcount_set parameter, adjust calls 1044 to gomp_map_vars_existing. 1045 (gomp_map_vars_internal): Add refcount_set parameter, add local openmp_p 1046 variable to guard OpenMP specific paths, adjust calls to 1047 gomp_map_vars_existing, add structure element sibling splay_tree_key 1048 sequence creation code, adjust Fortran map case to avoid increment 1049 under OpenMP. 1050 (gomp_map_vars): Adjust to static, add refcount_set parameter, manage 1051 local refcount_set if caller passed in NULL, adjust call to 1052 gomp_map_vars_internal. 1053 (gomp_map_vars_async): Adjust and rename into... 1054 (goacc_map_vars): ...this new function, adjust call to 1055 gomp_map_vars_internal. 1056 (gomp_remove_splay_tree_key): New function with code factored out from 1057 gomp_remove_var_internal. 1058 (gomp_remove_var_internal): Add code to handle removing multiple 1059 splay_tree_key sequence for structure elements, adjust code to use 1060 gomp_remove_splay_tree_key for splay-tree key removal. 1061 (gomp_unmap_vars_internal): Add refcount_set parameter, adjust to use 1062 gomp_decrement_refcount. 1063 (gomp_unmap_vars): Adjust to static, add refcount_set parameter, manage 1064 local refcount_set if caller passed in NULL, adjust call to 1065 gomp_unmap_vars_internal. 1066 (gomp_unmap_vars_async): Adjust and rename into... 1067 (goacc_unmap_vars): ...this new function, adjust call to 1068 gomp_unmap_vars_internal. 1069 (GOMP_target): Manage refcount_set and adjust calls to gomp_map_vars and 1070 gomp_unmap_vars. 1071 (GOMP_target_ext): Likewise. 1072 (gomp_target_data_fallback): Adjust call to gomp_map_vars. 1073 (GOMP_target_data): Likewise. 1074 (GOMP_target_data_ext): Likewise. 1075 (GOMP_target_end_data): Adjust call to gomp_unmap_vars. 1076 (gomp_exit_data): Add refcount_set parameter, adjust to use 1077 gomp_decrement_refcount, adjust to queue splay-tree keys for removal 1078 after main loop. 1079 (GOMP_target_enter_exit_data): Manage refcount_set and adjust calls to 1080 gomp_map_vars and gomp_exit_data. 1081 (gomp_target_task_fn): Likewise. 1082 * testsuite/libgomp.c-c++-common/refcount-1.c: New testcase. 1083 * testsuite/libgomp.c-c++-common/struct-elem-1.c: New testcase. 1084 * testsuite/libgomp.c-c++-common/struct-elem-2.c: New testcase. 1085 * testsuite/libgomp.c-c++-common/struct-elem-3.c: New testcase. 1086 * testsuite/libgomp.c-c++-common/struct-elem-4.c: New testcase. 1087 * testsuite/libgomp.c-c++-common/struct-elem-5.c: New testcase. 1088 10892021-06-15 Tobias Burnus <tobias@codesourcery.com> 1090 1091 PR fortran/92568 1092 * testsuite/libgomp.fortran/defaultmap-8.f90: New test. 1093 10942021-06-10 Andrew Stubbs <ams@codesourcery.com> 1095 Thomas Schwinge <thomas@codesourcery.com> 1096 1097 * libgomp.map (GOACC_2.0.2): New symbol version. 1098 * libgomp_g.h (GOACC_enter_data, GOACC_exit_data) New prototypes. 1099 * oacc-mem.c (GOACC_enter_data, GOACC_exit_data) New functions. 1100 11012021-06-10 Thomas Schwinge <thomas@codesourcery.com> 1102 Andrew Stubbs <ams@codesourcery.com> 1103 1104 * oacc-mem.c (goacc_enter_exit_data_internal): New function, 1105 extracted from... 1106 (GOACC_enter_exit_data): ... here. 1107 (GOACC_declare): Use it. 1108 11092021-06-10 Thomas Schwinge <thomas@codesourcery.com> 1110 1111 * oacc-parallel.c (GOACC_declare): Move... 1112 * oacc-mem.c: ... here. 1113 * libgomp_g.h: Adjust. 1114 11152021-06-10 Andrew Stubbs <ams@codesourcery.com> 1116 Thomas Schwinge <thomas@codesourcery.com> 1117 1118 * oacc-parallel.c (GOACC_declare): Clean up 'GOMP_MAP_POINTER' 1119 handling. 1120 11212021-06-10 Jakub Jelinek <jakub@redhat.com> 1122 1123 PR tree-optimization/100981 1124 * testsuite/libgomp.fortran/pr100981-2.f90 (cdcdot): Initialize 1125 dsdotr and dsdoti to 0. 1126 11272021-06-09 H.J. Lu <hjl.tools@gmail.com> 1128 1129 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -march=i486 1130 if atomic compare-and-swap is supported on 'int'. 1131 11322021-06-09 Richard Biener <rguenther@suse.de> 1133 1134 PR tree-optimization/100981 1135 * testsuite/libgomp.fortran/pr100981-2.f90: New testcase. 1136 11372021-06-08 Thomas Schwinge <thomas@codesourcery.com> 1138 1139 * plugin/plugin-gcn.c (gcn_exec): Force 'num_workers (1)' 1140 unconditionally. 1141 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: 1142 Update. 1143 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise. 1144 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise. 1145 11462021-06-08 Thomas Schwinge <thomas@codesourcery.com> 1147 1148 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Enable for all but 1149 '-DACC_MEM_SHARED=0'. 1150 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise. 1151 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise. 1152 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise. 1153 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise. 1154 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. 1155 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise. 1156 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise. 1157 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. 1158 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise. 1159 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise. 1160 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise. 1161 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise. 1162 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise. 1163 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise. 1164 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Add 1165 'acc_device_radeon' testing. 1166 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise. 1167 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise. 1168 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise. 1169 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Enable for all. 1170 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise. 1171 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise. 1172 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise. 1173 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise. 1174 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise. 1175 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise. 1176 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Improve checking 1177 for non-'openacc_nvidia_accel_selected'. 1178 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise. 1179 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Clarify that "Not 1180 all implement this checking". 1181 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise. 1182 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise. 1183 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise. 1184 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise. 1185 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise. 1186 11872021-06-08 Thomas Schwinge <thomas@codesourcery.com> 1188 1189 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Simplify. 1190 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: Update. 1191 11922021-06-08 Thomas Schwinge <thomas@codesourcery.com> 1193 1194 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Fix 1195 for 'acc_device_radeon'. 1196 11972021-06-08 Thomas Schwinge <thomas@codesourcery.com> 1198 1199 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Enhance 1200 for non-'acc_device_nvidia'. 1201 12022021-06-08 Thomas Schwinge <thomas@codesourcery.com> 1203 1204 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Add 1205 'acc_device_radeon' testing. 1206 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise. 1207 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise. 1208 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise. 1209 12102021-06-08 Thomas Schwinge <thomas@codesourcery.com> 1211 1212 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Don't 1213 require 'openacc_nvidia_accel_selected'. Fix up for 1214 'ACC_DEVICE_TYPE_radeon'. 1215 12162021-06-08 Thomas Schwinge <thomas@codesourcery.com> 1217 1218 * testsuite/libgomp.oacc-c++/declare-1.C: Don't require 1219 'openacc_nvidia_accel_selected'. 1220 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise. 1221 12222021-06-08 Thomas Schwinge <thomas@codesourcery.com> 1223 1224 * testsuite/lib/libgomp.exp 1225 (check_effective_target_openacc_radeon_accel_selected): 1226 Streamline. 1227 12282021-06-08 Thomas Schwinge <thomas@codesourcery.com> 1229 1230 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Revert 1231 PR80547 workaround. 1232 12332021-06-08 Thomas Schwinge <thomas@codesourcery.com> 1234 1235 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c 1236 <acc_device_nvidia>: Update comment. 1237 12382021-05-28 Tobias Burnus <tobias@codesourcery.com> 1239 1240 * testsuite/libgomp.fortran/depend-iterator-2.f90: New test. 1241 12422021-05-27 Jakub Jelinek <jakub@redhat.com> 1243 1244 * testsuite/lib/libgomp.exp (check_effective_target_openacc_cuda, 1245 check_effective_target_openacc_cublas, 1246 check_effective_target_openacc_cudart): New. 1247 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Require effective 1248 target openacc_cublas. 1249 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise. 1250 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise. 1251 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Require effective 1252 target openacc_cuda. 1253 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise. 1254 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise. 1255 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise. 1256 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise. 1257 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise. 1258 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise. 1259 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise. 1260 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise. 1261 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Likewise. 1262 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise. 1263 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise. 1264 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise. 1265 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise. 1266 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise. 1267 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise. 1268 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise. 1269 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Require effective 1270 targets openacc_cublas and openacc_cudart. 1271 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise. 1272 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise. 1273 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise. 1274 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise. 1275 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: 1276 Require effective target openacc_cudart. 1277 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Add -DUSE_CUDA_H 1278 for effective target openacc_cuda and add && defined USE_CUDA_H to 1279 preprocessor conditionals. Guard -lcuda also on openacc_cuda 1280 effective target. 1281 12822021-05-26 Jakub Jelinek <jakub@redhat.com> 1283 1284 PR libgomp/100573 1285 * config/nvptx/target.c (GOMP_target_ext, GOMP_target_data_ext, 1286 GOMP_target_end_data, GOMP_target_update_ext, 1287 GOMP_target_enter_exit_data): New dummy entrypoints. 1288 * config/gcn/target.c (GOMP_target_ext, GOMP_target_data_ext, 1289 GOMP_target_end_data, GOMP_target_update_ext, 1290 GOMP_target_enter_exit_data): Likewise. 1291 * testsuite/libgomp.c-c++-common/for-3.c (DO_PRAGMA, OMPTEAMS, 1292 OMPFROM, OMPTO): Define. 1293 (main): Remove #pragma omp target teams around all the tests. 1294 * testsuite/libgomp.c-c++-common/target-41.c: New test. 1295 * testsuite/libgomp.c-c++-common/target-42.c: New test. 1296 12972021-05-25 Jakub Jelinek <jakub@redhat.com> 1298 1299 PR middle-end/99928 1300 * testsuite/libgomp.c-c++-common/reduction-17.c: New test. 1301 13022021-05-24 Tobias Burnus <tobias@codesourcery.com> 1303 1304 PR fortran/86470 1305 * testsuite/libgomp.fortran/class-firstprivate-1.f90: New test. 1306 * testsuite/libgomp.fortran/class-firstprivate-2.f90: New test. 1307 * testsuite/libgomp.fortran/class-firstprivate-3.f90: New test. 1308 13092021-05-22 Thomas Schwinge <thomas@codesourcery.com> 1310 1311 PR testsuite/90115 1312 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Prune 1313 uninteresting/varying diagnostics. 1314 13152021-05-21 Thomas Schwinge <thomas@codesourcery.com> 1316 1317 PR middle-end/90115 1318 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Update. 1319 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise. 1320 13212021-05-21 Thomas Schwinge <thomas@codesourcery.com> 1322 1323 PR middle-end/90115 1324 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: New 1325 file. 1326 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update. 1327 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Likewise. 1328 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: 1329 Likewise. 1330 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c: 1331 Likewise. 1332 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c: 1333 Likewise. 1334 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c: 1335 Likewise. 1336 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c: 1337 Likewise. 1338 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c: 1339 Likewise. 1340 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c: 1341 Likewise. 1342 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c: 1343 Likewise. 1344 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c: 1345 Likewise. 1346 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c: 1347 Likewise. 1348 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c: 1349 Likewise. 1350 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c: 1351 Likewise. 1352 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c: 1353 Likewise. 1354 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c: 1355 Likewise. 1356 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c: 1357 Likewise. 1358 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c: 1359 Likewise. 1360 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c: 1361 Likewise. 1362 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c: 1363 Likewise. 1364 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c: 1365 Likewise. 1366 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c: 1367 Likewise. 1368 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c: 1369 Likewise. 1370 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise. 1371 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise. 1372 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise. 1373 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise. 1374 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise. 1375 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise. 1376 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise. 1377 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise. 1378 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise. 1379 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise. 1380 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise. 1381 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise. 1382 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise. 1383 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise. 1384 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: 1385 Likewise. 1386 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c: 1387 Likewise. 1388 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: 1389 Likewise. 1390 * testsuite/libgomp.oacc-c-c++-common/private-variables.c: 1391 Likewise. 1392 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise. 1393 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: 1394 Likewise. 1395 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise. 1396 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise. 1397 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise. 1398 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise. 1399 * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise. 1400 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise. 1401 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90: 1402 Likewise. 1403 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90: 1404 Likewise. 1405 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90: 1406 Likewise. 1407 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90: 1408 Likewise. 1409 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90: 1410 Likewise. 1411 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90: 1412 Likewise. 1413 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90: 1414 Likewise. 1415 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90: 1416 Likewise. 1417 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90: 1418 Likewise. 1419 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90: 1420 Likewise. 1421 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90: 1422 Likewise. 1423 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90: 1424 Likewise. 1425 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90: 1426 Likewise. 1427 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise. 1428 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise. 1429 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90: 1430 Likewise. 1431 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90: 1432 Likewise. 1433 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise. 1434 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise. 1435 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise. 1436 14372021-05-21 Julian Brown <julian@codesourcery.com> 1438 Chung-Lin Tang <cltang@codesourcery.com> 1439 Thomas Schwinge <thomas@codesourcery.com> 1440 1441 PR middle-end/90115 1442 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c: New 1443 test. 1444 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90: 1445 Likewise. 1446 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90: 1447 Likewise. 1448 14492021-05-21 Thomas Schwinge <thomas@codesourcery.com> 1450 1451 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Don't skip 1452 for nvptx offloading. 1453 14542021-05-21 Tobias Burnus <tobias@codesourcery.com> 1455 1456 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: New. 1457 14582021-05-19 Thomas Schwinge <thomas@codesourcery.com> 1459 1460 PR target/83812 1461 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: New. 1462 14632021-05-19 Julian Brown <julian@codesourcery.com> 1464 1465 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: New. 1466 14672021-05-18 Thomas Schwinge <thomas@codesourcery.com> 1468 1469 * testsuite/lib/libgomp.exp 1470 (check_effective_target_offload_target_nvptx): Don't shadow global 1471 'offload_targets' variable. 1472 14732021-05-18 Thomas Schwinge <thomas@codesourcery.com> 1474 1475 * testsuite/libgomp.c-c++-common/reduction-5.c: Restrict 1476 '-latomic' to nvptx offloading compilation. 1477 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise. 1478 14792021-05-18 Thomas Schwinge <thomas@codesourcery.com> 1480 1481 * testsuite/libgomp.c/target-44.c: Restrict '-latomic' to nvptx 1482 offloading compilation. 1483 14842021-05-17 Kwok Cheung Yeung <kcy@codesourcery.com> 1485 1486 * task.c (omp_fulfill_event): Call gomp_team_barrier_set_task_pending 1487 if new tasks generated. 1488 * testsuite/libgomp.c-c++-common/task-detach-13.c: New. 1489 14902021-05-14 Tobias Burnus <tobias@codesourcery.com> 1491 1492 * testsuite/libgomp.fortran/parallel-master.f90: New test. 1493 14942021-05-13 Martin Liska <mliska@suse.cz> 1495 1496 PR testsuite/100569 1497 * testsuite/libgomp.c/omp-nested-3.c: Prune new LTO warning. 1498 * testsuite/libgomp.c/pr46032-2.c: Likewise. 1499 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c: Likewise. 1500 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c: Likewise. 1501 15022021-05-12 Tobias Burnus <tobias@codesourcery.com> 1503 1504 * testsuite/libgomp.c-c++-common/task-detach-12.c: New test. 1505 * testsuite/libgomp.fortran/task-detach-12.f90: New test. 1506 15072021-05-11 Jakub Jelinek <jakub@redhat.com> 1508 1509 PR middle-end/100471 1510 * taskloop.c (GOMP_taskloop): If GOMP_TASK_FLAG_REDUCTION and not 1511 GOMP_TASK_FLAG_NOGROUP, when doing early return clear the task 1512 reduction pointer. 1513 * testsuite/libgomp.c/task-reduction-4.c: New test. 1514 15152021-05-07 Tobias Burnus <tobias@codesourcery.com> 1516 Tom de Vries <tdevries@suse.de> 1517 1518 * testsuite/libgomp.c-c++-common/reduction-5.c: New test, testing 1519 complex/floating-point || + && reduction with 'omp target'. 1520 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise. 1521 15222021-05-04 Tobias Burnus <tobias@codesourcery.com> 1523 1524 * testsuite/libgomp.c-c++-common/reduction-1.c: New test. 1525 * testsuite/libgomp.c-c++-common/reduction-2.c: New test. 1526 * testsuite/libgomp.c-c++-common/reduction-3.c: New test. 1527 * testsuite/libgomp.c-c++-common/reduction-4.c: New file. 1528 15292021-05-04 Tobias Burnus <tobias@codesourcery.com> 1530 1531 PR testsuite/100397 1532 * testsuite/libgomp.fortran/depobj-1.f90 (dep2, dep3): Move var 1533 declaration to scope of non-'depend'-guarded assignment to avoid races. 1534 15352021-05-03 Tom de Vries <tdevries@suse.de> 1536 1537 PR target/100321 1538 * testsuite/libgomp.c/target-44.c: New test. 1539 15402021-04-30 Roman Zhuykov <zhroma@ispras.ru> 1541 1542 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-3.c: New test. 1543 15442021-04-29 Tom de Vries <tdevries@suse.de> 1545 1546 * testsuite/libgomp.c/pr81778.c: New test. 1547 15482021-04-29 Tom de Vries <tdevries@suse.de> 1549 1550 PR target/100232 1551 * testsuite/libgomp.c/target-43.c: New file. 1552 15532021-04-28 Jakub Jelinek <jakub@redhat.com> 1554 Tobias Burnus <tobias@codesourcery.com> 1555 1556 * configure.ac (OFFLOAD_DEFAULTED): AC_DEFINE if offload-defaulted. 1557 * target.c (gomp_load_plugin_for_device): If set and if a plugin 1558 can't be dlopened, silently assume it has no devices. 1559 * Makefile.in: Regenerate. 1560 * config.h.in: Regenerate. 1561 * configure: Regenerate. 1562 15632021-04-26 Tobias Burnus <tobias@codesourcery.com> 1564 1565 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: 1566 Use [Ww]arning in dg-bogus as FE diagnostic and default 1567 diagnostic differ and the result depends on ENABLE_OFFLOAD. 1568 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise. 1569 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise. 1570 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise. 1571 15722021-04-26 Tobias Burnus <tobias@codesourcery.com> 1573 1574 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: 1575 Correct spelling in dg-bogus to match -Wopenacc-parallelism. 1576 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise. 1577 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise. 1578 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise. 1579 15802021-04-26 Thomas Schwinge <thomas@codesourcery.com> 1581 Nathan Sidwell <nathan@codesourcery.com> 1582 Tom de Vries <vries@codesourcery.com> 1583 Julian Brown <julian@codesourcery.com> 1584 Kwok Cheung Yeung <kcy@codesourcery.com> 1585 1586 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Specify 1587 '-Wopenacc-parallelism', and match diagnostics, as appropriate. 1588 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise. 1589 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise. 1590 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise. 1591 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise. 1592 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: 1593 Likewise. 1594 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise. 1595 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise. 1596 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise. 1597 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: 1598 Likewise. 1599 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise. 1600 * testsuite/libgomp.oacc-c-c++-common/private-variables.c: 1601 Likewise. 1602 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise. 1603 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise. 1604 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise. 1605 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise. 1606 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise. 1607 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: 1608 Likewise. 1609 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise. 1610 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise. 1611 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise. 1612 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise. 1613 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise. 1614 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise. 1615 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise. 1616 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise. 1617 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise. 1618 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. 1619 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise. 1620 16212021-04-26 Thomas Schwinge <thomas@codesourcery.com> 1622 1623 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Don't 1624 compile with '-w'. 1625 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise. 1626 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: 1627 Likewise. 1628 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise. 1629 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: Likewise. 1630 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise. 1631 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise. 1632 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise. 1633 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. 1634 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise. 1635 16362021-04-22 Richard Biener <rguenther@suse.de> 1637 1638 * testsuite/libgomp.c-c++-common/reduction-16.c: Use -latomic 1639 only on nvptx-none. 1640 16412021-04-21 Tobias Burnus <tobias@codesourcery.com> 1642 1643 * testsuite/libgomp.fortran/depobj-1.f90: Use omp_lib's 1644 omp_depend_kind instead of defining it as 16. 1645 16462021-04-21 Tobias Burnus <tobias@codesourcery.com> 1647 1648 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type): 1649 New, based on check_effective_target_offload_target_nvptx. 1650 (check_effective_target_offload_target_nvptx): Call it. 1651 (check_effective_target_offload_target_amdgcn): New. 1652 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: 1653 Require target offload_target_nvptx || offload_target_amdgcn. 1654 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: Likewise. 1655 * testsuite/libgomp.c/pr86416-1.c: Likewise. 1656 * testsuite/libgomp.c/pr86416-2.c: Likewise. 1657 16582021-04-21 Tobias Burnus <tobias@codesourcery.com> 1659 1660 * testsuite/libgomp.fortran/depobj-1.f90: New test. 1661 16622021-04-19 Thomas Schwinge <thomas@codesourcery.com> 1663 1664 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c: 1665 '-fopenacc-kernels=[...]' -> '--param=openacc-kernels=[...]'. 1666 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c: 1667 Likewise. 1668 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: 1669 Likewise. 1670 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise. 1671 16722021-04-15 Thomas Schwinge <thomas@codesourcery.com> 1673 1674 PR target/99555 1675 * testsuite/lib/libgomp.exp 1676 (check_effective_target_offload_device_nvptx): New. 1677 * testsuite/libgomp.c/pr99555-1.c <nvptx offload device>: Until 1678 resolved, make sure that we exit quickly, with error status, 1679 XFAILed. 1680 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise. 1681 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise. 1682 16832021-04-14 Jakub Jelinek <jakub@redhat.com> 1684 1685 PR testsuite/100071 1686 * testsuite/libgomp.fortran/alloc-1.F90: Call c_f_pointer after last 1687 cp = omp_alloc with cp, p arguments instead of cq, q and call 1688 c_f_pointer after last cq = omp_alloc with cq, q. 1689 16902021-04-11 Hafiz Abid Qadeer <abidh@codesourcery.com> 1691 1692 PR middle-end/98088 1693 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Add check 1694 for loop with GT/GE condition. 1695 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise. 1696 16972021-04-09 Thomas Schwinge <thomas@codesourcery.com> 1698 1699 PR middle-end/84991 1700 PR middle-end/84992 1701 PR middle-end/90779 1702 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: New. 1703 17042021-04-09 Jakub Jelinek <jakub@redhat.com> 1705 1706 PR libgomp/99984 1707 * team.c (gomp_thread_start): Call pthread_setspecific for 1708 !(defined HAVE_TLS || defined USE_EMUTLS) only after local_thr 1709 has been initialized to avoid false positive warning. 1710 17112021-03-29 Tobias Burnus <tobias@codesourcery.com> 1712 1713 PR target/99555 1714 * testsuite/lib/on_device_arch.c: Move to ... 1715 * testsuite/libgomp.c-c++-common/on_device_arch.h: ... here. 1716 * testsuite/libgomp.fortran/on_device_arch.c: New file; 1717 #include on_device_arch.h. 1718 * testsuite/libgomp.c-c++-common/task-detach-6.c: #include 1719 on_device_arch.h instead of using dg-additional-source. 1720 * testsuite/libgomp.c/pr99555-1.c: Likewise. 1721 * testsuite/libgomp.fortran/task-detach-6.f90: Update to use 1722 on_device_arch.c without relative paths. 1723 17242021-03-25 Thomas Schwinge <thomas@codesourcery.com> 1725 1726 * plugin/plugin-gcn.c (init_environment_variables): Don't prepend 1727 the 'HSA_RUNTIME_LIB' path to 'libhsa-runtime64.so'. 1728 * plugin/configfrag.ac (HSA_RUNTIME_LIB): Clean up. 1729 * config.h.in: Regenerate. 1730 * configure: Likewise. 1731 17322021-03-25 Thomas Schwinge <thomas@codesourcery.com> 1733 1734 PR target/99555 1735 * testsuite/lib/on_device_arch.c: New file. 1736 * testsuite/libgomp.c/pr99555-1.c: Likewise. 1737 * testsuite/libgomp.c-c++-common/task-detach-6.c: Until resolved, 1738 skip for nvptx offloading, with error status. 1739 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise. 1740 17412021-03-25 Thomas Schwinge <thomas@codesourcery.com> 1742 1743 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: 1744 OpenACC 'serial' construct diagnostic for nvptx offloading. 1745 17462021-03-15 Tobias Burnus <tobias@codesourcery.com> 1747 1748 PR c++/99509 1749 * testsuite/libgomp.c-c++-common/declare_target-1.c: New test. 1750 17512021-03-12 Tobias Burnus <tobias@codesourcery.com> 1752 1753 PR fortran/98858 1754 * testsuite/libgomp.fortran/use_device_ptr-3.f90: New test. 1755 17562021-03-04 Jakub Jelinek <jakub@redhat.com> 1757 1758 * configure.ac: Add AC_CHECK_SIZEOF([void *]). 1759 * plugin/configfrag.ac: Check $ac_cv_sizeof_void_p value instead of 1760 checking of -m32 or -mx32 options on the command line. 1761 * config.h.in: Regenerated. 1762 * configure: Regenerated. 1763 17642021-02-27 Iain Sandoe <iain@sandoe.co.uk> 1765 1766 * testsuite/libgomp.c-c++-common/pr96390.c: Require alias 1767 support from the target. 1768 17692021-02-25 Kwok Cheung Yeung <kcy@codesourcery.com> 1770 Jakub Jelinek <jakub@redhat.com> 1771 1772 PR libgomp/98738 1773 * libgomp.h (enum gomp_task_kind): Add GOMP_TASK_DETACHED. 1774 (struct gomp_task): Replace detach and completion_sem fields with 1775 union containing completion_sem and detach_team. Add deferred_p 1776 field. 1777 (struct gomp_team): Remove task_detach_queue. 1778 * task.c: Include assert.h. 1779 (gomp_init_task): Initialize deferred_p and completion_sem fields. 1780 Rearrange initialization order of fields. 1781 (task_fulfilled_p): Delete. 1782 (GOMP_task): Use address of task as the event handle. Remove 1783 initialization of detach field. Initialize deferred_p field. 1784 Use automatic local for completion_sem. Initialize detach_team field 1785 for deferred tasks. 1786 (gomp_barrier_handle_tasks): Remove handling of task_detach_queue. 1787 Set kind of suspended detach task to GOMP_TASK_DETACHED and 1788 decrement task_running_count. Move finish_cancelled block out of 1789 else branch. Relocate call to gomp_team_barrier_done. 1790 (GOMP_taskwait): Handle tasks with completion events that have not 1791 been fulfilled. 1792 (GOMP_taskgroup_end): Likewise. 1793 (omp_fulfill_event): Use address of task as event handle. Post to 1794 completion_sem for undeferred tasks. Clear detach_team if task 1795 has not finished. For finished tasks, handle post-execution tasks, 1796 call gomp_team_barrier_wake if necessary, and free task. 1797 * team.c (gomp_new_team): Remove initialization of task_detach_queue. 1798 (free_team): Remove free of task_detach_queue. 1799 * testsuite/libgomp.c-c++-common/task-detach-1.c: Fix formatting. 1800 * testsuite/libgomp.c-c++-common/task-detach-2.c: Fix formatting. 1801 * testsuite/libgomp.c-c++-common/task-detach-3.c: Fix formatting. 1802 * testsuite/libgomp.c-c++-common/task-detach-4.c: Fix formatting. 1803 * testsuite/libgomp.c-c++-common/task-detach-5.c: Fix formatting. 1804 Change data-sharing of detach events on enclosing parallel to private. 1805 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise. Remove 1806 taskwait directive. 1807 * testsuite/libgomp.c-c++-common/task-detach-7.c: New. 1808 * testsuite/libgomp.c-c++-common/task-detach-8.c: New. 1809 * testsuite/libgomp.c-c++-common/task-detach-9.c: New. 1810 * testsuite/libgomp.c-c++-common/task-detach-10.c: New. 1811 * testsuite/libgomp.c-c++-common/task-detach-11.c: New. 1812 * testsuite/libgomp.fortran/task-detach-1.f90: Fix formatting. 1813 * testsuite/libgomp.fortran/task-detach-2.f90: Fix formatting. 1814 * testsuite/libgomp.fortran/task-detach-3.f90: Fix formatting. 1815 * testsuite/libgomp.fortran/task-detach-4.f90: Fix formatting. 1816 * testsuite/libgomp.fortran/task-detach-5.f90: Fix formatting. 1817 Change data-sharing of detach events on enclosing parallel to private. 1818 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise. Remove 1819 taskwait directive. 1820 * testsuite/libgomp.fortran/task-detach-7.f90: New. 1821 * testsuite/libgomp.fortran/task-detach-8.f90: New. 1822 * testsuite/libgomp.fortran/task-detach-9.f90: New. 1823 * testsuite/libgomp.fortran/task-detach-10.f90: New. 1824 * testsuite/libgomp.fortran/task-detach-11.f90: New. 1825 18262021-02-22 Tobias Burnus <tobias@codesourcery.com> 1827 1828 PR fortran/99171 1829 * testsuite/libgomp.fortran/dummy-procs-1.f90: New test. 1830 18312021-02-17 Julian Brown <julian@codesourcery.com> 1832 1833 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Remove 1834 expected errors. 1835 18362021-02-17 Julian Brown <julian@codesourcery.com> 1837 1838 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: New test. 1839 * testsuite/libgomp.oacc-fortran/update-dt-array.f90: Likewise. 1840 18412021-02-11 Uroš Bizjak <ubizjak@gmail.com> 1842 1843 * config/linux/x86/futex.h (__futex_wait): 1844 Revert output type back to long. 1845 (__futex_wake): Ditto. 1846 (futex_wait): Update for revert. 1847 (futex_wake): Ditto. 1848 18492021-02-11 Uroš Bizjak <ubizjak@gmail.com> 1850 1851 * config/linux/x86/futex.h (__futex_wait): New static inline 1852 wrapper function. Correct output type to int and 1853 timeout type to void *. 1854 (__futex_wake): New static inline wrapper function. 1855 Correct output type to int. 1856 (futex_wait): Use __futex_wait. 1857 (futex_wake): Use __futex_wake. 1858 18592021-02-10 Julian Brown <julian@codesourcery.com> 1860 1861 PR fortran/98979 1862 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Add expected 1863 errors. 1864 18652021-02-04 Julian Brown <julian@codesourcery.com> 1866 1867 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: New test. 1868 18692021-02-03 Andrew Stubbs <ams@codesourcery.com> 1870 1871 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add 1872 EF_AMDGPU_MACH_AMDGCN_GFX908. 1873 (gcn_gfx908_s): New constant string. 1874 (isa_hsa_name): Add gfx908. 1875 (isa_code): Add gfx908. 1876 18772021-01-25 Kwok Cheung Yeung <kcy@codesourcery.com> 1878 1879 * libgomp.texi (omp_fulfill_event): New entry. 1880 18812021-01-20 Jakub Jelinek <jakub@redhat.com> 1882 1883 * task.c (GOMP_task): Rename priority argument to priority_arg, 1884 add priority automatic variable and modify that variable. Instead of 1885 clearing detach argument when GOMP_TASK_FLAG_DETACH bit is not set, 1886 check flags for that bit. 1887 18882021-01-19 Tobias Burnus <tobias@codesourcery.com> 1889 1890 PR fortran/98476 1891 * testsuite/libgomp.fortran/is_device_ptr-1.f90: New test. 1892 18932021-01-18 Andreas Schwab <schwab@suse.de> 1894 1895 * configure.tgt (riscv64*-*-linux*): Add linux to config_path. 1896 18972021-01-18 Sebastian Huber <sebastian.huber@embedded-brains.de> 1898 1899 * config/rtems/sem.h (gomp_sem_getcount): New function. 1900 19012021-01-18 Jakub Jelinek <jakub@redhat.com> 1902 1903 * config/linux/sem.h (gomp_sem_getcount): New function. 1904 * config/posix/sem.h (gomp_sem_getcount): New function. 1905 * config/posix/sem.c (gomp_sem_getcount): New function. 1906 * config/accel/sem.h (gomp_sem_getcount): New function. 1907 * task.c (task_fulfilled_p): Use gomp_sem_getcount. 1908 (omp_fulfill_event): Likewise. 1909 19102021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com> 1911 1912 * fortran.c (omp_fulfill_event_): New. 1913 * libgomp.h (struct gomp_task): Add detach and completion_sem fields. 1914 (struct gomp_team): Add task_detach_queue and task_detach_count 1915 fields. 1916 * libgomp.map (OMP_5.0.1): Add omp_fulfill_event and omp_fulfill_event_. 1917 * libgomp_g.h (GOMP_task): Add extra argument. 1918 * omp.h.in (enum omp_event_handle_t): New. 1919 (omp_fulfill_event): New. 1920 * omp_lib.f90.in (omp_event_handle_kind): New. 1921 (omp_fulfill_event): New. 1922 * omp_lib.h.in (omp_event_handle_kind): New. 1923 (omp_fulfill_event): Declare. 1924 * priority_queue.c (priority_tree_find): New. 1925 (priority_list_find): New. 1926 (priority_queue_find): New. 1927 * priority_queue.h (priority_queue_predicate): New. 1928 (priority_queue_find): New. 1929 * task.c (gomp_init_task): Initialize detach field. 1930 (task_fulfilled_p): New. 1931 (GOMP_task): Add detach argument. Ignore detach argument if 1932 GOMP_TASK_FLAG_DETACH not set in flags. Initialize completion_sem 1933 field. Copy address of completion_sem into detach argument and 1934 into the start of the data record. Wait for detach event if task 1935 not deferred. 1936 (gomp_barrier_handle_tasks): Queue tasks with unfulfilled events. 1937 Remove completed tasks and requeue dependent tasks. 1938 (omp_fulfill_event): New. 1939 * team.c (gomp_new_team): Initialize task_detach_queue and 1940 task_detach_count fields. 1941 (free_team): Free task_detach_queue field. 1942 * testsuite/libgomp.c-c++-common/task-detach-1.c: New testcase. 1943 * testsuite/libgomp.c-c++-common/task-detach-2.c: New testcase. 1944 * testsuite/libgomp.c-c++-common/task-detach-3.c: New testcase. 1945 * testsuite/libgomp.c-c++-common/task-detach-4.c: New testcase. 1946 * testsuite/libgomp.c-c++-common/task-detach-5.c: New testcase. 1947 * testsuite/libgomp.c-c++-common/task-detach-6.c: New testcase. 1948 * testsuite/libgomp.fortran/task-detach-1.f90: New testcase. 1949 * testsuite/libgomp.fortran/task-detach-2.f90: New testcase. 1950 * testsuite/libgomp.fortran/task-detach-3.f90: New testcase. 1951 * testsuite/libgomp.fortran/task-detach-4.f90: New testcase. 1952 * testsuite/libgomp.fortran/task-detach-5.f90: New testcase. 1953 * testsuite/libgomp.fortran/task-detach-6.f90: New testcase. 1954 19552021-01-15 Jakub Jelinek <jakub@redhat.com> 1956 1957 PR target/70454 1958 * configure.tgt: For i?86 and x86_64 determine if -march=i486 needs to 1959 be added through preprocessor check on 1960 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4. 1961 19622021-01-14 Thomas Schwinge <thomas@codesourcery.com> 1963 1964 PR libgomp/65099 1965 * plugin/configfrag.ac (PLUGIN_NVPTX): Restrict to supported 1966 configurations. 1967 * configure: Regenerate. 1968 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Remove 64-bit 1969 check. 1970 19712021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org> 1972 1973 * configure: Re-generate. 1974 19752021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org> 1976 1977 * configure: Re-generate. 1978 19792021-01-05 Julian Brown <julian@codesourcery.com> 1980 1981 * plugin/plugin-nvptx.c (SOFTSTACK_CACHE_LIMIT): New define. 1982 (struct ptx_device): Add omp_stacks struct. 1983 (nvptx_open_device): Initialise cached-stacks housekeeping info. 1984 (nvptx_close_device): Free cached stacks block and mutex. 1985 (nvptx_stacks_free): New function. 1986 (nvptx_alloc): Add SUPPRESS_ERRORS parameter. 1987 (GOMP_OFFLOAD_alloc): Add strategies for freeing soft-stacks block. 1988 (nvptx_stacks_alloc): Rename to... 1989 (nvptx_stacks_acquire): This. Cache stacks block between runs if same 1990 size or smaller is required. 1991 (nvptx_stacks_free): Remove. 1992 (GOMP_OFFLOAD_run): Call nvptx_stacks_acquire and lock stacks block 1993 during kernel execution. 1994 19952021-01-01 Jakub Jelinek <jakub@redhat.com> 1996 1997 * libgomp.texi: Bump @copying's copyright year. 1998 19992020-12-28 Gerald Pfeifer <gerald@pfeifer.com> 2000 2001 * libgomp.texi (Top): Avoid bad "up" link. 2002 20032020-12-18 Jakub Jelinek <jakub@redhat.com> 2004 2005 * testsuite/libgomp.c/task-6.c: New test. 2006 20072020-12-09 Andrew Stubbs <ams@codesourcery.com> 2008 2009 * plugin/plugin-gcn.c: Include hsa_ext_amd.h. 2010 (HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT): Delete redundant definition. 2011 20122020-12-08 Tobias Burnus <tobias@codesourcery.com> 2013 2014 * testsuite/libgomp.fortran/scan-1.f90: New test. 2015 20162020-12-05 Iain Sandoe <iain@sandoe.co.uk> 2017 2018 PR target/97865 2019 * configure: Regenerate. 2020 20212020-11-29 John David Anglin <danglin@gcc.gnu.org> 2022 2023 * configure: Regenerate. 2024 20252020-11-25 Thomas Schwinge <thomas@codesourcery.com> 2026 2027 * testsuite/libgomp.oacc-c++/cache-1.C: New. 2028 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Update. 2029 20302020-11-25 Andrew Stubbs <ams@codesourcery.com> 2031 2032 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Adjust 2033 expected results. 2034 20352020-11-24 Andrew Stubbs <ams@codesourcery.com> 2036 2037 * plugin/plugin-gcn.c: Don't redefine relocations if elf.h has them. 2038 (reserved): Delete unused define. 2039 20402020-11-24 Thomas Schwinge <thomas@codesourcery.com> 2041 2042 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Avoid 2043 Tcl 8.5-specific behavior. 2044 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise. 2045 20462020-11-18 Kwok Cheung Yeung <kcy@codesourcery.com> 2047 2048 * env.c (gomp_global_icv): Remove nest_var field. Add 2049 max_active_levels_var field. 2050 (gomp_max_active_levels_var): Remove. 2051 (parse_boolean): Return true on success. 2052 (handle_omp_display_env): Express OMP_NESTED in terms of 2053 max_active_levels_var. Change format specifier for 2054 max_active_levels_var. 2055 (initialize_env): Set max_active_levels_var from 2056 OMP_MAX_ACTIVE_LEVELS, OMP_NESTED, OMP_NUM_THREADS and 2057 OMP_PROC_BIND. 2058 * icv.c (omp_set_nested): Express in terms of 2059 max_active_levels_var. 2060 (omp_get_nested): Likewise. 2061 (omp_set_max_active_levels): Use max_active_levels_var field instead 2062 of gomp_max_active_levels_var. 2063 (omp_get_max_active_levels): Likewise. 2064 * libgomp.h (struct gomp_task_icv): Remove nest_var field. Add 2065 max_active_levels_var field. 2066 (gomp_supported_active_levels): Set to UCHAR_MAX. 2067 (gomp_max_active_levels_var): Delete. 2068 * libgomp.texi (omp_get_nested): Update documentation. 2069 (omp_set_nested): Likewise. 2070 (OMP_MAX_ACTIVE_LEVELS): Likewise. 2071 (OMP_NESTED): Likewise. 2072 (OMP_NUM_THREADS): Likewise. 2073 (OMP_PROC_BIND): Likewise. 2074 * parallel.c (gomp_resolve_num_threads): Replace reference 2075 to nest_var with max_active_levels_var. Use max_active_levels_var 2076 field instead of gomp_max_active_levels_var. 2077 20782020-11-18 Tobias Burnus <tobias@codesourcery.com> 2079 2080 * testsuite/libgomp.c/usleep.h (fallback_usleep): Renamed from 2081 nvptx_usleep; use also for device={arch(gcn)}. 2082 20832020-11-14 Jakub Jelinek <jakub@redhat.com> 2084 2085 * testsuite/libgomp.c-c++-common/allocate-1.c (struct S): New type. 2086 (foo): Add tests for non-VLA private and firstprivate clauses on 2087 omp task. 2088 (bar): Likewise. Remove taking of address from private/firstprivate 2089 variables. 2090 * testsuite/libgomp.c++/allocate-1.C (struct S): New type. 2091 (foo): Add p, q, px and s arguments. Add tests for array reductions 2092 and for non-VLA private and firstprivate clauses on omp task. 2093 (bar): Removed. 2094 (main): Adjust foo caller. Don't call bar. 2095 20962020-11-13 Gergö Barany <gergo@codesourcery.com> 2097 Thomas Schwinge <thomas@codesourcery.com> 2098 2099 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c: 2100 New. 2101 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c: 2102 Likewise. 2103 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: 2104 Likewise. 2105 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust. 2106 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise. 2107 21082020-11-13 Gergö Barany <gergo@codesourcery.com> 2109 Thomas Schwinge <thomas@codesourcery.com> 2110 2111 PR fortran/94358 2112 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: New. 2113 21142020-11-13 Jakub Jelinek <jakub@redhat.com> 2115 2116 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add tests 2117 for array reductions. 2118 (main): Adjust foo callers. 2119 21202020-11-12 Jakub Jelinek <jakub@redhat.com> 2121 2122 * libgomp.map (GOMP_alloc, GOMP_free): Export at GOMP_5.0.1. 2123 * omp.h.in (omp_alloc): Add malloc and alloc_size attributes. 2124 * libgomp_g.h (GOMP_alloc, GOMP_free): Declare. 2125 * allocator.c (omp_aligned_alloc): New for now static function, 2126 add alignment argument and handle it. 2127 (omp_alloc): Reimplement using omp_aligned_alloc. 2128 (GOMP_alloc, GOMP_free): New functions. 2129 (omp_free): Add ialias. 2130 * testsuite/libgomp.c-c++-common/allocate-1.c: New test. 2131 * testsuite/libgomp.c++/allocate-1.C: New test. 2132 21332020-11-12 Thomas Schwinge <thomas@codesourcery.com> 2134 2135 PR fortran/97782 2136 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Adjust. 2137 21382020-11-10 Chung-Lin Tang <cltang@codesourcery.com> 2139 2140 * libgomp.h (enum gomp_map_vars_kind): Adjust enum values to be bit-flag 2141 usable. 2142 * oacc-mem.c (acc_map_data): Adjust gomp_map_vars argument flags to 2143 'GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_ENTER_DATA'. 2144 (goacc_enter_datum): Likewise for call to gomp_map_vars_async. 2145 (goacc_enter_data_internal): Likewise. 2146 * target.c (gomp_map_vars_internal): 2147 Change checks of GOMP_MAP_VARS_ENTER_DATA to use bit-and (&). Adjust use 2148 of gomp_attach_pointer for OpenMP cases. 2149 (gomp_exit_data): Add handling of GOMP_MAP_DETACH. 2150 (GOMP_target_enter_exit_data): Add handling of GOMP_MAP_ATTACH. 2151 * testsuite/libgomp.c-c++-common/ptr-attach-1.c: New testcase. 2152 21532020-11-05 Ulrich Drepper <drepper@redhat.com> 2154 Kwok Cheung Yeung <kcy@codesourcery.com> 2155 2156 * Makefile.am (%.mod): Add -cpp and -fopenmp to compile flags. 2157 * Makefile.in: Regenerate. 2158 * fortran.c: Wrap uses of omp_set_nested and omp_get_nested with 2159 pragmas to ignore -Wdeprecated-declarations warnings. 2160 * icv.c: Likewise. 2161 * omp.h.in (__GOMP_DEPRECATED_5_0): Define. 2162 Mark omp_lock_hint_* enum values, omp_lock_hint_t, omp_set_nested, 2163 and omp_get_nested with __GOMP_DEPRECATED_5_0. 2164 * omp_lib.f90.in: Mark omp_get_nested and omp_set_nested as 2165 deprecated. 2166 * testsuite/libgomp.c++/affinity-1.C: Add -Wno-deprecated-declarations 2167 to test options. 2168 * testsuite/libgomp.c/affinity-1.c: Likewise. 2169 * testsuite/libgomp.c/affinity-2.c: Likewise. 2170 * testsuite/libgomp.c/appendix-a/a.15.1.c: Likewise. 2171 * testsuite/libgomp.c/lib-1.c: Likewise. 2172 * testsuite/libgomp.c/nested-1.c: Likewise. 2173 * testsuite/libgomp.c/nested-2.c: Likewise. 2174 * testsuite/libgomp.c/nested-3.c: Likewise. 2175 * testsuite/libgomp.c/pr32362-1.c: Likewise. 2176 * testsuite/libgomp.c/pr32362-2.c: Likewise. 2177 * testsuite/libgomp.c/pr32362-3.c: Likewise. 2178 * testsuite/libgomp.c/pr35549.c: Likewise. 2179 * testsuite/libgomp.c/pr42942.c: Likewise. 2180 * testsuite/libgomp.c/pr61200.c: Likewise. 2181 * testsuite/libgomp.c/sort-1.c: Likewise. 2182 * testsuite/libgomp.c/target-5.c: Likewise. 2183 * testsuite/libgomp.c/target-6.c: Likewise. 2184 * testsuite/libgomp.c/teams-1.c: Likewise. 2185 * testsuite/libgomp.c/thread-limit-1.c: Likewise. 2186 * testsuite/libgomp.c/thread-limit-2.c: Likewise. 2187 * testsuite/libgomp.c/thread-limit-4.c: Likewise. 2188 * testsuite/libgomp.fortran/affinity1.f90: Likewise. 2189 * testsuite/libgomp.fortran/lib1.f90: Likewise. 2190 * testsuite/libgomp.fortran/lib2.f: Likewise. 2191 * testsuite/libgomp.fortran/nested1.f90: Likewise. 2192 * testsuite/libgomp.fortran/teams1.f90: Likewise. 2193 21942020-11-02 Thomas Schwinge <thomas@codesourcery.com> 2195 2196 PR target/85486 2197 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Simplify and enhance. 2198 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise. 2199 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise. 2200 22012020-11-02 Thomas Schwinge <thomas@codesourcery.com> 2202 2203 PR testsuite/80219 2204 PR testsuite/85303 2205 * testsuite/lib/libgomp.exp (libgomp_init): Set 2206 'gcc_warning_prefix', 'gcc_error_prefix'. 2207 22082020-10-30 Jakub Jelinek <jakub@redhat.com> 2209 2210 * target.c (gomp_map_vars_internal): Use FIELD_TGT_EMPTY macro 2211 even in field_tgt_clear initializer. 2212 22132020-10-28 Jakub Jelinek <jakub@redhat.com> 2214 2215 * testsuite/libgomp.c/target-42.c: New test. 2216 22172020-10-28 Jakub Jelinek <jakub@redhat.com> 2218 Tom de Vries <tdevries@suse.de> 2219 2220 PR testsuite/81690 2221 * testsuite/libgomp.c/usleep.h: New file. 2222 * testsuite/libgomp.c/target-32.c: Include usleep.h. 2223 (main): Use tgt_usleep instead of usleep. 2224 * testsuite/libgomp.c/thread-limit-2.c: Include usleep.h. 2225 (main): Use tgt_usleep instead of usleep. 2226 22272020-10-28 Jakub Jelinek <jakub@redhat.com> 2228 2229 PR lto/96680 2230 * testsuite/libgomp.c/declare-variant-1.c: New test. 2231 22322020-10-22 Jakub Jelinek <jakub@redhat.com> 2233 2234 * testsuite/libgomp.c/target-41.c: New test. 2235 22362020-10-22 Jakub Jelinek <jakub@redhat.com> 2237 2238 * icv.c (omp_get_initial_device): Remove including corresponding 2239 ialias. 2240 * icv-device.c (omp_get_initial_device): New function. Return 2241 gomp_get_num_devices (). Add ialias. 2242 * target.c (resolve_device): Don't fail with 2243 OMP_TARGET_OFFLOAD=mandatory if device_id is equal to 2244 gomp_get_num_devices (). 2245 (omp_target_alloc, omp_target_free, omp_target_is_present, 2246 omp_target_memcpy, omp_target_memcpy_rect, omp_target_associate_ptr, 2247 omp_target_disassociate_ptr, omp_pause_resource): Use 2248 gomp_get_num_devices () instead of GOMP_DEVICE_HOST_FALLBACK on the 2249 first use in the functions, in uses dominated by the 2250 gomp_get_num_devices call use num_devices_openmp instead. 2251 * libgomp.texi (omp_get_initial_device): Document. 2252 * config/gcn/icv-device.c (omp_get_initial_device): New function. 2253 Add ialias. 2254 * config/nvptx/icv-device.c (omp_get_initial_device): Likewise. 2255 * testsuite/libgomp.c/target-40.c: New test. 2256 22572020-10-21 Jakub Jelinek <jakub@redhat.com> 2258 2259 * env.c (parse_target_offload): Change new_offload var type to int, 2260 preinitialize to -1, remove found var and test new_offload != -1 2261 instead of found. 2262 22632020-10-20 Jakub Jelinek <jakub@redhat.com> 2264 2265 * target.c (gomp_target_init): Inside of the function, use automatic 2266 variables corresponding to num_devices, num_devices_openmp and devices 2267 global variables and update the globals only at the end of the 2268 function. 2269 22702020-10-20 Kwok Cheung Yeung <kcy@codesourcery.com> 2271 2272 * env.c (gomp_target_offload_var): New. 2273 (parse_target_offload): New. 2274 (handle_omp_display_env): Print value of OMP_TARGET_OFFLOAD. 2275 (initialize_env): Parse OMP_TARGET_OFFLOAD. 2276 * libgomp.h (gomp_target_offload_t): New. 2277 (gomp_target_offload_var): New. 2278 * libgomp.texi (OMP_TARGET_OFFLOAD): New section. 2279 * target.c (resolve_device): Generate error if device not found and 2280 offloading is mandatory. 2281 (gomp_target_fallback): Generate error if offloading is mandatory. 2282 (GOMP_target): Add argument in call to gomp_target_fallback. 2283 (GOMP_target_ext): Likewise. 2284 (gomp_target_data_fallback): Generate error if offloading is mandatory. 2285 (GOMP_target_data): Add argument in call to gomp_target_data_fallback. 2286 (GOMP_target_data_ext): Likewise. 2287 (gomp_target_task_fn): Add argument in call to gomp_target_fallback. 2288 (gomp_target_init): Return early if offloading is disabled. 2289 22902020-10-15 Kwok Cheung Yeung <kcy@codesourcery.com> 2291 2292 * libgomp.texi (omp_get_max_active_levels): Modify description. 2293 (omp_get_supported_active_levels): Make descriptions consistent. 2294 22952020-10-14 Jakub Jelinek <jakub@redhat.com> 2296 2297 * libgomp.texi (omp_get_supported_active_levels): Fix a typo. 2298 22992020-10-13 Kwok Cheung Yeung <kcy@codesourcery.com> 2300 2301 * env.c (gomp_max_active_levels_var): Initialize to 2302 gomp_supported_active_levels. 2303 (initialize_env): Limit gomp_max_active_levels_var to be at most 2304 equal to gomp_supported_active_levels. 2305 * fortran.c (omp_get_supported_active_levels): Add ialias_redirect. 2306 (omp_get_supported_active_levels_): New. 2307 * icv.c (omp_set_max_active_levels): Limit gomp_max_active_levels_var 2308 to at most equal to gomp_supported_active_levels. 2309 (omp_get_supported_active_levels): New. 2310 * libgomp.h (gomp_supported_active_levels): New. 2311 * libgomp.map (OMP_5.0.1): Add omp_get_supported_active_levels and 2312 omp_get_supported_active_levels_. 2313 * libgomp.texi (omp_get_supported_active_levels): New. 2314 (omp_set_max_active_levels): Update. Add reference to 2315 omp_get_supported_active_levels. 2316 * omp.h.in (omp_get_supported_active_levels): New. 2317 * omp_lib.f90.in (omp_get_supported_active_levels): New. 2318 * omp_lib.h.in (omp_get_supported_active_levels): New. 2319 * testsuite/libgomp.c/lib-2.c (main): Check omp_get_max_active_levels 2320 against omp_get_supported_active_levels. 2321 * testsuite/libgomp.fortran/lib4.f90 (lib4): Likewise. 2322 23232020-10-11 Clement Chigot <clement.chigot@atos.net> 2324 2325 * config/t-aix: Delete and recreate libgomp before creating 2326 FAT library. 2327 23282020-10-08 Tom de Vries <tdevries@suse.de> 2329 2330 PR libgomp/81802 2331 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_run): Report launch 2332 dimensions. 2333 23342020-10-06 Tom de Vries <tdevries@suse.de> 2335 2336 * testsuite/libgomp.oacc-fortran/declare-5.f90: Add xfail for PR92790. 2337 23382020-10-06 Tom de Vries <tdevries@suse.de> 2339 2340 PR middle-end/90861 2341 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Remove xfail. 2342 23432020-10-05 Tom de Vries <tdevries@suse.de> 2344 2345 PR fortran/95654 2346 * testsuite/libgomp.fortran/pr95654.f90: New test. 2347 23482020-10-02 Tobias Burnus <tobias@codesourcery.com> 2349 2350 * Makefile.in: Regenerate with automake 1.15.1. 2351 * aclocal.m4: Likewise. 2352 * configure: Likewise. 2353 * testsuite/Makefile.in: Likewise. 2354 23552020-09-30 Andrew Stubbs <ams@codesourcery.com> 2356 2357 * parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx 2358 and amdgcn targets. 2359 23602020-09-30 Tobias Burnus <tobias@codesourcery.com> 2361 2362 * testsuite/libgomp.fortran/declare-target-3.f90: New test. 2363 23642020-09-29 Andrew Stubbs <ams@codesourcery.com> 2365 2366 * config/gcn/bar.c (gomp_barrier_wait_end): Skip the barrier if the 2367 total number of threads is one. 2368 (gomp_team_barrier_wake): Likewise. 2369 (gomp_team_barrier_wait_end): Likewise. 2370 (gomp_team_barrier_wait_cancel_end): Likewise. 2371 * config/nvptx/bar.c (gomp_barrier_wait_end): Likewise. 2372 (gomp_team_barrier_wake): Likewise. 2373 (gomp_team_barrier_wait_end): Likewise. 2374 (gomp_team_barrier_wait_cancel_end): Likewise. 2375 * testsuite/libgomp.c-c++-common/nested-parallel-unbalanced.c: New test. 2376 23772020-09-28 Tobias Burnus <tobias@codesourcery.com> 2378 2379 PR middle-end/96390 2380 * testsuite/libgomp.c++/pr96390.C: New test. 2381 * testsuite/libgomp.c-c++-common/pr96390.c: New test. 2382 23832020-09-27 Clement Chigot <clement.chigot@atos.net> 2384 2385 * config/t-aix: Use $(AR) without -X32_64. 2386 23872020-09-25 Jakub Jelinek <jakub@redhat.com> 2388 2389 * testsuite/libgomp.c/loop-25.c: New test. 2390 23912020-09-22 Tobias Burnus <tobias@codesourcery.com> 2392 2393 PR fortran/95654 2394 * testsuite/libgomp.fortran/pr66199-5.f90: Make stop codes unique. 2395 23962020-09-22 Tom de Vries <tdevries@suse.de> 2397 2398 * plugin/plugin-nvptx.c (link_ptx): Print elog if cuLinkComplete call 2399 fails. 2400 24012020-09-16 Nathan Sidwell <nathan@acm.org> 2402 2403 * testsuite/libgomp.c++/udr-3.C: Add missing ctor. 2404 24052020-09-15 Tobias Burnus <tobias@codesourcery.com> 2406 2407 PR fortran/96668 2408 * target.c (gomp_map_vars_internal): Initialize has_nullptr. 2409 24102020-09-15 Tobias Burnus <tobias@codesourcery.com> 2411 2412 PR fortran/96668 2413 * libgomp.h (struct target_var_desc): Add has_null_ptr_assoc member. 2414 * target.c (gomp_map_vars_existing): Add always_to_flag flag. 2415 (gomp_map_vars_existing): Update call to it. 2416 (gomp_map_fields_existing): Likewise 2417 (gomp_map_vars_internal): Update PSET handling such that if a nullptr is 2418 now allocated or if GOMP_MAP_POINTER is used PSET is updated and pointer 2419 remapped. 2420 (GOMP_target_enter_exit_data): Hanlde GOMP_MAP_ALWAYS_POINTER like 2421 GOMP_MAP_POINTER. 2422 * testsuite/libgomp.fortran/map-alloc-ptr-1.f90: New test. 2423 * testsuite/libgomp.fortran/map-alloc-ptr-2.f90: New test. 2424 24252020-09-14 Tom de Vries <tdevries@suse.de> 2426 2427 * config/nvptx/atomic.c: New file. Add 2428 __sync_val_compare_and_swap_16. 2429 * testsuite/libgomp.c-c++-common/reduction-16.c: Add -latomic for 2430 target offload_target_nvptx. 2431 24322020-09-08 Julian Brown <julian@codesourcery.com> 2433 2434 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: Remove 2435 iteration-ordering assumptions. 2436 24372020-09-08 Julian Brown <julian@codesourcery.com> 2438 2439 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Fix race condition. 2440 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise. 2441 24422020-08-20 Chung-Lin Tang <cltang@codesourcery.com> 2443 2444 * plugin/plugin-nvptx.c (nvptx_free): 2445 Change "GOMP_PLUGIN_acc_thread () == NULL" test into check of 2446 CUDA_ERROR_NOT_PERMITTED status for cuMemGetAddressRange. Adjust 2447 comments. 2448 24492020-08-20 Tobias Burnus <tobias@codesourcery.com> 2450 2451 * testsuite/libgomp.fortran/lastprivate-conditional-10.f90: New test. 2452 24532020-08-13 Kwok Cheung Yeung <kcy@codesourcery.com> 2454 2455 * testsuite/libgomp.c-c++-common/reduction-16.c: New. 2456 24572020-08-13 Jakub Jelinek <jakub@redhat.com> 2458 2459 * testsuite/libgomp.c/loop-22.c (main): Add some further tests. 2460 * testsuite/libgomp.c/loop-23.c (main): Likewise. 2461 * testsuite/libgomp.c/loop-24.c: New test. 2462 24632020-08-08 Jakub Jelinek <jakub@redhat.com> 2464 Tobias Burnus <tobias@codesourcery.com> 2465 2466 PR fortran/93553 2467 * testsuite/libgomp.fortran/pr93553.f90: New test. 2468 24692020-08-05 Jakub Jelinek <jakub@redhat.com> 2470 2471 * testsuite/libgomp.c/loop-22.c: New test. 2472 * testsuite/libgomp.c/loop-23.c: New test. 2473 24742020-08-05 Jakub Jelinek <jakub@redhat.com> 2475 2476 PR middle-end/96459 2477 * testsuite/libgomp.c/teams-3.c: New test. 2478 * testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing 2479 if not defined yet. 2480 (N(test)): Use it before all N(f*) calls. 2481 * testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define. 2482 (main): Don't call all test_* functions from within 2483 #pragma omp teams reduction(|:err), call them directly. 2484 24852020-08-04 Tom de Vries <tdevries@suse.de> 2486 2487 PR target/96428 2488 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test. 2489 * testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test. 2490 24912020-08-03 Julian Brown <julian@codesourcery.com> 2492 Thomas Schwinge <thomas@codesourcery.com> 2493 2494 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Don't run for 2495 shared-memory devices. Extend with further checking. 2496 24972020-08-03 Martin Jambor <mjambor@suse.cz> 2498 2499 * plugin/Makefrag.am: Remove configuration of HSA plugin. 2500 * aclocal.m4: Regenerated. 2501 * Makefile.in: Regenerated. 2502 * config.h.in: Regenerated. 2503 * configure: Regenerated. 2504 * plugin/configfrag.ac: Likewise. 2505 * plugin/hsa_ext_finalize.h: Removed. 2506 * plugin/plugin-hsa.c: Likewise. 2507 * testsuite/Makefile.in: Regenerated. 2508 * testsuite/lib/libgomp.exp 2509 (offload_target_to_openacc_device_type): Remove hsa case. 2510 (check_effective_target_hsa_offloading_selected_nocache): Removed 2511 (check_effective_target_hsa_offloading_selected): Likewise. 2512 (libgomp_init): Do not add -Wno-hsa to additional_flags. 2513 * testsuite/libgomp.hsa.c/alloca-1.c: Removed test. 2514 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise. 2515 * testsuite/libgomp.hsa.c/bits-insns.c: Likewise. 2516 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise. 2517 * testsuite/libgomp.hsa.c/c.exp: Likewise. 2518 * testsuite/libgomp.hsa.c/complex-1.c: Likewise. 2519 * testsuite/libgomp.hsa.c/complex-align-2.c: Likewise. 2520 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise. 2521 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise. 2522 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise. 2523 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise. 2524 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise. 2525 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise. 2526 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise. 2527 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise. 2528 * testsuite/libgomp.hsa.c/pr69568.c: Likewise. 2529 * testsuite/libgomp.hsa.c/pr82416.c: Likewise. 2530 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise. 2531 * testsuite/libgomp.hsa.c/staticvar.c: Likewise. 2532 * testsuite/libgomp.hsa.c/switch-1.c: Likewise. 2533 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise. 2534 * testsuite/libgomp.hsa.c/switch-sbr-2.c: Likewise. 2535 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise. 2536 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise. 2537 25382020-07-27 Julian Brown <julian@codesourcery.com> 2539 Thomas Schwinge <thomas@codesourcery.com> 2540 2541 * libgomp.h (struct target_var_desc): Rename do_detach field to 2542 is_attach. 2543 * oacc-mem.c (goacc_exit_datum_1): Add assert. Don't set finalize for 2544 GOMP_MAP_FORCE_DETACH. Update checking to use is_attach field. 2545 (goacc_enter_data_internal): Don't affect reference counts 2546 for attach mappings. 2547 (goacc_exit_data_internal): Don't affect reference counts for detach 2548 mappings. 2549 * target.c (gomp_map_vars_existing): Don't affect reference counts for 2550 attach mappings. 2551 (gomp_map_vars_internal): Set renamed is_attach flag unconditionally to 2552 mark attach mappings. 2553 (gomp_unmap_vars_internal): Use is_attach flag to prevent affecting 2554 reference count for attach mappings. 2555 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-1.c: New test. 2556 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test. 2557 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test. 2558 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Mark 2559 test as shouldfail. 2560 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust to fail 2561 gracefully in no-finalize mode. 2562 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-3.c: New file. 2563 25642020-07-24 Thomas Schwinge <thomas@codesourcery.com> 2565 2566 * testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after 2567 use. 2568 * testsuite/libgomp.oacc-c/c.exp: Likewise. 2569 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 2570 25712020-07-23 Julian Brown <julian@codesourcery.com> 2572 Thomas Schwinge <thomas@codesourcery.com> 2573 2574 * target.c (gomp_unmap_vars_internal): Remove unnecessary forcing of 2575 finalization for detach operation. 2576 * testsuite/libgomp.oacc-c-c++-common/structured-detach-underflow.c: 2577 New test. 2578 25792020-07-23 Tobias Burnus <tobias@codesourcery.com> 2580 2581 * configure.ac: Add OMP_DEPEND_KIND and OMP_INT128_SIZE. 2582 * libgomp_f.h.in (omp_check_defines): Check whether 2583 sizeof of determined Fortran kind and C typedef match. 2584 * omp_lib.f90.in: Add omp_depened_kind. 2585 * omp_lib.h.in: Likewise; fix omp_alloctrait_key_kind. 2586 * configure: Regenerate. 2587 * Makefile.in: Regenerate. 2588 * testsuite/Makefile.in: Regenerate. 2589 25902020-07-22 Tobias Burnus <tobias@codesourcery.com> 2591 2592 * testsuite/libgomp.c-c++-common/critical-hint-1.c: New; moved from 2593 gcc/testsuite/c-c++-common/gomp/. 2594 * testsuite/libgomp.c-c++-common/critical-hint-2.c: Likewise. 2595 * testsuite/libgomp.fortran/critical-hint-1.f90: New; moved 2596 from gcc/testsuite/gfortran.dg/gomp/. 2597 * testsuite/libgomp.fortran/critical-hint-2.f90: Likewise. 2598 25992020-07-22 Tobias Burnus <tobias@codesourcery.com> 2600 2601 * omp_lib.f90.in: Add omp_sync_hint_* and omp_sync_hint_kind. 2602 * omp_lib.h.in: Likewise. 2603 26042020-07-18 H.J. Lu <hjl.tools@gmail.com> 2605 2606 PR target/95620 2607 * testsuite/libgomp.c/pr95620.c: New test. 2608 26092020-07-16 Julian Brown <julian@codesourcery.com> 2610 Thomas Schwinge <thomas@codesourcery.com> 2611 2612 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test. 2613 * testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test. 2614 26152020-07-15 Tobias Burnus <tobias@codesourcery.com> 2616 2617 * testsuite/libgomp.fortran/alloc-1.F90: Use c_size_t to 2618 avoid conversion on 32bit systems from 32bit to 64bit due 2619 to -fdefault-integer-8. 2620 26212020-07-15 Tobias Burnus <tobias@codesourcery.com> 2622 2623 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused 2624 variables; add character(kind=4) tests; update TODO comment. 2625 26262020-07-15 Tobias Burnus <tobias@codesourcery.com> 2627 2628 * allocator.c: Add ialias for omp_init_allocator and 2629 omp_destroy_allocator. 2630 * configure.ac: Set INTPTR_T_KIND. 2631 * configure: Regenerate. 2632 * Makefile.in: Regenerate. 2633 * testsuite/Makefile.in: Regenerate. 2634 * fortran.c (omp_init_allocator_, omp_destroy_allocator_, 2635 omp_set_default_allocator_, omp_get_default_allocator_): New 2636 functions and ialias_redirect. 2637 * icv.c: Add ialias for omp_set_default_allocator and 2638 omp_get_default_allocator. 2639 * libgomp.map (OMP_5.0.1): Add omp_init_allocator_, 2640 omp_destroy_allocator_, omp_set_default_allocator_ and 2641 omp_get_default_allocator_. 2642 * omp_lib.f90.in: Add allocator traits parameters, declare 2643 allocator routines and add related kind parameters. 2644 * omp_lib.h.in: Likewise. 2645 * testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof. 2646 * testsuite/libgomp.fortran/alloc-1.F90: New test. 2647 * testsuite/libgomp.fortran/alloc-2.F90: New test. 2648 * testsuite/libgomp.fortran/alloc-3.F: New test. 2649 * testsuite/libgomp.fortran/alloc-4.f90: New test. 2650 * testsuite/libgomp.fortran/alloc-5.f90: New test. 2651 26522020-07-14 Tom de Vries <tom@codesourcery.com> 2653 Cesar Philippidis <cesar@codesourcery.com> 2654 Thomas Schwinge <thomas@codesourcery.com> 2655 Kwok Cheung Yeung <kcy@codesourcery.com> 2656 2657 * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread): 2658 New variable. 2659 (acc_init_1): Set acc_init_thread to pthread_self (). Set 2660 acc_init_state to initializing at the start, and to initialized at the 2661 end. 2662 (self_initializing_p): New function. 2663 (acc_get_device_type): Return acc_device_none if called by thread that 2664 is currently executing acc_init_1. 2665 * libgomp.texi (acc_get_device_type): Update documentation. 2666 (Implementation Status and Implementation-Defined Behavior): Likewise. 2667 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New. 2668 26692020-07-14 David Edelsohn <dje.gcc@gmail.com> 2670 2671 * config/t-aix: Set BITS from compiler cpp macro. 2672 26732020-07-14 Tobias Burnus <tobias@codesourcery.com> 2674 2675 * testsuite/libgomp.fortran/struct-elem-map-1.f90: New test. 2676 26772020-07-14 Tobias Burnus <tobias@codesourcery.com> 2678 2679 PR fortran/67311 2680 * testsuite/libgomp.fortran/target-map-1.f90: New test. 2681 26822020-07-14 Jakub Jelinek <jakub@redhat.com> 2683 2684 * testsuite/libgomp.c/loop-21.c: New test. 2685 26862020-07-13 Julian Brown <julian@codesourcery.com> 2687 Thomas Schwinge <thomas@codesourcery.com> 2688 2689 * testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test. 2690 26912020-07-10 Julian Brown <julian@codesourcery.com> 2692 Thomas Schwinge <thomas@codesourcery.com> 2693 2694 * libgomp.h (struct splay_tree_key_s): Change virtual_refcount to 2695 dynamic_refcount. 2696 (struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA. 2697 * oacc-mem.c (acc_map_data): Substitute virtual_refcount for 2698 dynamic_refcount. 2699 (acc_unmap_data): Update comment. 2700 (goacc_map_var_existing, goacc_enter_datum): Adjust for 2701 dynamic_refcount semantics. 2702 (goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking. 2703 Adjust for dynamic_refcount semantics. 2704 (goacc_enter_data_internal): Implement "present" case of dynamic 2705 memory-map handling here. Update "non-present" case for 2706 dynamic_refcount semantics. 2707 (goacc_exit_data_internal): Use goacc_exit_datum_1. 2708 * target.c (gomp_map_vars_internal): Remove 2709 GOMP_MAP_VARS_OPENACC_ENTER_DATA handling. Update for dynamic_refcount 2710 handling. 2711 (gomp_unmap_vars_internal): Remove virtual_refcount handling. 2712 (gomp_load_image_to_device): Substitute dynamic_refcount for 2713 virtual_refcount. 2714 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs. 2715 * testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test. 2716 * testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test. 2717 * testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test. 2718 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and 2719 trace output. 2720 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove 2721 trace output. 2722 * testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New 2723 test. 2724 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c: 2725 Remove stale comment. 2726 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs. 2727 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise. 2728 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise. 2729 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise. 2730 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise. 2731 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL. 2732 27332020-07-10 Julian Brown <julian@codesourcery.com> 2734 Thomas Schwinge <thomas@codesourcery.com> 2735 2736 * oacc-mem.c (goacc_map_var_existing): New function. 2737 (goacc_enter_datum): Use above function. 2738 (goacc_exit_datum_1): New function. 2739 (goacc_exit_datum): Use above function. 2740 27412020-07-09 Julian Brown <julian@codesourcery.com> 2742 Thomas Schwinge <thomas@codesourcery.com> 2743 2744 PR middle-end/95270 2745 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test. 2746 * testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test. 2747 27482020-07-09 Julian Brown <julian@codesourcery.com> 2749 2750 * oacc-mem.c (find_group_last): Group data-movement clauses 2751 (GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent 2752 GOMP_MAP_ATTACH. Allow standalone GOMP_MAP_ATTACH also. 2753 27542020-07-09 Jakub Jelinek <jakub@redhat.com> 2755 2756 * testsuite/libgomp.c/loop-19.c: New test. 2757 * testsuite/libgomp.c/loop-20.c: New test. 2758 27592020-07-09 Jakub Jelinek <jakub@redhat.com> 2760 2761 * omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from 2762 2 to -1. Add omp_atv_serialized and define omp_atv_sequential using 2763 it. Remove __omp_alloctrait_value_max__. 2764 * allocator.c (omp_init_allocator): Handle omp_atv_default for 2765 omp_atk_alignment and omp_atk_pool_size. 2766 27672020-07-03 Thomas Schwinge <thomas@codesourcery.com> 2768 2769 * oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom 2770 behavior for 'GOMP_MAP_FORCE_FROM'. 2771 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL. 2772 27732020-07-03 Thomas Schwinge <thomas@codesourcery.com> 2774 2775 * oacc-mem.c (goacc_exit_data_internal): Remove 2776 'GOMP_MAP_ALWAYS_FROM' handling. 2777 27782020-06-30 Thomas Schwinge <thomas@codesourcery.com> 2779 2780 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile 2781 'scan-assembler' with 'scan-offload-rtl'. 2782 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise. 2783 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise. 2784 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise. 2785 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise. 2786 27872020-06-30 Thomas Schwinge <thomas@codesourcery.com> 2788 2789 * target.c (gomp_map_vars_existing): Assert 'kind != 2790 GOMP_MAP_ATTACH'. 2791 (gomp_map_vars_internal): Clean up. 2792 27932020-06-27 Jakub Jelinek <jakub@redhat.com> 2794 2795 * testsuite/libgomp.c/loop-17.c: New test. 2796 * testsuite/libgomp.c/loop-18.c: New test. 2797 27982020-06-26 Marek Polacek <polacek@redhat.com> 2799 2800 * testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14. 2801 28022020-06-23 Alexandre Oliva <oliva@adacore.com> 2803 2804 * testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp. 2805 * testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps. 2806 28072020-06-22 David Edelsohn <dje.gcc@gmail.com> 2808 2809 * Makefile.am: Use -include. 2810 * Makefile.in: Regenerate. 2811 28122020-06-21 David Edelsohn <dje.gcc@gmail.com> 2813 2814 * Makefile.am (tmake_file): Build and install AIX-style FAT libraries. 2815 * Makefile.in: Regenerate 2816 * configure.ac (tmake_file): Substitute. 2817 * configure: Regenerate. 2818 * configure.tgt (powerpc-ibm-aix*): Define tmake_file. 2819 * config/t-aix: New file. 2820 28212020-06-17 Thomas Schwinge <thomas@codesourcery.com> 2822 2823 PR lto/94848 2824 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add 2825 'dg-do run'. 2826 28272020-06-17 Andrew Stubbs <ams@codesourcery.com> 2828 2829 * plugin/plugin-gcn.c (init_environment_variables): Use ".so.1" 2830 variant for HSA_RUNTIME_LIB name. 2831 (find_executable_symbol_1): Delete. 2832 (find_executable_symbol): Delete. 2833 (init_kernel_properties): Add ".kd" suffix to symbol names. 2834 (find_load_offset): Delete. 2835 (create_and_finalize_hsa_program): Remove relocation handling. 2836 28372020-06-16 Tobias Burnus <tobias@codesourcery.com> 2838 2839 * testsuite/libgomp.oacc-fortran/routine-10.f90: New test. 2840 28412020-06-08 Tobias Burnus <tobias@codesourcery.com> 2842 2843 PR lto/94848 2844 PR middle-end/95551 2845 * testsuite/libgomp.fortran/target-var.f90: New test. 2846 28472020-06-05 Thomas Schwinge <thomas@codesourcery.com> 2848 Julian Brown <julian@codesourcery.com> 2849 2850 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain 2851 special handling. 2852 28532020-06-05 Thomas Schwinge <thomas@codesourcery.com> 2854 Julian Brown <julian@codesourcery.com> 2855 2856 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: 2857 Simplify. 2858 28592020-06-05 Julian Brown <julian@codesourcery.com> 2860 2861 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test. 2862 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test. 2863 28642020-06-04 Thomas Schwinge <thomas@codesourcery.com> 2865 2866 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: 2867 Evaluate 'copyfrom' individually for each entry. 2868 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update. 2869 28702020-06-04 Thomas Schwinge <thomas@codesourcery.com> 2871 2872 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: 2873 Evaluate 'finalize' individually for each entry. 2874 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file. 2875 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove 2876 file. 2877 28782020-06-04 Thomas Schwinge <thomas@codesourcery.com> 2879 2880 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof' 2881 usage. 2882 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise. 2883 28842020-06-04 Thomas Schwinge <thomas@codesourcery.com> 2885 Julian Brown <julian@codesourcery.com> 2886 2887 * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped' 2888 checking. 2889 (acc_unmap_data, goacc_exit_data_internal): Restore 2890 'is_tgt_unmapped' checking. 2891 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New 2892 file. 2893 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust. 2894 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise. 2895 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise. 2896 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise. 2897 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise. 2898 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise. 2899 29002020-06-04 Thomas Schwinge <thomas@codesourcery.com> 2901 Julian Brown <julian@codesourcery.com> 2902 2903 * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'. 2904 29052020-06-04 Thomas Schwinge <thomas@codesourcery.com> 2906 2907 PR libgomp/92854 2908 * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting. 2909 29102020-06-04 Thomas Schwinge <thomas@codesourcery.com> 2911 2912 PR libgomp/92854 2913 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some 2914 more. 2915 29162020-06-04 Thomas Schwinge <thomas@codesourcery.com> 2917 Julian Brown <julian@codesourcery.com> 2918 2919 * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from 2920 'gomp_map_vars'. 2921 (acc_map_data): Clean up accordingly. 2922 29232020-06-04 Thomas Schwinge <thomas@codesourcery.com> 2924 2925 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior 2926 of over-eager 'finalize' clause. 2927 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New 2928 file. 2929 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise. 2930 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise. 2931 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise. 2932 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise. 2933 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise. 2934 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise. 2935 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise. 2936 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise. 2937 29382020-06-04 Thomas Schwinge <thomas@codesourcery.com> 2939 2940 * oacc-mem.c (goacc_exit_data_internal): Unlock on error path. 2941 29422020-06-04 Julian Brown <julian@codesourcery.com> 2943 2944 * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on 2945 error path. 2946 (goacc_detach_internal): Likewise. 2947 29482020-06-04 Thomas Schwinge <thomas@codesourcery.com> 2949 2950 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before 2951 the checkpoint. 2952 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise. 2953 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise. 2954 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise. 2955 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise. 2956 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise. 2957 29582020-06-02 Jakub Jelinek <jakub@redhat.com> 2959 2960 * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not 2961 defined. 2962 29632020-05-30 Jakub Jelinek <jakub@redhat.com> 2964 2965 * testsuite/libgomp.c-c++-common/alloc-4.c: New test. 2966 29672020-05-30 Jakub Jelinek <jakub@redhat.com> 2968 2969 * allocator.c (omp_alloc): For size == 0, return NULL early. 2970 29712020-05-29 H.J. Lu <hjl.tools@gmail.com> 2972 2973 PR bootstrap/95413 2974 * configure: Regenerated. 2975 29762020-05-23 Thomas Koenig <tkoenig@gcc.gnu.org> 2977 2978 PR libfortran/95191 2979 * testsuite/libgomp.fortran/async_io_9.f90: New test. 2980 29812020-05-19 Jakub Jelinek <jakub@redhat.com> 2982 2983 * omp.h.in (omp_uintptr_t): New typedef. 2984 (__GOMP_UINTPTR_T_ENUM): Define. 2985 (omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t, 2986 omp_alloctrait_value_t, omp_alloctrait_t): New typedefs. 2987 (__GOMP_DEFAULT_NULL_ALLOCATOR): Define. 2988 (omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator, 2989 omp_get_default_allocator, omp_alloc, omp_free): Declare. 2990 * libgomp.h (struct gomp_team_state): Add def_allocator field. 2991 (gomp_def_allocator): Declare. 2992 * libgomp.map (OMP_5.0.1): Export omp_set_default_allocator, 2993 omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator, 2994 omp_alloc and omp_free. 2995 * team.c (gomp_team_start): Copy over ts.def_allocator. 2996 * env.c (gomp_def_allocator): New variable. 2997 (parse_wait_policy): Adjust function comment. 2998 (parse_allocator): New function. 2999 (handle_omp_display_env): Print OMP_ALLOCATOR. 3000 (initialize_env): Call parse_allocator. 3001 * Makefile.am (libgomp_la_SOURCES): Add allocator.c. 3002 * allocator.c: New file. 3003 * icv.c (omp_set_default_allocator, omp_get_default_allocator): New 3004 functions. 3005 * testsuite/libgomp.c-c++-common/alloc-1.c: New test. 3006 * testsuite/libgomp.c-c++-common/alloc-2.c: New test. 3007 * testsuite/libgomp.c-c++-common/alloc-3.c: New test. 3008 * Makefile.in: Regenerated. 3009 30102020-05-15 H.J. Lu <hongjiu.lu@intel.com> 3011 3012 PR bootstrap/95147 3013 * configure: Regenerated. 3014 30152020-05-14 Thomas Koenig <tkoenig@gcc.gnu.org> 3016 3017 PR libfortran/95119 3018 * testsuite/libgomp.fortran/close_errors_1.f90: New test. 3019 30202020-05-14 H.J. Lu <hongjiu.lu@intel.com> 3021 3022 * configure: Regenerated. 3023 30242020-05-14 Jakub Jelinek <jakub@redhat.com> 3025 3026 * testsuite/libgomp.c-c++-common/target-40.c: New test. 3027 30282020-05-13 Tobias Burnus <tobias@codesourcery.com> 3029 3030 PR fortran/94690 3031 * testsuite/libgomp.fortran/pr66199-3.f90: New. 3032 * testsuite/libgomp.fortran/pr66199-4.f90: New. 3033 * testsuite/libgomp.fortran/pr66199-5.f90: New. 3034 * testsuite/libgomp.fortran/pr66199-6.f90: New. 3035 * testsuite/libgomp.fortran/pr66199-7.f90: New. 3036 * testsuite/libgomp.fortran/pr66199-8.f90: New. 3037 * testsuite/libgomp.fortran/pr66199-9.f90: New. 3038 30392020-05-12 Jakub Jelinek <jakub@redhat.com> 3040 3041 * testsuite/libgomp.c/target-39.c: New test. 3042 30432020-04-29 Thomas Schwinge <thomas@codesourcery.com> 3044 3045 * config/accel/openacc.f90 (acc_device_current): Set to '-1'. 3046 * openacc.f90 (acc_device_current): Likewise. 3047 * openacc.h (acc_device_current): Likewise. 3048 * openacc_lib.h (acc_device_current): Likewise. 3049 3050 PR target/94282 3051 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove 3052 'dg-allow-blank-lines-in-output'. 3053 3054 * oacc-init.c (get_openacc_name): Handle 'gcn'. 3055 * testsuite/lib/libgomp.exp 3056 (offload_target_to_openacc_device_type) [amdgcn*]: Return 3057 'radeon'. Adjust all users. 3058 (check_effective_target_openacc_amdgcn_accel_present): Rename 3059 to... 3060 (check_effective_target_openacc_radeon_accel_present): ... this. 3061 Adjust all users. 3062 (check_effective_target_openacc_amdgcn_accel_selected): Rename to... 3063 (check_effective_target_openacc_radeon_accel_selected): ... this. 3064 Adjust all users. 3065 3066 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add 3067 'dg-do run'. 3068 30692020-04-23 Andrew Stubbs <ams@codesourcery.com> 3070 3071 PR other/94629 3072 3073 * plugin/plugin-gcn.c (init_hsa_context): Check return value from 3074 hsa_iterate_agents. 3075 (GOMP_OFFLOAD_init_device): Check return values from both calls to 3076 hsa_agent_iterate_regions. 3077 30782020-04-20 Thomas Schwinge <thomas@codesourcery.com> 3079 3080 PR middle-end/94635 3081 * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do 3082 run'. 3083 30842020-04-20 Tobias Burnus <tobias@codesourcery.com> 3085 3086 PR middle-end/94120 3087 * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)' 3088 test case. 3089 30902020-04-17 Tobias Burnus <tobias@codesourcery.com> 3091 3092 PR middle-end/94635 3093 * testsuite/libgomp.fortran/target-enter-data-2.F90: New. 3094 30952020-04-13 Thomas Schwinge <thomas@codesourcery.com> 3096 3097 PR libgomp/92843 3098 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c: 3099 Rename to... 3100 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c: 3101 ... this. 3102 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c: 3103 Rename to... 3104 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c: 3105 ... this. 3106 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c: 3107 Rename to... 3108 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c: 3109 ... this. 3110 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c: 3111 Rename to... 3112 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c: 3113 ... this. 3114 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c: 3115 Rename to... 3116 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c: 3117 ... this. 3118 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c: 3119 Rename to... 3120 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c: 3121 ... this. 3122 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c: 3123 Rename to... 3124 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c: 3125 ... this. 3126 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c: 3127 Rename to... 3128 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c: 3129 ... this. 3130 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c: 3131 Rename to... 3132 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c: 3133 ... this. 3134 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c: 3135 Rename to... 3136 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c: 3137 ... this. 3138 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c: 3139 Rename to... 3140 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c: 3141 ... this. 3142 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c: 3143 Rename to... 3144 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c: 3145 ... this. 3146 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c: 3147 Rename to... 3148 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c: 3149 ... this. 3150 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c: 3151 Rename to... 3152 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c: 3153 ... this. 3154 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c: 3155 Rename to... 3156 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c: 3157 ... this. 3158 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:: 3159 Rename to... 3160 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c: 3161 ... this. 3162 31632020-04-10 Julian Brown <julian@codesourcery.com> 3164 Thomas Schwinge <thomas@codesourcery.com> 3165 3166 PR libgomp/92843 3167 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c: 3168 New file. 3169 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c: 3170 Likewise. 3171 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c: 3172 Likewise. 3173 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c: 3174 Likewise. 3175 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c: 3176 Likewise. 3177 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c: 3178 Likewise. 3179 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c: 3180 Likewise. 3181 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c: 3182 Likewise. 3183 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c: 3184 Likewise. 3185 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c: 3186 Likewise. 3187 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c: 3188 Likewise. 3189 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c: 3190 Likewise. 3191 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c: 3192 Likewise. 3193 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c: 3194 Likewise. 3195 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c: 3196 Likewise. 3197 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c: 3198 Likewise. 3199 32002020-04-10 Thomas Schwinge <thomas@codesourcery.com> 3201 3202 * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do 3203 run'. 3204 32052020-04-08 Tobias Burnus <tobias@codesourcery.com> 3206 3207 PR middle-end/94120 3208 * libgomp.oacc-c++/declare-pr94120.C: New. 3209 32102020-04-06 Maciej W. Rozycki <macro@wdc.com> 3211 3212 * configure.ac: Add testsuite/libgomp-site-extra.exp to output 3213 files. 3214 * configure: Regenerate. 3215 * testsuite/libgomp-site-extra.exp.in: New file. 3216 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove 3217 variable. 3218 * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New 3219 variable. 3220 * testsuite/Makefile.in: Regenerate. 3221 32222020-04-03 Thomas Schwinge <thomas@codesourcery.com> 3223 3224 PR tree-optimization/89713 3225 PR c/94392 3226 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect 3227 'bar.sync'. 3228 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise. 3229 32302020-03-31 Tobias Burnus <tobias@codesourcery.com> 3231 3232 * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER. 3233 * testsuite/libgomp.fortran/target-enter-data-1.f90: New. 3234 32352020-03-24 Tobias Burnus <tobias@codesourcery.com> 3236 3237 PR libgomp/81689 3238 * testsuite/libgomp.c/target-link-1.c: Remove xfail. 3239 32402020-03-20 Tobias Burnus <tobias@codesourcery.com> 3241 3242 PR libgomp/94251 3243 * target.c (gomp_load_image_to_device): Fix link 3244 variable handling. 3245 32462020-03-19 Jakub Jelinek <jakub@redhat.com> 3247 3248 PR c++/93931 3249 * testsuite/libgomp.c++/pr93931.C: New test. 3250 32512020-03-19 Tobias Burnus <tobias@codesourcery.com> 3252 3253 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add 3254 dg-allow-blank-lines-in-output. 3255 32562020-03-18 Julian Brown <julian@codesourcery.com> 3257 Tobias Burnus <tobias@codesourcery.com> 3258 3259 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make 3260 it work concurrently. 3261 32622020-03-18 Tobias Burnus <tobias@codesourcery.com> 3263 3264 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add 3265 #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn. 3266 * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise. 3267 32682020-03-14 Jakub Jelinek <jakub@redhat.com> 3269 3270 PR middle-end/93566 3271 * testsuite/libgomp.c/pr93566.c: New test. 3272 32732020-02-21 Frederik Harwath <frederik@codesourcery.com> 3274 3275 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to 3276 changes from 2020-02-19, i.e. use integer(c_size_t) instead of 3277 integer(acc_device_property) for the type of the return value of 3278 acc_get_property. 3279 32802020-02-19 Tobias Burnus <tobias@codesourcery.com> 3281 3282 * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h. 3283 * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current. 3284 (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup. 3285 * libgomp.texi (Enabling OpenACC): No longer mark as experimental. 3286 (acc_set_device_num): Fix Fortran argument name, use same name for C. 3287 (acc_get_property): Update Fortran interface to post-OpenACC 3.0 3288 corrections; add note about the previous interface and named constant. 3289 (OpenACC library and environment variables): Fix two typos. 3290 * openacc.f90: Use for all procedures the argument names from the spec 3291 as for …_h they are user visible. 3292 (openacc_kinds): Rename acc_device_property to 3293 acc_device_property_kinds and change value to int32 ; and update users. 3294 Re-add acc_device_property for for backward compatibility. 3295 (acc_get_property_string_h): Clean up as acc_device_property_kind 3296 changed. 3297 (acc_get_property_h): Likewise and return c_size_t instead of 3298 acc_device_property. 3299 (openacc): Also export acc_device_property_kinds. 3300 (acc_async_test_h, acc_async_test_all_h, acc_on_device_h, 3301 acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value 3302 handling; check against /= 0 instead of == 1 to match C. 3303 * openacc_lib.h: Use for all procedures the argument names from the spec 3304 as for …_h they are user visible. Place !GCC$ into the first column to 3305 be active also for fixed-form souce form. 3306 (acc_device_current, acc_device_property_kind, acc_device_property, 3307 acc_property_memory, acc_property_free_memory, acc_property_name, 3308 acc_property_vendor, acc_property_driver): New named constants. 3309 (acc_get_property, acc_get_property_string): New generic interface. 3310 33112020-02-13 Frederik Harwath <frederik@codesourcery.com> 3312 3313 PR libgomp/93481 3314 * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub. 3315 * target.c (gomp_load_plugin_for_device): Make "async_run" loading 3316 optional. 3317 (gomp_target_task_fn): Assert "devicep->async_run_func". 3318 (clear_unsupported_flags): New function to remove unsupported flags 3319 (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored. 3320 (GOMP_target_ext): Apply clear_unsupported_flags to flags. 3321 * testsuite/libgomp.c/target-33.c: 3322 Remove xfail for offload_target_nvptx. 3323 * testsuite/libgomp.c/target-34.c: Likewise. 3324 33252020-02-10 Frederik Harwath <frederik@codesourcery.com> 3326 3327 * testsuite/libgomp.c/target-33.c: Add xfail for execution on 3328 offload_target_nvptx, cf. https://gcc.gnu.org/PR81688. 3329 * testsuite/libgomp.c/target-34.c: Likewise. 3330 * testsuite/libgomp.c/target-link-1.c: Add xfail for 3331 offload_target_nvptx, cf. https://gcc.gnu.org/PR81689. 3332 33332020-02-09 Jakub Jelinek <jakub@redhat.com> 3334 3335 * testsuite/libgomp.c/target-38.c: New test. 3336 33372020-02-06 Jakub Jelinek <jakub@redhat.com> 3338 3339 PR libgomp/93515 3340 * testsuite/libgomp.c-c++-common/pr93515.c: New test. 3341 33422020-02-05 Tobias Burnus <tobias@codesourcery.com> 3343 3344 * testsuite/lib/libgomp.exp 3345 (check_effective_target_offload_target_nvptx): Pass flags as 'options' 3346 and not as 'source' argument to libgomp_target_compile. 3347 33482020-02-03 Andrew Stubbs <ams@codesourcery.com> 3349 3350 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove. 3351 (gcn_gfx801_s): Remove. 3352 (isa_hsa_name): Remove gfx801. 3353 (isa_gcc_name): Remove gfx801/carizzo. 3354 (isa_code): Remove gfx801. 3355 33562020-02-03 Julian Brown <julian@codesourcery.com> 3357 Tobias Burnus <tobias@codesourcery.com> 3358 3359 * libgomp.texi (OpenACC Runtime Library Routines): Document *_async 3360 and *_finalize variants; document acc_attach and acc_detach; update 3361 references from OpenACC 2.0 to 2.6. 3362 * openacc.f90 (openacc_version): Update to 201711. 3363 * openacc_lib.h (openacc_version): Update to 201711. 3364 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected 3365 openacc_version to 201711. 3366 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise. 3367 33682020-01-31 Kwok Cheung Yeung <kcy@codesourcery.com> 3369 3370 * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count 3371 and vgpr_count fields. 3372 (struct kernel_info): Add a field for a hsa_kernel_description. 3373 (run_kernel): Reduce the number of threads/workers if the requested 3374 number would require too many VGPRs. 3375 (init_basic_kernel_info): Initialize description field with 3376 the hsa_kernel_description entry for the kernel. 3377 33782020-01-29 Tobias Burnus <tobias@codesourcery.com> 3379 3380 PR bootstrap/93409 3381 * plugin/configfrag.ac (enable_offload_targets): Skip 3382 HSA and GCN plugin besides -m32 also for -mx32. 3383 * configure: Regenerate. 3384 33852020-01-29 Frederik Harwath <frederik@codesourcery.com> 3386 3387 * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon. 3388 33892020-01-29 Frederik Harwath <frederik@codesourcery.com> 3390 3391 * plugin-gcn.c (struct agent_info): Add fields "name" and 3392 "vendor_name" ... 3393 (GOMP_OFFLOAD_init_device): ... and init from here. 3394 (struct hsa_context_info): Add field "driver_version_s" ... 3395 (init_hsa_contest): ... and init from here. 3396 (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper 3397 implementation. 3398 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: 3399 Enable test execution for amdgcn and host offloading targets. 3400 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise. 3401 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c 3402 (expect_device_properties): Split function into ... 3403 (expect_device_string_properties): ... this new function ... 3404 (expect_device_memory): ... and this new function. 3405 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c: 3406 Add test. 3407 34082020-01-28 Julian Brown <julian@codesourcery.com> 3409 3410 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here. 3411 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed 3412 component/non-component variable refs in a single directive. 3413 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise. 3414 34152020-01-24 Maciej W. Rozycki <macro@wdc.com> 3416 3417 * configure.ac: Handle `--with-toolexeclibdir='. 3418 * Makefile.in: Regenerate. 3419 * aclocal.m4: Regenerate. 3420 * configure: Regenerate. 3421 * testsuite/Makefile.in: Regenerate. 3422 34232020-01-24 Frederik Harwath <frederik@codesourcery.com> 3424 3425 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c 3426 (expect_device_properties): Remove "expected_free_mem" argument, 3427 change "expected_total_mem" argument type to size_t; 3428 change types of acc_get_property results to size_t, 3429 adapt format strings. 3430 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: 3431 Use %zu instead of %zd to print size_t values. 3432 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and 3433 rename to ... 3434 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this. 3435 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and 3436 rename to ... 3437 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this. 3438 34392020-01-23 Andrew Stubbs <ams@codesourcery.com> 3440 3441 * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for 3442 the device id. 3443 34442020-01-20 Andrew Stubbs <ams@codesourcery.com> 3445 3446 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn. 3447 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main): 3448 Adjust test dimensions for amdgcn. 3449 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust 3450 gang/worker/vector expectations dynamically. 3451 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c 3452 (main): Likewise. 3453 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise. 3454 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise. 3455 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise. 3456 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise. 3457 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise. 3458 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise. 3459 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise. 3460 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise. 3461 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c 3462 (acc_gang): Recognise acc_device_radeon. 3463 (acc_worker): Likewise. 3464 (acc_vector): Likewise. 3465 (main): Set expectations for amdgcn. 3466 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c 3467 (main): Adjust gang/worker/vector expectations dynamically. 3468 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise. 3469 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise. 3470 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise. 3471 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations 3472 for amdgcn. 3473 34742020-01-17 Andrew Stubbs <ams@codesourcery.com> 3475 3476 * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to 3477 acc_device_radeon. 3478 (openacc): Likewise. 3479 * openacc.f90 (openacc_kinds): Likewise. 3480 (openacc): Likewise. 3481 * openacc.h (acc_device_t): Likewise. 3482 * openacc_lib.h: Likewise. 3483 * testsuite/lib/libgomp.exp 3484 (check_effective_target_openacc_amdgcn_accel_present): Likewise. 3485 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c 3486 (cb_compute_construct_end): Likewise. 3487 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c 3488 (cb_enqueue_launch_start): Likewise. 3489 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c 3490 (cb_enter_data_end): Likewise. 3491 (cb_exit_data_start): Likewise. 3492 (cb_exit_data_end): Likewise. 3493 (cb_compute_construct_end): Likewise. 3494 (cb_enqueue_launch_start): Likewise. 3495 (cb_enqueue_launch_end): Likewise. 3496 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c 3497 (main): Likewise. 3498 34992020-01-10 Thomas Schwinge <thomas@codesourcery.com> 3500 3501 * libgomp-plugin.h (enum goacc_property): New. Adjust all users 3502 to use this instead of 'enum gomp_device_property'. 3503 (GOMP_OFFLOAD_get_property): Rename to... 3504 (GOMP_OFFLOAD_openacc_get_property): ... this. Adjust all users. 3505 * libgomp.h (struct gomp_device_descr): Move 3506 'GOMP_OFFLOAD_openacc_get_property'... 3507 (struct acc_dispatch_t): ... here. Adjust all users. 3508 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove. 3509 3510 * target.c (gomp_map_vars_internal) 3511 <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code 3512 paths. 3513 35142020-01-10 Jakub Jelinek <jakub@redhat.com> 3515 3516 PR libgomp/93219 3517 * libgomp.h (gomp_print_string): Change return type from void to int. 3518 * affinity-fmt.c (gomp_print_string): Likewise. Return true if 3519 not all characters have been written. 3520 35212020-01-08 Tobias Burnus <tobias@codesourcery.com> 3522 3523 * libgomp.texi: Fix typos, use https. 3524 35252020-01-03 Tobias Burnus <tobias@codesourcery.com> 3526 3527 * testsuite/libgomp.fortran/optional-map.f90: Add test for 3528 unallocated/disassociated actual arguments to nonallocatable/nonpointer 3529 dummy arguments; those are/shall be regarded as absent arguments. 3530 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto. 3531 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New. 3532 35332020-01-01 Jakub Jelinek <jakub@redhat.com> 3534 3535 Update copyright years. 3536 3537 * libgomp.texi: Bump @copying's copyright year. 3538 35392019-12-31 Ayush Mittal <ayush.m@samsung.com> 3540 3541 PR libgomp/93065 3542 * oacc-init.c (goacc_runtime_deinitialize): New function. 3543 35442019-12-28 Jakub Jelinek <jakub@redhat.com> 3545 3546 PR bootstrap/93074 3547 * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare. 3548 (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2. 3549 35502019-12-22 Maciej W. Rozycki <macro@codesourcery.com> 3551 Frederik Harwath <frederik@codesourcery.com> 3552 Thomas Schwinge <tschwinge@codesourcery.com> 3553 3554 * libgomp.h (gomp_device_descr): Add `get_property_func' member. 3555 * libgomp-plugin.h (gomp_device_property_value): New union. 3556 (gomp_device_property_value): New prototype. 3557 * openacc.h (acc_device_t): Add `acc_device_current' enumeration 3558 constant. 3559 (acc_device_property_t): New enum. 3560 (acc_get_property, acc_get_property_string): New prototypes. 3561 * oacc-init.c (acc_get_device_type): Also assert that result 3562 is not `acc_device_current'. 3563 (get_property_any, acc_get_property, acc_get_property_string): 3564 New functions. 3565 * openacc.f90 (openacc_kinds): Add `acc_device_current' and 3566 `acc_property_memory', `acc_property_free_memory', 3567 `acc_property_name', `acc_property_vendor' and 3568 `acc_property_driver' constants. Add `acc_device_property' data 3569 type. 3570 (openacc_internal): Add `acc_get_property' and 3571 `acc_get_property_string' interfaces. Add `acc_get_property_h', 3572 `acc_get_property_string_h', `acc_get_property_l' and 3573 `acc_get_property_string_l'. 3574 * oacc-host.c (host_get_property): New function. 3575 (host_dispatch): Wire it. 3576 * target.c (gomp_load_plugin_for_device): Handle `get_property'. 3577 * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_', 3578 `acc_get_property_string' and `acc_get_property_string_h_' symbols. 3579 * libgomp.texi (OpenACC Runtime Library Routines): Add 3580 `acc_get_property'. 3581 (acc_get_property): New node. 3582 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New 3583 function (stub). 3584 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function. 3585 * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName', 3586 `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo' 3587 calls. 3588 (GOMP_OFFLOAD_get_property): New function. 3589 (struct ptx_device): Add new field "name". 3590 (cuda_driver_version_s): Add new static variable ... 3591 (nvptx_init): ... and init from here. 3592 3593 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test. 3594 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test. 3595 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test. 3596 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file 3597 with test helper functions. 3598 3599 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test. 3600 36012019-12-22 Maciej W. Rozycki <macro@wdc.com> 3602 3603 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New 3604 variable. 3605 36062019-12-21 Thomas Schwinge <thomas@codesourcery.com> 3607 3608 * target.c (gomp_map_vars_internal): Restore 'omp declare target 3609 link' handling. 3610 36112019-12-19 Julian Brown <julian@codesourcery.com> 3612 3613 * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test. 3614 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test. 3615 * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test. 3616 36172019-12-19 Julian Brown <julian@codesourcery.com> 3618 Cesar Philippidis <cesar@codesourcery.com> 3619 3620 * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test. 3621 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test. 3622 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test. 3623 * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test. 3624 * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test. 3625 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test. 3626 * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test. 3627 * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test. 3628 * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test. 3629 * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test. 3630 * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test. 3631 * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test. 3632 * testsuite/libgomp.oacc-fortran/update-2.f90: New test. 3633 36342019-12-19 Julian Brown <julian@codesourcery.com> 3635 3636 * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test. 3637 * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test. 3638 * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test. 3639 * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test. 3640 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test. 3641 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test. 3642 * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test. 3643 * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test. 3644 * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test. 3645 * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test. 3646 * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test. 3647 * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test. 3648 36492019-12-19 Julian Brown <julian@codesourcery.com> 3650 3651 * libgomp.h (struct target_var_desc): Add do_detach flag. 3652 * oacc-init.c (acc_shutdown_1): Free aux block if present. 3653 * oacc-mem.c (find_group_last): Add SIZES parameter. Support 3654 struct components. Tidy up and add some new checks. 3655 (goacc_enter_data_internal): Update call to find_group_last. 3656 (goacc_exit_data_internal): Support detach operations and 3657 GOMP_MAP_STRUCT. 3658 (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or 3659 GOMP_MAP_FORCE_PRESENT in finalization detection code. Handle 3660 attach/detach in enter/exit data detection code. 3661 * target.c (gomp_map_vars_existing): Initialise do_detach field of 3662 tgt_var_desc. 3663 (gomp_map_vars_internal): Support attach. 3664 (gomp_unmap_vars_internal): Support detach. 3665 36662019-12-19 Julian Brown <julian@codesourcery.com> 3667 Thomas Schwinge <thomas@codesourcery.com> 3668 3669 * libgomp.h (struct splay_tree_aux): Add attach_count field. 3670 (gomp_attach_pointer, gomp_detach_pointer): Add prototypes. 3671 * libgomp.map (OACC_2.6): New section. Add acc_attach, 3672 acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize, 3673 acc_detach_finalize_async. 3674 * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal, 3675 acc_detach, acc_detach_async, acc_detach_finalize, 3676 acc_detach_finalize_async): New functions. 3677 * openacc.h (acc_attach, acc_attach_async, acc_detach, 3678 (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add 3679 prototypes. 3680 * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions. 3681 (gomp_remove_var_internal): Free attachment counts if present. 3682 * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test. 3683 * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test. 3684 36852019-12-19 Julian Brown <julian@codesourcery.com> 3686 Cesar Philippidis <cesar@codesourcery.com> 3687 3688 * libgomp.h (gomp_map_val): Add prototype. 3689 * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of 3690 open-coding device-address calculation. 3691 * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in 3692 non-present case. 3693 36942019-12-19 Julian Brown <julian@codesourcery.com> 3695 3696 * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount 3697 field for virtual_refcount. 3698 (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA. 3699 (gomp_free_memmap): Remove prototype. 3700 * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var 3701 instead of calling gomp_free_memmap. 3702 * oacc-mem.c (acc_map_data): Use virtual_refcount instead of 3703 dynamic_refcount. 3704 (acc_unmap_data): Open code instead of forcing target_mem_desc's 3705 to_free field to NULL then calling gomp_unmap_vars. Handle 3706 REFCOUNT_INFINITY on target blocks. 3707 (goacc_enter_data): Rename to... 3708 (goacc_enter_datum): ...this. Remove MAPNUM parameter and special 3709 handling for mapping groups. Use virtual_refcount instead of 3710 dynamic_refcount. Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for 3711 map_map_vars_async call. Re-do lookup for target pointer return value. 3712 (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call 3713 renamed goacc_enter_datum function. 3714 (goacc_exit_data): Rename to... 3715 (goacc_exit_datum): ...this. Update for virtual_refcount semantics. 3716 (acc_delete, acc_delete_async, acc_delete_finalize, 3717 acc_delete_finalize_async, acc_copyout, acc_copyout_async, 3718 acc_copyout_finalize, acc_copyout_finalize_async): Call renamed 3719 goacc_exit_datum function. 3720 (gomp_acc_remove_pointer, find_pointer): Remove functions. 3721 (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal): 3722 New functions. 3723 (GOACC_enter_exit_data): Use goacc_enter_data_internal and 3724 goacc_exit_data_internal helper functions. 3725 * target.c (gomp_map_vars_internal): Handle 3726 GOMP_MAP_VARS_OPENACC_ENTER_DATA. Update for virtual_refcount 3727 semantics. 3728 (gomp_unmap_vars_internal): Update for virtual_refcount semantics. 3729 (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise 3730 virtual_refcount field instead of dynamic_refcount. 3731 (gomp_free_memmap): Remove function. 3732 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test. 3733 * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test. 3734 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL. 3735 37362019-12-19 Julian Brown <julian@codesourcery.com> 3737 Thomas Schwinge <thomas@codesourcery.com> 3738 3739 * libgomp.h (struct splay_tree_aux): New. 3740 (struct splay_tree_key_s): Replace link_key field with aux pointer. 3741 * target.c (gomp_map_vars_internal): Adjust for link_key being moved 3742 to aux struct. 3743 (gomp_remove_var_internal): Free aux block if present. 3744 (gomp_load_image_to_device): Zero-initialise aux field instead of 3745 link_key field. 3746 (omp_target_associate_pointer): Zero-initialise aux field. 3747 37482019-12-18 Jakub Jelinek <jakub@redhat.com> 3749 3750 PR middle-end/86416 3751 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than 3752 q or none. 3753 * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than 3754 L or none. 3755 37562019-12-19 Julian Brown <julian@codesourcery.com> 3757 Maciej W. Rozycki <macro@codesourcery.com> 3758 Tobias Burnus <tobias@codesourcery.com> 3759 Thomas Schwinge <thomas@codesourcery.com> 3760 3761 * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC. 3762 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test. 3763 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test. 3764 * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test. 3765 * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test. 3766 * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test. 3767 * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test. 3768 * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test. 3769 * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test. 3770 37712019-12-18 Thomas Schwinge <thomas@codesourcery.com> 3772 3773 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be 3774 called... 3775 (goacc_insert_pointer): ... from here, "present" case. 3776 (goacc_insert_pointer): Inline function into... 3777 (GOACC_enter_exit_data): ... here, and simplify. 3778 3779 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be 3780 called... 3781 (goacc_insert_pointer): ... from here, "not present" case. 3782 3783 * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust 3784 all users. 3785 3786 * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call 3787 'goacc_enter_data', 'goacc_exit_data'. 3788 3789 * oacc-mem.c (delete_copyout): Refactor into... 3790 (goacc_exit_data): ... this. Adjust all users. 3791 3792 * oacc-mem.c (present_create_copy): Refactor into... 3793 (goacc_enter_data): ... this. Adjust all users. 3794 3795 * target.c (gomp_unmap_vars_internal): Add a safeguard to 3796 'gomp_remove_var'. 3797 3798 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM' 3799 like 'GOMP_MAP_FROM'. 3800 3801 PR libgomp/92726 3802 PR libgomp/92970 3803 PR libgomp/92984 3804 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host' 3805 fails. 3806 (GOACC_enter_exit_data): Simplify accordingly. 3807 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file, 3808 subsuming... 3809 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file... 3810 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this 3811 file. 3812 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file, 3813 subsuming... 3814 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file... 3815 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this 3816 file. 3817 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file, 3818 subsuming... 3819 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file. 3820 3821 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data' 3822 'finalize' handling. 3823 3824 PR libgomp/92848 3825 * oacc-mem.c (acc_map_data, present_create_copy) 3826 (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'. 3827 (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust. 3828 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove. 3829 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file 3830 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise. 3831 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise. 3832 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise. 3833 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c: 3834 Remove "XFAIL"s. 3835 3836 * target.c (gomp_unmap_tgt): Make it 'static'. 3837 * libgomp.h (gomp_unmap_tgt): Remove. 3838 38392019-12-18 Tobias Burnus <tobias@codesourcery.com> 3840 3841 PR middle-end/86416 3842 * testsuite/libgomp.c/pr86416-1.c: New. 3843 * testsuite/libgomp.c/pr86416-2.c: New. 3844 38452019-12-17 Tobias Burnus <tobias@codesourcery.com> 3846 3847 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark 3848 all symbols as public except for the 'use …, only' imported symbol, 3849 which is private. 3850 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark 3851 all symbols from module openacc_kinds as PUBLIC 3852 * openacc.f90: Add comment with crossref to that file and openmp_lib.h; 3853 fix comment typo. 3854 * openacc_lib.h (acc_device_gcn): Add this PARAMETER. 3855 38562019-12-13 Julian Brown <julian@codesourcery.com> 3857 3858 PR libgomp/92881 3859 3860 * libgomp.h (gomp_remove_var_async): Add prototype. 3861 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of 3862 gomp_remove_var. 3863 * target.c (gomp_unref_tgt): Change return type to bool, indicating 3864 whether target_mem_desc was unmapped. 3865 (gomp_unref_tgt_void): New. 3866 (gomp_remove_var): Reimplement in terms of... 3867 (gomp_remove_var_internal): ...this new helper function. 3868 (gomp_remove_var_async): New, implemented using above helper function. 3869 (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of 3870 gomp_unref_tgt. 3871 38722019-12-13 Andrew Stubbs <ams@codesourcery.com> 3873 3874 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn. 3875 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise. 3876 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise. 3877 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise. 3878 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: 3879 Likewise. 3880 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN. 3881 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise. 3882 38832019-12-13 Tobias Burnus <tobias@codesourcery.com> 3884 3885 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols 3886 as public except for the 'use …, only' imported symbol, which is 3887 private. 3888 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark 3889 all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC 3890 attributes for acc_copyout_finalize and acc_delete_finalize. 3891 38922019-12-11 Jakub Jelinek <jakub@redhat.com> 3893 3894 PR fortran/92899 3895 * testsuite/libgomp.fortran/atomic1.f90: New test. 3896 38972019-12-11 Thomas Schwinge <thomas@codesourcery.com> 3898 3899 PR libgomp/92843 3900 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic 3901 reference counting for structured 'REFCOUNT_INFINITY'. Add some 3902 assertions. 3903 (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly. 3904 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file. 3905 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC. 3906 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise. 3907 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise. 3908 3909 * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move... 3910 * oacc-mem.c: ... here. 3911 (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to 3912 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'. 3913 * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer): 3914 Remove. 3915 * libgomp_g.h: Update. 3916 3917 * oacc-parallel.c (GOACC_wait, goacc_wait): Move... 3918 * oacc-async.c: ... here. 3919 * oacc-int.h (goacc_wait): Declare. 3920 * libgomp_g.h: Update 3921 3922 PR libgomp/92854 3923 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c: 3924 New file. 3925 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c: 3926 Likewise. 3927 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c: 3928 Likewise. 3929 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c: 3930 Likewise. 3931 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c: 3932 Likewise. 3933 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c: 3934 Likewise. 3935 39362019-12-11 Thomas Schwinge <thomas@codesourcery.com> 3937 Julian Brown <julian@codesourcery.com> 3938 3939 * target.c (gomp_load_image_to_device, omp_target_associate_ptr): 3940 Initialize 'dynamic_refcount' whenever we initialize 'refcount'. 3941 39422019-12-11 Tobias Burnus <tobias@codesourcery.com> 3943 3944 * omp_lib.h.in: Fix spelling of function declaration 3945 omp_get_cancell(l)ation. 3946 * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all): 3947 Fix typos. 3948 * env.c: Fix comment typos. 3949 * oacc-host.c: Likewise. 3950 * ordered.c: Likewise. 3951 * task.c: Likewise. 3952 * team.c: Likewise. 3953 * config/gcn/task.c: Likewise. 3954 * config/gcn/team.c: Likewise. 3955 * config/nvptx/task.c: Likewise. 3956 * config/nvptx/team.c: Likewise. 3957 * plugin/plugin-gcn.c: Likewise. 3958 * testsuite/libgomp.fortran/jacobi.f: Likewise. 3959 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise. 3960 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise. 3961 39622019-12-11 Tobias Burnus <tobias@codesourcery.com> 3963 3964 * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'. 3965 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove 3966 unnecessary 'dg-additional-options "-w"'. 3967 39682019-12-09 Thomas Schwinge <thomas@codesourcery.com> 3969 Julian Brown <julian@codesourcery.com> 3970 3971 PR libgomp/92116 3972 PR libgomp/92877 3973 3974 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users. 3975 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member. 3976 Adjust all users. 3977 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c: 3978 Remove XFAIL. 3979 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c: 3980 Likewise. 3981 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file. 3982 39832019-12-09 Thomas Schwinge <thomas@codesourcery.com> 3984 3985 PR libgomp/92503 3986 * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'. 3987 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New 3988 file. 3989 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c: 3990 Likewise. 3991 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c: 3992 Likewise. 3993 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c: 3994 Likewise. 3995 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c: 3996 Likewise. 3997 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c: 3998 Likewise. 3999 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust. 4000 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise. 4001 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise. 4002 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise. 4003 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise. 4004 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise. 4005 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise. 4006 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise. 4007 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise. 4008 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise. 4009 4010 PR libgomp/92840 4011 * oacc-mem.c (acc_map_data): Clarify reference counting behavior. 4012 (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'. 4013 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c: 4014 New file. 4015 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c: 4016 Likewise. 4017 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c: 4018 Likewise. 4019 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust. 4020 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust. 4021 4022 PR libgomp/92511 4023 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove 4024 this file... 4025 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and 4026 this file... 4027 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this 4028 file... 4029 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this 4030 file... 4031 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c: 4032 ... with their content moved into, and extended in this new file. 4033 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c: 4034 New file. 4035 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c: 4036 Likewise. 4037 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c: 4038 Likewise. 4039 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c: 4040 Likewise. 4041 4042 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file. 4043 4044 PR libgomp/92854 4045 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file. 4046 4047 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file. 4048 4049 * target.c (gomp_exit_data): Use 'gomp_remove_var'. 4050 40512019-12-09 Tobias Burnus <tobias@codesourcery.com> 4052 4053 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes 4054 unique. 4055 * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto. 4056 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto. 4057 * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto. 4058 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: 4059 Ditto. 4060 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto. 4061 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto. 4062 40632019-12-06 Kwok Cheung Yeung <kcy@codesourcery.com> 4064 4065 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro. 4066 40672019-12-06 Tobias Burnus <tobias@codesourcery.com> 4068 Kwok Cheung Yeung <kcy@codesourcery.com> 4069 4070 * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return 4071 if input it a NULL pointer. 4072 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on 4073 diagnostic of NULL pointer. 4074 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto. 4075 * testsuite/libgomp.fortran/optional-map.f90: New. 4076 * testsuite/libgomp.fortran/use_device_addr-1.f90 4077 (test_dummy_opt_callee_1_absent): New. 4078 (test_dummy_opt_call_1): Call it. 4079 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise. 4080 * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise. 4081 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise. 4082 * testsuite/libgomp.oacc-fortran/optional-cache.f95: New. 4083 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New. 4084 * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New. 4085 * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New. 4086 * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New. 4087 * testsuite/libgomp.oacc-fortran/optional-declare.f90: New. 4088 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New. 4089 * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New. 4090 * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New. 4091 * testsuite/libgomp.oacc-fortran/optional-private.f90: New. 4092 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New. 4093 * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New. 4094 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New. 4095 40962019-12-05 Tobias Burnus <tobias@codesourcery.com> 4097 4098 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't 4099 expect dg-output of 'Error termination.' for GCN. 4100 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise. 4101 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise. 4102 41032019-12-04 Jakub Jelinek <jakub@redhat.com> 4104 4105 PR fortran/92756 4106 * testsuite/libgomp.fortran/teams1.f90: New test. 4107 * testsuite/libgomp.fortran/teams2.f90: New test. 4108 41092019-12-03 Frederik Harwath <frederik@codesourcery.com> 4110 4111 * oacc-init.c (acc_known_device_type): Add function. 4112 (unknown_device_type_error): Add function. 4113 (name_of_acc_device_t): Change to call unknown_device_type_error 4114 on unknown type. 4115 (resolve_device): Use acc_known_device_type. 4116 (acc_init): Fail if acc_device_t argument is not valid. 4117 (acc_shutdown): Likewise. 4118 (acc_get_num_devices): Likewise. 4119 (acc_set_device_type): Likewise. 4120 (acc_get_device_num): Likewise. 4121 (acc_set_device_num): Likewise. 4122 (acc_on_device): Add comment that argument validity is not checked. 4123 41242019-12-03 Andrew Stubbs <ams@codesourcery.com> 4125 4126 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type): 4127 Recognize amdgcn. 4128 (check_effective_target_openacc_amdgcn_accel_present): New proc. 4129 (check_effective_target_openacc_amdgcn_accel_selected): New proc. 4130 * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn. 4131 * testsuite/libgomp.oacc-c/c.exp: Likewise. 4132 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 4133 41342019-12-03 Szabolcs Nagy <szabolcs.nagy@arm.com> 4135 4136 PR libgomp/91938 4137 * configure.tgt: Avoid IE tls on *-*-musl*. 4138 41392019-11-29 Tobias Burnus <tobias@codesourcery.com> 4140 4141 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by 4142 adding a common-block test case. 4143 41442019-11-29 Jakub Jelinek <jakub@redhat.com> 4145 4146 PR c++/60228 4147 * testsuite/libgomp.c++/udr-20.C: New test. 4148 * testsuite/libgomp.c++/udr-21.C: New test. 4149 41502019-11-27 Thomas Schwinge <thomas@codesourcery.com> 4151 4152 * testsuite/lib/libgomp.exp 4153 (check_effective_target_offload_target_nvptx): New proc. 4154 * testsuite/libgomp.fortran/target-print-1.f90: Use it with 4155 'dg-skip-if'. 4156 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise. 4157 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file. 4158 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise. 4159 41602019-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 4161 4162 * testsuite/libgomp.c/pr39591-1.c: Rename err to e. 4163 * testsuite/libgomp.c/pr39591-2.c: Likewise. 4164 * testsuite/libgomp.c/pr39591-3.c: Likewise. 4165 * testsuite/libgomp.c/private-1.c: Likewise. 4166 * testsuite/libgomp.c/task-1.c: Likewise. 4167 * testsuite/libgomp.c/task-5.c: Renamed err to serr. 4168 41692019-11-20 Julian Brown <julian@codesourcery.com> 4170 4171 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock 4172 aq->mutex here. 4173 (queue_push_launch): Lock aq->mutex before calling 4174 wait_for_queue_nonfull. 4175 (queue_push_callback): Likewise. 4176 (queue_push_asyncwait): Likewise. 4177 (queue_push_placeholder): Likewise. 4178 41792019-11-20 Julian Brown <julian@codesourcery.com> 4180 4181 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New. 4182 (copy_data, GOMP_OFFLOAD_host2dev): Use above function. 4183 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy 4184 return code. 4185 41862019-11-20 Julian Brown <julian@codesourcery.com> 4187 4188 PR libgomp/92511 4189 4190 * oacc-mem.c (present_create_copy): Fix device pointer return value in 4191 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free 4192 in non-present/create case. 4193 (delete_copyout): Change error condition to fail only on copies outside 4194 of mapped block. Adjust error message accordingly. 4195 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test. 4196 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test. 4197 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error 4198 message. 4199 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. 4200 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now. 4201 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise. 4202 42032019-11-20 Maciej W. Rozycki <macro@wdc.com> 4204 4205 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find 4206 libatomic in build-tree testing. 4207 42082019-11-18 Maciej W. Rozycki <macro@wdc.com> 4209 4210 * testsuite/Makefile.in: Regenerate. 4211 42122019-11-15 Andrew Stubbs <ams@codesourcery.com> 4213 4214 * testsuite/libgomp.c/target-print-1.c: New file. 4215 * testsuite/libgomp.fortran/target-print-1.f90: New file. 4216 * testsuite/libgomp.oacc-c/print-1.c: New file. 4217 * testsuite/libgomp.oacc-fortran/print-1.f90: New file. 4218 42192019-11-13 Andrew Stubbs <ams@codesourcery.com> 4220 Kwok Cheung Yeung <kcy@codesourcery.com> 4221 Julian Brown <julian@codesourcery.com> 4222 Tom de Vries <tom@codesourcery.com> 4223 4224 * plugin/Makefrag.am: Add amdgcn plugin support. 4225 * plugin/configfrag.ac: Likewise. 4226 * plugin/plugin-gcn.c: New file. 4227 * configure: Regenerate. 4228 * Makefile.in: Regenerate. 4229 * testsuite/Makefile.in: Regenerate. 4230 42312019-11-13 Andrew Stubbs <ams@codesourcery.com> 4232 4233 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena 4234 and use team_malloc variants. 4235 (gomp_gcn_exit_kernel): Use team_free. 4236 * libgomp.h (TEAM_ARENA_SIZE): Define. 4237 (TEAM_ARENA_START): Define. 4238 (TEAM_ARENA_FREE): Define. 4239 (TEAM_ARENA_END): Define. 4240 (team_malloc): New function. 4241 (team_malloc_cleared): New function. 4242 (team_free): New function. 4243 * team.c (gomp_new_team): Initialize and use team_malloc. 4244 (free_team): Use team_free. 4245 (gomp_free_thread): Use team_free. 4246 (gomp_pause_host): Use team_free. 4247 * work.c (gomp_init_work_share): Use team_malloc. 4248 (gomp_fini_work_share): Use team_free. 4249 42502019-11-13 Andrew Stubbs <ams@codesourcery.com> 4251 Kwok Cheung Yeung <kcy@codesourcery.com> 4252 Julian Brown <julian@codesourcery.com> 4253 Tom de Vries <tom@codesourcery.com> 4254 4255 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c. 4256 * Makefile.in: Regenerate. 4257 * config.h.in (PLUGIN_GCN): Add new undef. 4258 * config/accel/openacc.f90 (acc_device_gcn): New parameter. 4259 * config/gcn/affinity-fmt.c: New file. 4260 * config/gcn/bar.c: New file. 4261 * config/gcn/bar.h: New file. 4262 * config/gcn/doacross.h: New file. 4263 * config/gcn/icv-device.c: New file. 4264 * config/gcn/oacc-target.c: New file. 4265 * config/gcn/simple-bar.h: New file. 4266 * config/gcn/target.c: New file. 4267 * config/gcn/task.c: New file. 4268 * config/gcn/team.c: New file. 4269 * config/gcn/time.c: New file. 4270 * configure.ac: Add amdgcn*-*-*. 4271 * configure: Regenerate. 4272 * configure.tgt: Add amdgcn*-*-*. 4273 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN. 4274 * libgomp.h (gcn_thrs): Add amdgcn variant. 4275 (set_gcn_thrs): Likewise. 4276 (gomp_thread): Likewise. 4277 * oacc-int.h (goacc_thread): Likewise. 4278 * oacc-target.c: New file. 4279 * openacc.f90 (acc_device_gcn): New parameter. 4280 * openacc.h (acc_device_t): Add acc_device_gcn. 4281 * team.c (gomp_free_pool_helper): Add amdgcn support. 4282 42832019-11-13 Andrew Stubbs <ams@codesourcery.com> 4284 Julian Brown <julian@codesourcery.com> 4285 4286 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int 4287 parameter. 4288 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the 4289 queue constructor. 4290 * oacc-host.c (host_openacc_async_construct): Add device parameter. 4291 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add 4292 device parameter. 4293 42942019-11-13 Andrew Stubbs <ams@codesourcery.com> 4295 4296 * configure.tgt (nvptx*-*-*): Add "accel" directory. 4297 * config/nvptx/libgomp-plugin.c: Move ... 4298 * config/accel/libgomp-plugin.c: ... to here. 4299 * config/nvptx/lock.c: Move ... 4300 * config/accel/lock.c: ... to here. 4301 * config/nvptx/mutex.c: Move ... 4302 * config/accel/mutex.c: ... to here. 4303 * config/nvptx/mutex.h: Move ... 4304 * config/accel/mutex.h: ... to here. 4305 * config/nvptx/oacc-async.c: Move ... 4306 * config/accel/oacc-async.c: ... to here. 4307 * config/nvptx/oacc-cuda.c: Move ... 4308 * config/accel/oacc-cuda.c: ... to here. 4309 * config/nvptx/oacc-host.c: Move ... 4310 * config/accel/oacc-host.c: ... to here. 4311 * config/nvptx/oacc-init.c: Move ... 4312 * config/accel/oacc-init.c: ... to here. 4313 * config/nvptx/oacc-mem.c: Move ... 4314 * config/accel/oacc-mem.c: ... to here. 4315 * config/nvptx/oacc-plugin.c: Move ... 4316 * config/accel/oacc-plugin.c: ... to here. 4317 * config/nvptx/omp-lock.h: Move ... 4318 * config/accel/omp-lock.h: ... to here. 4319 * config/nvptx/openacc.f90: Move ... 4320 * config/accel/openacc.f90: ... to here. 4321 * config/nvptx/pool.h: Move ... 4322 * config/accel/pool.h: ... to here. 4323 * config/nvptx/proc.c: Move ... 4324 * config/accel/proc.c: ... to here. 4325 * config/nvptx/ptrlock.c: Move ... 4326 * config/accel/ptrlock.c: ... to here. 4327 * config/nvptx/ptrlock.h: Move ... 4328 * config/accel/ptrlock.h: ... to here. 4329 * config/nvptx/sem.c: Move ... 4330 * config/accel/sem.c: ... to here. 4331 * config/nvptx/sem.h: Move ... 4332 * config/accel/sem.h: ... to here. 4333 * config/nvptx/thread-stacksize.h: Move ... 4334 * config/accel/thread-stacksize.h: ... to here. 4335 43362019-11-12 Maciej W. Rozycki <macro@codesourcery.com> 4337 Tobias Burnus <tobias@codesourcery.com> 4338 Frederik Harwath <frederik@codesourcery.com> 4339 Thomas Schwinge <thomas@codesourcery.com> 4340 4341 libgomp/ 4342 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test. 4343 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test. 4344 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test. 4345 43462019-11-11 Tobias Burnus <tobias@codesourcery.com> 4347 Kwok Cheung Yeung <kcy@codesourcery.com> 4348 4349 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend. 4350 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New. 4351 43522019-11-11 Thomas Schwinge <thomas@codesourcery.com> 4353 4354 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'. 4355 4356 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do 4357 run'. 4358 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise. 4359 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise. 4360 43612019-11-06 Thomas Schwinge <thomas@codesourcery.com> 4362 4363 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: 4364 Add expected warnings about missing reduction clauses. 4365 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: 4366 Likewise. 4367 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: 4368 Likewise. 4369 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: 4370 Likewise. 4371 43722019-11-04 Tobias Burnus <tobias@codesourcery.com> 4373 4374 * testsuite/libgomp.fortran/pr66199-1.f90: Remove 4375 'dg-do run' (implies torture test) as 'dg-options "O2"' is used. 4376 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto. 4377 * testsuite/libgomp.fortran/taskloop2.f90: Ditto. 4378 * testsuite/libgomp.fortran/taskloop3.f90: Ditto. 4379 * testsuite/libgomp.fortran/taskloop4.f90: Ditto. 4380 43812019-11-04 Tobias Burnus <tobias@codesourcery.com> 4382 4383 PR fortran/92305 4384 * testsuite/libgomp.fortran/allocatable2.f90: Use 4385 unique numbers with 'stop'. 4386 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto. 4387 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto. 4388 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto. 4389 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto. 4390 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto. 4391 43922019-11-01 Tobias Burnus <tobias@codesourcery.com> 4393 4394 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1, 4395 test_dummy_opt_nullptr_callee_1): Add present but unallocated test. 4396 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise. 4397 * testsuite/libgomp.fortran/use_device_addr-3.f90: New. 4398 * testsuite/libgomp.fortran/use_device_addr-4.f90: New. 4399 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New. 4400 44012019-10-30 Tobias Burnus <tobias@codesourcery.com> 4402 4403 * testsuite/libgomp.fortran/target9.f90: New. 4404 44052019-10-30 Tobias Burnus <tobias@codesourcery.com> 4406 4407 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'. 4408 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto. 4409 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto. 4410 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto. 4411 * testsuite/libgomp.fortran/allocatable1.f90: Ditto. 4412 * testsuite/libgomp.fortran/allocatable10.f90: Ditto. 4413 * testsuite/libgomp.fortran/allocatable11.f90: Ditto. 4414 * testsuite/libgomp.fortran/allocatable12.f90: Ditto. 4415 * testsuite/libgomp.fortran/allocatable2.f90: Ditto. 4416 * testsuite/libgomp.fortran/allocatable3.f90: Ditto. 4417 * testsuite/libgomp.fortran/allocatable4.f90: Ditto. 4418 * testsuite/libgomp.fortran/allocatable5.f90: Ditto. 4419 * testsuite/libgomp.fortran/allocatable6.f90: Ditto. 4420 * testsuite/libgomp.fortran/allocatable7.f90: Ditto. 4421 * testsuite/libgomp.fortran/allocatable8.f90: Ditto. 4422 * testsuite/libgomp.fortran/allocatable9.f90: Ditto. 4423 * testsuite/libgomp.fortran/associate1.f90: Ditto. 4424 * testsuite/libgomp.fortran/associate2.f90: Ditto. 4425 * testsuite/libgomp.fortran/associate3.f90: Ditto. 4426 * testsuite/libgomp.fortran/async_io_4.f90: Ditto. 4427 * testsuite/libgomp.fortran/async_io_5.f90: Ditto. 4428 * testsuite/libgomp.fortran/async_io_6.f90: Ditto. 4429 * testsuite/libgomp.fortran/async_io_7.f90: Ditto. 4430 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto. 4431 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto. 4432 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto. 4433 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto. 4434 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto. 4435 * testsuite/libgomp.fortran/character1.f90: Ditto. 4436 * testsuite/libgomp.fortran/character2.f90: Ditto. 4437 * testsuite/libgomp.fortran/collapse1.f90: Ditto. 4438 * testsuite/libgomp.fortran/collapse2.f90: Ditto. 4439 * testsuite/libgomp.fortran/collapse3.f90: Ditto. 4440 * testsuite/libgomp.fortran/collapse4.f90: Ditto. 4441 * testsuite/libgomp.fortran/crayptr1.f90: Ditto. 4442 * testsuite/libgomp.fortran/crayptr2.f90: Ditto. 4443 * testsuite/libgomp.fortran/crayptr3.f90: Ditto. 4444 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto. 4445 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto. 4446 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto. 4447 * testsuite/libgomp.fortran/depend-1.f90: Ditto. 4448 * testsuite/libgomp.fortran/depend-2.f90: Ditto. 4449 * testsuite/libgomp.fortran/depend-3.f90: Ditto. 4450 * testsuite/libgomp.fortran/do1.f90: Ditto. 4451 * testsuite/libgomp.fortran/do2.f90: Ditto. 4452 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto. 4453 * testsuite/libgomp.fortran/doacross1.f90: Ditto. 4454 * testsuite/libgomp.fortran/doacross2.f90: Ditto. 4455 * testsuite/libgomp.fortran/doacross3.f90: Ditto. 4456 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto. 4457 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto. 4458 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto. 4459 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto. 4460 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto. 4461 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto. 4462 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto. 4463 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto. 4464 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto. 4465 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto. 4466 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto. 4467 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto. 4468 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto. 4469 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto. 4470 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto. 4471 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto. 4472 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto. 4473 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto. 4474 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto. 4475 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto. 4476 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto. 4477 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto. 4478 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto. 4479 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto. 4480 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto. 4481 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto. 4482 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto. 4483 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto. 4484 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto. 4485 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto. 4486 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto. 4487 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto. 4488 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto. 4489 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto. 4490 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto. 4491 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto. 4492 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto. 4493 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto. 4494 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto. 4495 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto. 4496 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto. 4497 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto. 4498 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto. 4499 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto. 4500 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto. 4501 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto. 4502 * testsuite/libgomp.fortran/lib1.f90: Ditto. 4503 * testsuite/libgomp.fortran/lib4.f90: Ditto. 4504 * testsuite/libgomp.fortran/lock-1.f90: Ditto. 4505 * testsuite/libgomp.fortran/lock-2.f90: Ditto. 4506 * testsuite/libgomp.fortran/nested1.f90: Ditto. 4507 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto. 4508 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto. 4509 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto. 4510 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto. 4511 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto. 4512 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto. 4513 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto. 4514 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto. 4515 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto. 4516 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto. 4517 * testsuite/libgomp.fortran/omp_cond1.f: Ditto. 4518 * testsuite/libgomp.fortran/omp_cond2.f: Ditto. 4519 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto. 4520 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto. 4521 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto. 4522 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto. 4523 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto. 4524 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto. 4525 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto. 4526 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto. 4527 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto. 4528 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto. 4529 * testsuite/libgomp.fortran/pointer1.f90: Ditto. 4530 * testsuite/libgomp.fortran/pointer2.f90: Ditto. 4531 * testsuite/libgomp.fortran/pr25219.f90: Ditto. 4532 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto. 4533 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto. 4534 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto. 4535 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto. 4536 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto. 4537 * testsuite/libgomp.fortran/pr28390.f: Ditto. 4538 * testsuite/libgomp.fortran/pr29629.f90: Ditto. 4539 * testsuite/libgomp.fortran/pr32550.f90: Ditto. 4540 * testsuite/libgomp.fortran/pr33880.f90: Ditto. 4541 * testsuite/libgomp.fortran/pr34020.f90: Ditto. 4542 * testsuite/libgomp.fortran/pr35130.f90: Ditto. 4543 * testsuite/libgomp.fortran/pr42162.f90: Ditto. 4544 * testsuite/libgomp.fortran/pr46753.f90: Ditto. 4545 * testsuite/libgomp.fortran/pr48894.f90: Ditto. 4546 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto. 4547 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto. 4548 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto. 4549 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto. 4550 * testsuite/libgomp.fortran/pr65597.f90: Ditto. 4551 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto. 4552 * testsuite/libgomp.fortran/pr71014.f90: Ditto. 4553 * testsuite/libgomp.fortran/pr81304.f90: Ditto. 4554 * testsuite/libgomp.fortran/pr81841.f90: Ditto. 4555 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto. 4556 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto. 4557 * testsuite/libgomp.fortran/procptr1.f90: Ditto. 4558 * testsuite/libgomp.fortran/recursion1.f90: Ditto. 4559 * testsuite/libgomp.fortran/reduction1.f90: Ditto. 4560 * testsuite/libgomp.fortran/reduction2.f90: Ditto. 4561 * testsuite/libgomp.fortran/reduction3.f90: Ditto. 4562 * testsuite/libgomp.fortran/reduction4.f90: Ditto. 4563 * testsuite/libgomp.fortran/reduction5.f90: Ditto. 4564 * testsuite/libgomp.fortran/reduction6.f90: Ditto. 4565 * testsuite/libgomp.fortran/reference1.f90: Ditto. 4566 * testsuite/libgomp.fortran/reference2.f90: Ditto. 4567 * testsuite/libgomp.fortran/retval1.f90: Ditto. 4568 * testsuite/libgomp.fortran/retval2.f90: Ditto. 4569 * testsuite/libgomp.fortran/sharing1.f90: Ditto. 4570 * testsuite/libgomp.fortran/sharing2.f90: Ditto. 4571 * testsuite/libgomp.fortran/simd1.f90: Ditto. 4572 * testsuite/libgomp.fortran/simd2.f90: Ditto. 4573 * testsuite/libgomp.fortran/simd3.f90: Ditto. 4574 * testsuite/libgomp.fortran/simd4.f90: Ditto. 4575 * testsuite/libgomp.fortran/simd5.f90: Ditto. 4576 * testsuite/libgomp.fortran/simd6.f90: Ditto. 4577 * testsuite/libgomp.fortran/simd7.f90: Ditto. 4578 * testsuite/libgomp.fortran/stack.f90: Ditto. 4579 * testsuite/libgomp.fortran/strassen.f90: Ditto. 4580 * testsuite/libgomp.fortran/tabs1.f90: Ditto. 4581 * testsuite/libgomp.fortran/tabs2.f: Ditto. 4582 * testsuite/libgomp.fortran/target1.f90: Ditto. 4583 * testsuite/libgomp.fortran/target2.f90: Ditto. 4584 * testsuite/libgomp.fortran/target3.f90: Ditto. 4585 * testsuite/libgomp.fortran/target4.f90: Ditto. 4586 * testsuite/libgomp.fortran/target5.f90: Ditto. 4587 * testsuite/libgomp.fortran/target6.f90: Ditto. 4588 * testsuite/libgomp.fortran/target7.f90: Ditto. 4589 * testsuite/libgomp.fortran/target8.f90: Ditto. 4590 * testsuite/libgomp.fortran/task1.f90: Ditto. 4591 * testsuite/libgomp.fortran/task2.f90: Ditto. 4592 * testsuite/libgomp.fortran/task3.f90: Ditto. 4593 * testsuite/libgomp.fortran/task4.f90: Ditto. 4594 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto. 4595 * testsuite/libgomp.fortran/taskloop1.f90: Ditto. 4596 * testsuite/libgomp.fortran/taskloop2.f90: Ditto. 4597 * testsuite/libgomp.fortran/taskloop3.f90: Ditto. 4598 * testsuite/libgomp.fortran/taskloop4.f90: Ditto. 4599 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto. 4600 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto. 4601 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto. 4602 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto. 4603 * testsuite/libgomp.fortran/udr1.f90: Ditto. 4604 * testsuite/libgomp.fortran/udr10.f90: Ditto. 4605 * testsuite/libgomp.fortran/udr11.f90: Ditto. 4606 * testsuite/libgomp.fortran/udr12.f90: Ditto. 4607 * testsuite/libgomp.fortran/udr13.f90: Ditto. 4608 * testsuite/libgomp.fortran/udr14.f90: Ditto. 4609 * testsuite/libgomp.fortran/udr15.f90: Ditto. 4610 * testsuite/libgomp.fortran/udr2.f90: Ditto. 4611 * testsuite/libgomp.fortran/udr3.f90: Ditto. 4612 * testsuite/libgomp.fortran/udr4.f90: Ditto. 4613 * testsuite/libgomp.fortran/udr5.f90: Ditto. 4614 * testsuite/libgomp.fortran/udr6.f90: Ditto. 4615 * testsuite/libgomp.fortran/udr7.f90: Ditto. 4616 * testsuite/libgomp.fortran/udr8.f90: Ditto. 4617 * testsuite/libgomp.fortran/udr9.f90: Ditto. 4618 * testsuite/libgomp.fortran/vla1.f90: Ditto. 4619 * testsuite/libgomp.fortran/vla2.f90: Ditto. 4620 * testsuite/libgomp.fortran/vla3.f90: Ditto. 4621 * testsuite/libgomp.fortran/vla4.f90: Ditto. 4622 * testsuite/libgomp.fortran/vla5.f90: Ditto. 4623 * testsuite/libgomp.fortran/vla6.f90: Ditto. 4624 * testsuite/libgomp.fortran/vla7.f90: Ditto. 4625 * testsuite/libgomp.fortran/vla8.f90: Ditto. 4626 * testsuite/libgomp.fortran/workshare1.f90: Ditto. 4627 * testsuite/libgomp.fortran/workshare2.f90: Ditto. 4628 46292019-10-30 Tobias Burnus <tobias@codesourcery.com> 4630 4631 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort. 4632 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: 4633 Ditto; add 'dg-do run' for torture testing. 4634 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'. 4635 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto. 4636 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto. 4637 * testsuite/libgomp.fortran/pr25219.f90: Ditto. 4638 * testsuite/libgomp.fortran/pr28390.f: Ditto. 4639 * testsuite/libgomp.fortran/pr35130.f90: Ditto. 4640 * testsuite/libgomp.fortran/pr90779.f90: Ditto. 4641 * testsuite/libgomp.fortran/task2.f90: Ditto. 4642 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto. 4643 * testsuite/libgomp.fortran/taskloop1.f90: Ditto. 4644 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto. 4645 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto. 4646 * testsuite/libgomp.fortran/workshare1.f90: Ditto. 4647 * testsuite/libgomp.fortran/workshare2.f90: Ditto. 4648 46492019-10-28 Tobias Burnus <tobias@codesourcery.com> 4650 4651 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'. 4652 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto. 4653 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto. 4654 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto. 4655 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto. 4656 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto. 4657 * testsuite/libgomp.oacc-fortran/common-block-1.f90: 4658 Use 'stop' not abort(). 4659 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto. 4660 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto. 4661 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto. 4662 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto. 4663 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto. 4664 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto. 4665 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto. 4666 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto. 4667 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto. 4668 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto. 4669 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto. 4670 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto. 4671 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto. 4672 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto. 4673 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto. 4674 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto. 4675 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95: 4676 Ditto. 4677 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90: 4678 Ditto. 4679 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90: 4680 Ditto. 4681 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90: 4682 Ditto. 4683 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90: 4684 Ditto. 4685 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90: 4686 Ditto. 4687 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90: 4688 Ditto. 4689 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90: 4690 Ditto. 4691 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90: 4692 Ditto. 4693 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90: 4694 Ditto. 4695 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90: 4696 Ditto. 4697 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90: 4698 Ditto. 4699 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90: 4700 Ditto. 4701 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90: 4702 Ditto. 4703 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto. 4704 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto. 4705 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto. 4706 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto. 4707 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90: 4708 Likewise and also add 'dg-do run'. 4709 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90: 4710 Ditto. 4711 47122019-10-25 Cesar Philippidis <cesar@codesourcery.com> 4713 Tobias Burnus <tobias@codesourcery.com> 4714 4715 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test. 4716 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test. 4717 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test. 4718 47192019-10-14 Jakub Jelinek <jakub@redhat.com> 4720 4721 PR libgomp/92081 4722 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather 4723 than 0. 4724 47252019-10-11 Tobias Burnus <tobias@codesourcery.com> 4726 4727 * testsuite/libgomp.fortran/use_device_addr-1.f90: New. 4728 * testsuite/libgomp.fortran/use_device_addr-2.f90: New. 4729 47302019-10-09 Thomas Schwinge <thomas@codesourcery.com> 4731 4732 PR middle-end/92036 4733 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New 4734 file. 4735 47362019-10-09 Tobias Burnus <tobias@codesourcery.com> 4737 4738 PR testsuite/91884 4739 * testsuite/libgomp.fortran/fortran.exp: Conditionally 4740 add -lquadmath. 4741 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto. 4742 47432019-10-09 Jakub Jelinek <jakub@redhat.com> 4744 4745 PR libgomp/92028 4746 * target.c (gomp_map_vars_internal): Readd the previous 4747 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop, 4748 though do that just in the !not_found_cnt case. 4749 47502019-10-08 Tobias Burnus <tobias@codesourcery.com> 4751 4752 * gfortran.dg/gomp/target-simd.f90: New. 4753 47542019-10-02 Julian Brown <julian@codesourcery.com> 4755 Cesar Philippidis <cesar@codesourcery.com> 4756 4757 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define. 4758 * target.c (FIELD_TGT_EMPTY): Define. 4759 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write 4760 as switch instead of list of ifs. 4761 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros. 4762 47632019-10-02 Andreas Tobler <andreast@gcc.gnu.org> 4764 4765 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h 4766 include. Replace alloca () with __builtin_alloca (). 4767 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise. 4768 47692019-10-01 Jakub Jelinek <jakub@redhat.com> 4770 4771 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h). 4772 * libgomp.h: Include <stdint.h> instead of "gstdint.h". 4773 * oacc-parallel.c: Don't include "libgomp_g.h". 4774 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h". 4775 * plugin/plugin-nvptx.c: Don't include "gstdint.h". 4776 * aclocal.m4: Regenerated. 4777 * config.h.in: Regenerated. 4778 * configure: Regenerated. 4779 * Makefile.in: Regenerated. 4780 47812019-09-30 Kwok Cheung Yeung <kcy@codesourcery.com> 4782 4783 * libgomp_g.h: Include stdint.h instead of gstdint.h. 4784 47852019-09-27 Maciej W. Rozycki <macro@wdc.com> 4786 4787 * configure: Regenerate. 4788 47892019-09-13 Tobias Burnus <tobias@codesourcery.com> 4790 4791 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure 4792 string is initialized. 4793 47942019-09-06 Florian Weimer <fweimer@redhat.com> 4795 4796 * configure: Regenerate. 4797 47982019-09-03 Chung-Lin Tang <cltang@codesourcery.com> 4799 4800 PR other/79543 4801 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version 4802 scanning to conform to the GNU Coding Standards. 4803 * configure: Regenerate. 4804 48052019-08-28 Jakub Jelinek <jakub@redhat.com> 4806 4807 PR libgomp/91530 4808 * testsuite/libgomp.c/scan-21.c: New test. 4809 * testsuite/libgomp.c/scan-22.c: New test. 4810 48112019-08-27 Jakub Jelinek <jakub@redhat.com> 4812 4813 PR libgomp/91530 4814 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime 4815 targets. 4816 * testsuite/libgomp.c/scan-12.c: Likewise. 4817 * testsuite/libgomp.c/scan-13.c: Likewise. 4818 * testsuite/libgomp.c/scan-14.c: Likewise. 4819 * testsuite/libgomp.c/scan-15.c: Likewise. 4820 * testsuite/libgomp.c/scan-16.c: Likewise. 4821 * testsuite/libgomp.c/scan-17.c: Likewise. 4822 * testsuite/libgomp.c/scan-18.c: Likewise. 4823 * testsuite/libgomp.c/scan-19.c: Likewise. 4824 * testsuite/libgomp.c/scan-20.c: Likewise. 4825 * testsuite/libgomp.c++/scan-9.C: Likewise. 4826 * testsuite/libgomp.c++/scan-10.C: Likewise. 4827 * testsuite/libgomp.c++/scan-11.C: Likewise. 4828 * testsuite/libgomp.c++/scan-12.C: Likewise. 4829 * testsuite/libgomp.c++/scan-14.C: Likewise. 4830 * testsuite/libgomp.c++/scan-15.C: Likewise. 4831 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime 4832 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times. 4833 * testsuite/libgomp.c++/scan-16.C: Likewise. 4834 48352019-08-17 Thomas Koenig <tkoenig@gcc.gnu.org> 4836 4837 PR fortran/91473 4838 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add 4839 -std=legacy so invalid code in the test case is accepted. 4840 48412019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org> 4842 4843 PR fortran/91422 4844 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array 4845 dimension. 4846 48472019-08-08 Jakub Jelinek <jakub@redhat.com> 4848 4849 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR 4850 perform the lookup in the first loop only if !not_found_cnt, otherwise 4851 perform lookups for it in the second loop guarded with 4852 if (not_found_cnt || has_firstprivate). 4853 * testsuite/libgomp.c/target-37.c: New test. 4854 * testsuite/libgomp.c++/target-22.C: New test. 4855 48562019-08-07 Jakub Jelinek <jakub@redhat.com> 4857 4858 * testsuite/libgomp.c/target-18.c (struct S): New type. 4859 (foo): Use use_device_addr clause instead of use_device_ptr clause 4860 where required by OpenMP 5.0, add further tests for both use_device_ptr 4861 and use_device_addr clauses. 4862 * testsuite/libgomp.c++/target-9.C (struct S): New type. 4863 (foo): Use use_device_addr clause instead of use_device_ptr clause 4864 where required by OpenMP 5.0, add further tests for both use_device_ptr 4865 and use_device_addr clauses. Add t and u arguments. 4866 (main): Adjust caller. 4867 48682019-08-06 Jakub Jelinek <jakub@redhat.com> 4869 4870 * testsuite/libgomp.c++/loop-13.C: New test. 4871 * testsuite/libgomp.c++/loop-14.C: New test. 4872 * testsuite/libgomp.c++/loop-15.C: New test. 4873 48742019-07-31 Jakub Jelinek <jakub@redhat.com> 4875 4876 PR middle-end/91301 4877 * testsuite/libgomp.c++/for-27.C: New test. 4878 48792019-07-23 Steven G. Kargl <kargl@gcc.gnu.org> 4880 4881 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage. 4882 * testsuite/libgomp.fortran/reduction5.f90: Ditto. 4883 48842019-07-20 Jakub Jelinek <jakub@redhat.com> 4885 4886 * testsuite/libgomp.c-c++-common/loop-1.c: New test. 4887 48882019-07-08 Jakub Jelinek <jakub@redhat.com> 4889 4890 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86. 4891 * testsuite/libgomp.c++/scan-16.C: Likewise. 4892 48932019-07-06 Jakub Jelinek <jakub@redhat.com> 4894 4895 * testsuite/libgomp.c/scan-19.c: New test. 4896 * testsuite/libgomp.c/scan-20.c: New test. 4897 4898 * testsuite/libgomp.c/scan-11.c: New test. 4899 * testsuite/libgomp.c/scan-12.c: New test. 4900 * testsuite/libgomp.c/scan-13.c: New test. 4901 * testsuite/libgomp.c/scan-14.c: New test. 4902 * testsuite/libgomp.c/scan-15.c: New test. 4903 * testsuite/libgomp.c/scan-16.c: New test. 4904 * testsuite/libgomp.c/scan-17.c: New test. 4905 * testsuite/libgomp.c/scan-18.c: New test. 4906 * testsuite/libgomp.c++/scan-9.C: New test. 4907 * testsuite/libgomp.c++/scan-10.C: New test. 4908 * testsuite/libgomp.c++/scan-11.C: New test. 4909 * testsuite/libgomp.c++/scan-12.C: New test. 4910 * testsuite/libgomp.c++/scan-13.C: New test. 4911 * testsuite/libgomp.c++/scan-14.C: New test. 4912 * testsuite/libgomp.c++/scan-15.C: New test. 4913 * testsuite/libgomp.c++/scan-16.C: New test. 4914 49152019-07-04 Jakub Jelinek <jakub@redhat.com> 4916 4917 * testsuite/libgomp.c/scan-9.c: New test. 4918 * testsuite/libgomp.c/scan-10.c: New test. 4919 49202019-07-03 Jakub Jelinek <jakub@redhat.com> 4921 4922 * testsuite/libgomp.c++/scan-1.C: New test. 4923 * testsuite/libgomp.c++/scan-2.C: New test. 4924 * testsuite/libgomp.c++/scan-3.C: New test. 4925 * testsuite/libgomp.c++/scan-4.C: New test. 4926 * testsuite/libgomp.c++/scan-5.C: New test. 4927 * testsuite/libgomp.c++/scan-6.C: New test. 4928 * testsuite/libgomp.c++/scan-7.C: New test. 4929 * testsuite/libgomp.c++/scan-8.C: New test. 4930 * testsuite/libgomp.c/scan-1.c: New test. 4931 * testsuite/libgomp.c/scan-2.c: New test. 4932 * testsuite/libgomp.c/scan-3.c: New test. 4933 * testsuite/libgomp.c/scan-4.c: New test. 4934 * testsuite/libgomp.c/scan-5.c: New test. 4935 * testsuite/libgomp.c/scan-6.c: New test. 4936 * testsuite/libgomp.c/scan-7.c: New test. 4937 * testsuite/libgomp.c/scan-8.c: New test. 4938 49392019-06-18 Thomas Schwinge <thomas@codesourcery.com> 4940 4941 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file. 4942 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: 4943 Likewise. 4944 4945 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results 4946 check. 4947 49482019-06-18 Cesar Philippidis <cesar@codesourcery.com> 4949 4950 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New 4951 file. 4952 49532019-06-18 Thomas Schwinge <thomas@codesourcery.com> 4954 4955 PR fortran/90743 4956 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping 4957 case. 4958 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file. 4959 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise. 4960 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise. 4961 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise. 4962 4963 PR testsuite/90861 4964 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update. 4965 4966 PR middle-end/90862 4967 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update. 4968 49692019-06-16 Tom de Vries <tdevries@suse.de> 4970 4971 PR tree-optimization/89376 4972 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test. 4973 49742019-06-15 Tom de Vries <tdevries@suse.de> 4975 4976 PR tree-optimization/89713 4977 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync. 4978 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same. 4979 49802019-06-15 Jakub Jelinek <jakub@redhat.com> 4981 4982 PR middle-end/90779 4983 * testsuite/libgomp.c/pr90779.c: New test. 4984 * testsuite/libgomp.fortran/pr90779.f90: New test. 4985 49862019-06-15 Tom de Vries <tdevries@suse.de> 4987 4988 PR tree-optimization/90009 4989 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test. 4990 49912019-06-13 Feng Xue <fxue@os.amperecomputing.com> 4992 4993 PR tree-optimization/89713 4994 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test. 4995 49962019-06-11 Jakub Jelinek <jakub@redhat.com> 4997 4998 PR target/90811 4999 * testsuite/libgomp.c/pr90811.c: New test. 5000 50012019-06-05 Jakub Jelinek <jakub@redhat.com> 5002 5003 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test. 5004 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test. 5005 50062019-06-04 Jakub Jelinek <jakub@redhat.com> 5007 5008 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test. 5009 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test. 5010 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test. 5011 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test. 5012 50132019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 5014 5015 * configure.ac: Call AX_COUNT_CPUS. 5016 Substitute CPU_COUNT. 5017 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor 5018 count fallback. 5019 * aclocal.m4: Regenerate. 5020 * configure: Regenerate. 5021 * Makefile.in, testsuite/Makefile.in: Regenerate. 5022 50232019-05-29 Jakub Jelinek <jakub@redhat.com> 5024 5025 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename 5026 to ... 5027 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this. 5028 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test. 5029 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test. 5030 50312019-05-27 Jakub Jelinek <jakub@redhat.com> 5032 5033 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test. 5034 5035 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test. 5036 5037 PR libgomp/90641 5038 * work.c (gomp_init_work_share): Instead of aligning final ordered 5039 value to multiples of long long alignment, align to that the 5040 first part (ordered team ids) and if inline_ordered_team_ids 5041 is not on a long long alignment boundary within the structure, 5042 use __alignof__ (long long) - 1 pad size always. 5043 * loop.c (GOMP_loop_start): Fix *mem computation if 5044 inline_ordered_team_ids is not aligned on long long alignment boundary 5045 within the structure. 5046 * loop-ull.c (GOMP_loop_ull_start): Likewise. 5047 * sections.c (GOMP_sections2_start): Likewise. 5048 50492019-05-24 Jakub Jelinek <jakub@redhat.com> 5050 5051 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test. 5052 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test. 5053 5054 PR libgomp/90585 5055 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if 5056 HAVE_INTTYPES_H is defined. 5057 (print_uint64_t): New typedef. 5058 (PRIu64): Define if HAVE_INTTYPES_H is not defined. 5059 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of 5060 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t. 5061 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t 5062 before casting to void *. 5063 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h. 5064 * oacc-mem.c: Don't include config.h nor stdint.h. 5065 * target.c: Don't include config.h. 5066 * oacc-cuda.c: Likewise. 5067 * oacc-host.c: Don't include stdint.h. 5068 50692019-05-20 Jakub Jelinek <jakub@redhat.com> 5070 5071 PR libgomp/90527 5072 * alloc.c (_GNU_SOURCE): Define. 5073 50742019-05-17 Thomas Schwinge <thomas@codesourcery.com> 5075 5076 * acc_prof.h: New file. 5077 * oacc-profiling.c: Likewise. 5078 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES): 5079 Add these, respectively. 5080 * Makefile.in: Regenerate. 5081 * env.c (initialize_env): Call goacc_profiling_initialize. 5082 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread) 5083 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions. 5084 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread) 5085 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare. 5086 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup, 5087 acc_prof_register, acc_prof_unregister, and acc_register_library. 5088 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and 5089 GOMP_PLUGIN_goacc_thread. 5090 * oacc-int.h (struct goacc_thread): Add prof_info, api_info, 5091 prof_callbacks_enabled members. 5092 (goacc_prof_enabled, goacc_profiling_initialize) 5093 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p) 5094 (goacc_profiling_dispatch): Declare. 5095 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P) 5096 (GOACC_PROFILING_SETUP_P): Define. 5097 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait) 5098 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for 5099 OpenACC Profiling Interface. 5100 * oacc-cuda.c (acc_get_current_cuda_device) 5101 (acc_get_current_cuda_context, acc_get_cuda_stream) 5102 (acc_set_cuda_stream): Likewise. 5103 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device) 5104 (acc_init, acc_set_device_type, acc_get_device_type) 5105 (acc_get_device_num, goacc_lazy_initialize): Likewise. 5106 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device) 5107 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data) 5108 (acc_unmap_data, present_create_copy, delete_copyout) 5109 (update_dev_host): Likewise. 5110 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start) 5111 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait): 5112 Likewise. 5113 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free) 5114 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec): 5115 Likewise. 5116 * libgomp.texi: Update. 5117 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New 5118 file. 5119 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise. 5120 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: 5121 Likewise. 5122 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: 5123 Likewise. 5124 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c: 5125 Likewise. 5126 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c: 5127 Likewise. 5128 51292019-05-13 Chung-Lin Tang <cltang@codesourcery.com> 5130 5131 * libgomp-plugin.h (struct goacc_asyncqueue): Declare. 5132 (struct goacc_asyncqueue_list): Likewise. 5133 (goacc_aq): Likewise. 5134 (goacc_aq_list): Likewise. 5135 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove. 5136 (GOMP_OFFLOAD_openacc_async_test): Remove. 5137 (GOMP_OFFLOAD_openacc_async_test_all): Remove. 5138 (GOMP_OFFLOAD_openacc_async_wait): Remove. 5139 (GOMP_OFFLOAD_openacc_async_wait_async): Remove. 5140 (GOMP_OFFLOAD_openacc_async_wait_all): Remove. 5141 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove. 5142 (GOMP_OFFLOAD_openacc_async_set_async): Remove. 5143 (GOMP_OFFLOAD_openacc_exec): Adjust declaration. 5144 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise. 5145 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise. 5146 (GOMP_OFFLOAD_openacc_async_exec): Declare. 5147 (GOMP_OFFLOAD_openacc_async_construct): Declare. 5148 (GOMP_OFFLOAD_openacc_async_destruct): Declare. 5149 (GOMP_OFFLOAD_openacc_async_test): Declare. 5150 (GOMP_OFFLOAD_openacc_async_synchronize): Declare. 5151 (GOMP_OFFLOAD_openacc_async_serialize): Declare. 5152 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare. 5153 (GOMP_OFFLOAD_openacc_async_host2dev): Declare. 5154 (GOMP_OFFLOAD_openacc_async_dev2host): Declare. 5155 5156 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct. 5157 (gomp_acc_insert_pointer): Adjust declaration. 5158 (gomp_copy_host2dev): New declaration. 5159 (gomp_copy_dev2host): Likewise. 5160 (gomp_map_vars_async): Likewise. 5161 (gomp_unmap_tgt): Likewise. 5162 (gomp_unmap_vars_async): Likewise. 5163 (gomp_fini_device): Likewise. 5164 5165 * oacc-async.c (get_goacc_thread): New function. 5166 (get_goacc_thread_device): New function. 5167 (lookup_goacc_asyncqueue): New function. 5168 (get_goacc_asyncqueue): New function. 5169 (acc_async_test): Adjust code to use new async design. 5170 (acc_async_test_all): Likewise. 5171 (acc_wait): Likewise. 5172 (acc_wait_async): Likewise. 5173 (acc_wait_all): Likewise. 5174 (acc_wait_all_async): Likewise. 5175 (goacc_async_free): New function. 5176 (goacc_init_asyncqueues): Likewise. 5177 (goacc_fini_asyncqueues): Likewise. 5178 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async 5179 design. 5180 (acc_set_cuda_stream): Likewise. 5181 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'. 5182 (host_openacc_register_async_cleanup): Remove. 5183 (host_openacc_async_exec): New function. 5184 (host_openacc_async_test): Adjust parameters. 5185 (host_openacc_async_test_all): Remove. 5186 (host_openacc_async_wait): Remove. 5187 (host_openacc_async_wait_async): Remove. 5188 (host_openacc_async_wait_all): Remove. 5189 (host_openacc_async_wait_all_async): Remove. 5190 (host_openacc_async_set_async): Remove. 5191 (host_openacc_async_synchronize): New function. 5192 (host_openacc_async_serialize): New function. 5193 (host_openacc_async_host2dev): New function. 5194 (host_openacc_async_dev2host): New function. 5195 (host_openacc_async_queue_callback): New function. 5196 (host_openacc_async_construct): New function. 5197 (host_openacc_async_destruct): New function. 5198 (struct gomp_device_descr host_dispatch): Remove initialization of old 5199 interface, add initialization of new async sub-struct. 5200 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device. 5201 (goacc_attach_host_thread_to_device): Remove old async code usage. 5202 * oacc-int.h (goacc_init_asyncqueues): New declaration. 5203 (goacc_fini_asyncqueues): Likewise. 5204 (goacc_async_copyout_unmap_vars): Likewise. 5205 (goacc_async_free): Likewise. 5206 (get_goacc_asyncqueue): Likewise. 5207 (lookup_goacc_asyncqueue): Likewise. 5208 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async 5209 design. 5210 (present_create_copy): Adjust code to use new async design. 5211 (delete_copyout): Likewise. 5212 (update_dev_host): Likewise. 5213 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new 5214 async design. 5215 (gomp_acc_remove_pointer): Adjust code to use new async design. 5216 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async 5217 design. 5218 (GOACC_enter_exit_data): Likewise. 5219 (goacc_wait): Likewise. 5220 (GOACC_update): Likewise. 5221 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail 5222 when called, warn as obsolete in comment. 5223 * target.c (goacc_device_copy_async): New function. 5224 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter, 5225 add goacc_device_copy_async case. 5226 (gomp_copy_dev2host): Likewise. 5227 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code. 5228 (gomp_map_pointer): Likewise. 5229 (gomp_map_fields_existing): Likewise. 5230 (gomp_map_vars_internal): New always_inline function, renamed from 5231 gomp_map_vars. 5232 (gomp_map_vars): Implement by calling gomp_map_vars_internal. 5233 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal, 5234 passing goacc_asyncqueue argument. 5235 (gomp_unmap_tgt): Remove static, add attribute_hidden. 5236 (gomp_unref_tgt): New function. 5237 (gomp_unmap_vars_internal): New always_inline function, renamed from 5238 gomp_unmap_vars. 5239 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal. 5240 (gomp_unmap_vars_async): Implement by calling 5241 gomp_unmap_vars_internal, passing goacc_asyncqueue argument. 5242 (gomp_fini_device): New function. 5243 (gomp_exit_data): Adjust gomp_copy_dev2host call. 5244 (gomp_load_plugin_for_device): Remove old interface, adjust to load 5245 new async interface. 5246 (gomp_target_fini): Adjust code to call gomp_fini_device. 5247 5248 * plugin/plugin-nvptx.c (struct cuda_map): Remove. 5249 (struct ptx_stream): Remove. 5250 (struct nvptx_thread): Remove current_stream field. 5251 (cuda_map_create): Remove. 5252 (cuda_map_destroy): Remove. 5253 (map_init): Remove. 5254 (map_fini): Remove. 5255 (map_pop): Remove. 5256 (map_push): Remove. 5257 (struct goacc_asyncqueue): Define. 5258 (struct nvptx_callback): Define. 5259 (struct ptx_free_block): Define. 5260 (struct ptx_device): Remove null_stream, active_streams, async_streams, 5261 stream_lock, and next fields. 5262 (enum ptx_event_type): Remove. 5263 (struct ptx_event): Remove. 5264 (ptx_event_lock): Remove. 5265 (ptx_events): Remove. 5266 (init_streams_for_device): Remove. 5267 (fini_streams_for_device): Remove. 5268 (select_stream_for_async): Remove. 5269 (nvptx_init): Remove ptx_events and ptx_event_lock references. 5270 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED 5271 case. 5272 (nvptx_open_device): Add free_blocks initialization, remove 5273 init_streams_for_device call. 5274 (nvptx_close_device): Remove fini_streams_for_device call, add 5275 free_blocks destruct code. 5276 (event_gc): Remove. 5277 (event_add): Remove. 5278 (nvptx_exec): Adjust parameters and code. 5279 (nvptx_free): Likewise. 5280 (nvptx_host2dev): Remove. 5281 (nvptx_dev2host): Remove. 5282 (nvptx_set_async): Remove. 5283 (nvptx_async_test): Remove. 5284 (nvptx_async_test_all): Remove. 5285 (nvptx_wait): Remove. 5286 (nvptx_wait_async): Remove. 5287 (nvptx_wait_all): Remove. 5288 (nvptx_wait_all_async): Remove. 5289 (nvptx_get_cuda_stream): Remove. 5290 (nvptx_set_cuda_stream): Remove. 5291 (GOMP_OFFLOAD_alloc): Adjust code. 5292 (GOMP_OFFLOAD_free): Likewise. 5293 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove. 5294 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code. 5295 (GOMP_OFFLOAD_openacc_async_test_all): Remove. 5296 (GOMP_OFFLOAD_openacc_async_wait): Remove. 5297 (GOMP_OFFLOAD_openacc_async_wait_async): Remove. 5298 (GOMP_OFFLOAD_openacc_async_wait_all): Remove. 5299 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove. 5300 (GOMP_OFFLOAD_openacc_async_set_async): Remove. 5301 (cuda_free_argmem): New function. 5302 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function. 5303 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code. 5304 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code. 5305 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code. 5306 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function. 5307 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function. 5308 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement. 5309 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function. 5310 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function. 5311 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function. 5312 (cuda_callback_wrapper): New function. 5313 (cuda_memcpy_sanity_check): New function. 5314 (GOMP_OFFLOAD_host2dev): Remove and re-implement. 5315 (GOMP_OFFLOAD_dev2host): Remove and re-implement. 5316 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function. 5317 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function. 5318 53192019-05-07 Thomas Schwinge <thomas@codesourcery.com> 5320 5321 PR target/87835 5322 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update. 5323 53242019-05-06 Thomas Schwinge <thomas@codesourcery.com> 5325 5326 * oacc-parallel.c: Add comments to legacy entry points (GCC 5). 5327 53282019-03-27 Kevin Buettner <kevinb@redhat.com> 5329 5330 * team.c (gomp_team_start): Initialize pool->threads[0]. 5331 53322019-02-22 Thomas Schwinge <thomas@codesourcery.com> 5333 5334 * testsuite/libgomp.oacc-c++/c++.exp: Specify 5335 "-foffload=$offload_target". 5336 * testsuite/libgomp.oacc-c/c.exp: Likewise. 5337 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 5338 * testsuite/lib/libgomp.exp 5339 (check_effective_target_openacc_nvidia_accel_configured): Remove, 5340 as (conceptually) merged into 5341 check_effective_target_openacc_nvidia_accel_selected. Adjust all 5342 users. 5343 5344 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets. 5345 * testsuite/libgomp-test-support.exp.in: Adjust. 5346 * testsuite/lib/libgomp.exp: Likewise. Don't populate 5347 openacc_device_types_s. 5348 (offload_target_to_openacc_device_type): New proc. 5349 * testsuite/libgomp.oacc-c++/c++.exp: Adjust. 5350 * testsuite/libgomp.oacc-c/c.exp: Likewise. 5351 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 5352 * Makefile.in: Regenerate. 5353 * configure: Likewise. 5354 * testsuite/Makefile.in: Likewise. 5355 5356 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins 5357 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS 5358 instead of OFFLOAD_TARGETS. 5359 * target.c (gomp_target_init): Adjust. 5360 * testsuite/libgomp-test-support.exp.in: Likewise. 5361 * testsuite/lib/libgomp.exp: Likewise. Populate 5362 openacc_device_types_s instead of offload_targets_s_openacc. 5363 (check_effective_target_openacc_nvidia_accel_selected) 5364 (check_effective_target_openacc_host_selected): Adjust. 5365 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. 5366 * testsuite/libgomp.oacc-c/c.exp: Likewise. 5367 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 5368 * Makefile.in: Regenerate. 5369 * config.h.in: Likewise. 5370 * configure: Likewise. 5371 * testsuite/Makefile.in: Likewise. 5372 5373 * testsuite/lib/libgomp.exp: Error out for unknown offload target. 5374 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if 5375 "offloading: supported, but hardware not accessible". 5376 * testsuite/libgomp.oacc-c/c.exp: Likewise. 5377 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 5378 53792019-02-19 Chung-Lin Tang <cltang@codesourcery.com> 5380 5381 PR c/87924 5382 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to 5383 goacc_wait(). 5384 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call 5385 and related adjustment. 5386 53872019-01-30 Jakub Jelinek <jakub@redhat.com> 5388 5389 PR c++/88988 5390 * testsuite/libgomp.c++/pr88988.C: New test. 5391 53922019-01-28 Jakub Jelinek <jakub@redhat.com> 5393 5394 PR middle-end/89002 5395 * testsuite/libgomp.c/pr89002.c: New test. 5396 53972019-01-28 Richard Biener <rguenther@suse.de> 5398 5399 PR testsuite/89064 5400 PR tree-optimization/86865 5401 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL. 5402 54032019-01-24 Tom de Vries <tdevries@suse.de> 5404 5405 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices 5406 once instantiated_devices drops to 0. 5407 54082019-01-23 Tom de Vries <tdevries@suse.de> 5409 5410 PR target/PR88946 5411 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for 5412 cuMemFree. 5413 (nvptx_exec): Don't call map_push if mapnum == 0. 5414 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test. 5415 54162019-01-23 Tom de Vries <tdevries@suse.de> 5417 5418 PR target/88941 5419 PR target/88939 5420 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case. 5421 (map_fini): Remove "assert (!s->map->active)". 5422 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test. 5423 54242019-01-23 Tom de Vries <tdevries@suse.de> 5425 5426 PR target/87835 5427 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element. 5428 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test. 5429 54302019-01-15 Tom de Vries <tdevries@suse.de> 5431 5432 PR target/80547 5433 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c: 5434 New test. 5435 54362019-01-12 Tom de Vries <tdevries@suse.de> 5437 5438 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test. 5439 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test. 5440 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test. 5441 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test. 5442 54432019-01-12 Tom de Vries <tdevries@suse.de> 5444 5445 * plugin/plugin-nvptx.c (nvptx_exec): Update error message. 5446 54472019-01-12 Tom de Vries <tdevries@suse.de> 5448 5449 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test. 5450 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test. 5451 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test. 5452 54532019-01-12 Tom de Vries <tdevries@suse.de> 5454 5455 PR target/85486 5456 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test. 5457 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test. 5458 54592019-01-12 Tom de Vries <tdevries@suse.de> 5460 5461 PR target/85381 5462 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test. 5463 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test. 5464 54652019-01-12 Tom de Vries <tdevries@suse.de> 5466 5467 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test. 5468 * testsuite/libgomp.oacc-fortran/gemm.f90: New test. 5469 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test. 5470 54712019-01-12 Tom de Vries <tdevries@suse.de> 5472 5473 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test. 5474 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test. 5475 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test. 5476 54772019-01-12 Tom de Vries <tdevries@suse.de> 5478 5479 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware 5480 resources diagnostic. 5481 54822019-01-12 Tom de Vries <tdevries@suse.de> 5483 5484 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect 5485 vector length to be 128. 5486 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector 5487 length 2097152 to be reduced to 1024 instead of 32. 5488 54892019-01-11 Thomas Schwinge <thomas@codesourcery.com> 5490 James Norris <jnorris@codesourcery.com> 5491 5492 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime 5493 Library Routines", and "Environment Variables". 5494 54952019-01-11 Tom de Vries <tdevries@suse.de> 5496 5497 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and 5498 num_workers 16. 5499 55002019-01-11 Tom de Vries <tdevries@suse.de> 5501 5502 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove 5503 -foffload=-w. 5504 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same. 5505 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same. 5506 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same. 5507 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same. 5508 55092019-01-11 Tom de Vries <tdevries@suse.de> 5510 5511 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New 5512 test. 5513 55142019-01-10 Nathan Sidwell <nathan@acm.org> 5515 Julian Brown <julian@codesourcery.com> 5516 5517 PR lto/71959 5518 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New. 5519 * testsuite/libgomp.oacc-c++/pr71959.C: New. 5520 55212019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de> 5522 5523 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy 5524 and paste code. 5525 55262019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de> 5527 5528 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c, 5529 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to 5530 write. 5531 55322019-01-09 Tom de Vries <tdevries@suse.de> 5533 5534 PR target/88756 5535 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use 5536 #define instead of "const int". 5537 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same. 5538 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same. 5539 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same. 5540 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same. 5541 55422019-01-09 Tom de Vries <tdevries@suse.de> 5543 5544 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least 5545 one worker. 5546 55472019-01-07 Tom de Vries <tdevries@suse.de> 5548 5549 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix 5550 GOMP_OPENACC_DIM argument. 5551 55522019-01-03 Tom de Vries <tdevries@suse.de> 5553 5554 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test. 5555 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test. 5556 55572019-01-01 Jakub Jelinek <jakub@redhat.com> 5558 5559 Update copyright years. 5560 55612019-01-01 Jakub Jelinek <jakub@redhat.com> 5562 5563 * libgomp.texi: Bump @copying's copyright year. 5564 55652018-12-28 Thomas Schwinge <thomas@codesourcery.com> 5566 5567 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel) 5568 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update) 5569 (GOACC_declare): Redefine the "device" argument to "flags". 5570 55712018-12-28 Thomas Schwinge <thomas@codesourcery.com> 5572 Cesar Philippidis <cesar@codesourcery.com> 5573 5574 * target.c (struct gomp_coalesce_chunk): New structure. 5575 (struct gomp_coalesce_buf): Update the chunks member to use that 5576 type. Adjust all users. 5577 55782018-12-19 Tom de Vries <tdevries@suse.de> 5579 5580 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test. 5581 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test. 5582 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test. 5583 55842018-12-19 Tom de Vries <tdevries@suse.de> 5585 5586 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp. 5587 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from 5588 gcc/testsuite/gcc.dg/goacc. 5589 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same. 5590 55912018-12-14 Thomas Schwinge <thomas@codesourcery.com> 5592 Chung-Lin Tang <cltang@codesourcery.com> 5593 5594 * oacc-mem.c (acc_present_or_create): Remove definition and change 5595 to alias of acc_create. 5596 (acc_present_or_copyin): Remove definition and change to alias of 5597 acc_copyin. 5598 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead 5599 of acc_present_or_create. 5600 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove. 5601 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise. 5602 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise. 5603 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise. 5604 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise. 5605 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise. 5606 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise. 5607 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise. 5608 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise. 5609 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise. 5610 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise. 5611 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise. 5612 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise. 5613 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise. 5614 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise. 5615 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise. 5616 56172018-12-14 Thomas Schwinge <thomas@codesourcery.com> 5618 5619 PR libgomp/88495 5620 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse 5621 "identical parameters". 5622 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update. 5623 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove. 5624 5625 PR libgomp/88484 5626 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0". 5627 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file. 5628 5629 PR libgomp/88407 5630 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait) 5631 (nvptx_wait_async): Unseen async-argument is a no-op. 5632 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update. 5633 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise. 5634 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise. 5635 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise. 5636 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise. 5637 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into... 5638 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update. 5639 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into... 5640 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update 5641 5642 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise. 5643 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise. 5644 56452018-12-14 Chung-Lin Tang <cltang@codesourcery.com> 5646 5647 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust. 5648 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise. 5649 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise. 5650 56512018-12-14 Thomas Schwinge <thomas@codesourcery.com> 5652 5653 PR libgomp/88370 5654 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream) 5655 (acc_set_cuda_stream): Clarify. 5656 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use 5657 "async_valid_p". 5658 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async == 5659 acc_async_sync". 5660 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file. 5661 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise. 5662 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update. 5663 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise. 5664 56652018-12-14 Tom de Vries <tdevries@suse.de> 5666 5667 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test. 5668 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test. 5669 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test. 5670 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test. 5671 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test. 5672 56732018-12-13 Tom de Vries <tdevries@suse.de> 5674 5675 * affinity-fmt.c (gomp_print_string): New function, factored out of ... 5676 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ... 5677 * fortran.c (omp_display_affinity_): ... here. 5678 * libgomp.h (gomp_print_string): Declare. 5679 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c, 5680 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to 5681 write. 5682 56832018-12-13 Jakub Jelinek <jakub@redhat.com> 5684 5685 PR libgomp/88460 5686 * testsuite/libgomp.c++/for-24.C (results): Include it in 5687 omp declare target region. 5688 (main): Use map (always, tofrom: results) instead of 5689 map (tofrom: results). 5690 56912018-12-12 Jakub Jelinek <jakub@redhat.com> 5692 5693 PR fortran/88463 5694 * testsuite/libgomp.fortran/pr88463-1.f90: New test. 5695 * testsuite/libgomp.fortran/pr88463-2.f90: New test. 5696 5697 * testsuite/libgomp.c-c++-common/for-16.c: New test. 5698 56992018-12-12 Andreas Schwab <schwab@suse.de> 5700 5701 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as 5702 clobbered. 5703 57042018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org> 5705 5706 PR fortran/88411 5707 * testsuite/libgomp.fortran/async_io_8.f90: New test. 5708 57092018-12-09 Thomas Schwinge <thomas@codesourcery.com> 5710 Jakub Jelinek <jakub@redhat.com> 5711 5712 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of 5713 devicep->host2dev_func. 5714 57152018-12-08 Jakub Jelinek <jakub@redhat.com> 5716 5717 PR libgomp/87995 5718 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require 5719 tls_runtime effective target. 5720 (t): New threadprivate variable. 5721 (main): Set t in threads which execute iterations of the worksharing 5722 loop. Propagate that to the task after the loop and don't abort 5723 if the current taskgroup hasn't been cancelled. 5724 57252018-12-02 Jakub Jelinek <jakub@redhat.com> 5726 5727 * testsuite/libgomp.c/task-reduction-3.c: New test. 5728 5729 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test. 5730 57312018-11-30 Cesar Philippidis <cesar@codesourcery.com> 5732 5733 PR libgomp/88288 5734 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs. 5735 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test. 5736 57372018-11-30 Thomas Schwinge <thomas@codesourcery.com> 5738 5739 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file. 5740 57412018-10-19 Richard Biener <rguenther@suse.de> 5742 5743 PR tree-optimization/88182 5744 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp. 5745 57462018-11-26 Jakub Jelinek <jakub@redhat.com> 5747 5748 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu. 5749 (RUNTEST): Don't define. 5750 (RUNTESTDEFAULTFLAGS): Add. 5751 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals. 5752 (distclean-am): Depend on distclean-DEJAGNU. 5753 (check-am): If -j% option is present in MFLAGS and if 5754 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8. 5755 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU. 5756 * testsuite/Makefile.in: Regenerated. 5757 57582018-11-26 Richard Biener <rguenther@suse.de> 5759 5760 PR tree-optimization/88182 5761 * testsuite/libgomp.c++/pr88182.C: New testcase. 5762 57632018-11-20 Jakub Jelinek <jakub@redhat.com> 5764 5765 PR bootstrap/88106 5766 * config/mingw32/affinity-fmt.c: New file. 5767 57682018-11-09 Jakub Jelinek <jakub@redhat.com> 5769 5770 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H. 5771 (gomp_display_affinity): Use __builtin_choose_expr to handle 5772 properly handle argument having integral, or pointer or some other 5773 type. If inttypes.h is available and PRIx64 is defined, use PRIx64 5774 with uint64_t type instead of %llx and unsigned long long. 5775 5776 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test. 5777 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test. 5778 57792018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 5780 5781 * affinity.c: Include <string.h>, <stdio.h>. 5782 (gomp_display_affinity_place): Remove cpusetp. 5783 * teams.c: Include <limits.h>. 5784 57852018-11-08 Jakub Jelinek <jakub@redhat.com> 5786 5787 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add 5788 in_reduction clause for s[0]. 5789 5790 * affinity.c (gomp_display_affinity_place): New function. 5791 * affinity-fmt.c: New file. 5792 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions. 5793 * config/linux/affinity.c (gomp_display_affinity_place): New function. 5794 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num): 5795 Move these functions to ... 5796 * config/nvptx/teams.c: ... here. New file. 5797 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all): 5798 New functions. 5799 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New 5800 functions. 5801 * configure.ac: Check for aligned_alloc, posix_memalign, memalign 5802 and _aligned_malloc. 5803 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests. 5804 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux. 5805 * env.c (gomp_display_affinity_var, gomp_affinity_format_var, 5806 gomp_affinity_format_len): New variables. 5807 (parse_schedule): Parse monotonic and nonmonotonic modifiers in 5808 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules. 5809 (handle_omp_display_env): Display monotonic/nonmonotonic schedule 5810 modifiers. Display (non-default) chunk sizes. Print 5811 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT. 5812 (initialize_env): Don't call pthread_attr_setdetachstate. Handle 5813 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars. 5814 * fortran.c: Include stdio.h and string.h. 5815 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect. 5816 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit. 5817 (omp_set_affinity_format_, omp_get_affinity_format_, 5818 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_, 5819 omp_pause_resource_all_): New functions. 5820 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in 5821 switch. 5822 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these 5823 functions to ... 5824 * teams.c: ... here. New file. 5825 * libgomp_g.h: Include gstdint.h. 5826 (GOMP_loop_nonmonotonic_runtime_start, 5827 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start, 5828 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next, 5829 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start, 5830 GOMP_parallel_loop_nonmonotonic_runtime, 5831 GOMP_parallel_loop_maybe_nonmonotonic_runtime, 5832 GOMP_loop_ull_nonmonotonic_runtime_start, 5833 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start, 5834 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next, 5835 GOMP_loop_ull_maybe_nonmonotonic_runtime_next, 5836 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions, 5837 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register, 5838 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap, 5839 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start, 5840 GOMP_teams_reg): Declare. 5841 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless 5842 gomp_aligned_alloc uses fallback implementation. 5843 (gomp_aligned_alloc, gomp_aligned_free): Declare. 5844 (enum gomp_schedule_type): Add GFS_MONOTONIC. 5845 (struct gomp_doacross_work_share): Add extra field. 5846 (struct gomp_work_share): Add task_reductions field. 5847 (struct gomp_taskgroup): Add workshare and reductions fields. 5848 (GOMP_NEEDS_THREAD_HANDLE): Define if needed. 5849 (gomp_thread_handle): New typedef. 5850 (gomp_display_affinity_place, gomp_set_affinity_format, 5851 gomp_display_string, gomp_display_affinity, 5852 gomp_display_affinity_thread): Declare. 5853 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument. 5854 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start, 5855 gomp_workshare_task_reduction_register): Declare. 5856 (gomp_team_start): Add taskgroup argument. 5857 (gomp_pause_host): Declare. 5858 (gomp_init_work_share, gomp_work_share_start): Change bool argument 5859 to size_t. 5860 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions. 5861 * libgomp.map (GOMP_5.0): Export GOMP_loop_start, 5862 GOMP_loop_ordered_start, GOMP_loop_doacross_start, 5863 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start, 5864 GOMP_loop_ull_doacross_start, 5865 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start, 5866 GOMP_loop_maybe_nonmonotonic_runtime_next, 5867 GOMP_loop_maybe_nonmonotonic_runtime_start, 5868 GOMP_loop_nonmonotonic_runtime_next, 5869 GOMP_loop_nonmonotonic_runtime_start, 5870 GOMP_loop_ull_maybe_nonmonotonic_runtime_next, 5871 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, 5872 GOMP_loop_ull_nonmonotonic_runtime_next, 5873 GOMP_loop_ull_nonmonotonic_runtime_start, 5874 GOMP_parallel_loop_maybe_nonmonotonic_runtime, 5875 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions, 5876 GOMP_taskgroup_reduction_register, 5877 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap, 5878 GOMP_teams_reg and GOMP_taskwait_depend. 5879 (OMP_5.0): Export omp_pause_resource{,_all}{,_}, 5880 omp_{capture,display}_affinity{,_}, and 5881 omp_[gs]et_affinity_format{,_}. 5882 * loop.c: Include string.h. 5883 (GOMP_loop_runtime_next): Add ialias. 5884 (GOMP_taskgroup_reduction_register): Add ialias_redirect. 5885 (gomp_loop_static_start, gomp_loop_dynamic_start, 5886 gomp_loop_guided_start, gomp_loop_ordered_static_start, 5887 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start, 5888 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start, 5889 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start 5890 or gomp_doacross_init callers. 5891 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start, 5892 GOMP_loop_doacross_start): New functions. 5893 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start, 5894 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start): 5895 Mask off GFS_MONOTONIC bit. 5896 (GOMP_loop_maybe_nonmonotonic_runtime_next, 5897 GOMP_loop_maybe_nonmonotonic_runtime_start, 5898 GOMP_loop_nonmonotonic_runtime_next, 5899 GOMP_loop_nonmonotonic_runtime_start, 5900 GOMP_parallel_loop_maybe_nonmonotonic_runtime, 5901 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper 5902 functions. 5903 (gomp_parallel_loop_start): Pass NULL as taskgroup to 5904 gomp_team_start. 5905 * loop_ull.c: Include string.h. 5906 (GOMP_loop_ull_runtime_next): Add ialias. 5907 (GOMP_taskgroup_reduction_register): Add ialias_redirect. 5908 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start, 5909 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start, 5910 gomp_loop_ull_ordered_dynamic_start, 5911 gomp_loop_ull_ordered_guided_start, 5912 gomp_loop_ull_doacross_static_start, 5913 gomp_loop_ull_doacross_dynamic_start, 5914 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start 5915 and gomp_doacross_ull_init callers. 5916 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start, 5917 GOMP_loop_ull_doacross_start): New functions. 5918 (GOMP_loop_ull_runtime_start, 5919 GOMP_loop_ull_ordered_runtime_start, 5920 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit. 5921 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next, 5922 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, 5923 GOMP_loop_ull_nonmonotonic_runtime_next, 5924 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise. 5925 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c. 5926 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic. 5927 (omp_pause_resource_t, omp_depend_t): New typedefs. 5928 (enum omp_lock_hint_t): Renamed to ... 5929 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_* 5930 enumerators using numbers and omp_lock_hint_* as their aliases. 5931 (omp_lock_hint_t): New typedef. Rename to ... 5932 (omp_sync_hint_t): ... this. 5933 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use 5934 omp_sync_hint_t instead of omp_lock_hint_t. 5935 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format, 5936 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity): 5937 Declare. 5938 (omp_target_is_present, omp_target_disassociate_ptr): 5939 Change first argument from void * to const void *. 5940 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument 5941 from void * to const void *. 5942 (omp_target_associate_ptr): Change first and second arguments from 5943 void * to const void *. 5944 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft, 5945 omp_pause_hard): New parameters. 5946 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format, 5947 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity): 5948 New interfaces. 5949 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft, 5950 omp_pause_hard): New parameters. 5951 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format, 5952 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity): 5953 New externals. 5954 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add 5955 EXTRA argument. If not needed to prepare array, if extra is 0, 5956 clear ws->doacross, otherwise allocate just doacross structure and 5957 extra payload. If array is needed, allocate also extra payload. 5958 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post, 5959 GOMP_doacross_ull_wait): Handle doacross->array == NULL like 5960 doacross == NULL. 5961 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to 5962 gomp_team_start. 5963 (GOMP_parallel): Likewise. Formatting fix. 5964 (GOMP_parallel_reductions): New function. 5965 (GOMP_cancellation_point): If taskgroup has workshare 5966 flag set, check cancelled of prev taskgroup if any. 5967 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled 5968 on prev taskgroup if any. 5969 * sections.c: Include string.h. 5970 (GOMP_taskgroup_reduction_register): Add ialias_redirect. 5971 (GOMP_sections_start): Adjust gomp_work_share_start caller. 5972 (GOMP_sections2_start): New function. 5973 (GOMP_parallel_sections_start, GOMP_parallel_sections): 5974 Pass NULL as taskgroup to gomp_team_start. 5975 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust 5976 gomp_work_share_start callers. 5977 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data): 5978 If taskgroup has workshare flag set, check cancelled on prev 5979 taskgroup if any. Guard all cancellation tests with 5980 gomp_cancel_var test. 5981 (omp_target_is_present, omp_target_disassociate_ptr): 5982 Change ptr argument from void * to const void *. 5983 (omp_target_memcpy): Change src argument from void * to const void *. 5984 (omp_target_memcpy_rect): Likewise. 5985 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts 5986 instead of char * where needed. 5987 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments 5988 from void * to const void *. 5989 (omp_pause_resource, omp_pause_resource_all): New functions. 5990 * task.c (gomp_task_handle_depend): Handle new depend array format 5991 in addition to the old. Handle mutexinoutset kinds the same as 5992 inout for now, handle unspecified kinds. 5993 (gomp_create_target_task): If taskgroup has workshare flag set, check 5994 cancelled on prev taskgroup if any. Guard all cancellation tests with 5995 gomp_cancel_var test. Handle new depend array format count in 5996 addition to the old. 5997 (GOMP_task): Likewise. Adjust function comment. 5998 (gomp_task_run_pre): If taskgroup has workshare flag set, check 5999 cancelled on prev taskgroup if any. Guard all cancellation tests with 6000 gomp_cancel_var test. 6001 (GOMP_taskwait_depend): New function. 6002 (gomp_task_maybe_wait_for_dependencies): Handle new depend array 6003 format in addition to the old. Handle mutexinoutset kinds the same as 6004 inout for now, handle unspecified kinds. Fix a function comment typo. 6005 (gomp_taskgroup_init): New function. 6006 (GOMP_taskgroup_start): Use it. 6007 (gomp_reduction_register, gomp_create_artificial_team, 6008 GOMP_taskgroup_reduction_register, 6009 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap, 6010 gomp_parallel_reduction_register, 6011 gomp_workshare_task_reduction_register, 6012 gomp_workshare_taskgroup_start, 6013 GOMP_workshare_task_reduction_unregister): New functions. 6014 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set, 6015 check cancelled on prev taskgroup if any. Guard all cancellation 6016 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag 6017 by calling GOMP_taskgroup_reduction_register. 6018 * team.c (gomp_thread_attr): Remove comment. 6019 (struct gomp_thread_start_data): Add handle field. 6020 (gomp_thread_start): Call pthread_detach. 6021 (gomp_new_team): Adjust gomp_init_work_share caller. 6022 (gomp_free_pool_helper): Call pthread_detach. 6023 (gomp_team_start): Add taskgroup argument, initialize implicit 6024 tasks' taskgroup field to that. Don't call 6025 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var. 6026 (gomp_team_end): Determine nesting by thr->ts.level != 0 6027 rather than thr->ts.team != NULL. 6028 (gomp_pause_pool_helper, gomp_pause_host): New functions. 6029 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of 6030 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined. 6031 (gomp_init_work_share): Change ORDERED argument from bool to size_t, 6032 if more than 1 allocate also extra payload at the end of array. Never 6033 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead. 6034 (gomp_work_share_start): Change ORDERED argument from bool to size_t, 6035 return true instead of ws. 6036 * Makefile.in: Regenerated. 6037 * configure: Regenerated. 6038 * config.h.in: Regenerated. 6039 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier 6040 in some cases. 6041 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test. 6042 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test. 6043 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test. 6044 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test. 6045 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test. 6046 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test. 6047 * testsuite/libgomp.c-c++-common/depobj-1.c: New test. 6048 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test. 6049 * testsuite/libgomp.c-c++-common/for-10.c: New test. 6050 * testsuite/libgomp.c-c++-common/for-11.c: New test. 6051 * testsuite/libgomp.c-c++-common/for-12.c: New test. 6052 * testsuite/libgomp.c-c++-common/for-13.c: New test. 6053 * testsuite/libgomp.c-c++-common/for-14.c: New test. 6054 * testsuite/libgomp.c-c++-common/for-15.c: New test. 6055 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined, 6056 define a different N(test), don't define N(f0) to N(f14), but instead 6057 define N(f20) to N(f34) using != comparisons. 6058 * testsuite/libgomp.c-c++-common/for-7.c: New test. 6059 * testsuite/libgomp.c-c++-common/for-8.c: New test. 6060 * testsuite/libgomp.c-c++-common/for-9.c: New test. 6061 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test. 6062 * testsuite/libgomp.c-c++-common/pause-1.c: New test. 6063 * testsuite/libgomp.c-c++-common/pause-2.c: New test. 6064 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test. 6065 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test. 6066 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test. 6067 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test. 6068 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test. 6069 * testsuite/libgomp.c-c++-common/simd-1.c: New test. 6070 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test. 6071 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test. 6072 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test. 6073 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test. 6074 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test. 6075 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test. 6076 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test. 6077 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test. 6078 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test. 6079 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test. 6080 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test. 6081 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test. 6082 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test. 6083 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test. 6084 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test. 6085 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test. 6086 * testsuite/libgomp.c++/depend-1.C: New test. 6087 * testsuite/libgomp.c++/depend-iterator-1.C: New test. 6088 * testsuite/libgomp.c++/depobj-1.C: New test. 6089 * testsuite/libgomp.c++/for-16.C: New test. 6090 * testsuite/libgomp.c++/for-21.C: New test. 6091 * testsuite/libgomp.c++/for-22.C: New test. 6092 * testsuite/libgomp.c++/for-23.C: New test. 6093 * testsuite/libgomp.c++/for-24.C: New test. 6094 * testsuite/libgomp.c++/for-25.C: New test. 6095 * testsuite/libgomp.c++/for-26.C: New test. 6096 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test. 6097 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test. 6098 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test. 6099 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test. 6100 * testsuite/libgomp.c++/task-reduction-10.C: New test. 6101 * testsuite/libgomp.c++/task-reduction-11.C: New test. 6102 * testsuite/libgomp.c++/task-reduction-12.C: New test. 6103 * testsuite/libgomp.c++/task-reduction-13.C: New test. 6104 * testsuite/libgomp.c++/task-reduction-14.C: New test. 6105 * testsuite/libgomp.c++/task-reduction-15.C: New test. 6106 * testsuite/libgomp.c++/task-reduction-16.C: New test. 6107 * testsuite/libgomp.c++/task-reduction-17.C: New test. 6108 * testsuite/libgomp.c++/task-reduction-18.C: New test. 6109 * testsuite/libgomp.c++/task-reduction-19.C: New test. 6110 * testsuite/libgomp.c/task-reduction-1.c: New test. 6111 * testsuite/libgomp.c++/task-reduction-1.C: New test. 6112 * testsuite/libgomp.c/task-reduction-2.c: New test. 6113 * testsuite/libgomp.c++/task-reduction-2.C: New test. 6114 * testsuite/libgomp.c++/task-reduction-3.C: New test. 6115 * testsuite/libgomp.c++/task-reduction-4.C: New test. 6116 * testsuite/libgomp.c++/task-reduction-5.C: New test. 6117 * testsuite/libgomp.c++/task-reduction-6.C: New test. 6118 * testsuite/libgomp.c++/task-reduction-7.C: New test. 6119 * testsuite/libgomp.c++/task-reduction-8.C: New test. 6120 * testsuite/libgomp.c++/task-reduction-9.C: New test. 6121 * testsuite/libgomp.c/teams-1.c: New test. 6122 * testsuite/libgomp.c/teams-2.c: New test. 6123 * testsuite/libgomp.c/thread-limit-4.c: New test. 6124 * testsuite/libgomp.c/thread-limit-5.c: New test. 6125 * testsuite/libgomp.fortran/display-affinity-1.f90: New test. 6126 61272018-11-06 Chung-Lin Tang <cltang@codesourcery.com> 6128 6129 * oacc-mem.c (memcpy_tofrom_device): New function, combined from 6130 acc_memcpy_to/from_device functions, now with async parameter. 6131 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device. 6132 (acc_memcpy_from_device): Likewise. 6133 (acc_memcpy_to_device_async): New API function. 6134 (acc_memcpy_from_device_async): Likewise. 6135 (present_create_copy): Add async parameter and async setting/unsetting. 6136 (acc_create): Adjust present_create_copy call. 6137 (acc_copyin): Likewise. 6138 (acc_present_or_create): Likewise. 6139 (acc_present_or_copyin): Likewise. 6140 (acc_create_async): New API function. 6141 (acc_copyin_async): New API function. 6142 (delete_copyout): Add async parameter and async setting/unsetting. 6143 (acc_delete): Adjust delete_copyout call. 6144 (acc_copyout): Likewise. 6145 (acc_delete_async): New API function. 6146 (acc_copyout_async): Likewise. 6147 (update_dev_host): Add async parameter and async setting/unsetting. 6148 (acc_update_device): Adjust update_dev_host call. 6149 (acc_update_self): Likewise. 6150 (acc_update_device_async): New API function. 6151 (acc_update_self_async): Likewise. 6152 * openacc.h (acc_copyin_async): Declare new API function. 6153 (acc_create_async): Likewise. 6154 (acc_copyout_async): Likewise. 6155 (acc_delete_async): Likewise. 6156 (acc_update_device_async): Likewise. 6157 (acc_update_self_async): Likewise. 6158 (acc_memcpy_to_device_async): Likewise. 6159 (acc_memcpy_from_device_async): Likewise. 6160 * openacc_lib.h (acc_copyin_async_32_h): New subroutine. 6161 (acc_copyin_async_64_h): New subroutine. 6162 (acc_copyin_async_array_h): New subroutine. 6163 (acc_create_async_32_h): New subroutine. 6164 (acc_create_async_64_h): New subroutine. 6165 (acc_create_async_array_h): New subroutine. 6166 (acc_copyout_async_32_h): New subroutine. 6167 (acc_copyout_async_64_h): New subroutine. 6168 (acc_copyout_async_array_h): New subroutine. 6169 (acc_delete_async_32_h): New subroutine. 6170 (acc_delete_async_64_h): New subroutine. 6171 (acc_delete_async_array_h): New subroutine. 6172 (acc_update_device_async_32_h): New subroutine. 6173 (acc_update_device_async_64_h): New subroutine. 6174 (acc_update_device_async_array_h): New subroutine. 6175 (acc_update_self_async_32_h): New subroutine. 6176 (acc_update_self_async_64_h): New subroutine. 6177 (acc_update_self_async_array_h): New subroutine. 6178 * openacc.f90 (acc_copyin_async_32_h): New subroutine. 6179 (acc_copyin_async_64_h): New subroutine. 6180 (acc_copyin_async_array_h): New subroutine. 6181 (acc_create_async_32_h): New subroutine. 6182 (acc_create_async_64_h): New subroutine. 6183 (acc_create_async_array_h): New subroutine. 6184 (acc_copyout_async_32_h): New subroutine. 6185 (acc_copyout_async_64_h): New subroutine. 6186 (acc_copyout_async_array_h): New subroutine. 6187 (acc_delete_async_32_h): New subroutine. 6188 (acc_delete_async_64_h): New subroutine. 6189 (acc_delete_async_array_h): New subroutine. 6190 (acc_update_device_async_32_h): New subroutine. 6191 (acc_update_device_async_64_h): New subroutine. 6192 (acc_update_device_async_array_h): New subroutine. 6193 (acc_update_self_async_32_h): New subroutine. 6194 (acc_update_self_async_64_h): New subroutine. 6195 (acc_update_self_async_array_h): New subroutine. 6196 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*, 6197 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*, 6198 acc_delete_finalize_async*, acc_memcpy_from_device_async*, 6199 acc_memcpy_to_device_async*, acc_update_device_async*, and 6200 acc_update_self_async* entries. 6201 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test. 6202 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test. 6203 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test. 6204 62052018-10-31 Joseph Myers <joseph@codesourcery.com> 6206 6207 PR bootstrap/82856 6208 * Makefile.am: Include multilib.am 6209 (AUTOMAKE_OPTIONS): Add info-in-builddir. 6210 (CLEANFILES): Remove libgomp.info. 6211 * configure.ac: Remove AC_PREREQ. 6212 * testsuite/Makefile.am (RUNTEST): Remove quotes. 6213 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: 6214 Regenerate. 6215 62162018-10-29 Joseph Myers <joseph@codesourcery.com> 6217 Julian Brown <julian@codesourcery.com> 6218 6219 * testsuite/libgomp.oacc-c++/this.C: New. 6220 62212018-09-18 Cesar Philippidis <cesar@codesourcery.com> 6222 6223 * plugin/plugin-nvptx.c (struct cuda_map): New. 6224 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev, 6225 h_tail with (cuda_map *) map. 6226 (cuda_map_create): New function. 6227 (cuda_map_destroy): New function. 6228 (map_init): Update to use a linked list of cuda_map objects. 6229 (map_fini): Likewise. 6230 (map_pop): Likewise. 6231 (map_push): Likewise. Return CUdeviceptr instead of void. 6232 (init_streams_for_device): Remove stales references to ptx_stream 6233 members. 6234 (select_stream_for_async): Likewise. 6235 (nvptx_exec): Update call to map_init. 6236 62372018-09-09 Cesar Philippidis <cesar@codesourcery.com> 6238 Julian Brown <julian@codesourcery.com> 6239 6240 PR middle-end/86336 6241 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL. 6242 62432018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org> 6244 Thomas Koenig <tkoenig@gcc.gnu.org> 6245 6246 PR fortran/25829 6247 * testsuite/libgomp.fortran/async_io_1.f90: New test. 6248 * testsuite/libgomp.fortran/async_io_2.f90: New test. 6249 * testsuite/libgomp.fortran/async_io_3.f90: New test. 6250 * testsuite/libgomp.fortran/async_io_4.f90: New test. 6251 * testsuite/libgomp.fortran/async_io_5.f90: New test. 6252 * testsuite/libgomp.fortran/async_io_6.f90: New test. 6253 * testsuite/libgomp.fortran/async_io_7.f90: New test. 6254 62552018-08-13 Cesar Philippidis <cesar@codesourcery.com> 6256 Tom de Vries <tdevries@suse.de> 6257 6258 PR target/85590 6259 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef. 6260 (cuOccupancyMaxPotentialBlockSize): Declare. 6261 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New 6262 CUDA_ONE_CALL_MAYBE_NULL. 6263 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define 6264 CUoccupancyB2DSize and declare 6265 cuOccupancyMaxPotentialBlockSize. 6266 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the 6267 default num_gangs and num_workers when the driver supports it. 6268 62692018-08-08 Tom de Vries <tdevries@suse.de> 6270 6271 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using 6272 CUDA_ONE_CALL_MAYBE_NULL. 6273 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare. 6274 (cuLinkAddData_v2, cuLinkCreate_v2): Declare. 6275 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions 6276 are not found. 6277 62782018-08-08 Tom de Vries <tdevries@suse.de> 6279 6280 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL. 6281 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not 6282 present. 6283 62842018-08-08 Tom de Vries <tdevries@suse.de> 6285 6286 * plugin/plugin-nvptx.c 6287 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define. 6288 (nvptx_open_device): Use 6289 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR. 6290 62912018-08-08 Tom de Vries <tdevries@suse.de> 6292 6293 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ... 6294 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000. 6295 62962018-08-07 Tom de Vries <tdevries@suse.de> 6297 6298 * plugin/plugin-nvptx.c (DO_PRAGMA): Define. 6299 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL. 6300 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to 6301 corresponding call in CUDA_ONE_CALL. Add def/undef of 6302 CUDA_ONE_CALL_MAYBE_NULL. 6303 (CUDA_CALL_EXISTS): Define. 6304 63052018-08-07 Tom de Vries <tdevries@suse.de> 6306 6307 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put 6308 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the 6309 corresponding undefs right after. 6310 63112018-08-04 Tom de Vries <tdevries@suse.de> 6312 6313 * plugin/configfrag.ac: For --without-cuda-driver, set 6314 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle 6315 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no. 6316 * configure: Regenerate. 6317 63182018-08-02 Tom de Vries <tdevries@suse.de> 6319 6320 PR target/86660 6321 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions. 6322 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same. 6323 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C: 6324 Same. 6325 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same. 6326 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same. 6327 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same. 6328 63292018-08-01 Cesar Philippidis <cesar@codesourcery.com> 6330 Thomas Schwinge <thomas@codesourcery.com> 6331 6332 * config/nvptx/oacc-parallel.c: Truncate. 6333 63342018-08-01 Cesar Philippidis <cesar@codesourcery.com> 6335 James Norris <jnorris@codesourcery.com> 6336 6337 * plugin/plugin-nvptx.c (struct map): Removed. 6338 (map_init, map_pop): Remove use of struct map. 6339 (map_push): Likewise and change argument list. 6340 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New 6341 63422018-08-01 Tom de Vries <tdevries@suse.de> 6343 6344 * plugin/cuda-lib.def: New file. Factor out of ... 6345 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here. 6346 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of 6347 using CUDA_CALLS. 6348 63492018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com> 6350 6351 Revert 'AsyncI/O patch committed'. 6352 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org> 6353 Thomas Koenig <tkoenig@gcc.gnu.org> 6354 6355 PR fortran/25829 6356 * testsuite/libgomp.fortran/async_io_1.f90: New test. 6357 * testsuite/libgomp.fortran/async_io_2.f90: New test. 6358 * testsuite/libgomp.fortran/async_io_3.f90: New test. 6359 * testsuite/libgomp.fortran/async_io_4.f90: New test. 6360 * testsuite/libgomp.fortran/async_io_5.f90: New test. 6361 * testsuite/libgomp.fortran/async_io_6.f90: New test. 6362 * testsuite/libgomp.fortran/async_io_7.f90: New test. 6363 63642018-07-30 Tom de Vries <tdevries@suse.de> 6365 6366 * plugin/plugin-nvptx.c (MIN, MAX): Redefine. 6367 (nvptx_exec): Ensure worker and vector default dims don't exceed 6368 targ_fn->max_threads_per_block. 6369 63702018-07-30 Tom de Vries <tdevries@suse.de> 6371 6372 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field. 6373 (nvptx_open_device): Init default_dims for device. 6374 (nvptx_exec): Use default_dims from device. 6375 63762018-07-26 Jakub Jelinek <jakub@redhat.com> 6377 6378 PR testsuite/86660 6379 * testsuite/libgomp.c++/for-15.C (results): Include it in 6380 omp declare target region. 6381 (main): Use map (always, tofrom: results) instead of 6382 map (tofrom: results). 6383 6384 PR middle-end/86660 6385 * testsuite/libgomp.c/pr86660.c: New test. 6386 63872018-07-26 Cesar Philippidis <cesar@codesourcery.com> 6388 Tom de Vries <tdevries@suse.de> 6389 6390 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have 6391 sufficient resources to launch a kernel, and give a hint on how to fix 6392 it. 6393 63942018-07-26 Cesar Philippidis <cesar@codesourcery.com> 6395 Tom de Vries <tdevries@suse.de> 6396 6397 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size, 6398 max_threads_per_block and max_threads_per_multiprocessor fields. 6399 (nvptx_open_device): Initialize new fields. 6400 (nvptx_exec): Use num_sms, and new fields. 6401 64022018-07-26 Tom de Vries <tdevries@suse.de> 6403 6404 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls 6405 to correct locations. Remove xfail. 6406 64072018-07-26 Tom de Vries <tdevries@suse.de> 6408 6409 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with 6410 acc_wait. Move acc_async_test calls to correct locations. Remove 6411 xfail. 6412 64132018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org> 6414 Thomas Koenig <tkoenig@gcc.gnu.org> 6415 6416 PR fortran/25829 6417 * testsuite/libgomp.fortran/async_io_1.f90: New test. 6418 * testsuite/libgomp.fortran/async_io_2.f90: New test. 6419 * testsuite/libgomp.fortran/async_io_3.f90: New test. 6420 * testsuite/libgomp.fortran/async_io_4.f90: New test. 6421 * testsuite/libgomp.fortran/async_io_5.f90: New test. 6422 * testsuite/libgomp.fortran/async_io_6.f90: New test. 6423 * testsuite/libgomp.fortran/async_io_7.f90: New test. 6424 64252018-07-17 Jakub Jelinek <jakub@redhat.com> 6426 6427 PR middle-end/86542 6428 * testsuite/libgomp.c++/pr86542.C: New test. 6429 6430 PR middle-end/86539 6431 * testsuite/libgomp.c++/pr86539.C: New test. 6432 64332018-07-11 Jakub Jelinek <jakub@redhat.com> 6434 6435 PR c++/86443 6436 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable. 6437 (results): Make sure the variable is not inside declare target region. 6438 (qux): Remove unused function. 6439 64402018-07-10 Jakub Jelinek <jakub@redhat.com> 6441 6442 PR c++/86443 6443 * testsuite/libgomp.c++/for-15.C: New test. 6444 64452018-06-26 Jakub Jelinek <jakub@redhat.com> 6446 6447 PR c++/86291 6448 * testsuite/libgomp.c++/pr86291.C: New test. 6449 64502018-06-24 Gerald Pfeifer <gerald@pfeifer.com> 6451 6452 * libgomp.texi (Top): Move www.openmp.org to https. 6453 (Enabling OpenMP): Ditto. 6454 (omp_get_active_level): Ditto. 6455 (omp_get_ancestor_thread_num): Ditto. 6456 (omp_get_cancellation): Ditto. 6457 (omp_get_default_device): Ditto. 6458 (omp_get_dynamic): Ditto. 6459 (omp_get_level): Ditto. 6460 (omp_get_max_active_levels): Ditto. 6461 (omp_get_max_task_priority): Ditto. 6462 (omp_get_max_threads): Ditto. 6463 (omp_get_nested): Ditto. 6464 (omp_get_num_devices): Ditto. 6465 (omp_get_num_procs): Ditto. 6466 (omp_get_num_teams): Ditto. 6467 (omp_get_num_threads): Ditto. 6468 (omp_get_proc_bind): Ditto. 6469 (omp_get_schedule): Ditto. 6470 (omp_get_team_num): Ditto. 6471 (omp_get_team_size): Ditto. 6472 (omp_get_thread_limit): Ditto. 6473 (omp_get_thread_num): Ditto. 6474 (omp_in_parallel): Ditto. 6475 (omp_in_final): Ditto. 6476 (omp_is_initial_device): Ditto. 6477 (omp_set_default_device): Ditto. 6478 (omp_set_dynamic): Ditto. 6479 (omp_set_max_active_levels): Ditto. 6480 (omp_set_nested): Ditto. 6481 (omp_set_num_threads): Ditto. 6482 (omp_set_schedule): Ditto. 6483 (omp_init_lock): Ditto. 6484 (omp_set_lock): Ditto. 6485 (omp_test_lock): Ditto. 6486 (omp_unset_lock): Ditto. 6487 (omp_destroy_lock): Ditto. 6488 (omp_init_nest_lock): Ditto. 6489 (omp_set_nest_lock): Ditto. 6490 (omp_test_nest_lock): Ditto. 6491 (omp_unset_nest_lock): Ditto. 6492 (omp_destroy_nest_lock): Ditto. 6493 (omp_get_wtick): Ditto. 6494 (omp_get_wtime): Ditto. 6495 (OMP_CANCELLATION): Ditto. 6496 (OMP_DISPLAY_ENV): Ditto. 6497 (OMP_DEFAULT_DEVICE): Ditto. 6498 (OMP_DYNAMIC): Ditto. 6499 (OMP_MAX_ACTIVE_LEVELS): Ditto. 6500 (OMP_MAX_TASK_PRIORITY): Ditto. 6501 (OMP_NESTED): Ditto. 6502 (OMP_NUM_THREADS): Ditto. 6503 (OMP_PROC_BIND): Ditto. 6504 (OMP_PLACES): Ditto. 6505 (OMP_STACKSIZE): Ditto. 6506 (OMP_SCHEDULE): Ditto. 6507 (OMP_THREAD_LIMIT): Ditto. 6508 (OMP_WAIT_POLICY): Ditto. 6509 65102018-06-22 Cesar Philippidis <cesar@codesourcery.com> 6511 James Norris <jnorris@codesourcery.com> 6512 Julian Brown <julian@codesourcery.com> 6513 Thomas Schwinge <thomas@codesourcery.com> 6514 Tom de Vries <tom@codesourcery.com> 6515 6516 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2". 6517 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update. 6518 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise. 6519 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise. 6520 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise. 6521 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise. 6522 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file. 6523 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise. 6524 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise. 6525 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: 6526 Likewise. 6527 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c: 6528 Likewise. 6529 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c: 6530 Likewise. 6531 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: 6532 Likewise. 6533 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: 6534 Likewise. 6535 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c: 6536 Likewise. 6537 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c: 6538 Likewise. 6539 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c: 6540 Likewise. 6541 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c: 6542 Likewise. 6543 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c: 6544 Likewise. 6545 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c: 6546 Likewise. 6547 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c: 6548 Likewise. 6549 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c: 6550 Likewise. 6551 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c: 6552 Likewise. 6553 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c: 6554 Likewise. 6555 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c: 6556 Likewise. 6557 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c: 6558 Likewise. 6559 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c: 6560 Likewise. 6561 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c: 6562 Likewise. 6563 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c: 6564 Likewise. 6565 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c: 6566 Likewise. 6567 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c: 6568 Likewise. 6569 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c: 6570 Likewise. 6571 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c: 6572 Likewise. 6573 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c: 6574 Likewise. 6575 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c: 6576 Likewise. 6577 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c: 6578 Likewise. 6579 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise. 6580 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise. 6581 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise. 6582 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise. 6583 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise. 6584 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise. 6585 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise. 6586 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise. 6587 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90: 6588 Likewise. 6589 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90: 6590 Likewise. 6591 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise. 6592 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise. 6593 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: 6594 Likewise. 6595 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise. 6596 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise. 6597 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95: 6598 Likewise. 6599 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90: 6600 Likewise. 6601 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90: 6602 Likewise. 6603 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90: 6604 Likewise. 6605 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90: 6606 Likewise. 6607 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90: 6608 Likewise. 6609 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90: 6610 Likewise. 6611 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90: 6612 Likewise. 6613 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90: 6614 Likewise. 6615 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90: 6616 Likewise. 6617 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90: 6618 Likewise. 6619 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90: 6620 Likewise. 6621 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90: 6622 Likewise. 6623 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90: 6624 Likewise. 6625 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: 6626 Likewise. 6627 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise. 6628 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise. 6629 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise. 6630 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise. 6631 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise. 6632 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise. 6633 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise. 6634 66352018-06-20 Chung-Lin Tang <cltang@codesourcery.com> 6636 Thomas Schwinge <thomas@codesourcery.com> 6637 Cesar Philippidis <cesar@codesourcery.com> 6638 6639 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member. 6640 (gomp_acc_remove_pointer): Update declaration. 6641 (gomp_acc_declare_allocate): Declare. 6642 (gomp_remove_var): Declare. 6643 * libgomp.map (OACC_2.5): Define. 6644 * oacc-mem.c (acc_map_data): Update refcount. 6645 (acc_unmap_data): Likewise. 6646 (present_create_copy): Likewise. 6647 (acc_create): Add FLAG_PRESENT when calling present_create_copy. 6648 (acc_copyin): Likewise. 6649 (FLAG_FINALIZE): Define. 6650 (delete_copyout): Update dynamic refcounts, add support for FINALIZE. 6651 (acc_delete_finalize): New function. 6652 (acc_delete_finalize_async): New function. 6653 (acc_copyout_finalize): New function. 6654 (acc_copyout_finalize_async): New function. 6655 (gomp_acc_insert_pointer): Update refcounts. 6656 (gomp_acc_remove_pointer): Return if data is not present on the 6657 accelerator. 6658 * oacc-parallel.c (find_pset): Rename to find_pointer. 6659 (find_pointer): Add support for GOMP_MAP_POINTER. 6660 (handle_ftn_pointers): New function. 6661 (GOACC_parallel_keyed): Update refcounts of variables. 6662 (GOACC_enter_exit_data): Add support for finalized data mappings. 6663 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling 6664 of fortran arrays. 6665 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}. 6666 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support 6667 for GOMP_MAP_FORCE_FROM. 6668 * openacc.f90 (module openacc_internal): Add 6669 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and 6670 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for 6671 acc_copyout_finalize and acc_delete_finalize. 6672 (acc_copyout_finalize_32_h): New subroutine. 6673 (acc_copyout_finalize_64_h): New subroutine. 6674 (acc_copyout_finalize_array_h): New subroutine. 6675 (acc_delete_finalize_32_h): New subroutine. 6676 (acc_delete_finalize_64_h): New subroutine. 6677 (acc_delete_finalize_array_h): New subroutine. 6678 * openacc.h (acc_copyout_finalize): Declare. 6679 (acc_copyout_finalize_async): Declare. 6680 (acc_delete_finalize): Declare. 6681 (acc_delete_finalize_async): Declare. 6682 * openacc_lib.h (acc_copyout_finalize): New interface. 6683 (acc_delete_finalize): New interface. 6684 * target.c (gomp_map_vars): Update dynamic_refcount. 6685 (gomp_remove_var): New function. 6686 (gomp_unmap_vars): Use it. 6687 (gomp_unload_image_from_device): Likewise. 6688 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test 6689 case to utilize OpenACC 2.5 data clause semantics. 6690 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise. 6691 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise. 6692 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise. 6693 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise. 6694 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise. 6695 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise. 6696 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise. 6697 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise. 6698 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise. 6699 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise. 6700 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise. 6701 * testsuite/libgomp.oacc-fortran/data-5.f90: New test. 6702 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to 6703 utilize OpenACC 2.5 data clause semantics. 6704 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise. 6705 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise. 6706 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise. 6707 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise. 6708 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise. 6709 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise. 6710 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise. 6711 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise. 6712 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise. 6713 67142018-05-21 Janus Weil <janus@gcc.gnu.org> 6715 6716 PR fortran/85841 6717 PR testsuite/85865 6718 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy". 6719 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto. 6720 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto. 6721 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto. 6722 * testsuite/libgomp.fortran/task2.f90: Ditto. 6723 * testsuite/libgomp.fortran/vla1.f90: Ditto. 6724 * testsuite/libgomp.fortran/vla2.f90: Ditto. 6725 * testsuite/libgomp.fortran/vla3.f90: Ditto. 6726 * testsuite/libgomp.fortran/vla4.f90: Ditto. 6727 * testsuite/libgomp.fortran/vla5.f90: Ditto. 6728 * testsuite/libgomp.fortran/vla6.f90: Ditto. 6729 * testsuite/libgomp.fortran/vla8.f90: Ditto. 6730 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto. 6731 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto. 6732 67332018-05-18 Cesar Philippidis <cesar@codesourcery.com> 6734 6735 PR c++/85782 6736 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test. 6737 67382018-05-09 Tom de Vries <tom@codesourcery.com> 6739 6740 PR libgomp/82901 6741 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument 6742 to GOACC_enter_exit_data. 6743 67442018-05-09 Tom de Vries <tom@codesourcery.com> 6745 6746 PR libgomp/83792 6747 * oacc-int.h (async_valid_stream_id_p, async_valid_p) 6748 (async_synchronous_p): New function. 6749 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use 6750 async_valid_p. 6751 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use 6752 async_valid_stream_id_p. 6753 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p. 6754 * oacc-parallel.c (GOACC_parallel_keyed): Same. 6755 67562018-05-07 Tom de Vries <tom@codesourcery.com> 6757 6758 PR testsuite/85677 6759 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level 6760 include directory in ALWAYS_CFLAGS out of $blddir != "" condition. 6761 67622018-05-03 Tom de Vries <tom@codesourcery.com> 6763 6764 PR testsuite/85106 6765 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to 6766 extra_tool_flags if it contains an -foffload=-fdump-* flag. 6767 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp. 6768 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump. 6769 67702018-05-02 Tom de Vries <tom@codesourcery.com> 6771 6772 PR libgomp/85411 6773 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of 6774 GOMP_OPENACC_DIM ... 6775 * env.c (parse_gomp_openacc_dim): ... here. New function. 6776 (initialize_env): Call parse_gomp_openacc_dim. 6777 (goacc_default_dims): Define. 6778 * libgomp.h (goacc_default_dims): Declare. 6779 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function. 6780 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare. 6781 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add 6782 GOMP_PLUGIN_acc_default_dim. 6783 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test. 6784 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test. 6785 67862018-05-02 Tom de Vries <tom@codesourcery.com> 6787 6788 PR testsuite/83791 6789 * testsuite/libgomp.c++/udr-9.C: Update. 6790 * testsuite/libgomp.c++/atomic-16.C: Remove. 6791 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove. 6792 * testsuite/libgomp.c++/loop-13.C: Remove. 6793 * testsuite/libgomp.c++/loop-14.C: Remove. 6794 * testsuite/libgomp.c++/loop-15.C: Remove. 6795 * testsuite/libgomp.c++/monotonic-1.C: Remove. 6796 * testsuite/libgomp.c++/monotonic-2.C: Remove. 6797 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove. 6798 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove. 6799 * testsuite/libgomp.c++/ordered-1.C: Remove. 6800 * testsuite/libgomp.c++/pr45784.C: Remove. 6801 * testsuite/libgomp.c++/pr64824.C: Remove. 6802 * testsuite/libgomp.c++/pr64868.C: Remove. 6803 * testsuite/libgomp.c++/pr66199-1.C: Remove. 6804 * testsuite/libgomp.c++/pr66199-2.C: Remove. 6805 * testsuite/libgomp.c++/pr66199-3.C: Remove. 6806 * testsuite/libgomp.c++/pr66199-4.C: Remove. 6807 * testsuite/libgomp.c++/pr66199-5.C: Remove. 6808 * testsuite/libgomp.c++/pr66199-6.C: Remove. 6809 * testsuite/libgomp.c++/pr66199-7.C: Remove. 6810 * testsuite/libgomp.c++/pr66199-8.C: Remove. 6811 * testsuite/libgomp.c++/pr66199-9.C: Remove. 6812 * testsuite/libgomp.c++/pr69389.C: Remove. 6813 * testsuite/libgomp.c++/simd10.C: Remove. 6814 * testsuite/libgomp.c++/simd11.C: Remove. 6815 * testsuite/libgomp.c++/simd12.C: Remove. 6816 * testsuite/libgomp.c++/simd13.C: Remove. 6817 * testsuite/libgomp.c++/target-1.C: Remove. 6818 * testsuite/libgomp.c++/target-3.C: Remove. 6819 * testsuite/libgomp.c++/target-4.C: Remove. 6820 * testsuite/libgomp.c++/target-5.C: Remove. 6821 * testsuite/libgomp.c++/taskgroup-1.C: Remove. 6822 * testsuite/libgomp.c++/taskloop-1.C: Remove. 6823 * testsuite/libgomp.c++/taskloop-2.C: Remove. 6824 * testsuite/libgomp.c++/taskloop-3.C: Remove. 6825 * testsuite/libgomp.c++/taskloop-4.C: Remove. 6826 * testsuite/libgomp.c++/udr-9.C: Remove. 6827 * testsuite/libgomp.c++/for-10.C: Remove. 6828 * testsuite/libgomp.c++/for-11.C: Remove. 6829 * testsuite/libgomp.c++/for-12.C: Remove. 6830 * testsuite/libgomp.c++/for-13.C: Remove. 6831 * testsuite/libgomp.c++/for-14.C: Remove. 6832 * testsuite/libgomp.c++/for-9.C: Remove. 6833 * testsuite/libgomp.c/atomic-18.c: Move ... 6834 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here. 6835 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ... 6836 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here. 6837 * testsuite/libgomp.c/loop-13.c: Move ... 6838 * testsuite/libgomp.c-c++-common/loop-13.c: ... here. 6839 * testsuite/libgomp.c/loop-14.c: Move ... 6840 * testsuite/libgomp.c-c++-common/loop-14.c: ... here. 6841 * testsuite/libgomp.c/loop-15.c: Remove. 6842 * testsuite/libgomp.c-c++-common/loop-15.c: New test. 6843 * testsuite/libgomp.c/monotonic-1.c: Move ... 6844 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here. 6845 * testsuite/libgomp.c/monotonic-2.c: Move ... 6846 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here. 6847 * testsuite/libgomp.c/nonmonotonic-1.c: Move ... 6848 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here. 6849 * testsuite/libgomp.c/nonmonotonic-2.c: Move ... 6850 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here. 6851 * testsuite/libgomp.c/ordered-4.c: Move ... 6852 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here. 6853 * testsuite/libgomp.c/pr45784.c: Move ... 6854 * testsuite/libgomp.c-c++-common/pr45784.c: ... here. 6855 * testsuite/libgomp.c/pr64824.c: Move ... 6856 * testsuite/libgomp.c-c++-common/pr64824.c: ... here. 6857 * testsuite/libgomp.c/pr64868.c: Move ... 6858 * testsuite/libgomp.c-c++-common/pr64868.c: ... here. 6859 * testsuite/libgomp.c/pr66199-1.c: Move ... 6860 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here. 6861 * testsuite/libgomp.c/pr66199-2.c: Move ... 6862 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here. 6863 * testsuite/libgomp.c/pr66199-3.c: Move ... 6864 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here. 6865 * testsuite/libgomp.c/pr66199-4.c: Move ... 6866 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here. 6867 * testsuite/libgomp.c/pr66199-5.c: Move ... 6868 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here. 6869 * testsuite/libgomp.c/pr66199-6.c: Move ... 6870 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here. 6871 * testsuite/libgomp.c/pr66199-7.c: Move ... 6872 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here. 6873 * testsuite/libgomp.c/pr66199-8.c: Move ... 6874 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here. 6875 * testsuite/libgomp.c/pr66199-9.c: Move ... 6876 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here. 6877 * testsuite/libgomp.c/pr69389.c: Move ... 6878 * testsuite/libgomp.c-c++-common/pr69389.c: ... here. 6879 * testsuite/libgomp.c/simd-14.c: Move ... 6880 * testsuite/libgomp.c-c++-common/simd-14.c: ... here. 6881 * testsuite/libgomp.c/simd-15.c: Move ... 6882 * testsuite/libgomp.c-c++-common/simd-15.c: ... here. 6883 * testsuite/libgomp.c/simd-16.c: Move ... 6884 * testsuite/libgomp.c-c++-common/simd-16.c: ... here. 6885 * testsuite/libgomp.c/simd-17.c: Move ... 6886 * testsuite/libgomp.c-c++-common/simd-17.c: ... here. 6887 * testsuite/libgomp.c/target-1.c: Move ... 6888 * testsuite/libgomp.c-c++-common/target-1.c: ... here. 6889 * testsuite/libgomp.c/target-10.c: Move ... 6890 * testsuite/libgomp.c-c++-common/target-10.c: ... here. 6891 * testsuite/libgomp.c/target-13.c: Move ... 6892 * testsuite/libgomp.c-c++-common/target-13.c: ... here. 6893 * testsuite/libgomp.c/target-2.c: Move ... 6894 * testsuite/libgomp.c-c++-common/target-2.c: ... here. 6895 * testsuite/libgomp.c/taskgroup-1.c: Move ... 6896 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here. 6897 * testsuite/libgomp.c/taskloop-1.c: Move ... 6898 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here. 6899 * testsuite/libgomp.c/taskloop-2.c: Move ... 6900 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here. 6901 * testsuite/libgomp.c/taskloop-3.c: Move ... 6902 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here. 6903 * testsuite/libgomp.c/taskloop-4.c: Move ... 6904 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here. 6905 * testsuite/libgomp.c/udr-1.c: Move ... 6906 * testsuite/libgomp.c-c++-common/udr-1.c: ... here. 6907 * testsuite/libgomp.c/for-1.c: Move ... 6908 * testsuite/libgomp.c-c++-common/for-1.c: ... here. 6909 * testsuite/libgomp.c/for-1.h: Move ... 6910 * testsuite/libgomp.c-c++-common/for-1.h: ... here. 6911 * testsuite/libgomp.c/for-2.c: Move ... 6912 * testsuite/libgomp.c-c++-common/for-2.c: ... here. 6913 * testsuite/libgomp.c/for-2.h: Move ... 6914 * testsuite/libgomp.c-c++-common/for-2.h: ... here. 6915 * testsuite/libgomp.c/for-3.c: Move ... 6916 * testsuite/libgomp.c-c++-common/for-3.c: ... here. 6917 * testsuite/libgomp.c/for-4.c: Move ... 6918 * testsuite/libgomp.c-c++-common/for-4.c: ... here. 6919 * testsuite/libgomp.c/for-5.c: Move ... 6920 * testsuite/libgomp.c-c++-common/for-5.c: ... here. 6921 * testsuite/libgomp.c/for-6.c: Move ... 6922 * testsuite/libgomp.c-c++-common/for-6.c: ... here. 6923 69242018-05-02 Tom de Vries <tom@codesourcery.com> 6925 6926 PR libgomp/82428 6927 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use 6928 __builtin_goacc_parlevel_{id,size}. 6929 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same. 6930 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same. 6931 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same. 6932 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same. 6933 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same. 6934 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same. 6935 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same. 6936 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same. 6937 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same. 6938 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same. 6939 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same. 6940 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same. 6941 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same. 6942 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same. 6943 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same. 6944 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same. 6945 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same. 6946 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same. 6947 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same. 6948 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same. 6949 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same. 6950 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same. 6951 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same. 6952 69532018-05-02 Tom de Vries <tom@codesourcery.com> 6954 6955 PR testsuite/85106 6956 * testsuite/lib/libgomp.exp: Include scanltranstree.exp. 6957 69582018-05-02 Tom de Vries <tom@codesourcery.com> 6959 6960 PR testsuite/85106 6961 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp. 6962 69632018-04-29 Julian Brown <julian@codesourcery.com> 6964 Tom de Vries <tom@codesourcery.com> 6965 6966 PR testsuite/85527 6967 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow 6968 arbitrary order for iterations of atomic subtract check. 6969 69702018-04-28 Tom de Vries <tom@codesourcery.com> 6971 6972 PR testsuite/85527 6973 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store 6974 atomic capture results obtained in parallel loop to an array, instead of 6975 to a scalar. 6976 69772018-04-26 Tom de Vries <tom@codesourcery.com> 6978 6979 PR libgomp/84020 6980 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL. 6981 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define. 6982 (process_GOMP_NVPTX_JIT): New function. 6983 (link_ptx): Use process_GOMP_NVPTX_JIT. 6984 69852018-04-26 Richard Biener <rguenther@suse.de> 6986 Tom de Vries <tom@codesourcery.com> 6987 6988 PR lto/85422 6989 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test. 6990 69912018-04-26 Tom de Vries <tom@codesourcery.com> 6992 6993 PR target/85519 6994 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce 6995 recursion depth from 25 to 23. 6996 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same. 6997 69982018-04-24 H.J. Lu <hongjiu.lu@intel.com> 6999 7000 * configure: Regenerated. 7001 70022018-04-20 Nathan Sidwell <nathan@codesourcery.com> 7003 Tom de Vries <tom@codesourcery.com> 7004 7005 PR target/85445 7006 * testsuite/libgomp.oacc-c++/ref-1.C: New. 7007 70082018-04-19 Thomas Schwinge <thomas@codesourcery.com> 7009 7010 PR libgomp/85463 7011 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file. 7012 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise. 7013 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise. 7014 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise. 7015 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise. 7016 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise. 7017 7018 PR libfortran/85166 7019 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call 7020 abort". 7021 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise. 7022 70232018-04-19 Jakub Jelinek <jakub@redhat.com> 7024 7025 * configure: Regenerated. 7026 70272018-04-18 David Malcolm <dmalcolm@redhat.com> 7028 7029 PR jit/85384 7030 * configure: Regenerate. 7031 70322018-04-16 Cesar Philippidis <cesar@codesourcery.com> 7033 Tom de Vries <tom@codesourcery.com> 7034 7035 PR middle-end/84955 7036 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test. 7037 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test. 7038 70392018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org> 7040 7041 PR fortran/83064 7042 PR testsuite/85346 7043 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified 7044 test from gfortran.dg to here. 7045 70462018-04-12 Cesar Philippidis <cesar@codesourcery.com> 7047 7048 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346. 7049 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise. 7050 70512018-04-12 Cesar Philippidis <cesar@codesourcery.com> 7052 7053 PR middle-end/84955 7054 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test. 7055 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test. 7056 70572018-04-05 Tom de Vries <tom@codesourcery.com> 7058 7059 PR target/85204 7060 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test. 7061 70622018-03-26 Tom de Vries <tom@codesourcery.com> 7063 7064 PR tree-optimization/85063 7065 * testsuite/libgomp.c/switch-conversion-2.c: New test. 7066 * testsuite/libgomp.c/switch-conversion.c: New test. 7067 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test. 7068 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test. 7069 70702018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org> 7071 7072 PR fortran/84381 7073 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard 7074 call abort by STOP n. 7075 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise. 7076 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise. 7077 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise. 7078 * testsuite/libgomp.fortran/allocatable1.f90: Likewise. 7079 * testsuite/libgomp.fortran/allocatable10.f90: Likewise. 7080 * testsuite/libgomp.fortran/allocatable11.f90: Likewise. 7081 * testsuite/libgomp.fortran/allocatable12.f90: Likewise. 7082 * testsuite/libgomp.fortran/allocatable2.f90: Likewise. 7083 * testsuite/libgomp.fortran/allocatable3.f90: Likewise. 7084 * testsuite/libgomp.fortran/allocatable4.f90: Likewise. 7085 * testsuite/libgomp.fortran/allocatable5.f90: Likewise. 7086 * testsuite/libgomp.fortran/allocatable6.f90: Likewise. 7087 * testsuite/libgomp.fortran/allocatable7.f90: Likewise. 7088 * testsuite/libgomp.fortran/allocatable8.f90: Likewise. 7089 * testsuite/libgomp.fortran/allocatable9.f90: Likewise. 7090 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. 7091 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise. 7092 * testsuite/libgomp.fortran/associate1.f90: Likewise. 7093 * testsuite/libgomp.fortran/associate2.f90: Likewise. 7094 * testsuite/libgomp.fortran/associate3.f90: Likewise. 7095 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise. 7096 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise. 7097 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise. 7098 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise. 7099 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise. 7100 * testsuite/libgomp.fortran/character1.f90: Likewise. 7101 * testsuite/libgomp.fortran/character2.f90: Likewise. 7102 * testsuite/libgomp.fortran/collapse1.f90: Likewise. 7103 * testsuite/libgomp.fortran/collapse2.f90: Likewise. 7104 * testsuite/libgomp.fortran/collapse3.f90: Likewise. 7105 * testsuite/libgomp.fortran/collapse4.f90: Likewise. 7106 * testsuite/libgomp.fortran/crayptr1.f90: Likewise. 7107 * testsuite/libgomp.fortran/crayptr2.f90: Likewise. 7108 * testsuite/libgomp.fortran/crayptr3.f90: Likewise. 7109 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise. 7110 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise. 7111 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise. 7112 * testsuite/libgomp.fortran/depend-1.f90: Likewise. 7113 * testsuite/libgomp.fortran/depend-2.f90: Likewise. 7114 * testsuite/libgomp.fortran/depend-3.f90: Likewise. 7115 * testsuite/libgomp.fortran/do1.f90: Likewise. 7116 * testsuite/libgomp.fortran/do2.f90: Likewise. 7117 * testsuite/libgomp.fortran/doacross1.f90: Likewise. 7118 * testsuite/libgomp.fortran/doacross2.f90: Likewise. 7119 * testsuite/libgomp.fortran/doacross3.f90: Likewise. 7120 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise. 7121 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise. 7122 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise. 7123 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise. 7124 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise. 7125 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise. 7126 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise. 7127 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise. 7128 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise. 7129 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise. 7130 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise. 7131 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise. 7132 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise. 7133 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise. 7134 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise. 7135 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise. 7136 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise. 7137 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise. 7138 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise. 7139 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise. 7140 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise. 7141 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise. 7142 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise. 7143 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise. 7144 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise. 7145 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise. 7146 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise. 7147 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise. 7148 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise. 7149 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise. 7150 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise. 7151 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise. 7152 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise. 7153 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise. 7154 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise. 7155 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise. 7156 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise. 7157 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise. 7158 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise. 7159 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise. 7160 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise. 7161 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise. 7162 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise. 7163 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise. 7164 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise. 7165 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise. 7166 * testsuite/libgomp.fortran/lib1.f90: Likewise. 7167 * testsuite/libgomp.fortran/lib2.f: Likewise. 7168 * testsuite/libgomp.fortran/lib3.f: Likewise. 7169 * testsuite/libgomp.fortran/lib4.f90: Likewise. 7170 * testsuite/libgomp.fortran/lock-1.f90: Likewise. 7171 * testsuite/libgomp.fortran/lock-2.f90: Likewise. 7172 * testsuite/libgomp.fortran/nested1.f90: Likewise. 7173 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise. 7174 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise. 7175 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise. 7176 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise. 7177 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise. 7178 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise. 7179 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise. 7180 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise. 7181 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise. 7182 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise. 7183 * testsuite/libgomp.fortran/omp_cond1.f: Likewise. 7184 * testsuite/libgomp.fortran/omp_cond2.f: Likewise. 7185 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise. 7186 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise. 7187 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise. 7188 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise. 7189 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise. 7190 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise. 7191 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise. 7192 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise. 7193 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise. 7194 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise. 7195 * testsuite/libgomp.fortran/pointer1.f90: Likewise. 7196 * testsuite/libgomp.fortran/pointer2.f90: Likewise. 7197 * testsuite/libgomp.fortran/pr25162.f: Likewise. 7198 * testsuite/libgomp.fortran/pr25219.f90: Likewise. 7199 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise. 7200 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise. 7201 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise. 7202 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise. 7203 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise. 7204 * testsuite/libgomp.fortran/pr28390.f: Likewise. 7205 * testsuite/libgomp.fortran/pr29629.f90: Likewise. 7206 * testsuite/libgomp.fortran/pr32550.f90: Likewise. 7207 * testsuite/libgomp.fortran/pr33880.f90: Likewise. 7208 * testsuite/libgomp.fortran/pr34020.f90: Likewise. 7209 * testsuite/libgomp.fortran/pr35130.f90: Likewise. 7210 * testsuite/libgomp.fortran/pr42162.f90: Likewise. 7211 * testsuite/libgomp.fortran/pr46753.f90: Likewise. 7212 * testsuite/libgomp.fortran/pr48894.f90: Likewise. 7213 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise. 7214 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise. 7215 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise. 7216 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise. 7217 * testsuite/libgomp.fortran/pr65597.f90: Likewise. 7218 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise. 7219 * testsuite/libgomp.fortran/pr71014.f90: Likewise. 7220 * testsuite/libgomp.fortran/pr81304.f90: Likewise. 7221 * testsuite/libgomp.fortran/pr81841.f90: Likewise. 7222 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise. 7223 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise. 7224 * testsuite/libgomp.fortran/procptr1.f90: Likewise. 7225 * testsuite/libgomp.fortran/recursion1.f90: Likewise. 7226 * testsuite/libgomp.fortran/reduction1.f90: Likewise. 7227 * testsuite/libgomp.fortran/reduction2.f90: Likewise. 7228 * testsuite/libgomp.fortran/reduction3.f90: Likewise. 7229 * testsuite/libgomp.fortran/reduction4.f90: Likewise. 7230 * testsuite/libgomp.fortran/reduction5.f90: Likewise. 7231 * testsuite/libgomp.fortran/reduction6.f90: Likewise. 7232 * testsuite/libgomp.fortran/reference1.f90: Likewise. 7233 * testsuite/libgomp.fortran/reference2.f90: Likewise. 7234 * testsuite/libgomp.fortran/retval1.f90: Likewise. 7235 * testsuite/libgomp.fortran/retval2.f90: Likewise. 7236 * testsuite/libgomp.fortran/sharing1.f90: Likewise. 7237 * testsuite/libgomp.fortran/sharing2.f90: Likewise. 7238 * testsuite/libgomp.fortran/simd1.f90: Likewise. 7239 * testsuite/libgomp.fortran/simd2.f90: Likewise. 7240 * testsuite/libgomp.fortran/simd3.f90: Likewise. 7241 * testsuite/libgomp.fortran/simd4.f90: Likewise. 7242 * testsuite/libgomp.fortran/simd5.f90: Likewise. 7243 * testsuite/libgomp.fortran/simd6.f90: Likewise. 7244 * testsuite/libgomp.fortran/simd7.f90: Likewise. 7245 * testsuite/libgomp.fortran/stack.f90: Likewise. 7246 * testsuite/libgomp.fortran/strassen.f90: Likewise. 7247 * testsuite/libgomp.fortran/tabs1.f90: Likewise. 7248 * testsuite/libgomp.fortran/tabs2.f: Likewise. 7249 * testsuite/libgomp.fortran/target1.f90: Likewise. 7250 * testsuite/libgomp.fortran/target2.f90: Likewise. 7251 * testsuite/libgomp.fortran/target3.f90: Likewise. 7252 * testsuite/libgomp.fortran/target4.f90: Likewise. 7253 * testsuite/libgomp.fortran/target5.f90: Likewise. 7254 * testsuite/libgomp.fortran/target6.f90: Likewise. 7255 * testsuite/libgomp.fortran/target7.f90: Likewise. 7256 * testsuite/libgomp.fortran/target8.f90: Likewise. 7257 * testsuite/libgomp.fortran/task1.f90: Likewise. 7258 * testsuite/libgomp.fortran/task2.f90: Likewise. 7259 * testsuite/libgomp.fortran/task3.f90: Likewise. 7260 * testsuite/libgomp.fortran/task4.f90: Likewise. 7261 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise. 7262 * testsuite/libgomp.fortran/taskloop1.f90: Likewise. 7263 * testsuite/libgomp.fortran/taskloop2.f90: Likewise. 7264 * testsuite/libgomp.fortran/taskloop3.f90: Likewise. 7265 * testsuite/libgomp.fortran/taskloop4.f90: Likewise. 7266 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. 7267 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise. 7268 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise. 7269 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise. 7270 * testsuite/libgomp.fortran/udr1.f90: Likewise. 7271 * testsuite/libgomp.fortran/udr10.f90: Likewise. 7272 * testsuite/libgomp.fortran/udr11.f90: Likewise. 7273 * testsuite/libgomp.fortran/udr12.f90: Likewise. 7274 * testsuite/libgomp.fortran/udr13.f90: Likewise. 7275 * testsuite/libgomp.fortran/udr14.f90: Likewise. 7276 * testsuite/libgomp.fortran/udr15.f90: Likewise. 7277 * testsuite/libgomp.fortran/udr2.f90: Likewise. 7278 * testsuite/libgomp.fortran/udr3.f90: Likewise. 7279 * testsuite/libgomp.fortran/udr4.f90: Likewise. 7280 * testsuite/libgomp.fortran/udr5.f90: Likewise. 7281 * testsuite/libgomp.fortran/udr6.f90: Likewise. 7282 * testsuite/libgomp.fortran/udr7.f90: Likewise. 7283 * testsuite/libgomp.fortran/udr8.f90: Likewise. 7284 * testsuite/libgomp.fortran/udr9.f90: Likewise. 7285 * testsuite/libgomp.fortran/vla1.f90: Likewise. 7286 * testsuite/libgomp.fortran/vla2.f90: Likewise. 7287 * testsuite/libgomp.fortran/vla3.f90: Likewise. 7288 * testsuite/libgomp.fortran/vla4.f90: Likewise. 7289 * testsuite/libgomp.fortran/vla5.f90: Likewise. 7290 * testsuite/libgomp.fortran/vla6.f90: Likewise. 7291 * testsuite/libgomp.fortran/vla7.f90: Likewise. 7292 * testsuite/libgomp.fortran/vla8.f90: Likewise. 7293 * testsuite/libgomp.fortran/workshare1.f90: Likewise. 7294 * testsuite/libgomp.fortran/workshare2.f90: Likewise. 7295 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise. 7296 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise. 7297 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise. 7298 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise. 7299 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise. 7300 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise. 7301 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise. 7302 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise. 7303 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise. 7304 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise. 7305 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise. 7306 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise. 7307 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise. 7308 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise. 7309 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise. 7310 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise. 7311 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise. 7312 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise. 7313 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise. 7314 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise. 7315 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise. 7316 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise. 7317 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise. 7318 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise. 7319 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise. 7320 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise. 7321 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise. 7322 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise. 7323 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise. 7324 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise. 7325 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise. 7326 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise. 7327 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise. 7328 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise. 7329 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise. 7330 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise. 7331 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise. 7332 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise. 7333 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise. 7334 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise. 7335 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise. 7336 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise. 7337 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise. 7338 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise. 7339 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise. 7340 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise. 7341 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise. 7342 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise. 7343 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise. 7344 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise. 7345 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise. 7346 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise. 7347 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise. 7348 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise. 7349 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise. 7350 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise. 7351 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise. 7352 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise. 7353 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise. 7354 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise. 7355 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise. 7356 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise. 7357 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise. 7358 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise. 7359 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise. 7360 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise. 7361 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise. 7362 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise. 7363 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise. 7364 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise. 7365 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise. 7366 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise. 7367 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise. 7368 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise. 7369 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise. 7370 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise. 7371 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise. 7372 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise. 7373 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise. 7374 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. 7375 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise. 7376 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise. 7377 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise. 7378 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise. 7379 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise. 7380 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise. 7381 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise. 7382 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise. 7383 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise. 7384 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise. 7385 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise. 7386 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise. 7387 73882018-03-20 Richard Biener <rguenther@suse.de> 7389 7390 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one 7391 parallelizable loop. 7392 73932018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com> 7394 7395 PR target/84148 7396 * configure: Regenerate. 7397 73982018-02-16 Jakub Jelinek <jakub@redhat.com> 7399 7400 PR fortran/84418 7401 * libgomp.fortran/pr84418-1.f90: New test. 7402 * libgomp.fortran/pr84418-2.f90: New test. 7403 74042018-02-14 Jakub Jelinek <jakub@redhat.com> 7405 7406 PR fortran/84313 7407 * testsuite/libgomp.fortran/threadprivate4.f90: Add 7408 -std=f2003 -fall-intrinsics into dg-additional-options. 7409 74102018-02-08 Martin Jambor <mjambor@suse.cz> 7411 7412 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target 7413 clonable. 7414 74152018-02-08 Martin Jambor <mjambor@suse.cz> 7416 7417 * testsuite/libgomp.hsa.c/staticvar.c: New test. 7418 74192018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 7420 7421 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort) 7422 [__cplusplus]: Declare extern "C". 7423 74242018-02-07 Tom de Vries <tom@codesourcery.com> 7425 7426 PR libgomp/84217 7427 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test. 7428 74292018-01-29 Christoph Spiel <cspiel@freenet.de> 7430 Jakub Jelinek <jakub@redhat.com> 7431 7432 PR libgomp/84096 7433 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t 7434 instead of omp_lock_t. 7435 74362018-01-25 Tom de Vries <tom@codesourcery.com> 7437 7438 PR target/84028 7439 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test. 7440 74412018-01-24 Tom de Vries <tom@codesourcery.com> 7442 7443 PR target/83589 7444 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test. 7445 74462018-01-24 Tom de Vries <tom@codesourcery.com> 7447 7448 PR target/81352 7449 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test. 7450 74512018-01-19 Tom de Vries <tom@codesourcery.com> 7452 Cesar Philippidis <cesar@codesourcery.com> 7453 7454 PR target/83920 7455 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test. 7456 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test. 7457 74582018-01-03 Jakub Jelinek <jakub@redhat.com> 7459 7460 Update copyright years. 7461 7462 * libgomp.texi: Bump @copying's copyright year. 7463 74642017-12-30 Tom de Vries <tom@codesourcery.com> 7465 7466 PR libgomp/83046 7467 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test. 7468 * testsuite/libgomp.c-c++-common/pr83046.c: New test. 7469 74702017-12-27 Tom de Vries <tom@codesourcery.com> 7471 7472 PR c++/83046 7473 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static) 7474 (test_nonstatic): Fix return type to workaround PR83046. 7475 74762017-12-05 Jakub Jelinek <jakub@redhat.com> 7477 7478 PR testsuite/83281 7479 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use 7480 j suffix instead of i. 7481 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main): 7482 Likewise. 7483 74842017-12-01 Cesar Philippidis <cesar@codesourcery.com> 7485 7486 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing 7487 call to acc_wait (1). 7488 74892017-11-24 Jakub Jelinek <jakub@redhat.com> 7490 7491 PR fortran/81304 7492 * testsuite/libgomp.fortran/pr81304.f90: New test. 7493 74942017-11-23 Jakub Jelinek <jakub@redhat.com> 7495 7496 PR fortran/81841 7497 * libgomp.fortran/pr81841.f90: New test. 7498 74992017-11-22 Jakub Jelinek <jakub@redhat.com> 7500 7501 PR libgomp/83106 7502 * target.c (gomp_target_init): Compute lengths just once and 7503 use them in both malloc size and subsequent copying. 7504 75052017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com> 7506 7507 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS. 7508 * acinclude.m4: Add cet.m4. 7509 * configure: Regenerate. 7510 * Makefile.in: Likewise. 7511 * testsuite/Makefile.in: Likewise. 7512 75132017-11-15 Tom de Vries <tom@codesourcery.com> 7514 7515 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied 7516 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int. 7517 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied 7518 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int. 7519 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied 7520 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int. 7521 75222017-11-14 Tom de Vries <tom@codesourcery.com> 7523 7524 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for 7525 non-nvidia devices. 7526 75272017-11-07 Jakub Jelinek <jakub@redhat.com> 7528 7529 PR c++/82835 7530 * testsuite/libgomp.c++/pr82835.C: New test. 7531 75322017-11-06 Martin Liska <mliska@suse.cz> 7533 7534 * testsuite/libgomp.c++/loop-2.C: Return a value 7535 for functions with non-void return type, or change type to void, 7536 or add -Wno-return-type for test. 7537 * testsuite/libgomp.c++/loop-4.C: Likewise. 7538 * testsuite/libgomp.c++/parallel-1.C: Likewise. 7539 * testsuite/libgomp.c++/shared-1.C: Likewise. 7540 * testsuite/libgomp.c++/single-1.C: Likewise. 7541 * testsuite/libgomp.c++/single-2.C: Likewise. 7542 75432017-10-31 Tom de Vries <tom@codesourcery.com> 7544 7545 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after 7546 "do {} while (false)". 7547 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon 7548 after HSA_DEBUG call. 7549 75502017-10-28 Jakub Jelinek <jakub@redhat.com> 7551 7552 * target.c (struct gomp_coalesce_buf): New type. 7553 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define. 7554 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions. 7555 (gomp_copy_host2dev): Add CBUF argument, if copying into 7556 the cached ranges, memcpy into buffer instead of copying 7557 into device. 7558 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing): 7559 Add CBUF argument, pass it through to other calls. 7560 (gomp_map_vars): Aggregate copies from host to device if small enough 7561 and with small enough gaps in between into memcpy into a buffer and 7562 fewer host to device copies from the buffer. 7563 (gomp_update): Adjust gomp_copy_host2dev caller. 7564 75652017-10-17 Thomas Schwinge <thomas@codesourcery.com> 7566 7567 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do 7568 run" directive. 7569 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise. 7570 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise. 7571 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise. 7572 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise. 7573 75742017-10-16 Tom de Vries <tom@codesourcery.com> 7575 7576 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require 7577 openacc_nvidia_accel_selected. 7578 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same. 7579 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same. 7580 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same. 7581 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same 7582 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same. 7583 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require 7584 openacc_nvidia_accel_selected. Skip for shared memory device. 7585 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same. 7586 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same. 7587 75882017-10-09 Martin Jambor <mjambor@suse.cz> 7589 7590 PR hsa/82416 7591 * testsuite/libgomp.hsa.c/pr82416.c: New test. 7592 75932017-10-07 Tom de Vries <tom@codesourcery.com> 7594 7595 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate): 7596 Remove acc_device_nvidia references. 7597 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction): 7598 Same. 7599 76002017-10-05 Tom de Vries <tom@codesourcery.com> 7601 7602 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove 7603 vector_length(32) clause from acc parallel directive. 7604 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same. 7605 76062017-10-04 Tom de Vries <tom@codesourcery.com> 7607 7608 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c 7609 (main): Reduce sum of arr elements. Assert that hres is exactly 7610 representable in 32-bit floating point. 7611 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c 7612 (main): Reduce sum of arr elements. Assert that hres and hmres are 7613 exactly representable in 32-bit floating point. 7614 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same. 7615 76162017-09-28 Tom de Vries <tom@codesourcery.com> 7617 7618 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option 7619 setting. 7620 * testsuite/libgomp.c++/pr69393.C: Same. 7621 * testsuite/libgomp.c++/taskloop-1.C: Same. 7622 * testsuite/libgomp.c++/taskloop-3.C: Same. 7623 * testsuite/libgomp.c++/taskloop-4.C: Same. 7624 * testsuite/libgomp.c/for-4.c: Same. 7625 * testsuite/libgomp.c/pr66199-3.c: Same. 7626 * testsuite/libgomp.c/pr66199-4.c: Same. 7627 * testsuite/libgomp.c/pr66199-6.c: Same. 7628 * testsuite/libgomp.c/taskloop-1.c: Same. 7629 * testsuite/libgomp.c/taskloop-3.c: Same. 7630 * testsuite/libgomp.c/taskloop-4.c: Same. 7631 * testsuite/libgomp.fortran/aligned1.f03: Same. 7632 * testsuite/libgomp.fortran/condinc1.f: Same. 7633 * testsuite/libgomp.fortran/condinc3.f90: Same. 7634 * testsuite/libgomp.fortran/crayptr1.f90: Same. 7635 * testsuite/libgomp.fortran/crayptr2.f90: Same. 7636 * testsuite/libgomp.fortran/crayptr3.f90: Same. 7637 * testsuite/libgomp.fortran/omp_cond1.f: Same. 7638 * testsuite/libgomp.fortran/omp_cond3.F90: Same. 7639 * testsuite/libgomp.fortran/pr66199-1.f90: Same. 7640 * testsuite/libgomp.fortran/pr66199-2.f90: Same. 7641 * testsuite/libgomp.fortran/recursion1.f90: Same. 7642 * testsuite/libgomp.fortran/target2.f90: Same. 7643 * testsuite/libgomp.fortran/target5.f90: Same. 7644 * testsuite/libgomp.fortran/task3.f90: Same. 7645 76462017-09-28 Tom de Vries <tom@codesourcery.com> 7647 7648 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove 7649 vector_length(32) clause from acc parallel directive. 7650 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same. 7651 76522017-09-27 Tom de Vries <tom@codesourcery.com> 7653 7654 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main): 7655 Remove acc_device_nvidia references. 7656 76572017-09-16 Tom de Vries <tom@codesourcery.com> 7658 7659 PR c/81875 7660 * testsuite/libgomp.c-c++-common/pr81875.c: New test. 7661 76622017-09-14 Tom de Vries <tom@codesourcery.com> 7663 7664 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove. 7665 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ... 7666 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here. 7667 * testsuite/libgomp.c/c.exp: Include test-cases from 7668 libgomp.c-c++-common. 7669 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c 7670 files. 7671 76722017-09-14 Jakub Jelinek <jakub@redhat.com> 7673 7674 PR c++/81314 7675 * testsuite/libgomp.c++/pr81314.C: New test. 7676 76772017-09-03 Gerald Pfeifer <gerald@pfeifer.com> 7678 7679 * libgomp.texi (Top): www.openacc.org now uses https. 7680 (Enabling OpenACC): Ditto. 7681 (acc_get_num_devices): Ditto. 7682 (acc_set_device_type): Ditto. 7683 (acc_get_device_type): Ditto. 7684 (acc_set_device_num): Ditto. 7685 (acc_get_device_num): Ditto. 7686 (acc_async_test): Ditto. 7687 (acc_async_test_all): Ditto. 7688 (acc_wait): Ditto. 7689 (acc_wait_all): Ditto. 7690 (acc_wait_all_async): Ditto. 7691 (acc_wait_async): Ditto. 7692 (acc_init): Ditto. 7693 (acc_shutdown): Ditto. 7694 (acc_on_device): Ditto. 7695 (acc_malloc): Ditto. 7696 (acc_free): Ditto. 7697 (acc_copyin): Ditto. 7698 (acc_present_or_copyin): Ditto. 7699 (acc_create): Ditto. 7700 (acc_present_or_create): Ditto. 7701 (acc_copyout): Ditto. 7702 (acc_delete): Ditto. 7703 (acc_update_device): Ditto. 7704 (acc_update_self): Ditto. 7705 (acc_map_data): Ditto. 7706 (acc_unmap_data): Ditto. 7707 (acc_deviceptr): Ditto. 7708 (acc_hostptr): Ditto. 7709 (acc_is_present): Ditto. 7710 (acc_memcpy_to_device): Ditto. 7711 (acc_memcpy_from_device): Ditto. 7712 (acc_get_current_cuda_device): Ditto. 7713 (acc_get_current_cuda_context): Ditto. 7714 (acc_get_cuda_stream): Ditto. 7715 (acc_set_cuda_stream): Ditto. 7716 (ACC_DEVICE_TYPE): Ditto. 7717 (ACC_DEVICE_NUM): Ditto. 7718 (OpenACC Library Interoperability): Ditto. 7719 77202017-08-09 Jakub Jelinek <jakub@redhat.com> 7721 7722 PR c/81687 7723 * testsuite/libgomp.c/pr81687-1.c: New test. 7724 * testsuite/libgomp.c/pr81687-2.c: New test. 7725 77262017-08-07 Jakub Jelinek <jakub@redhat.com> 7727 7728 PR c/69389 7729 * testsuite/libgomp.c/pr69389.c: New test. 7730 * testsuite/libgomp.c++/pr69389.C: New test. 7731 77322017-08-07 Tom de Vries <tom@codesourcery.com> 7733 7734 PR middle-end/78266 7735 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test. 7736 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail. 7737 77382017-07-27 Jakub Jelinek <jakub@redhat.com> 7739 7740 PR c/45784 7741 * testsuite/libgomp.c/pr45784.c: New test. 7742 * testsuite/libgomp.c++/pr45784.C: New test. 7743 77442017-07-19 Tom de Vries <tom@codesourcery.com> 7745 7746 * testsuite/libgomp.oacc-c/vec.c: New test. 7747 77482017-07-03 Tom de Vries <tom@codesourcery.com> 7749 7750 * plugin/plugin-hsa.c: Fix secure_getenv.h include. 7751 77522017-06-27 Tom de Vries <tom@codesourcery.com> 7753 7754 * plugin/plugin-nvptx.c (notify_var): New function. 7755 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM. 7756 77572017-06-27 Tom de Vries <tom@codesourcery.com> 7758 7759 * env.c (parse_unsigned_long_1): Factor out of ... 7760 (parse_unsigned_long): ... here. 7761 (parse_int_1): Factor out of ... 7762 (parse_int): ... here. 7763 (parse_int_secure): New function. 7764 (initialize_env): Use parse_int_secure for GOMP_DEBUG. 7765 * secure_getenv.h: Factor out of ... 7766 * plugin/plugin-hsa.c: ... here. 7767 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test. 7768 77692017-06-21 Jakub Jelinek <jakub@redhat.com> 7770 7771 PR c++/81130 7772 * testsuite/libgomp.c++/pr81130.C: New test. 7773 77742017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 7775 7776 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if 7777 default args. 7778 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove 7779 dg-xfail-run-if default args. 7780 77812017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de> 7782 7783 * testsuite/libgomp.c/pr39591-2.c: Fix test case. 7784 * testsuite/libgomp.c/pr39591-3.c: Likewise. 7785 77862017-05-30 Jakub Jelinek <jakub@redhat.com> 7787 7788 PR libgomp/80822 7789 * config/linux/affinity.c (gomp_affinity_init_level_1): New function. 7790 (gomp_affinity_init_level): Use it. Always analyze the core and thread 7791 sibling lists, depending on level just pick up what CPUs to put 7792 together into a place vs. whether add multiple ordered places. 7793 77942017-05-24 Thomas Schwinge <thomas@codesourcery.com> 7795 7796 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes. 7797 * libgomp.map (OACC_2.0.1): Add these. 7798 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases 7799 for "acc_wait", and "acc_wait_all", respectively. 7800 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces 7801 for "acc_wait", and "acc_wait_all", respectively. 7802 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise. 7803 * libgomp.texi (acc_wait, acc_wait_all): Update. 7804 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update. 7805 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file. 7806 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise. 7807 7808 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to 7809 acc_present_or_copyin and acc_present_or_create procedures, 7810 respectively. 7811 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and 7812 generally different variants of OpenACC Runtime Library functions. 7813 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise. 7814 7815 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file. 7816 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise. 7817 7818 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead 7819 of preprocessor definitions. 7820 * libgomp.h (strong_alias): Guard by "#ifdef 7821 HAVE_ATTRIBUTE_ALIAS". 7822 * oacc-mem.c: Provide "acc_pcreate" as alias for 7823 "acc_present_or_create", and "acc_pcopyin" as alias for 7824 "acc_present_or_copyin". 7825 * libgomp.map: New version "OACC_2.0.1". 7826 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate". 7827 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging 7828 its content into... 7829 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file. 7830 Extend testing. 7831 7832 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output 7833 when disabling nvptx offloading. 7834 78352017-05-23 Thomas Schwinge <thomas@codesourcery.com> 7836 7837 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update. 7838 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise. 7839 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise. 7840 7841 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite. 7842 * testsuite/lib/libgomp.exp 7843 (check_effective_target_openacc_nvidia_accel_configured): New 7844 proc. 7845 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c) 7846 (check_effective_target_c++): New procs. 7847 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c) 7848 (check_effective_target_c++): Likewise. 7849 78502017-05-22 Jakub Jelinek <jakub@redhat.com> 7851 7852 PR middle-end/80809 7853 * testsuite/libgomp.c/pr80809-2.c: New test. 7854 * testsuite/libgomp.c/pr80809-3.c: New test. 7855 7856 PR middle-end/80809 7857 * testsuite/libgomp.c/pr80809-1.c: New test. 7858 7859 PR middle-end/80853 7860 * testsuite/libgomp.c/pr80853.c: New test. 7861 78622017-05-19 Thomas Schwinge <thomas@codesourcery.com> 7863 7864 * testsuite/libgomp.oacc-c++/template-reduction.C: Update. 7865 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update. 7866 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise. 7867 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise. 7868 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise. 7869 7870 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions): 7871 Debug output for failure. 7872 78732017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 7874 7875 * testsuite/lib/libgomp.exp: Load scanlang.exp. 7876 78772017-04-27 Jakub Jelinek <jakub@redhat.com> 7878 7879 PR bootstrap/80531 7880 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid 7881 bootstrap compare failures. 7882 78832017-04-20 Alexander Monakov <amonakov@ispras.ru> 7884 7885 * testsuite/libgomp.c/target-36.c: New testcase. 7886 78872017-04-13 Jakub Jelinek <jakub@redhat.com> 7888 7889 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type 7890 instead of char. 7891 78922017-04-11 Jakub Jelinek <jakub@redhat.com> 7893 7894 PR libgomp/80394 7895 * testsuite/libgomp.c/pr80394.c: New test. 7896 78972017-04-04 Jakub Jelinek <jakub@redhat.com> 7898 7899 PR libgomp/79876 7900 * config/posix/thread-stacksize.h: New file. 7901 * config/darwin/thread-stacksize.h: New file. 7902 * config/nvptx/thread-stacksize.h: New file. 7903 * env.c: Include thread-stacksize.h. 7904 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE 7905 instead of 0. Call pthread_attr_setstacksize even if 7906 GOMP_DEFAULT_STACKSIZE is non-zero. 7907 79082017-03-30 Jakub Jelinek <jakub@redhat.com> 7909 7910 * env.c (initialize_env): Initialize stacksize to 0. 7911 79122017-03-22 Cesar Philippidis <cesar@codesourcery.com> 7913 7914 PR c++/80029 7915 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test. 7916 79172017-03-08 Jakub Jelinek <jakub@redhat.com> 7918 7919 PR c/79940 7920 * testsuite/libgomp.c/pr79940.c: New test. 7921 79222017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 7923 7924 * testsuite/libgomp.c/pr48591.c: Enable on all __float128 7925 targets. 7926 Add __float128 options. 7927 79282017-02-11 John David Anglin <danglin@gcc.gnu.org> 7929 7930 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove 7931 hppa*-*-* dg-skip-if directive. 7932 79332017-02-09 Jakub Jelinek <jakub@redhat.com> 7934 7935 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move 7936 dg-skip-if directive into a comment. 7937 79382017-02-09 Nathan Sidwell <nathan@codesourcery.com> 7939 Chung-Lin Tang <cltang@codesourcery.com> 7940 7941 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New. 7942 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and 7943 add additional case. 7944 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under 7945 "openacc_nvidia_accel_selected". 7946 * libgomp.oacc-fortran/nested-function-1.f90 (test2): 7947 Add num_workers(8) clause. 7948 79492017-02-08 John David Anglin <danglin@gcc.gnu.org> 7950 7951 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on 7952 hppa*-*-*. 7953 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't 7954 include complex.h on hppa*-*-hpux*. 7955 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise. 7956 79572017-02-02 Thomas Schwinge <thomas@codesourcery.com> 7958 7959 * plugin/plugin-nvptx.c (nvptx_exec): Make it static. 7960 7961 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to 7962 GOMP_OFFLOAD_openacc_exec. Adjust all users. 7963 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to 7964 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users. 7965 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to 7966 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users. 7967 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to 7968 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users. 7969 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to 7970 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users. 7971 79722017-01-31 Thomas Schwinge <thomas@codesourcery.com> 7973 7974 * libgomp-plugin.h: #include <stdbool.h>. 7975 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps) 7976 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices) 7977 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device) 7978 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image) 7979 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free) 7980 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev) 7981 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run) 7982 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel) 7983 (GOMP_OFFLOAD_openacc_register_async_cleanup) 7984 (GOMP_OFFLOAD_openacc_async_test) 7985 (GOMP_OFFLOAD_openacc_async_test_all) 7986 (GOMP_OFFLOAD_openacc_async_wait) 7987 (GOMP_OFFLOAD_openacc_async_wait_async) 7988 (GOMP_OFFLOAD_openacc_async_wait_all) 7989 (GOMP_OFFLOAD_openacc_async_wait_all_async) 7990 (GOMP_OFFLOAD_openacc_async_set_async) 7991 (GOMP_OFFLOAD_openacc_create_thread_data) 7992 (GOMP_OFFLOAD_openacc_destroy_thread_data) 7993 (GOMP_OFFLOAD_openacc_get_current_cuda_device) 7994 (GOMP_OFFLOAD_openacc_get_current_cuda_context) 7995 (GOMP_OFFLOAD_openacc_get_cuda_stream) 7996 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes. 7997 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use 7998 these. 7999 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image) 8000 (GOMP_OFFLOAD_unload_image): Fix argument types. 8001 80022017-01-26 Jakub Jelinek <jakub@redhat.com> 8003 8004 * testsuite/lib/libgomp.exp 8005 (check_effective_target_hsa_offloading_selected_nocache): Fix up 8006 check_compile invocation. Fix up removal of executable. Drop 8007 bogus "2>&1" argument. 8008 8009 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules 8010 directive. 8011 80122017-01-24 Pekka Jääskeläinen <pekka@parmance.com> 8013 Martin Jambor <mjambor@suse.cz> 8014 8015 * plugin/hsa.h: Moved to top level include. 8016 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly. 8017 80182017-01-21 Jakub Jelinek <jakub@redhat.com> 8019 8020 PR other/79046 8021 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead 8022 of cat to get version from BASE-VER file. 8023 * testsuite/Makefile.in: Regenerated. 8024 80252017-01-19 Jakub Jelinek <jakub@redhat.com> 8026 8027 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even 8028 for _WIN64. 8029 80302017-01-17 Jakub Jelinek <jakub@redhat.com> 8031 8032 * plugin/hsa.h: Add GCC runtime library exception. 8033 * plugin/hsa_ext_finalize.h: Likewise. 8034 8035 * plugin/configfrag.ac: For --without-cuda-driver don't initialize 8036 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both 8037 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small 8038 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use 8039 plugin/include/cuda as include dir and -ldl instead of -lcuda as 8040 library to link ptx plugin against. 8041 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC. 8042 (CUDA_CALLS): Define. 8043 (cuda_lib, cuda_lib_inited): New variables. 8044 (init_cuda_lib): New function. 8045 (CUDA_CALL_PREFIX): Define. 8046 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX. 8047 (CUDA_CALL): Use FN instead of (FN). 8048 (CUDA_CALL_NOCHECK): Define. 8049 (cuda_error, fini_streams_for_device, select_stream_for_async, 8050 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx, 8051 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all, 8052 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image, 8053 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use 8054 CUDA_CALL_NOCHECK. 8055 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use 8056 CUDA_CALL_NOCHECK. 8057 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0. 8058 Use CUDA_CALL_NOCHECK. 8059 * plugin/cuda/cuda.h: New file. 8060 * config.h.in: Regenerated. 8061 * configure: Regenerated. 8062 8063 PR other/79046 8064 * configure.ac: Add GCC_BASE_VER. 8065 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to 8066 get version from BASE-VER file. 8067 * testsuite/Makefile.in: Regenerated. 8068 * configure: Regenerated. 8069 * Makefile.in: Regenerated. 8070 80712017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 8072 8073 PR libgomp/60670 8074 * Makefile.am: Make fincludedir multilib-aware. 8075 * Makefile.in: Regenerate. 8076 80772017-01-01 Jakub Jelinek <jakub@redhat.com> 8078 8079 Update copyright years. 8080 8081 * libgomp.texi: Bump @copying's copyright year. 8082 80832016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de> 8084 8085 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use 8086 pthread_spinlock_t instead of gomp_mutex_t lock. 8087 (gomp_get_thread_pool): Likewise. 8088 (gomp_release_thread_pool): Likewise. 8089 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir): 8090 Likewise. 8091 80922016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de> 8093 8094 * config/rtems/pool.h (gomp_get_thread_pool): Return proper 8095 thread pool in case nthreads == 1. 8096 80972016-11-30 Alexander Monakov <amonakov@ispras.ru> 8098 8099 * config/nvptx/env.c: Delete. 8100 * icv.c: Move definitions of ICV variables back ... 8101 * env.c: ...here. Do not compile environment-related functionality if 8102 LIBGOMP_OFFLOADED_ONLY is set. 8103 81042016-11-30 Alexander Monakov <amonakov@ispras.ru> 8105 8106 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it... 8107 (LIBGOMP_OFFLOADED_ONLY): ...here; new define. 8108 * configure: Regenerate. 8109 * config.h.in: Likewise. 8110 81112016-11-30 Alexander Monakov <amonakov@ispras.ru> 8112 8113 * Makefile.in: Regenerate with automake-1.11.6. 8114 * aclocal.m4: Likewise. 8115 * configure: Likewise. 8116 * testsuite/Makefile.in: Likewise. 8117 81182016-11-28 Alexander Monakov <amonakov@ispras.ru> 8119 8120 * config/nvptx/critical.c: Delete to use generic implementation. 8121 81222016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de> 8123 8124 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include 8125 ../../affinity.c as fallback. 8126 * config/nvptx/affinity.c: Delete to use fallback implementation. 8127 81282016-11-23 Alexander Monakov <amonakov@ispras.ru> 8129 Jakub Jelinek <jakub@redhat.com> 8130 Dmitry Melnik <dm@ispras.ru> 8131 8132 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c. 8133 * Makefile.in. Regenerate. 8134 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it... 8135 (LIBGOMP_USE_PTHREADS): ...here; new define. 8136 * configure: Regenerate. 8137 * config.h.in: Likewise. 8138 * config/posix/affinity.c: Move to... 8139 * affinity.c: ...here (new file). Guard use of Pthreads-specific 8140 interface by LIBGOMP_USE_PTHREADS. 8141 * critical.c: Split out GOMP_atomic_{start,end} into... 8142 * atomic.c: ...here (new file). 8143 * env.c: Split out ICV definitions into... 8144 * icv.c: ...here (new file) and... 8145 * icv-device.c: ...here. New file. 8146 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c. 8147 (gomp_destroy_lock_30): Ditto. 8148 (gomp_set_lock_30): Ditto. 8149 (gomp_unset_lock_30): Ditto. 8150 (gomp_test_lock_30): Ditto. 8151 (gomp_init_nest_lock_30): Ditto. 8152 (gomp_destroy_nest_lock_30): Ditto. 8153 (gomp_set_nest_lock_30): Ditto. 8154 (gomp_unset_nest_lock_30): Ditto. 8155 (gomp_test_nest_lock_30): Ditto. 8156 * lock.c: New. 8157 * config/nvptx/lock.c: New. 8158 * config/nvptx/bar.c: New. 8159 * config/nvptx/bar.h: New. 8160 * config/nvptx/doacross.h: New. 8161 * config/nvptx/error.c: New. 8162 * config/nvptx/icv-device.c: New. 8163 * config/nvptx/mutex.h: New. 8164 * config/nvptx/pool.h: New. 8165 * config/nvptx/proc.c: New. 8166 * config/nvptx/ptrlock.h: New. 8167 * config/nvptx/sem.h: New. 8168 * config/nvptx/simple-bar.h: New. 8169 * config/nvptx/target.c: New. 8170 * config/nvptx/task.c: New. 8171 * config/nvptx/team.c: New. 8172 * config/nvptx/time.c: New. 8173 * config/posix/simple-bar.h: New. 8174 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h. 8175 (gomp_num_teams_var): Declare. 8176 (struct gomp_thread_pool): Change threads_dock member to 8177 gomp_simple_barrier_t. 8178 [__nvptx__] (gomp_thread): New implementation. 8179 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS. 8180 (gomp_thread_destructor): Ditto. 8181 (gomp_init_thread_affinity): Ditto. 8182 * team.c: Guard uses of Pthreads-specific interfaces by 8183 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock. 8184 (gomp_free_thread) [__nvptx__]: Do not call 'free'. 8185 * config/nvptx/alloc.c: Delete. 8186 * config/nvptx/barrier.c: Ditto. 8187 * config/nvptx/fortran.c: Ditto. 8188 * config/nvptx/iter.c: Ditto. 8189 * config/nvptx/iter_ull.c: Ditto. 8190 * config/nvptx/loop.c: Ditto. 8191 * config/nvptx/loop_ull.c: Ditto. 8192 * config/nvptx/ordered.c: Ditto. 8193 * config/nvptx/parallel.c: Ditto. 8194 * config/nvptx/priority_queue.c: Ditto. 8195 * config/nvptx/sections.c: Ditto. 8196 * config/nvptx/single.c: Ditto. 8197 * config/nvptx/splay-tree.c: Ditto. 8198 * config/nvptx/work.c: Ditto. 8199 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass 8200 -foffload=-lgfortran in addition to -lgfortran. 8201 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto. 8202 * plugin/plugin-nvptx.c: Include <limits.h>. 8203 (struct targ_fn_descriptor): Add new fields. 8204 (struct ptx_device): Ditto. Set them... 8205 (nvptx_open_device): ...here. 8206 (nvptx_adjust_launch_bounds): New. 8207 (nvptx_host2dev): Allow NULL 'nvthd'. 8208 (nvptx_dev2host): Ditto. 8209 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400. 8210 (link_ptx): Adjust log sizes. 8211 (nvptx_host2dev): Allow NULL 'nvthd'. 8212 (nvptx_dev2host): Ditto. 8213 (nvptx_set_clocktick): New. Use it... 8214 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor 8215 fields. 8216 (GOMP_OFFLOAD_dev2dev): New. 8217 (nvptx_adjust_launch_bounds): New. 8218 (nvptx_stacks_size): New. 8219 (nvptx_stacks_alloc): New. 8220 (nvptx_stacks_free): New. 8221 (GOMP_OFFLOAD_run): New. 8222 (GOMP_OFFLOAD_async_run): New (stub). 8223 82242016-11-23 Martin Jambor <mjambor@suse.cz> 8225 8226 * testsuite/libgomp.hsa.c/bits-insns.c: New test. 8227 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise. 8228 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise. 8229 82302016-11-23 Martin Liska <mliska@suse.cz> 8231 Martin Jambor <mjambor@suse.cz> 8232 8233 * plugin/hsa.h: New file. 8234 * plugin/hsa_ext_finalize.h: New file. 8235 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for 8236 header file unistd.h, and functions secure_getenv, __secure_getenv, 8237 getuid, geteuid, getgid and getegid. 8238 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added 8239 -D_GNU_SOURCE. 8240 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h. 8241 Handle various cases of secure_getenv presence, add an implementation 8242 when we can test effective UID and GID. 8243 (struct hsa_runtime_fn_info): New structure. 8244 (hsa_runtime_fn_info hsa_fns): New variable. 8245 (hsa_runtime_lib): Likewise. 8246 (support_cpu_devices): Likewise. 8247 (init_enviroment_variables): Load newly introduced ENV 8248 variables. 8249 (hsa_warn): Call hsa run-time functions via hsa_fns structure. 8250 (hsa_fatal): Likewise. 8251 (DLSYM_FN): New macro. 8252 (init_hsa_runtime_functions): New function. 8253 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns 8254 structure. Depending on environment, also allow CPU devices. 8255 (init_hsa_context): Call hsa run-time functions via hsa_fns structure. 8256 (get_kernarg_memory_region): Likewise. 8257 (GOMP_OFFLOAD_init_device): Likewise. 8258 (destroy_hsa_program): Likewise. 8259 (init_basic_kernel_info): New function. 8260 (GOMP_OFFLOAD_load_image): Use it. 8261 (create_and_finalize_hsa_program): Call hsa run-time functions via 8262 hsa_fns structure. 8263 (create_single_kernel_dispatch): Likewise. 8264 (release_kernel_dispatch): Likewise. 8265 (init_single_kernel): Likewise. 8266 (parse_target_attributes): Allow up multiple HSA grid dimensions. 8267 (get_group_size): New function. 8268 (run_kernel): Likewise. 8269 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel. 8270 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns 8271 structure. 8272 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support. 8273 * testsuite/libgomp-test-support.exp.in: Likewise. 8274 * Makefile.in: Regenerated. 8275 * aclocal.m4: Likewise. 8276 * config.h.in: Likewise. 8277 * configure: Likewise. 8278 * testsuite/Makefile.in: Likewise. 8279 82802016-11-15 Martin Jambor <mjambor@suse.cz> 8281 Alexander Monakov <amonakov@ispras.ru> 8282 8283 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add 8284 mapping clauses to target constructs. 8285 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto. 8286 82872016-11-15 Matthias Klose <doko@ubuntu.com> 8288 8289 * configure: Regenerate. 8290 82912016-11-10 Jakub Jelinek <jakub@redhat.com> 8292 8293 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307. 8294 * omp_lib.h.in (openmp_version): Likewise. 8295 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead 8296 of 201307. 8297 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise. 8298 8299 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90 8300 (fib_wrapper): Add map(from: x) clause. 8301 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90 8302 (e_53_2): Likewise. 8303 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90 8304 (accum): Add map(tmp) clause. 8305 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90 8306 (accum): Add map(tofrom: tmp) clause. 8307 * testsuite/libgomp.fortran/examples-4/target_data-3.f90 8308 (gramSchmidt): Likewise. 8309 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add 8310 map(tofrom: sum) clause. 8311 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice 8312 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause. 8313 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause 8314 only allowed on the loop iterator. 8315 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause. 8316 * testsuite/libgomp.fortran/taskloop2.f90: New test. 8317 * testsuite/libgomp.fortran/taskloop4.f90: New test. 8318 * testsuite/libgomp.fortran/doacross1.f90: New test. 8319 * testsuite/libgomp.fortran/doacross3.f90: New test. 8320 * testsuite/libgomp.fortran/taskloop1.f90: New test. 8321 * testsuite/libgomp.fortran/taskloop3.f90: New test. 8322 * testsuite/libgomp.fortran/doacross2.f90: New test. 8323 * testsuite/libgomp.c/doacross-1.c (main): Add missing 8324 #pragma omp atomic read. 8325 * testsuite/libgomp.c/doacross-2.c (main): Likewise. 8326 * testsuite/libgomp.c/doacross-3.c (main): Likewise. 8327 83282016-11-02 Cesar Philippidis <cesar@codesourcery.com> 8329 Nathan Sidwell <nathan@acm.org> 8330 8331 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes 8332 to determine default geometry. 8333 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang 8334 dimension. 8335 83362016-11-01 Jakub Jelinek <jakub@redhat.com> 8337 8338 * hashtab.h: Use standard GPLv3 with runtime exception 8339 boilerplate. 8340 83412016-10-27 Aldy Hernandez <aldyh@redhat.com> 8342 8343 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate 8344 size when allocating new thread. 8345 83462016-09-14 Marek Polacek <polacek@redhat.com> 8347 8348 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated. 8349 83502016-08-19 Jakub Jelinek <jakub@redhat.com> 8351 8352 PR fortran/71014 8353 * testsuite/libgomp.fortran/pr71014.f90: New test. 8354 83552016-08-18 Chung-Lin Tang <cltang@codesourcery.com> 8356 8357 PR middle-end/70895 8358 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit 8359 firstprivate clauses. 8360 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit 8361 copy clauses. 8362 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise. 8363 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise. 8364 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise. 8365 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise. 8366 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise. 8367 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise. 8368 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise. 8369 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise. 8370 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise. 8371 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise. 8372 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise. 8373 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise. 8374 83752016-08-14 Chung-Lin Tang <cltang@codesourcery.com> 8376 8377 PR fortran/70598 8378 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test. 8379 83802016-08-08 Jakub Jelinek <jakub@redhat.com> 8381 8382 PR c++/58706 8383 * testsuite/libgomp.c++/pr58706.C: New test. 8384 83852016-08-04 Thomas Schwinge <thomas@codesourcery.com> 8386 8387 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file. 8388 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise. 8389 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C: 8390 Likewise. 8391 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise. 8392 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: 8393 Likewise. 8394 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust. 8395 8396 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link" 8397 test, and don't hardcode -O0. 8398 83992016-08-03 Nathan Sidwell <nathan@codesourcery.com> 8400 8401 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New. 8402 84032016-07-15 Cesar Philippidis <cesar@codesourcery.com> 8404 8405 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New 8406 test. 8407 84082016-07-03 H.J. Lu <hongjiu.lu@intel.com> 8409 8410 PR middle-end/71734 8411 * testsuite/libgomp.fortran/pr71734-1.f90: New test. 8412 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise. 8413 84142016-07-01 Jakub Jelinek <jakub@redhat.com> 8415 8416 PR fortran/71717 8417 * testsuite/libgomp.fortran/associate3.f90: New test. 8418 84192016-06-17 Jakub Jelinek <jakub@redhat.com> 8420 8421 * testsuite/libgomp.c++/target-21.C: New test. 8422 84232016-06-16 Jakub Jelinek <jakub@redhat.com> 8424 8425 * testsuite/libgomp.c++/target-20.C: New test. 8426 84272016-06-10 Thomas Schwinge <thomas@codesourcery.com> 8428 Cesar Philippidis <cesar@codesourcery.com> 8429 8430 PR middle-end/71373 8431 * libgomp.oacc-c/nested-function-1.c: New file. 8432 * libgomp.oacc-c/nested-function-2.c: Likewise. 8433 * libgomp.oacc-fortran/nested-function-1.f90: Likewise. 8434 * libgomp.oacc-fortran/nested-function-2.f90: Likewise. 8435 * libgomp.oacc-fortran/nested-function-3.f90: Likewise. 8436 84372016-06-10 Thomas Schwinge <thomas@codesourcery.com> 8438 8439 PR c/71381 8440 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include 8441 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c". 8442 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file. 8443 84442016-06-03 Chung-Lin Tang <cltang@codesourcery.com> 8445 8446 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase. 8447 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase. 8448 84492016-06-01 Cesar Philippidis <cesar@codesourcery.com> 8450 8451 PR c/70688 8452 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file. 8453 84542016-05-26 Jakub Jelinek <jakub@redhat.com> 8455 8456 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static) 8457 instead of invalid schedule(static, 0). 8458 * testsuite/libgomp.c/doacross-2.c (main): Likewise. 8459 84602016-05-26 Chung-Lin Tang <cltang@codesourcery.com> 8461 8462 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter. 8463 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async' 8464 parameter, use to set async stream around call to gomp_unmap_vars, 8465 call gomp_unmap_vars() with 'do_copyfrom' set to true. 8466 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field. 8467 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP 8468 events and call GOMP_PLUGIN_async_unmap_vars() for each of them. 8469 (event_add): Add int parameter, initialize 'val' field when 8470 adding new ptx_event struct. 8471 (nvptx_evec): Adjust event_add() call arguments. 8472 (nvptx_host2dev): Likewise. 8473 (nvptx_dev2host): Likewise. 8474 (nvptx_wait_async): Likewise. 8475 (nvptx_wait_all_async): Likewise. 8476 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter, 8477 pass to event_add() call. 8478 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async' 8479 parameter. 8480 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to 8481 call openacc.register_async_cleanup_func() hook. 8482 * oacc-parallel.c (GOACC_parallel_keyed): Likewise. 8483 * target.c (gomp_copy_from_async): Delete function. 8484 (gomp_map_vars): Remove async_refcount. 8485 (gomp_unmap_vars): Likewise. 8486 (gomp_load_image_to_device): Likewise. 8487 (omp_target_associate_ptr): Likewise. 8488 * libgomp.h (struct splay_tree_key_s): Remove async_refcount. 8489 (acc_dispatch_t.register_async_cleanup_func): Add int parameter. 8490 (gomp_copy_from_async): Remove. 8491 84922016-05-26 Chung-Lin Tang <cltang@codesourcery.com> 8493 8494 * target.c (gomp_device_copy): New function. 8495 (gomp_copy_host2dev): Likewise. 8496 (gomp_copy_dev2host): Likewise. 8497 (gomp_free_device_memory): Likewise. 8498 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev. 8499 (gomp_map_pointer): Likewise. 8500 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle 8501 NULL value from alloc_func plugin hook. 8502 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory. 8503 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host. 8504 (gomp_unmap_vars): Likewise. 8505 (gomp_update): Adjust to call gomp_copy_dev2host and 8506 gomp_copy_host2dev functions. 8507 (gomp_unload_image_from_device): Handle false value from 8508 unload_image_func plugin hook. 8509 (gomp_init_device): Handle false value from init_device_func 8510 plugin hook. 8511 (gomp_exit_data): Adjust to call gomp_copy_dev2host. 8512 (omp_target_free): Adjust to call gomp_free_device_memory. 8513 (omp_target_memcpy): Handle return values from host2dev_func, 8514 dev2host_func, and dev2dev_func plugin hooks. 8515 (omp_target_memcpy_rect_worker): Likewise. 8516 (gomp_target_fini): Handle false value from fini_device_func 8517 plugin hook. 8518 * libgomp.h (struct gomp_device_descr): Adjust return type of 8519 init_device_func, fini_device_func, unload_image_func, free_func, 8520 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'. 8521 * oacc-init.c (acc_shutdown_1): Handle false value from 8522 fini_device_func plugin hook. 8523 * oacc-host.c (host_init_device): Change return type to bool. 8524 (host_fini_device): Likewise. 8525 (host_unload_image): Likewise. 8526 (host_free): Likewise. 8527 (host_dev2host): Likewise. 8528 (host_host2dev): Likewise. 8529 * oacc-mem.c (acc_free): Handle plugin hook fatal error case. 8530 (acc_memcpy_to_device): Likewise. 8531 (acc_memcpy_from_device): Likewise. 8532 (delete_copyout): Add libfnname parameter, handle free_func 8533 hook fatal error case. 8534 (acc_delete): Adjust delete_copyout call. 8535 (acc_copyout): Likewise. 8536 (update_dev_host): Move gomp_mutex_unlock to after 8537 host2dev/dev2host hook calls. 8538 8539 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable 8540 to 'hsa_error_msg', for clarity. 8541 (hsa_fatal): Likewise. 8542 (hsa_error): New function. 8543 (init_hsa_context): Change return type to bool, adjust to return 8544 false on error. 8545 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context 8546 return value. 8547 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to 8548 return false on error. 8549 (get_agent_info): Adjust to return NULL on error. 8550 (destroy_hsa_program): Change return type to bool, adjust to 8551 return false on error. 8552 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error. 8553 (destroy_module): Change return type to bool, adjust to 8554 return false on error. 8555 (GOMP_OFFLOAD_unload_image): Likewise. 8556 (GOMP_OFFLOAD_fini_device): Likewise. 8557 (GOMP_OFFLOAD_alloc): Change to return NULL when called. 8558 (GOMP_OFFLOAD_free): Change to return false when called. 8559 (GOMP_OFFLOAD_dev2host): Likewise. 8560 (GOMP_OFFLOAD_host2dev): Likewise. 8561 (GOMP_OFFLOAD_dev2dev): Likewise. 8562 8563 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro. 8564 (CUDA_CALL): Likewise. 8565 (CUDA_CALL_ASSERT): Likewise. 8566 (map_init): Change return type to bool, use CUDA_CALL* macros. 8567 (map_fini): Likewise. 8568 (init_streams_for_device): Change return type to bool, adjust 8569 call to map_init. 8570 (fini_streams_for_device): Change return type to bool, adjust 8571 call to map_fini. 8572 (select_stream_for_async): Release stream_lock before calls to 8573 GOMP_PLUGIN_fatal, adjust call to map_init. 8574 (nvptx_init): Use CUDA_CALL* macros. 8575 (nvptx_attach_host_thread_to_device): Change return type to bool, 8576 use CUDA_CALL* macros. 8577 (nvptx_open_device): Use CUDA_CALL* macros. 8578 (nvptx_close_device): Change return type to bool, use CUDA_CALL* 8579 macros. 8580 (nvptx_get_num_devices): Use CUDA_CALL* macros. 8581 (link_ptx): Change return type to bool, use CUDA_CALL* macros. 8582 (nvptx_exec): Use CUDA_CALL* macros. 8583 (nvptx_alloc): Use CUDA_CALL* macros. 8584 (nvptx_free): Change return type to bool, use CUDA_CALL* macros. 8585 (nvptx_host2dev): Likewise. 8586 (nvptx_dev2host): Likewise. 8587 (nvptx_wait): Use CUDA_CALL* macros. 8588 (nvptx_wait_async): Likewise. 8589 (nvptx_wait_all): Likewise. 8590 (nvptx_wait_all_async): Likewise. 8591 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire, 8592 use CUDA_CALL* macros, adjust call to map_fini. 8593 (GOMP_OFFLOAD_init_device): Change return type to bool, 8594 adjust code accordingly. 8595 (GOMP_OFFLOAD_fini_device): Likewise. 8596 (GOMP_OFFLOAD_load_image): Adjust calls to 8597 nvptx_attach_host_thread_to_device/link_ptx to handle errors, 8598 use CUDA_CALL* macros. 8599 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust 8600 return code. 8601 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return. 8602 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to 8603 handle error return. 8604 (GOMP_OFFLOAD_dev2host): Likewise. 8605 (GOMP_OFFLOAD_host2dev): Likewise. 8606 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros. 8607 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise. 8608 86092016-05-24 Cesar Philippidis <cesar@codesourcery.com> 8610 8611 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets. 8612 (acc_free): Likewise. 8613 (acc_memcpy_to_device): Likewise. 8614 (acc_memcpy_from_device): Likewise. 8615 (acc_deviceptr): Likewise. 8616 (acc_hostptr): Likewise. 8617 (acc_is_present): Likewise. 8618 (acc_map_data): Likewise. 8619 (acc_unmap_data): Likewise. 8620 (present_create_copy): Likewise. 8621 (delete_copyout): Likewise. 8622 (update_dev_host): Likewise. 8623 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail. 8624 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test. 8625 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test. 8626 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise. 8627 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test. 8628 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that 8629 it only runs on nvptx targets. 8630 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise. 8631 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise. 8632 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise. 8633 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise. 8634 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise. 8635 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise. 8636 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise. 8637 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise. 8638 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. 8639 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise. 8640 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise. 8641 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise. 8642 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise. 8643 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise. 8644 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise. 8645 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. 8646 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise. 8647 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise. 8648 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise. 8649 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise. 8650 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise. 8651 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise. 8652 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise. 8653 86542016-05-23 Martin Jambor <mjambor@suse.cz> 8655 8656 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test. 8657 86582016-05-17 Chung-Lin Tang <cltang@codesourcery.com> 8659 8660 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call 8661 to gomp_init_targets_once. 8662 (acc_set_device_type): Remove !cached_base_dev condition on call to 8663 gomp_init_targets_once, move call to before acc_device_lock acquire, 8664 to avoid deadlock. 8665 (acc_get_device_num): Remove !cached_base_dev condition on call to 8666 gomp_init_targets_once. 8667 (acc_set_device_num): Likewise. 8668 86692016-05-16 Martin Jambor <mjambor@suse.cz> 8670 8671 * testsuite/libgomp.hsa.c/complex-align-2.c: New test. 8672 86732016-05-02 Nathan Sidwell <nathan@codesourcery.com> 8674 8675 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust 8676 expected partitioning. 8677 86782016-04-29 Cesar Philippidis <cesar@codesourcery.com> 8679 8680 PR middle-end/70626 8681 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test. 8682 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test. 8683 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test. 8684 86852016-04-21 Alexander Monakov <amonakov@ispras.ru> 8686 8687 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error 8688 non-fatal. 8689 86902016-04-19 Jakub Jelinek <jakub@redhat.com> 8691 8692 PR middle-end/70680 8693 * testsuite/libgomp.c/pr70680-1.c: New test. 8694 * testsuite/libgomp.c/pr70680-2.c: New test. 8695 86962016-04-14 Cesar Philippidis <cesar@codesourcery.com> 8697 8698 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't 8699 pass parameter variables to subroutines. 8700 87012016-04-14 Cesar Philippidis <cesar@codesourcery.com> 8702 8703 PR middle-end/70643 8704 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test. 8705 87062016-04-13 Cesar Philippidis <cesar@codesourcery.com> 8707 8708 PR testsuite/68242 8709 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test. 8710 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise. 8711 87122016-04-12 Thomas Schwinge <thomas@codesourcery.com> 8713 8714 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to 8715 GOACC_parallel_keyed, restore GOACC_parallel prototype, new 8716 GOACC_declare prototype. 8717 8718 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: 8719 Merge this file, and... 8720 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c: 8721 ... this file, and... 8722 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: 8723 ... this file, and... 8724 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: 8725 ... this file, and... 8726 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: 8727 ... this file, and... 8728 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: 8729 ... this file, and... 8730 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: 8731 ... this file, and... 8732 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: 8733 ... this file, and... 8734 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: 8735 ... this file, and... 8736 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: 8737 ... this file, and... 8738 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: 8739 ... this file, and... 8740 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: 8741 ... this file, and... 8742 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: 8743 ... this file into... 8744 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this 8745 file. 8746 8747 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: 8748 Make failure observable. 8749 87502016-04-12 Jakub Jelinek <jakub@redhat.com> 8751 8752 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies 8753 field. 8754 * target.c (gomp_target_fallback_firstprivate, 8755 gomp_target_unshare_firstprivate): Removed. 8756 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory 8757 before waiting for dependencies. 8758 (gomp_target_task_fn): Don't copy firstprivate vars here. 8759 * task.c (GOMP_PLUGIN_target_task_completion): Don't free 8760 firstprivate_copies here. 8761 (gomp_create_target_task): Don't initialize firstprivate_copies field. 8762 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of 8763 explicit/implicit firstprivate. 8764 87652016-04-08 Cesar Philippidis <cesar@codesourcery.com> 8766 8767 PR lto/70289 8768 PR ipa/70348 8769 PR tree-optimization/70373 8770 PR middle-end/70533 8771 PR middle-end/70534 8772 PR middle-end/70535 8773 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New 8774 test. 8775 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New 8776 test. 8777 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New 8778 test. 8779 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New 8780 test. 8781 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New 8782 test. 8783 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New 8784 test. 8785 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New 8786 test. 8787 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New 8788 test. 8789 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New 8790 test. 8791 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test. 8792 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test. 8793 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test. 8794 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New 8795 test. 8796 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New 8797 test. 8798 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New 8799 test. 8800 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New 8801 test. 8802 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test 8803 coverage. 8804 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise. 8805 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise. 8806 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test. 8807 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test. 8808 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test. 8809 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test 8810 coverage. 8811 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise. 8812 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise. 8813 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise. 8814 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise. 8815 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test. 8816 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test. 8817 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test. 8818 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test. 8819 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage. 8820 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise. 8821 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise. 8822 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise. 8823 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise. 8824 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. 8825 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test. 8826 88272016-03-30 Thomas Schwinge <thomas@codesourcery.com> 8828 James Norris <jnorris@codesourcery.com> 8829 Nathan Sidwell <nathan@codesourcery.com> 8830 Julian Brown <julian@codesourcery.com> 8831 Cesar Philippidis <cesar@codesourcery.com> 8832 Chung-Lin Tang <cltang@codesourcery.com> 8833 Tom de Vries <tom@codesourcery.com> 8834 8835 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update. 8836 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise. 8837 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise. 8838 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise. 8839 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise. 8840 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise. 8841 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise. 8842 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise. 8843 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise. 8844 XFAIL. 8845 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update. 8846 Incorporate... 8847 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this 8848 file. 8849 * testsuite/libgomp.oacc-c++/template-reduction.C: New file. 8850 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise. 8851 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise. 8852 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c: 8853 Likewise. 8854 * testsuite/libgomp.oacc-c-c++-common/private-variables.c: 8855 Likewise. 8856 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise. 8857 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise. 8858 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise. 8859 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise. 8860 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise. 8861 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise. 8862 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise. 8863 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise. 8864 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise. 8865 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: 8866 Likewise. 8867 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise. 8868 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise. 8869 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this 8870 file... 8871 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this 8872 file into... 8873 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new 8874 file. Update. 8875 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New 8876 file. 8877 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c: 8878 Likewise. 8879 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to... 8880 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c: 8881 ... this new file. Update. 8882 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to... 8883 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c: 8884 ... this new file. Update. 8885 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New 8886 file. Incorporate... 8887 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this 8888 file, and... 8889 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this 8890 file, and... 8891 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this 8892 file. 8893 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file. 8894 88952016-03-29 Thomas Schwinge <thomas@codesourcery.com> 8896 8897 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call 8898 set-torture-options. 8899 89002016-03-24 Thomas Schwinge <thomas@codesourcery.com> 8901 8902 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use 8903 gcc-dg-runtest. 8904 * testsuite/libgomp.oacc-c/c.exp: Likewise. 8905 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify 8906 -fno-builtin-acc_on_device instead of -O0. 8907 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for 8908 -O0. 8909 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise. 8910 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: 8911 Likewise. 8912 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise. 8913 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise. 8914 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise. 8915 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise. 8916 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise. 8917 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise. 8918 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise. 8919 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise. 8920 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise. 8921 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise. 8922 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise. 8923 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise. 8924 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise. 8925 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise. 8926 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise. 8927 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise. 8928 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise. 8929 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c: 8930 Don't specify -O2. 8931 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c: 8932 Likewise. 8933 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c: 8934 Likewise. 8935 89362016-03-24 Martin Liska <mliska@suse.cz> 8937 8938 * plugin/plugin-hsa.c (packet_store_release): New function 8939 that is taken from the HSA runtime manual. 8940 (GOMP_OFFLOAD_run): Use the function. 8941 89422016-03-23 Jakub Jelinek <jakub@redhat.com> 8943 8944 PR c++/70376 8945 * testsuite/libgomp.c++/pr70376.C: New test. 8946 89472016-03-23 Tom de Vries <tom@codesourcery.com> 8948 8949 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing 8950 initialization of lresult and lvresult. 8951 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same. 8952 89532016-03-23 James Norris <jnorris@codesourcery.com> 8954 Daichi Fukuoka <dc-fukuoka@sgi.com> 8955 8956 PR libgomp/69414 8957 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address. 8958 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests. 8959 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise. 8960 * testsuite/libgomp.oacc-fortran/update-1.f90: New file. 8961 89622016-03-23 Martin Liska <mliska@suse.cz> 8963 8964 PR hsa/70337 8965 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow 8966 argument just in case a dispatched kernel uses that argument. 8967 89682016-03-16 Thomas Schwinge <thomas@codesourcery.com> 8969 8970 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to 8971 -ftree-parallelize-loops/-fopenacc changes. 8972 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: 8973 Likewise. 8974 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: 8975 Likewise. 8976 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: 8977 Likewise. 8978 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: 8979 Likewise. 8980 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise. 8981 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise. 8982 89832016-03-13 Thomas Schwinge <thomas@codesourcery.com> 8984 8985 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to 8986 always_ld_library_path the path to libgcc_s. 8987 89882016-03-10 Cesar Philippidis <cesar@codesourcery.com> 8989 8990 PR testsuite/70009 8991 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed. 8992 89932016-03-09 Tom de Vries <tom@codesourcery.com> 8994 8995 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test. 8996 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same. 8997 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: 8998 Same. 8999 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same. 9000 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same. 9001 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same. 9002 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same. 9003 90042016-03-07 Martin Jambor <mjambor@suse.cz> 9005 9006 * testsuite/lib/libgomp.exp 9007 (check_effective_target_hsa_offloading_selected_nocache): New. 9008 (check_effective_target_hsa_offloading_selected): Likewise. 9009 * testsuite/libgomp.hsa.c/c.exp: Likewise. 9010 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise. 9011 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise. 9012 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise. 9013 * testsuite/libgomp.hsa.c/complex-1.c: Likewise. 9014 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise. 9015 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise. 9016 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise. 9017 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise. 9018 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise. 9019 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise. 9020 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise. 9021 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise. 9022 * testsuite/libgomp.hsa.c/pr69568.c: Likewise. 9023 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise. 9024 * testsuite/libgomp.hsa.c/switch-1.c: Likewise. 9025 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise. 9026 90272016-03-07 Martin Jambor <mjambor@suse.cz> 9028 9029 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on 9030 non-shared memory accelerators. 9031 * testsuite/libgomp.c/examples-4/device-1.c: Likewise. 9032 * testsuite/libgomp.c/examples-4/target-5.c: Likewise. 9033 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise. 9034 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise. 9035 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise. 9036 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise. 9037 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise. 9038 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise. 9039 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise. 9040 90412016-03-07 Martin Jambor <mjambor@suse.cz> 9042 9043 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to 9044 ALWAYS_CFLAGS. 9045 90462016-03-02 Jakub Jelinek <jakub@redhat.com> 9047 9048 PR libgomp/69555 9049 * testsuite/libgomp.c++/pr69555-1.C: New test. 9050 * testsuite/libgomp.c++/pr69555-2.C: New test. 9051 90522016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com> 9053 Martin Jambor <mjambor@suse.cz> 9054 9055 * testsuite/lib/libgomp.exp 9056 (check_effective_target_offload_device_shared_as): New proc. 9057 * testsuite/libgomp.c++/declare_target-1.C: New test. 9058 90592016-02-25 Ilya Verbin <ilya.verbin@intel.com> 9060 9061 PR driver/68463 9062 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove. 9063 90642016-02-23 Thomas Schwinge <thomas@codesourcery.com> 9065 9066 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims. 9067 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for 9068 dims. 9069 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to 9070 -ftree-parallelize-loops/-fopenacc changes. 9071 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise. 9072 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: 9073 Likewise. 9074 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: 9075 Likewise. 9076 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: 9077 Likewise. 9078 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: 9079 Likewise. 9080 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: 9081 Likewise. 9082 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: 9083 Likewise. 9084 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: 9085 Likewise. 9086 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise. 9087 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: 9088 Likewise. 9089 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise. 9090 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: 9091 Likewise. 9092 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise. 9093 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: 9094 Likewise. 9095 90962016-02-22 Cesar Philippidis <cesar@codesourcery.com> 9097 9098 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test. 9099 91002016-02-19 Jakub Jelinek <jakub@redhat.com> 9101 9102 PR driver/69805 9103 * testsuite/libgomp.c/pr69805.c: New test. 9104 91052016-02-16 Tom de Vries <tom@codesourcery.com> 9106 9107 PR lto/67709 9108 * testsuite/libgomp.fortran/declare-simd-4.f90: New test. 9109 91102016-02-09 Tom de Vries <tom@codesourcery.com> 9111 9112 PR tree-optimization/69599 9113 * testsuite/libgomp.c/omp-nested-3.c: New test. 9114 * testsuite/libgomp.c/pr46032-2.c: New test. 9115 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test. 9116 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test. 9117 91182016-02-09 Tom de Vries <tom@codesourcery.com> 9119 9120 PR lto/69707 9121 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test. 9122 91232016-02-02 Alexander Monakov <amonakov@ispras.ru> 9124 9125 * testsuite/libgomp.c/target-31.c: Fix testcase. 9126 91272016-02-02 Alexander Monakov <amonakov@ispras.ru> 9128 9129 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction 9130 clause. 9131 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise. 9132 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing 9133 reduction and map clauses. 9134 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise. 9135 91362016-02-02 James Norris <jnorris@codesourcery.com> 9137 9138 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause. 9139 91402016-02-02 Thomas Schwinge <thomas@codesourcery.com> 9141 9142 * libgomp.map (GOACC_2.0): Remove GOACC_host_data. 9143 * oacc-parallel.c (GOACC_host_data): Remove function definition. 9144 9145 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test 9146 cases. 9147 9148 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New 9149 variables. 9150 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib) 9151 (hsa_kmt_lib): Set variables. 9152 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend 9153 always_ld_library_path. 9154 * Makefile.in: Regenerate. 9155 * configure: Likewise. 9156 * testsuite/Makefile.in: Likewise. 9157 9158 * plugin/configfrag.ac (offload_additional_options) 9159 (offload_additional_lib_paths): Don't amend for hsa offloading. 9160 * configure: Regenerate. 9161 9162 * plugin/configfrag.ac: Don't configure for offloading target if 9163 we don't build the corresponding plugin. 9164 * configure: Regenerate. 9165 91662016-02-01 Nathan Sidwell <nathan@codesourcery.com> 9167 9168 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New. 9169 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop. 9170 91712016-01-26 Tom de Vries <tom@codesourcery.com> 9172 9173 PR tree-optimization/69110 9174 * testsuite/libgomp.c/pr69110.c: New test. 9175 91762016-01-25 Richard Biener <rguenther@suse.de> 9177 9178 PR lto/69393 9179 * testsuite/libgomp.c++/pr69393.C: New testcase. 9180 91812016-01-22 Ilya Verbin <ilya.verbin@intel.com> 9182 9183 * target.c (gomp_get_target_fn_addr): Allow host fallback if target 9184 function wasn't mapped to the device with non-shared memory. 9185 91862016-01-20 Ilya Verbin <ilya.verbin@intel.com> 9187 9188 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL. 9189 91902016-01-19 Martin Jambor <mjambor@suse.cz> 9191 Martin Liska <mliska@suse.cz> 9192 9193 * plugin/Makefrag.am: Add HSA plugin requirements. 9194 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable. 9195 (HSA_RUNTIME_LIB): Likewise. 9196 (HSA_RUNTIME_CPPFLAGS): Likewise. 9197 (HSA_RUNTIME_INCLUDE): New substitution. 9198 (HSA_RUNTIME_LIB): Likewise. 9199 (HSA_RUNTIME_LDFLAGS): Likewise. 9200 (hsa-runtime): New configure option. 9201 (hsa-runtime-include): Likewise. 9202 (hsa-runtime-lib): Likewise. 9203 (PLUGIN_HSA): New substitution variable. 9204 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new 9205 configure options. 9206 (PLUGIN_HSA_CPPFLAGS): Likewise. 9207 (PLUGIN_HSA_LDFLAGS): Likewise. 9208 (PLUGIN_HSA_LIBS): Likewise. 9209 Check that we have access to HSA run-time. 9210 * libgomp-plugin.h (offload_target_type): New element 9211 OFFLOAD_TARGET_TYPE_HSA. 9212 * libgomp.h (gomp_target_task): New fields firstprivate_copies and 9213 args. 9214 (bool gomp_create_target_task): Updated. 9215 (gomp_device_descr): Extra parameter of run_func and async_run_func, 9216 new field can_run_func. 9217 * libgomp_g.h (GOMP_target_ext): Update prototype. 9218 * oacc-host.c (host_run): Added a new parameter args. 9219 * target.c (calculate_firstprivate_requirements): New function. 9220 (copy_firstprivate_data): Likewise. 9221 (gomp_target_fallback_firstprivate): Use them. 9222 (gomp_target_unshare_firstprivate): New function. 9223 (gomp_get_target_fn_addr): Allow returning NULL for shared memory 9224 devices. 9225 (GOMP_target): Do host fallback for all shared memory devices. Do not 9226 pass any args to plugins. 9227 (GOMP_target_ext): Introduce device-specific argument parameter args. 9228 Allow host fallback if device shares memory. Do not remap data if 9229 device has shared memory. 9230 (gomp_target_task_fn): Likewise. Also treat shared memory devices 9231 like host fallback for mappings. 9232 (GOMP_target_data): Treat shared memory devices like host fallback. 9233 (GOMP_target_data_ext): Likewise. 9234 (GOMP_target_update): Likewise. 9235 (GOMP_target_update_ext): Likewise. Also pass NULL as args to 9236 gomp_create_target_task. 9237 (GOMP_target_enter_exit_data): Likewise. 9238 (omp_target_alloc): Treat shared memory devices like host fallback. 9239 (omp_target_free): Likewise. 9240 (omp_target_is_present): Likewise. 9241 (omp_target_memcpy): Likewise. 9242 (omp_target_memcpy_rect): Likewise. 9243 (omp_target_associate_ptr): Likewise. 9244 (gomp_load_plugin_for_device): Also load can_run. 9245 * task.c (GOMP_PLUGIN_target_task_completion): Free 9246 firstprivate_copies. 9247 (gomp_create_target_task): Accept new argument args and store it to 9248 ttask. 9249 * plugin/plugin-hsa.c: New file. 9250 92512016-01-18 Tom de Vries <tom@codesourcery.com> 9252 9253 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test. 9254 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same. 9255 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same. 9256 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same. 9257 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same. 9258 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same. 9259 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same. 9260 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same. 9261 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same. 9262 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same. 9263 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c: 9264 Same. 9265 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c: 9266 Same. 9267 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same. 9268 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same. 9269 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same. 9270 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same. 9271 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same. 9272 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same. 9273 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same. 9274 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c: 9275 Same. 9276 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same. 9277 92782016-01-15 Jakub Jelinek <jakub@redhat.com> 9279 9280 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return. 9281 92822016-01-15 Cesar Philippidis <cesar@codesourcery.com> 9283 9284 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test. 9285 92862016-01-12 James Norris <jnorris@codesourcery.com> 9287 9288 * libgomp.texi: Updates for OpenACC. 9289 92902016-01-11 Alexander Monakov <amonakov@ispras.ru> 9291 9292 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET. 9293 92942016-01-07 H.J. Lu <hongjiu.lu@intel.com> 9295 9296 PR fortran/66680 9297 * testsuite/libgomp.fortran/pr66680.f90: New test. 9298 92992016-01-07 Jakub Jelinek <jakub@redhat.com> 9300 9301 PR middle-end/68960 9302 * testsuite/libgomp.c/pr68960.c: New test. 9303 93042016-01-06 Nathan Sidwell <nathan@acm.org> 9305 9306 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper. 9307 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New. 9308 93092016-01-04 Jakub Jelinek <jakub@redhat.com> 9310 9311 Update copyright years. 9312 9313 * libgomp.texi: Bump @copying's copyright year. 9314 93152015-12-31 Nathan Sidwell <nathan@acm.org> 9316 9317 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct 9318 dg-additional-options syntax. 9319 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise. 9320 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise. 9321 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise. 9322 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise. 9323 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise. 9324 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise. 9325 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise. 9326 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise. 9327 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise. 9328 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise. 9329 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise. 9330 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise. 9331 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise. 9332 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise. 9333 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise. 9334 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise. 9335 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise. 9336 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise. 9337 93382015-12-15 Ilya Verbin <ilya.verbin@intel.com> 9339 9340 * libgomp.h (REFCOUNT_LINK): Define. 9341 (struct splay_tree_key_s): Add link_key. 9342 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped. 9343 Replace target address of the pointer with target address of newly 9344 mapped object in the splay tree. Set link pointer on target to the 9345 device address of the mapped object. 9346 (gomp_unmap_vars): Restore target address of the pointer in the splay 9347 tree for REFCOUNT_LINK objects after unmapping. 9348 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp 9349 declare target link" objects. 9350 (gomp_unload_image_from_device): Replace j with i. Force unmap of all 9351 "omp declare target link" objects, which were mapped for the image. 9352 (gomp_exit_data): Restore target address of the pointer in the splay 9353 tree for REFCOUNT_LINK objects after unmapping. 9354 * testsuite/libgomp.c/target-link-1.c: New file. 9355 93562015-12-14 Ilya Verbin <ilya.verbin@intel.com> 9357 9358 * libgomp.h (gomp_device_state): New enum. 9359 (struct gomp_device_descr): Replace is_initialized with state. 9360 (gomp_fini_device): Remove declaration. 9361 * oacc-host.c (host_dispatch): Use state instead of is_initialized. 9362 * oacc-init.c (acc_init_1): Use state instead of is_initialized. 9363 (acc_shutdown_1): Likewise. Inline gomp_fini_device. 9364 (acc_set_device_type): Use state instead of is_initialized. 9365 (acc_set_device_num): Likewise. 9366 * target.c (resolve_device): Use state instead of is_initialized. 9367 Do not initialize finalized device. 9368 (gomp_map_vars): Do nothing if device is finalized. 9369 (gomp_unmap_vars): Likewise. 9370 (gomp_update): Likewise. 9371 (GOMP_offload_register_ver): Use state instead of is_initialized. 9372 (GOMP_offload_unregister_ver): Likewise. 9373 (gomp_init_device): Likewise. 9374 (gomp_unload_device): Likewise. 9375 (gomp_fini_device): Remove. 9376 (gomp_get_target_fn_addr): Do nothing if device is finalized. 9377 (GOMP_target): Go to host fallback if device is finalized. 9378 (GOMP_target_ext): Likewise. 9379 (gomp_exit_data): Do nothing if device is finalized. 9380 (gomp_target_task_fn): Go to host fallback if device is finalized. 9381 (gomp_target_fini): New static function. 9382 (gomp_target_init): Use state instead of is_initialized. 9383 Call gomp_target_fini at exit. 9384 93852015-12-09 Tom de Vries <tom@codesourcery.com> 9386 9387 PR tree-optimization/68716 9388 * testsuite/libgomp.c/omp-nested-2.c: New test. 9389 93902015-12-02 Thomas Schwinge <thomas@codesourcery.com> 9391 9392 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to 9393 target openacc_nvidia_accel_selected. 9394 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise. 9395 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise. 9396 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file. 9397 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file. 9398 93992015-12-01 Julian Brown <julian@codesourcery.com> 9400 James Norris <James_Norris@mentor.com> 9401 9402 * oacc-parallel.c (GOACC_host_data): New function. 9403 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1. 9404 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test. 9405 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test. 9406 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test. 9407 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test. 9408 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test. 9409 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test. 9410 94112015-11-30 James Norris <jnorris@codesourcery.com> 9412 Cesar Philippidis <cesar@codesourcery.com> 9413 9414 libgomp/ 9415 * libgomp.oacc-fortran/routine-5.f90: New test. 9416 * libgomp.oacc-fortran/routine-7.f90: New test. 9417 * libgomp.oacc-fortran/routine-9.f90: New test. 9418 94192015-11-30 Tom de Vries <tom@codesourcery.com> 9420 9421 PR tree-optimization/46032 9422 * testsuite/libgomp.c/pr46032.c: New test. 9423 94242015-11-27 Jakub Jelinek <jakub@redhat.com> 9425 9426 PR libgomp/68579 9427 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl. 9428 (gomp_create_target_task): Call it before freeing 9429 GOMP_TARGET_TASK_DATA tasks. 9430 9431 PR c/63326 9432 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon 9433 in between case label and OpenMP standalone directives. 9434 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise. 9435 94362015-11-26 David Edelsohn <dje.gcc@gmail.com> 9437 9438 * configure: Regenerate. 9439 94402015-11-26 Jakub Jelinek <jakub@redhat.com> 9441 9442 * testsuite/libgomp.c/target-35.c: New test. 9443 94442015-11-22 James Norris <jnorris@codesourcery.com> 9445 Cesar Philippidis <cesar@codesourcery.com> 9446 9447 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test. 9448 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise. 9449 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise. 9450 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise. 9451 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise. 9452 94532015-11-20 Jakub Jelinek <jakub@redhat.com> 9454 9455 PR middle-end/68221 9456 * testsuite/libgomp.c/reduction-11.c: Remove xfail. 9457 * testsuite/libgomp.c/reduction-12.c: Likewise. 9458 * testsuite/libgomp.c++/reduction-11.C: Likewise. 9459 * testsuite/libgomp.c++/reduction-12.C: Likewise. 9460 94612015-11-19 Nathan Sidwell <nathan@codesourcery.com> 9462 9463 * libgomp.oacc-c-c++-common/reduction-dbl.c: New. 9464 * libgomp.oacc-c-c++-common/reduction-flt.c: New. 9465 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef. 9466 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef. 9467 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests 9468 and fix. 9469 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise. 9470 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise. 9471 94722015-11-18 Nathan Sidwell <nathan@codesourcery.com> 9473 9474 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add 9475 worker & gang cases. 9476 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise. 9477 94782015-11-17 Cesar Philippidis <cesar@codesourcery.com> 9479 9480 * config/nvptx/priority_queue.c: New file. 9481 94822015-11-14 Jakub Jelinek <jakub@redhat.com> 9483 9484 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5 9485 sections. 9486 94872015-11-14 Jakub Jelinek <jakub@redhat.com> 9488 Aldy Hernandez <aldyh@redhat.com> 9489 Ilya Verbin <ilya.verbin@intel.com> 9490 9491 * ordered.c (gomp_doacross_init, GOMP_doacross_post, 9492 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post, 9493 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of 9494 iterators or IV by chunk size. 9495 * parallel.c (gomp_resolve_num_threads): Don't assume that 9496 if thr->ts.team is non-NULL, then pool must be non-NULL. 9497 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare. 9498 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export 9499 GOMP_PLUGIN_target_task_completion. 9500 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c. 9501 * Makefile.in: Regenerate. 9502 * libgomp.h: Shuffle prototypes and forward definitions around so 9503 priority queues can be defined. 9504 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING. 9505 (enum gomp_target_task_state): New enum. 9506 (struct gomp_target_task): Add state, tgt, task and team fields. 9507 (gomp_create_target_task): Change return type to bool, add 9508 state argument. 9509 (gomp_target_task_fn): Change return type to bool. 9510 (struct gomp_device_descr): Add async_run_func. 9511 (struct gomp_task): Remove children, next_child, prev_child, 9512 next_queue, prev_queue, next_taskgroup, prev_taskgroup. 9513 Add pnode field. 9514 (struct gomp_taskgroup): Remove children. 9515 Add taskgroup_queue. 9516 (struct gomp_team): Change task_queue type to a priority queue. 9517 (splay_compare): Define inline. 9518 (priority_queue_offset): New. 9519 (priority_node_to_task): New. 9520 (task_to_priority_node): New. 9521 * oacc-mem.c: Do not include splay-tree.h. 9522 * priority_queue.c: New file. 9523 * priority_queue.h: New file. 9524 * splay-tree.c: Do not include splay-tree.h. 9525 (splay_tree_foreach_internal): New. 9526 (splay_tree_foreach): New. 9527 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined. 9528 (splay_tree_callback): Define typedef. 9529 * target.c (splay_compare): Move to libgomp.h. 9530 (GOMP_target): Don't adjust *thr in any way around running offloaded 9531 task. 9532 (GOMP_target_ext): Likewise. Handle target nowait. 9533 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check 9534 return value from gomp_create_target_task, if false, fallthrough 9535 as if no dependencies exist. 9536 (gomp_target_task_fn): Change return type to bool, return true 9537 if the task should have another part scheduled later. Handle 9538 target nowait. 9539 (gomp_load_plugin_for_device): Initialize async_run. 9540 * task.c (gomp_init_task): Initialize children_queue. 9541 (gomp_clear_parent_in_list): New. 9542 (gomp_clear_parent_in_tree): New. 9543 (gomp_clear_parent): Handle priorities. 9544 (GOMP_task): Likewise. 9545 (priority_queue_move_task_first, 9546 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion): 9547 New functions. 9548 (gomp_create_target_task): Use priority queues. Change return type 9549 to bool, add state argument, return false if for async 9550 {{enter,exit} data,update} constructs no dependencies need to be 9551 waited for, handle target nowait. Set task->fn to NULL instead of 9552 gomp_target_task_fn. 9553 (verify_children_queue): Remove. 9554 (priority_list_upgrade_task): New. 9555 (priority_queue_upgrade_task): New. 9556 (verify_task_queue): Remove. 9557 (priority_list_downgrade_task): New. 9558 (priority_queue_downgrade_task): New. 9559 (gomp_task_run_pre): Use priority queues. 9560 Abstract code out to priority_queue_downgrade_task. 9561 (gomp_task_run_post_handle_dependers): Use priority queues. 9562 (gomp_task_run_post_remove_parent): Likewise. 9563 (gomp_task_run_post_remove_taskgroup): Likewise. 9564 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target 9565 tasks specially. 9566 (GOMP_taskwait): Likewise. 9567 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to 9568 priority-queue_upgrade_task. 9569 (GOMP_taskgroup_start): Use priority queues. 9570 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks 9571 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a 9572 barrier. 9573 * taskloop.c (GOMP_taskloop): Handle priorities. 9574 * team.c (gomp_new_team): Call priority_queue_init. 9575 (free_team): Call priority_queue_free. 9576 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial 9577 team created for target nowait in implicit parallel region. 9578 (gomp_team_start): For nested check, test thr->ts.level instead of 9579 thr->ts.team != NULL. 9580 * testsuite/libgomp.c/doacross-3.c: New test. 9581 * testsuite/libgomp.c/ordered-5.c: New test. 9582 * testsuite/libgomp.c/priority.c: New test. 9583 * testsuite/libgomp.c/target-31.c: New test. 9584 * testsuite/libgomp.c/target-32.c: New test. 9585 * testsuite/libgomp.c/target-33.c: New test. 9586 * testsuite/libgomp.c/target-34.c: New test. 9587 95882015-11-13 Nathan Sidwell <nathan@codesourcery.com> 9589 9590 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New. 9591 9592 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential 9593 loop is sequential. 9594 95952015-11-13 Nathan Sidwell <nathan@codesourcery.com> 9596 9597 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New. 9598 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New. 9599 96002015-11-12 James Norris <jnorris@codesourcery.com> 9601 Joseph Myers <joseph@codesourcery.com> 9602 9603 * libgomp.map (GOACC_2.0.1): Export GOACC_declare. 9604 * oacc-parallel.c (GOACC_declare): New function. 9605 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test. 9606 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise. 9607 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise. 9608 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise. 9609 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise. 9610 96112015-11-12 Nathan Sidwell <nathan@codesourcery.com> 9612 9613 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New. 9614 96152015-11-1 Nathan Sidwell <nathan@codesourcery.com> 9616 9617 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New. 9618 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New. 9619 96202015-11-09 Nathan Sidwell <nathan@codesourcery.com> 9621 9622 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove 9623 inadvertent commit. 9624 96252015-11-09 Nathan Sidwell <nathan@codesourcery.com> 9626 9627 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New. 9628 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New. 9629 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New. 9630 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New. 9631 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New. 9632 96332015-11-06 Thomas Schwinge <thomas@codesourcery.com> 9634 9635 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL. 9636 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise. 9637 96382015-11-05 Jakub Jelinek <jakub@redhat.com> 9639 Ilya Verbin <ilya.verbin@intel.com> 9640 9641 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next, 9642 GOMP_loop_nonmonotonic_dynamic_start, 9643 GOMP_loop_nonmonotonic_guided_next, 9644 GOMP_loop_nonmonotonic_guided_start, 9645 GOMP_loop_ull_nonmonotonic_dynamic_next, 9646 GOMP_loop_ull_nonmonotonic_dynamic_start, 9647 GOMP_loop_ull_nonmonotonic_guided_next, 9648 GOMP_loop_ull_nonmonotonic_guided_start, 9649 GOMP_parallel_loop_nonmonotonic_dynamic, 9650 GOMP_parallel_loop_nonmonotonic_guided): New prototypes. 9651 (GOMP_target_41): Renamed to ... 9652 (GOMP_target_ext): ... this. Add num_teams and thread_limit 9653 arguments. 9654 (GOMP_target_data_41): Renamed to ... 9655 (GOMP_target_data_ext): ... this. 9656 (GOMP_target_update_41): Renamed to ... 9657 (GOMP_target_update_ext): ... this. 9658 * libgomp.map (GOMP_4.5): Export GOMP_target_ext, 9659 GOMP_target_data_ext and GOMP_target_update_ext instead of 9660 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41. 9661 Export GOMP_loop_nonmonotonic_dynamic_next, 9662 GOMP_loop_nonmonotonic_dynamic_start, 9663 GOMP_loop_nonmonotonic_guided_next, 9664 GOMP_loop_nonmonotonic_guided_start, 9665 GOMP_loop_ull_nonmonotonic_dynamic_next, 9666 GOMP_loop_ull_nonmonotonic_dynamic_start, 9667 GOMP_loop_ull_nonmonotonic_guided_next, 9668 GOMP_loop_ull_nonmonotonic_guided_start, 9669 GOMP_parallel_loop_nonmonotonic_dynamic and 9670 GOMP_parallel_loop_nonmonotonic_guided. 9671 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic, 9672 GOMP_parallel_loop_nonmonotonic_guided, 9673 GOMP_loop_nonmonotonic_dynamic_start, 9674 GOMP_loop_nonmonotonic_guided_start, 9675 GOMP_loop_nonmonotonic_dynamic_next, 9676 GOMP_loop_nonmonotonic_guided_next): New aliases or functions. 9677 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start, 9678 GOMP_loop_ull_nonmonotonic_guided_start, 9679 GOMP_loop_ull_nonmonotonic_dynamic_next, 9680 GOMP_loop_ull_nonmonotonic_guided_next): Likewise. 9681 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline 9682 functions. 9683 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For 9684 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup. 9685 Use gomp_map_val function. 9686 (gomp_target_fallback_firstprivate): New static function. 9687 (GOMP_target_41): Renamed to ... 9688 (GOMP_target_ext): ... this. Add num_teams and thread_limit 9689 arguments. Move firstprivate fallback handling into a new 9690 function. 9691 (GOMP_target_data_41): Renamed to ... 9692 (GOMP_target_data_ext): ... this. 9693 (GOMP_target_update_41): Renamed to ... 9694 (GOMP_target_update_ext): ... this. 9695 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use 9696 gomp_map_0len_lookup instead of gomp_map_lookup. 9697 (omp_target_is_present): Use gomp_map_0len_lookup instead of 9698 gomp_map_lookup. 9699 * testsuite/libgomp.c/target-28.c: Likewise. 9700 * testsuite/libgomp.c/monotonic-1.c: New test. 9701 * testsuite/libgomp.c/monotonic-2.c: New test. 9702 * testsuite/libgomp.c/nonmonotonic-1.c: New test. 9703 * testsuite/libgomp.c/nonmonotonic-2.c: New test. 9704 * testsuite/libgomp.c/pr66199-5.c: New test. 9705 * testsuite/libgomp.c/pr66199-6.c: New test. 9706 * testsuite/libgomp.c/pr66199-7.c: New test. 9707 * testsuite/libgomp.c/pr66199-8.c: New test. 9708 * testsuite/libgomp.c/pr66199-9.c: New test. 9709 * testsuite/libgomp.c/reduction-11.c: New test. 9710 * testsuite/libgomp.c/reduction-12.c: New test. 9711 * testsuite/libgomp.c/reduction-13.c: New test. 9712 * testsuite/libgomp.c/reduction-14.c: New test. 9713 * testsuite/libgomp.c/reduction-15.c: New test. 9714 * testsuite/libgomp.c/target-12.c (main): Adjust for 9715 omp_target_is_present change for one-past-last element. 9716 * testsuite/libgomp.c/target-17.c (foo): Drop tests where 9717 the same var is both mapped and privatized. 9718 * testsuite/libgomp.c/target-19.c (foo): Adjust for different 9719 handling of zero-length array sections. 9720 * testsuite/libgomp.c/target-28.c: New test. 9721 * testsuite/libgomp.c/target-29.c: New test. 9722 * testsuite/libgomp.c/target-30.c: New test. 9723 * testsuite/libgomp.c/target-teams-1.c: New test. 9724 * testsuite/libgomp.c++/member-6.C: New test. 9725 * testsuite/libgomp.c++/member-7.C: New test. 9726 * testsuite/libgomp.c++/monotonic-1.C: New test. 9727 * testsuite/libgomp.c++/monotonic-2.C: New test. 9728 * testsuite/libgomp.c++/nonmonotonic-1.C: New test. 9729 * testsuite/libgomp.c++/nonmonotonic-2.C: New test. 9730 * testsuite/libgomp.c++/pr66199-3.C: New test. 9731 * testsuite/libgomp.c++/pr66199-4.C: New test. 9732 * testsuite/libgomp.c++/pr66199-5.C: New test. 9733 * testsuite/libgomp.c++/pr66199-6.C: New test. 9734 * testsuite/libgomp.c++/pr66199-7.C: New test. 9735 * testsuite/libgomp.c++/pr66199-8.C: New test. 9736 * testsuite/libgomp.c++/pr66199-9.C: New test. 9737 * testsuite/libgomp.c++/reduction-11.C: New test. 9738 * testsuite/libgomp.c++/reduction-12.C: New test. 9739 * testsuite/libgomp.c++/target-13.C: New test. 9740 * testsuite/libgomp.c++/target-14.C: New test. 9741 * testsuite/libgomp.c++/target-15.C: New test. 9742 * testsuite/libgomp.c++/target-16.C: New test. 9743 * testsuite/libgomp.c++/target-17.C: New test. 9744 * testsuite/libgomp.c++/target-18.C: New test. 9745 * testsuite/libgomp.c++/target-19.C: New test. 9746 97472015-11-04 Nathan Sidwell <nathan@codesourcery.com> 9748 9749 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions 9750 and reduction copy. 9751 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise. 9752 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise. 9753 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise. 9754 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. 9755 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise. 9756 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise. 9757 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise. 9758 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise. 9759 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise. 9760 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise. 9761 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise. 9762 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise. 9763 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise. 9764 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New. 9765 97662015-11-04 Nathan Sidwell <nathan@codesourcery.com> 9767 9768 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New. 9769 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New. 9770 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New. 9771 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New. 9772 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New. 9773 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New. 9774 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New. 9775 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var. 9776 97772015-11-03 Nathan Sidwell <nathan@codesourcery.com> 9778 9779 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func. 9780 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg. 9781 (GOMP_OFFLOAD_openacc_parallel): Likewise. 9782 * oacc-host.c (host_openacc_exec): Likewise. 9783 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call. 9784 97852015-11-03 Julian Brown <julian@codesourcery.com> 9786 Thomas Schwinge <thomas@codesourcery.com> 9787 9788 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file. 9789 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise. 9790 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: 9791 Likewise. 9792 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise. 9793 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise. 9794 97952015-11-03 James Norris <jnorris@codesourcery.com> 9796 9797 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New 9798 file. 9799 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: 9800 Likewise. 9801 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise. 9802 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise. 9803 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise. 9804 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file. 9805 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise. 9806 98072015-10-29 Nathan Sidwell <nathan@codesourcery.com> 9808 9809 * openacc.h (enum acc_device_t): Reformat. Ensure layout 9810 compatibility. 9811 (enum acc_async_t): Reformat. 9812 (acc_on_device): Declare compatible with builtin and provide C++ 9813 wrapper. 9814 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New. 9815 98162015-10-29 Thomas Schwinge <thomas@codesourcery.com> 9817 Cesar Philippidis <cesar@codesourcery.com> 9818 9819 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to... 9820 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c: 9821 ... this. Add a description of the test at the top of the file. 9822 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to... 9823 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: 9824 ... this. Add a description of the test at the top of the file. 9825 98262015-10-28 Nathan Sidwell <nathan@codesourcery.com> 9827 9828 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New. 9829 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New. 9830 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New. 9831 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New. 9832 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New. 9833 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New. 9834 98352015-10-27 Nathan Sidwell <nathan@codesourcery.com> 9836 9837 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute 9838 dimensions. 9839 98402015-10-27 Thomas Schwinge <thomas@codesourcery.com> 9841 9842 PR testsuite/68063 9843 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause. 9844 98452015-10-27 James Norris <jnorris@codesourcery.com> 9846 9847 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file. 9848 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise. 9849 98502015-10-26 Thomas Schwinge <thomas@codesourcery.com> 9851 9852 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr. 9853 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise. 9854 9855 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit 9856 acc_device_nvidia usage. 9857 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise. 9858 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise. 9859 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise. 9860 9861 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once. 9862 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file. 9863 9864 PR libgomp/66518 9865 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL. 9866 9867 PR libgomp/65437 9868 PR libgomp/66518 9869 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize. 9870 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL. 9871 98722015-10-23 Tom de Vries <tom@codesourcery.com> 9873 9874 PR testsuite/68063 9875 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause. 9876 98772015-10-20 Nathan Sidwell <nathan@codesourcery.com> 9878 9879 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane 9880 vector_length. 9881 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. 9882 98832015-10-14 Ilya Verbin <ilya.verbin@intel.com> 9884 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com> 9885 9886 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end 9887 to 0 when mapnum is 0. 9888 98892015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de> 9890 9891 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_): 9892 Cast to int from int32_t. 9893 98942015-10-13 Jakub Jelinek <jakub@redhat.com> 9895 Aldy Hernandez <aldyh@redhat.com> 9896 Ilya Verbin <ilya.verbin@intel.com> 9897 9898 * config/linux/affinity.c (omp_get_place_num_procs, 9899 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions. 9900 * config/linux/doacross.h: New file. 9901 * config/posix/affinity.c (omp_get_place_num_procs, 9902 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions. 9903 * config/posix/doacross.h: New file. 9904 * env.c: Include gomp-constants.h. 9905 (struct gomp_task_icv): Rename run_sched_modifier to 9906 run_sched_chunk_size. 9907 (gomp_max_task_priority_var): New variable. 9908 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size. 9909 (handle_omp_display_env): Change _OPENMP value from 201307 to 9910 201511. Print OMP_MAX_TASK_PRIORITY. 9911 (initialize_env): Parse OMP_MAX_TASK_PRIORITY. 9912 (omp_set_schedule, omp_get_schedule): Rename modifier argument to 9913 chunk_size and run_sched_modifier to run_sched_chunk_size. 9914 (omp_get_max_task_priority, omp_get_initial_device, 9915 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places, 9916 omp_get_partition_place_nums): New functions. 9917 * fortran.c (omp_set_schedule_, omp_set_schedule_8_, 9918 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument 9919 to chunk_size. 9920 (omp_get_num_places_, omp_get_place_num_procs_, 9921 omp_get_place_num_procs_8_, omp_get_place_proc_ids_, 9922 omp_get_place_proc_ids_8_, omp_get_place_num_, 9923 omp_get_partition_num_places_, omp_get_partition_place_nums_, 9924 omp_get_partition_place_nums_8_, omp_get_initial_device_, 9925 omp_get_max_task_priority_): New functions. 9926 * libgomp_g.h (GOMP_loop_doacross_static_start, 9927 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start, 9928 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start, 9929 GOMP_loop_ull_doacross_dynamic_start, 9930 GOMP_loop_ull_doacross_guided_start, 9931 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post, 9932 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait, 9933 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41, 9934 GOMP_target_data_41, GOMP_target_update_41, 9935 GOMP_target_enter_exit_data): New prototypes. 9936 (GOMP_task): Add prototype argument. 9937 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined. 9938 (struct gomp_doacross_work_share): New type. 9939 (struct gomp_work_share): Add doacross field. 9940 (struct gomp_task_icv): Rename run_sched_modifier to 9941 run_sched_chunk_size. 9942 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to 9943 GOMP_TASK_UNDEFERRED. Add comments. 9944 (struct gomp_task_depend_entry): Add comments. 9945 (struct gomp_task): Likewise. 9946 (struct gomp_taskgroup): Likewise. 9947 (struct gomp_target_task): New type. 9948 (struct gomp_team): Add comment. 9949 (gomp_get_place_proc_ids_8, gomp_doacross_init, 9950 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies, 9951 gomp_create_target_task, gomp_target_task_fn): New prototypes. 9952 (struct target_var_desc): New type. 9953 (struct target_mem_desc): Adjust comment. Use struct 9954 target_var_desc instead of splay_tree_key for list. 9955 (REFCOUNT_INFINITY): Define. 9956 (struct splay_tree_key_s): Remove copy_from field. 9957 (struct gomp_device_descr): Add dev2dev_func field. 9958 (enum gomp_map_vars_kind): New enum. 9959 (gomp_map_vars): Add one argument. 9960 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority, 9961 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_, 9962 omp_get_place_num_procs, omp_get_place_num_procs_, 9963 omp_get_place_num_procs_8_, omp_get_place_proc_ids, 9964 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num, 9965 omp_get_place_num_, omp_get_partition_num_places, 9966 omp_get_partition_num_places_, omp_get_partition_place_nums, 9967 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_, 9968 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc, 9969 omp_target_free, omp_target_is_present, omp_target_memcpy, 9970 omp_target_memcpy_rect, omp_target_associate_ptr and 9971 omp_target_disassociate_ptr. 9972 (GOMP_4.0.2): Renamed to ... 9973 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41, 9974 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop, 9975 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start, 9976 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start, 9977 GOMP_loop_doacross_static_start, GOMP_doacross_post, 9978 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start, 9979 GOMP_loop_ull_doacross_guided_start, 9980 GOMP_loop_ull_doacross_runtime_start, 9981 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and 9982 GOMP_doacross_ull_wait. 9983 * libgomp.texi: Document omp_get_max_task_priority. 9984 Rename modifier argument to chunk_size for omp_set_schedule and 9985 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var. 9986 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier 9987 to run_sched_chunk_size renaming. 9988 (GOMP_loop_ordered_runtime_start): Likewise. 9989 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start, 9990 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start, 9991 GOMP_parallel_loop_runtime_start): New functions. 9992 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier 9993 to run_sched_chunk_size renaming. 9994 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start, 9995 GOMP_loop_doacross_guided_start): New functions or aliases. 9996 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for 9997 run_sched_modifier to run_sched_chunk_size renaming. 9998 (GOMP_loop_ull_ordered_runtime_start): Likewise. 9999 (gomp_loop_ull_doacross_static_start, 10000 gomp_loop_ull_doacross_dynamic_start, 10001 gomp_loop_ull_doacross_guided_start, 10002 GOMP_loop_ull_doacross_runtime_start): New functions. 10003 (GOMP_loop_ull_doacross_static_start, 10004 GOMP_loop_ull_doacross_dynamic_start, 10005 GOMP_loop_ull_doacross_guided_start): New functions or aliases. 10006 * oacc-mem.c (acc_map_data, present_create_copy, 10007 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false 10008 to gomp_map_vars. 10009 (gomp_acc_remove_pointer): Use copy_from from target_var_desc. 10010 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC 10011 instead of false to gomp_map_vars. 10012 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc. 10013 * omp.h.in (omp_lock_hint_t): New type. 10014 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint, 10015 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids, 10016 omp_get_place_num, omp_get_partition_num_places, 10017 omp_get_partition_place_nums, omp_get_initial_device, 10018 omp_get_max_task_priority, omp_target_alloc, omp_target_free, 10019 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect, 10020 omp_target_associate_ptr, omp_target_disassociate_ptr): New 10021 prototypes. 10022 * omp_lib.f90.in (omp_lock_hint_kind): New parameter. 10023 (omp_lock_hint_none, omp_lock_hint_uncontended, 10024 omp_lock_hint_contended, omp_lock_hint_nonspeculative, 10025 omp_lock_hint_speculative): New parameters. 10026 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint, 10027 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids, 10028 omp_get_place_num, omp_get_partition_num_places, 10029 omp_get_partition_place_nums, omp_get_initial_device, 10030 omp_get_max_task_priority): New interfaces. 10031 (omp_set_schedule, omp_get_schedule): Rename modifier argument 10032 to chunk_size. 10033 * omp_lib.h.in (omp_lock_hint_kind): New parameter. 10034 (omp_lock_hint_none, omp_lock_hint_uncontended, 10035 omp_lock_hint_contended, omp_lock_hint_nonspeculative, 10036 omp_lock_hint_speculative): New parameters. 10037 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint, 10038 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids, 10039 omp_get_place_num, omp_get_partition_num_places, 10040 omp_get_partition_place_nums, omp_get_initial_device, 10041 omp_get_max_task_priority): New functions and subroutines. 10042 * ordered.c: Include stdarg.h and string.h. 10043 (MAX_COLLAPSED_BITS): Define. 10044 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait, 10045 gomp_doacross_ull_init, GOMP_doacross_ull_post, 10046 GOMP_doacross_ull_wait): New functions. 10047 * target.c: Include errno.h. 10048 (resolve_device): If device is not initialized, call 10049 gomp_init_device on it. 10050 (gomp_map_lookup): New function. 10051 (gomp_map_vars_existing): Add tgt_var argument, fill it in. 10052 Don't bump refcount if REFCOUNT_INFINITY. Handle 10053 GOMP_MAP_ALWAYS_TO_P. 10054 (get_kind): Rename is_openacc argument to short_mapkind. 10055 (gomp_map_pointer): Use gomp_map_lookup. 10056 (gomp_map_fields_existing): New function. 10057 (gomp_map_vars): Rename is_openacc argument to short_mapkind 10058 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA, 10059 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT, 10060 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION. 10061 Adjust for tgt->list changed type and copy_from living in there. 10062 (gomp_copy_from_async): Adjust for tgt->list changed type and 10063 copy_from living in there. 10064 (gomp_unmap_vars): Likewise. 10065 (gomp_update): Likewise. Rename is_openacc argument to 10066 short_mapkind. Don't fail if object is not mapped. 10067 (gomp_load_image_to_device): Initialize refcount to 10068 REFCOUNT_INFINITY. 10069 (gomp_target_fallback): New function. 10070 (gomp_get_target_fn_addr): Likewise. 10071 (GOMP_target): Adjust gomp_map_vars caller, use 10072 gomp_get_target_fn_addr and gomp_target_fallback. 10073 (GOMP_target_41): New function. 10074 (gomp_target_data_fallback): New function. 10075 (GOMP_target_data): Use it, adjust gomp_map_vars caller. 10076 (GOMP_target_data_41): New function. 10077 (GOMP_target_update): Adjust gomp_update caller. 10078 (GOMP_target_update_41): New function. 10079 (gomp_exit_data, GOMP_target_enter_exit_data, 10080 gomp_target_task_fn, omp_target_alloc, omp_target_free, 10081 omp_target_is_present, omp_target_memcpy, 10082 omp_target_memcpy_rect_worker, omp_target_memcpy_rect, 10083 omp_target_associate_ptr, omp_target_disassociate_ptr, 10084 gomp_load_plugin_for_device): New functions. 10085 * task.c: Include gomp-constants.h. Include taskloop.c 10086 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions. 10087 (gomp_task_handle_depend): New function. 10088 (GOMP_task): Use it. Add priority argument. Use 10089 gomp-constant.h constants instead of hardcoded numbers. 10090 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED. 10091 (gomp_create_target_task): New function. 10092 (verify_children_queue, verify_taskgroup_queue, 10093 verify_task_queue): New functions. 10094 (gomp_task_run_pre): Call verify_*_queue functions. 10095 If an upcoming tied task is about to leave the sibling or 10096 taskgroup queues in an invalid state, adjust appropriately. 10097 Remove taskgroup argument. Add comments. 10098 (gomp_task_run_post_handle_dependers): Add comments. 10099 (gomp_task_run_post_remove_parent): Likewise. 10100 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller. 10101 (GOMP_taskwait): Likewise. Add comments. 10102 (gomp_task_maybe_wait_for_dependencies): Fix scheduling 10103 problem such that the first non parent_depends_on task does not 10104 end up at the end of the children queue. 10105 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to 10106 GOMP_TASK_UNDEFERRED. 10107 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller. 10108 * taskloop.c: New file. 10109 * testsuite/lib/libgomp.exp 10110 (check_effective_target_offload_device_nonshared_as): New proc. 10111 * testsuite/libgomp.c/affinity-2.c: New test. 10112 * testsuite/libgomp.c/doacross-1.c: New test. 10113 * testsuite/libgomp.c/doacross-2.c: New test. 10114 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper): 10115 Add map clause to target. 10116 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise. 10117 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise. 10118 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise. 10119 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise. 10120 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt): 10121 Likewise. 10122 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise. 10123 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise. 10124 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise. 10125 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if 10126 not defined. Use those where needed. 10127 * testsuite/libgomp.c/for-4.c: New test. 10128 * testsuite/libgomp.c/for-5.c: New test. 10129 * testsuite/libgomp.c/for-6.c: New test. 10130 * testsuite/libgomp.c/linear-1.c: New test. 10131 * testsuite/libgomp.c/ordered-4.c: New test. 10132 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause 10133 only allowed on the loop iterator. 10134 * testsuite/libgomp.c/pr66199-3.c: New test. 10135 * testsuite/libgomp.c/pr66199-4.c: New test. 10136 * testsuite/libgomp.c/reduction-7.c: New test. 10137 * testsuite/libgomp.c/reduction-8.c: New test. 10138 * testsuite/libgomp.c/reduction-9.c: New test. 10139 * testsuite/libgomp.c/reduction-10.c: New test. 10140 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add 10141 map(tofrom:s). 10142 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise. 10143 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed. 10144 * testsuite/libgomp.c/target-11.c: New test. 10145 * testsuite/libgomp.c/target-12.c: New test. 10146 * testsuite/libgomp.c/target-13.c: New test. 10147 * testsuite/libgomp.c/target-14.c: New test. 10148 * testsuite/libgomp.c/target-15.c: New test. 10149 * testsuite/libgomp.c/target-16.c: New test. 10150 * testsuite/libgomp.c/target-17.c: New test. 10151 * testsuite/libgomp.c/target-18.c: New test. 10152 * testsuite/libgomp.c/target-19.c: New test. 10153 * testsuite/libgomp.c/target-20.c: New test. 10154 * testsuite/libgomp.c/target-21.c: New test. 10155 * testsuite/libgomp.c/target-22.c: New test. 10156 * testsuite/libgomp.c/target-23.c: New test. 10157 * testsuite/libgomp.c/target-24.c: New test. 10158 * testsuite/libgomp.c/target-25.c: New test. 10159 * testsuite/libgomp.c/target-26.c: New test. 10160 * testsuite/libgomp.c/target-27.c: New test. 10161 * testsuite/libgomp.c/taskloop-1.c: New test. 10162 * testsuite/libgomp.c/taskloop-2.c: New test. 10163 * testsuite/libgomp.c/taskloop-3.c: New test. 10164 * testsuite/libgomp.c/taskloop-4.c: New test. 10165 * testsuite/libgomp.c++/ctor-13.C: New test. 10166 * testsuite/libgomp.c++/doacross-1.C: New test. 10167 * testsuite/libgomp.c++/examples-4/declare_target-2.C: 10168 Replace offload_device with offload_device_nonshared_as. 10169 * testsuite/libgomp.c++/for-12.C: New test. 10170 * testsuite/libgomp.c++/for-13.C: New test. 10171 * testsuite/libgomp.c++/for-14.C: New test. 10172 * testsuite/libgomp.c++/linear-1.C: New test. 10173 * testsuite/libgomp.c++/member-1.C: New test. 10174 * testsuite/libgomp.c++/member-2.C: New test. 10175 * testsuite/libgomp.c++/member-3.C: New test. 10176 * testsuite/libgomp.c++/member-4.C: New test. 10177 * testsuite/libgomp.c++/member-5.C: New test. 10178 * testsuite/libgomp.c++/ordered-1.C: New test. 10179 * testsuite/libgomp.c++/reduction-5.C: New test. 10180 * testsuite/libgomp.c++/reduction-6.C: New test. 10181 * testsuite/libgomp.c++/reduction-7.C: New test. 10182 * testsuite/libgomp.c++/reduction-8.C: New test. 10183 * testsuite/libgomp.c++/reduction-9.C: New test. 10184 * testsuite/libgomp.c++/reduction-10.C: New test. 10185 * testsuite/libgomp.c++/reference-1.C: New test. 10186 * testsuite/libgomp.c++/simd14.C: New test. 10187 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause. 10188 * testsuite/libgomp.c++/target-5.C: New test. 10189 * testsuite/libgomp.c++/target-6.C: New test. 10190 * testsuite/libgomp.c++/target-7.C: New test. 10191 * testsuite/libgomp.c++/target-8.C: New test. 10192 * testsuite/libgomp.c++/target-9.C: New test. 10193 * testsuite/libgomp.c++/target-10.C: New test. 10194 * testsuite/libgomp.c++/target-11.C: New test. 10195 * testsuite/libgomp.c++/target-12.C: New test. 10196 * testsuite/libgomp.c++/taskloop-1.C: New test. 10197 * testsuite/libgomp.c++/taskloop-2.C: New test. 10198 * testsuite/libgomp.c++/taskloop-3.C: New test. 10199 * testsuite/libgomp.c++/taskloop-4.C: New test. 10200 * testsuite/libgomp.c++/taskloop-5.C: New test. 10201 * testsuite/libgomp.c++/taskloop-6.C: New test. 10202 * testsuite/libgomp.c++/taskloop-7.C: New test. 10203 * testsuite/libgomp.c++/taskloop-8.C: New test. 10204 * testsuite/libgomp.c++/taskloop-9.C: New test. 10205 * testsuite/libgomp.fortran/affinity1.f90: New test. 10206 * testsuite/libgomp.fortran/affinity2.f90: New test. 10207 102082015-10-13 Tom de Vries <tom@codesourcery.com> 10209 10210 PR tree-optimization/67476 10211 * testsuite/libgomp.c/autopar-3.c: New test. 10212 * testsuite/libgomp.c/autopar-4.c: New test. 10213 * testsuite/libgomp.c/autopar-5.c: New test. 10214 * testsuite/libgomp.c/autopar-6.c: New test. 10215 * testsuite/libgomp.c/autopar-7.c: New test. 10216 * testsuite/libgomp.c/autopar-8.c: New test. 10217 102182015-10-12 James Norris <jnorris@codesourcery.com> 10219 10220 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop 10221 initializer. 10222 102232015-10-09 David Malcolm <dmalcolm@redhat.com> 10224 10225 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp, 10226 using load_gcc_lib. 10227 102282015-10-02 Thomas Schwinge <thomas@codesourcery.com> 10229 10230 * oacc-ptx.h: Remove file, moving its content into... 10231 * config/nvptx/fortran.c: ... here... 10232 * config/nvptx/oacc-init.c: ..., here... 10233 * config/nvptx/oacc-parallel.c: ..., and here. 10234 * config/nvptx/openacc.f90: New file. 10235 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h". 10236 (link_ptx): Don't link in predefined bits of PTX code. 10237 102382015-09-30 Nathan Sidwell <nathan@codesourcery.com> 10239 Bernd Schmidt <bernds@codesourcery.com> 10240 10241 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX. 10242 (struct targ_ptx_obj): New. 10243 (nvptx_tdata): Move earlier, change data format. 10244 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple 10245 objects. 10246 (GOMP_OFFLOAD_load_image): Adjust. 10247 102482015-09-30 Thomas Schwinge <thomas@codesourcery.com> 10249 10250 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint. 10251 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise. 10252 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise. 10253 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise. 10254 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise. 10255 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise. 10256 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise. 10257 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise. 10258 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise. 10259 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise. 10260 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise. 10261 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise. 10262 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise. 10263 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise. 10264 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise. 10265 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise. 10266 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise. 10267 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise. 10268 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise. 10269 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise. 10270 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. 10271 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise. 10272 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise. 10273 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise. 10274 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise. 10275 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise. 10276 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise. 10277 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise. 10278 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise. 10279 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise. 10280 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise. 10281 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise. 10282 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise. 10283 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise. 10284 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. 10285 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise. 10286 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise. 10287 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise. 10288 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise. 10289 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise. 10290 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise. 10291 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise. 10292 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise. 10293 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise. 10294 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise. 10295 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise. 10296 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise. 10297 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise. 10298 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise. 10299 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise. 10300 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise. 10301 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise. 10302 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise. 10303 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise. 10304 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise. 10305 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise. 10306 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise. 10307 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise. 10308 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise. 10309 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise. 10310 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise. 10311 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise. 10312 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise. 10313 103142015-09-29 Nathan Sidwell <nathan@codesourcery.com> 10315 10316 * oacc-init.c (acc_on_device): Force optimization level. 10317 103182015-09-29 Nathan Sidwell <nathan@codesourcery.com> 10319 10320 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete. 10321 (cuda_errlist): Delete. 10322 (cuda_error): Reimplement. 10323 103242015-09-28 Nathan Sidwell <nathan@codesourcery.com> 10325 10326 * libgomp.h (acc_dispatch_t): Replace separate geometry args with 10327 array. 10328 * libgomp.map (GOACC_parallel_keyed): New. 10329 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust 10330 all callers. 10331 (GOACC_parallel_keyed): New interface. Lose geometry arguments 10332 and take keyed varargs list. Adjust call to exec_func. 10333 (GOACC_parallel): Force host fallback. 10334 * libgomp_g.h (GOACC_parallel): Remove. 10335 (GOACC_parallel_keyed): Declare. 10336 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct. 10337 (struct targ_gn_descriptor): Replace name field with launch field. 10338 (nvptx_exec): Lose separate geometry args, take array. Process 10339 dynamic dimensions and adjust. 10340 (struct nvptx_tdata): Replace fn_names field with fn_descs. 10341 (GOMP_OFFLOAD_load_image): Adjust for change in function table 10342 data. 10343 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension 10344 passing. 10345 * oacc-host.c (host_openacc_exec): Adjust for change in dimension 10346 passing. 10347 103482015-09-22 Chung-Lin Tang <cltang@codesourcery.com> 10349 10350 PR libgomp/67141 10351 * oacc-int.h (goacc_host_init): Add declaration. 10352 * oacc-host.c (goacc_host_init): Remove static and constructor attribute. 10353 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end. 10354 103552015-09-08 Aditya Kumar <hiraditya@msn.com> 10356 Sebastian Pop <s.pop@samsung.com> 10357 10358 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to 10359 match o/p. 10360 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same. 10361 * testsuite/libgomp.graphite/force-parallel-4.c: Same. 10362 * testsuite/libgomp.graphite/force-parallel-5.c: Same. 10363 * testsuite/libgomp.graphite/force-parallel-7.c: Same. 10364 * testsuite/libgomp.graphite/force-parallel-8.c: Same. 10365 103662015-09-03 Jakub Jelinek <jakub@redhat.com> 10367 10368 * configure.tgt: Add missing ;; in between nvptx and rtems 10369 snippets. 10370 103712015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de> 10372 10373 * config/posix/pool.h (gomp_adjust_thread_attr): New. 10374 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise. 10375 (gomp_thread_pool_reservoir): Add priority member. 10376 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add 10377 priority. 10378 (parse_thread_pools): Likewise. 10379 * team.c (gomp_team_start): Call configuration provided 10380 gomp_adjust_thread_attr(). Destroy thread attributes if 10381 necessary. 10382 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS. 10383 103842015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de> 10385 10386 * config/posix/pool.h: New. 10387 * config/rtems/pool.h: Likewise. 10388 * config/rtems/proc.c: Likewise. 10389 * libgomp.h (gomp_thread_destructor): Declare. 10390 * team.c: Include configuration provided "pool.h". 10391 (gomp_get_thread_pool): Define in configuration. 10392 (gomp_team_end): Call configuration defined 10393 gomp_release_thread_pool(). 10394 103952015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de> 10396 10397 * config/rtems/bar.c: New. 10398 * config/rtems/bar.h: Likewise. 10399 * config/rtems/mutex.c: Likewise. 10400 * config/rtems/mutex.h: Likewise. 10401 * config/rtems/sem.c: Likewise. 10402 * config/rtems/sem.h: Likewise. 10403 * configure.ac (*-*-rtems*): Check that Newlib provides a proper 10404 <sys/lock.h> header file. 10405 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if 10406 supported by Newlib. 10407 * configure: Regenerate. 10408 104092015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de> 10410 10411 * team.c (gomp_new_thread_pool): Delete and move content to ... 10412 (gomp_get_thread_pool): ... new function. Allocate and 10413 initialize thread pool on demand. 10414 (get_last_team): Use gomp_get_thread_pool(). 10415 (gomp_team_start): Delete thread pool initialization. 10416 104172015-09-03 Tom de Vries <tom@codesourcery.com> 10418 10419 PR tree-optimization/65637 10420 * testsuite/libgomp.c/autopar-2.c: New test. 10421 104222015-08-29 Tom de Vries <tom@codesourcery.com> 10423 10424 PR tree-optimization/46193 10425 * testsuite/libgomp.c/pr46193.c: New test. 10426 104272015-08-24 Nathan Sidwell <nathan@codesourcery.com> 10428 10429 libgomp/ 10430 * libgomp.map: Add 4.0.2 version. 10431 * target.c (offload_image_descr): Add version field. 10432 (gomp_load_image_to_device): Add version argument. Adjust plugin 10433 call. Improve load mismatch diagnostic. 10434 (gomp_unload_image_from_device): Add version argument. Adjust plugin 10435 call. 10436 (GOMP_offload_regster): Make stub function, move bulk to ... 10437 (GOMP_offload_register_ver): ... here. Process version argument. 10438 (GOMP_offload_unregister): Make stub function, move bulk to ... 10439 (GOMP_offload_unregister_ver): ... here. Process version argument. 10440 (gomp_init_device): Process version field. 10441 (gomp_unload_device): Process version field. 10442 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT 10443 macros. Check plugin version. 10444 * libgomp.h (gomp_device_descr): Add version function field. Adjust 10445 loader and unloader types. 10446 * oacc-host.c: Include gomp-constants.h. 10447 (host_version): New. 10448 (host_load_image, host_unload_image): Adjust. 10449 (host_dispatch): Add host_version. 10450 * plugin/plugin-nvptx.c: Include gomp-constants.h. 10451 (GOMP_OFFLOAD_version): New. 10452 (GOMP_OFFLOAD_load_image): Add version arg and check it. 10453 (GOMP_OFFLOAD_unload_image): Likewise. 10454 * plugin/plugin-host.c: Include gomp-constants.h. 10455 (GOMP_OFFLOAD_version): New. 10456 (GOMP_OFFLOAD_load_image): Add version arg. 10457 (GOMP_OFFLOAD_unload_image): Likewise. 10458 104592015-08-24 Tom de Vries <tom@codesourcery.com> 10460 10461 PR tree-optimization/65468 10462 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test. 10463 104642015-08-24 Tom de Vries <tom@codesourcery.com> 10465 10466 PR tree-optimization/65468 10467 * testsuite/libgomp.c/static-chunk-size-one.c: New test. 10468 104692015-08-24 Joost VandeVondele <vondele@gnu.gcc.org> 10470 10471 PR libgomp/66761 10472 PR libgomp/67303 10473 * iter.c (gomp_iter_dynamic_next): Employ an atomic load. 10474 (gomp_iter_guided_next): Idem. 10475 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem. 10476 (gomp_iter_ull_guided_next): Idem. 10477 * config/linux/wait.h (do_spin): Idem. 10478 104792015-08-10 Thomas Schwinge <thomas@codesourcery.com> 10480 10481 * libgomp-plugin.h (enum offload_target_type): Remove 10482 OFFLOAD_TARGET_TYPE_HOST_NONSHM. 10483 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm. 10484 * openacc.h (enum acc_device_t): Likewise. 10485 * openacc_lib.h: Likewise. 10486 * oacc-init.c (name_of_acc_device_t): Don't handle it. 10487 (acc_on_device): Just use __builtin_acc_on_device. 10488 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage 10489 of acc_on_device builtin. 10490 * plugin/plugin-host.h: Remove file. 10491 * plugin/plugin-host.c: Likewise, but salvage some content into... 10492 * oacc-host.c: ... this file. 10493 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la. 10494 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm. 10495 * Makefile.in: Regenerate. 10496 * configure: Likewise. 10497 * testsuite/lib/libgomp.exp 10498 (check_effective_target_openacc_host_nonshm_selected): Remove. 10499 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle 10500 ACC_DEVICE_TYPE=host_nonshm. 10501 * testsuite/libgomp.oacc-c/c.exp: Likewise. 10502 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 10503 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise. 10504 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise. 10505 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise. 10506 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise. 10507 105082015-08-10 Thomas Schwinge <thomas@codesourcery.com> 10509 Jakub Jelinek <jakub@redhat.com> 10510 10511 * config/nvptx/affinity.c: New file. 10512 * config/nvptx/alloc.c: Likewise. 10513 * config/nvptx/bar.c: Likewise. 10514 * config/nvptx/barrier.c: Likewise. 10515 * config/nvptx/critical.c: Likewise. 10516 * config/nvptx/env.c: Likewise. 10517 * config/nvptx/error.c: Likewise. 10518 * config/nvptx/fortran.c: Likewise. 10519 * config/nvptx/iter.c: Likewise. 10520 * config/nvptx/iter_ull.c: Likewise. 10521 * config/nvptx/libgomp-plugin.c: Likewise. 10522 * config/nvptx/lock.c: Likewise. 10523 * config/nvptx/loop.c: Likewise. 10524 * config/nvptx/loop_ull.c: Likewise. 10525 * config/nvptx/mutex.c: Likewise. 10526 * config/nvptx/oacc-async.c: Likewise. 10527 * config/nvptx/oacc-cuda.c: Likewise. 10528 * config/nvptx/oacc-host.c: Likewise. 10529 * config/nvptx/oacc-init.c: Likewise. 10530 * config/nvptx/oacc-mem.c: Likewise. 10531 * config/nvptx/oacc-parallel.c: Likewise. 10532 * config/nvptx/oacc-plugin.c: Likewise. 10533 * config/nvptx/omp-lock.h: Likewise. 10534 * config/nvptx/ordered.c: Likewise. 10535 * config/nvptx/parallel.c: Likewise. 10536 * config/nvptx/proc.c: Likewise. 10537 * config/nvptx/ptrlock.c: Likewise. 10538 * config/nvptx/sections.c: Likewise. 10539 * config/nvptx/sem.c: Likewise. 10540 * config/nvptx/single.c: Likewise. 10541 * config/nvptx/splay-tree.c: Likewise. 10542 * config/nvptx/target.c: Likewise. 10543 * config/nvptx/task.c: Likewise. 10544 * config/nvptx/team.c: Likewise. 10545 * config/nvptx/time.c: Likewise. 10546 * config/nvptx/work.c: Likewise. 10547 * configure.ac: Don't probe pthreads support for host nvptx*-*-*. 10548 * configure: Regenerate. 10549 * configure.tgt (config_path): Set to "nvptx" for target 10550 nvptx*-*-*. 10551 105522015-08-10 Thomas Schwinge <thomas@codesourcery.com> 10553 10554 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file. 10555 105562015-08-03 Nathan Sidwell <nathan@codesourcery.com> 10557 10558 * plugin/plugin-nvptx.c: Don't include dlfcn.h. 10559 (cuda_errlist): Constify. 10560 (errmsg): Move into ... 10561 (cuda_error): ... here. Make smaller. 10562 (_XSTR, _STR): Delete. 10563 (cuda_synames): Delete. 10564 (verify_device_library): Delete. 10565 (nvptx_init): Don't call it. 10566 105672015-07-28 Tom de Vries <tom@codesourcery.com> 10568 10569 * testsuite/libgomp.c/uns-outer-4.c: New test. 10570 105712015-07-24 Cesar Philippidis <cesar@codesourcery.com> 10572 10573 * testsuite/libgomp.c/pr66714.c: New test. 10574 105752015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com> 10576 10577 PR libgomp/66950 10578 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45. 10579 (fib_ref): New function. 10580 (fib): Correct corner cases in the recursion. 10581 (main): Replace the non-simd loop with fib_ref call. 10582 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New 10583 subroutine. 10584 (fibonacci): Lower the parameter N to 30. Correct accordingly check 10585 for the last array element value. Replace the non-simd loop with 10586 fib_ref call. Remove redundant b_ref array. Remove the comparison 10587 of the last array element with according Fibonacci sequence element. 10588 (fib): Correct corner cases in the recursion. 10589 105902015-07-21 Nathan Sidwell <nathan@codesourcery.com> 10591 10592 * target.c (gomp_offload_image_to_device): Rename to ... 10593 (gomp_load_image_to_device): ... here. 10594 (GOMP_offload_register): Adjust call. 10595 (gomp_init_device): Likewise. 10596 (gomp_unload_image_from_device): New. Broken out of ... 10597 (GOMP_offload_unregister): ... here. Call it. 10598 (gomp_unload_device): New. 10599 * libgomp.h (gomp_unload_device): Declare. 10600 * oacc-init.c (acc_shutdown_1): Unload from device before deleting 10601 mem maps. 10602 106032015-07-20 Nathan Sidwell <nathan@codesourcery.com> 10604 10605 * oacc-parallel.c (GOACC_parallel): Move variadic handling into 10606 wait=-specific if. 10607 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits 10608 !=0 condition. 10609 (goacc_waits): Move !num_waits handling to ... 10610 (GOACC_wait): ... here, the only caller that might have zero waits. 10611 10612 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later. 10613 (struct ptx_image_data): Move earlier, add fns field. 10614 (struct ptx_device): Add images and image_lock fields. 10615 (ptx_images, ptx_image_lock): Delete. 10616 (nvptx_open_device): Initialize images and image_lock fields. 10617 (nvptx_close_device): Destroy image_lock. 10618 (GOMP_OFFLOAD_load_image): Register image to device-specific fields. 10619 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific 10620 fields. 10621 106222015-07-17 Nathan Sidwell <nathan@codesourcery.com> 10623 10624 * target.c (GOMP_offload_register): Use int for device type arg. 10625 (GOMP_offload_unregister): Likewise. 10626 10627 * target.c (struct_offload_image_descr): Constify host_table. 10628 (gomp_offload_image_to_device): Likewise. 10629 (GOMP_offload_register, GOMP_offload_unregister): Likewise. 10630 10631 * libgomp.h (gomp_device_descr): Constify target data arguments. 10632 * target.c (struct offload_image_descr): Constify target_data. 10633 (gomp_offload_image_to_device): Likewise. 10634 (GOMP_offload_register): Likewise. 10635 (GOMP_offload_unregister): Likewise. 10636 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image, 10637 GOMP_OFFLOAD_unload_image): Constify target data. 10638 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data. 10639 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise. 10640 106412015-07-16 Nathan Sidwell <nathan@codesourcery.com> 10642 10643 * plugin/plugin-nvptx.c (link_ptx): Constify string argument. 10644 Workaround driver library const error. 10645 (struct nvptx_tdata, nvptx_tdata_t): New. 10646 (GOMP_OFFLOAD_load_image): Use struct for target_data's real 10647 type. 10648 106492015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com> 10650 10651 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type 10652 of EPS parameter from integer to real. 10653 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change 10654 type of EPS parameter from integer to real. 10655 106562015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de> 10657 10658 * team.c (get_last_team): New. 10659 (gomp_new_team): Recycle last non-nested team if possible. 10660 (gomp_team_end): Move team work share list free lock destruction 10661 to ... 10662 (free_team): ... here. 10663 106642015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com> 10665 10666 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res 10667 and ref from int to double. Replaced their comparison with 10668 an inequality of their difference and EPS. 10669 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the 10670 comparison of pri and a reference number with an inequality of their 10671 difference and EPS. 10672 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced 10673 the comparison of sum and sum_ref with an inequality of their 10674 difference and EPS. 10675 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace 10676 the comparison of pri and a reference number with an inequality of 10677 their difference and EPS. 10678 106792015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com> 10680 10681 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to... 10682 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this. 10683 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to... 10684 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this. 10685 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to... 10686 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this. 10687 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to... 10688 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this. 10689 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to... 10690 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this. 10691 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to... 10692 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this. 10693 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local 10694 variables. 10695 (vec_mult): Likewise. Add #pragma omp taskwait. 10696 (main): Adjust caller. 10697 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to... 10698 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this. 10699 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to... 10700 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this. 10701 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to... 10702 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this. 10703 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to... 10704 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this. 10705 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to... 10706 * testsuite/libgomp.c/examples-4/device-1.c: ...this. 10707 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to... 10708 * testsuite/libgomp.c/examples-4/device-2.c: ...this. 10709 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to... 10710 * testsuite/libgomp.c/examples-4/device-3.c: ...this. 10711 * testsuite/libgomp.c/examples-4/simd-1.c: New file. 10712 * testsuite/libgomp.c/examples-4/simd-2.c: New file. 10713 * testsuite/libgomp.c/examples-4/simd-3.c: New file. 10714 * testsuite/libgomp.c/examples-4/simd-4.c: New file. 10715 * testsuite/libgomp.c/examples-4/simd-5.c: New file. 10716 * testsuite/libgomp.c/examples-4/simd-6.c: New file. 10717 * testsuite/libgomp.c/examples-4/simd-7.c: New file. 10718 * testsuite/libgomp.c/examples-4/simd-8.c: New file. 10719 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to... 10720 * testsuite/libgomp.c/examples-4/target-1.c: ...this. 10721 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to... 10722 * testsuite/libgomp.c/examples-4/target-2.c: ...this. 10723 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to... 10724 * testsuite/libgomp.c/examples-4/target-3.c: ...this. 10725 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to... 10726 * testsuite/libgomp.c/examples-4/target-4.c: ...this. 10727 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to... 10728 * testsuite/libgomp.c/examples-4/target-5.c: ...this. 10729 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to... 10730 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this. 10731 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to... 10732 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this. 10733 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to... 10734 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this. 10735 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to... 10736 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this. 10737 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to... 10738 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this. 10739 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to... 10740 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this. 10741 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to... 10742 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this. 10743 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to... 10744 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this. 10745 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file. 10746 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file. 10747 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file. 10748 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file. 10749 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file. 10750 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to... 10751 * testsuite/libgomp.c/examples-4/teams-2.c: ...this. 10752 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to... 10753 * testsuite/libgomp.c/examples-4/teams-3.c: ...this. 10754 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to... 10755 * testsuite/libgomp.c/examples-4/teams-4.c: ...this. 10756 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to... 10757 * testsuite/libgomp.c/examples-4/teams-5.c: ...this. 10758 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to... 10759 * testsuite/libgomp.c/examples-4/teams-6.c: ...this. 10760 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to... 10761 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this. 10762 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to... 10763 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this. 10764 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to... 10765 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this. 10766 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to... 10767 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this. 10768 (vec_mult): Add !$omp taskwait. 10769 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to... 10770 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this. 10771 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to... 10772 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this. 10773 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to... 10774 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this. 10775 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to... 10776 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this. 10777 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to... 10778 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this. 10779 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to... 10780 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this. 10781 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to... 10782 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this. 10783 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to... 10784 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this. 10785 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file. 10786 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file. 10787 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file. 10788 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file. 10789 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file. 10790 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file. 10791 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file. 10792 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file. 10793 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to... 10794 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this. 10795 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to... 10796 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this. 10797 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to... 10798 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this. 10799 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to... 10800 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this. 10801 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to... 10802 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this. 10803 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to... 10804 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this. 10805 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to... 10806 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this. 10807 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to... 10808 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this. 10809 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to... 10810 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this. 10811 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to... 10812 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this. 10813 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to... 10814 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this. 10815 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to... 10816 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this. 10817 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to... 10818 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this. 10819 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to... 10820 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this. 10821 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file. 10822 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file. 10823 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file. 10824 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file. 10825 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file. 10826 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to... 10827 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this. 10828 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to... 10829 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this. 10830 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to... 10831 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this. 10832 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to... 10833 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this. 10834 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to... 10835 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this. 10836 108372015-07-10 Tom de Vries <tom@codesourcery.com> 10838 10839 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test. 10840 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test. 10841 108422015-07-08 Thomas Schwinge <thomas@codesourcery.com> 10843 10844 PR libgomp/65099 10845 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not 10846 in a 64-bit configuration. 10847 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia 10848 offloading testing if no such device is available. 10849 * testsuite/libgomp.oacc-c/c.exp: Likewise. 10850 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 10851 108522015-07-08 Tom de Vries <tom@codesourcery.com> 10853 10854 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix 10855 second call to f. 10856 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same. 10857 108582015-07-07 Tom de Vries <tom@codesourcery.com> 10859 10860 PR tree-optimization/66642 10861 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low 10862 iteration count case. 10863 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New 10864 function, factor out of ... 10865 (main): ... here. Test low iteration count case. 10866 108672015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de> 10868 10869 * libgomp.h (gomp_thread_pool): Comment last_team field. 10870 108712015-07-02 Uros Bizjak <ubizjak@gmail.com> 10872 10873 * testsuite/libgomp.c++/pr66702-1.C: Require 10874 vect_simd_clones effective target. 10875 * testsuite/libgomp.c++/pr66702-2.C: Ditto. 10876 108772015-06-30 Tom de Vries <tom@codesourcery.com> 10878 10879 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not 10880 already set. Use DEFAULT_CFLAGS in dg-runtest. 10881 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options 10882 "-O2". 10883 108842015-06-30 Tom de Vries <tom@codesourcery.com> 10885 10886 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not 10887 already set. Use DEFAULT_CFLAGS in dg-runtest. 10888 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp". 10889 * testsuite/libgomp.c++/pr64824.C: Same. 10890 * testsuite/libgomp.c++/pr64868.C: Same. 10891 * testsuite/libgomp.c++/pr66199-1.C: Same. 10892 * testsuite/libgomp.c++/pr66199-2.C: Same. 10893 * testsuite/libgomp.c++/target-2.C: Same. 10894 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for 10895 -std=<standard> option. 10896 * testsuite/libgomp.c++/udr-11.C: Same. 10897 * testsuite/libgomp.c++/udr-12.C: Same. 10898 * testsuite/libgomp.c++/udr-13.C: Same. 10899 * testsuite/libgomp.c++/udr-14.C: Same. 10900 * testsuite/libgomp.c++/udr-15.C: Same. 10901 * testsuite/libgomp.c++/udr-16.C: Same. 10902 * testsuite/libgomp.c++/udr-17.C: Same. 10903 * testsuite/libgomp.c++/udr-18.C: Same. 10904 * testsuite/libgomp.c++/udr-19.C: Same. 10905 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2". 10906 * testsuite/libgomp.c++/simd-1.C: Same. 10907 * testsuite/libgomp.c++/simd-2.C: Same. 10908 * testsuite/libgomp.c++/simd-3.C: Same. 10909 * testsuite/libgomp.c++/simd-4.C: Same. 10910 * testsuite/libgomp.c++/simd-5.C: Same. 10911 * testsuite/libgomp.c++/simd-6.C: Same. 10912 * testsuite/libgomp.c++/simd-7.C: Same. 10913 * testsuite/libgomp.c++/simd-8.C: Same. 10914 * testsuite/libgomp.c++/simd-9.C: Same. 10915 * testsuite/libgomp.c++/simd10.C: Same. 10916 * testsuite/libgomp.c++/simd11.C: Same. 10917 * testsuite/libgomp.c++/simd12.C: Same. 10918 * testsuite/libgomp.c++/simd13.C: Same. 10919 109202015-06-30 Jakub Jelinek <jakub@redhat.com> 10921 10922 PR middle-end/66702 10923 * testsuite/libgomp.c++/pr66702-1.C: New test. 10924 * testsuite/libgomp.c++/pr66702-2.C: New test. 10925 109262015-06-30 Tom de Vries <tom@codesourcery.com> 10927 10928 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test. 10929 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test. 10930 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test. 10931 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment. 10932 109332015-06-30 Tom de Vries <tom@codesourcery.com> 10934 10935 PR tree-optimization/66652 10936 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite 10937 using restrict pointers. 10938 (main): Add arguments to calls to f. 10939 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same. 10940 109412015-06-23 Andreas Tobler <andreast@gcc.gnu.org> 10942 10943 * configure.ac: Fix check for header <sys/sysctl.h>. 10944 * configure: Regenerate. 10945 * config.h.in: Likewise. 10946 109472015-06-23 Tom de Vries <tom@codesourcery.com> 10948 10949 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use 10950 abort. 10951 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same. 10952 109532015-06-19 Thomas Schwinge <thomas@codesourcery.com> 10954 10955 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for 10956 acc_device_nvidia. 10957 10958 PR libgomp/66518 10959 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL. 10960 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. 10961 109622015-06-15 Tom de Vries <tom@codesourcery.com> 10963 10964 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use 10965 dg-additional-options for any remaining options. 10966 * testsuite/libgomp.c/atomic-2.c: Same. 10967 * testsuite/libgomp.c/atomic-4.c: Same. 10968 * testsuite/libgomp.c/atomic-5.c: Same. 10969 * testsuite/libgomp.c/atomic-6.c: Same. 10970 * testsuite/libgomp.c/autopar-1.c: Same. 10971 * testsuite/libgomp.c/copyin-1.c: Same. 10972 * testsuite/libgomp.c/copyin-2.c: Same. 10973 * testsuite/libgomp.c/copyin-3.c: Same. 10974 * testsuite/libgomp.c/examples-4/e.53.5.c: Same. 10975 * testsuite/libgomp.c/nestedfn-5.c: Same. 10976 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same. 10977 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same. 10978 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same. 10979 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same. 10980 * testsuite/libgomp.c/pr32362-1.c: Same. 10981 * testsuite/libgomp.c/pr32362-2.c: Same. 10982 * testsuite/libgomp.c/pr32362-3.c: Same. 10983 * testsuite/libgomp.c/pr39591-1.c: Same. 10984 * testsuite/libgomp.c/pr39591-2.c: Same. 10985 * testsuite/libgomp.c/pr39591-3.c: Same. 10986 * testsuite/libgomp.c/pr58392.c: Same. 10987 * testsuite/libgomp.c/pr58756.c: Same. 10988 * testsuite/libgomp.c/simd-1.c: Same. 10989 * testsuite/libgomp.c/simd-10.c: Same. 10990 * testsuite/libgomp.c/simd-11.c: Same. 10991 * testsuite/libgomp.c/simd-12.c: Same. 10992 * testsuite/libgomp.c/simd-13.c: Same. 10993 * testsuite/libgomp.c/simd-14.c: Same. 10994 * testsuite/libgomp.c/simd-15.c: Same. 10995 * testsuite/libgomp.c/simd-2.c: Same. 10996 * testsuite/libgomp.c/simd-3.c: Same. 10997 * testsuite/libgomp.c/simd-4.c: Same. 10998 * testsuite/libgomp.c/simd-5.c: Same. 10999 * testsuite/libgomp.c/simd-6.c: Same. 11000 * testsuite/libgomp.c/simd-7.c: Same. 11001 * testsuite/libgomp.c/simd-8.c: Same. 11002 * testsuite/libgomp.c/simd-9.c: Same. 11003 110042015-06-15 Tom de Vries <tom@codesourcery.com> 11005 11006 * testsuite/libgomp.c/pr35625.c: Fix typo. 11007 110082015-06-15 Tom de Vries <tom@codesourcery.com> 11009 11010 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting 11011 in dg-options. 11012 * testsuite/libgomp.c/atomic-3.c: Same. 11013 * testsuite/libgomp.c/debug-1.c: Same. 11014 * testsuite/libgomp.c/nqueens-1.c: Same. 11015 * testsuite/libgomp.c/pr26171.c: Same. 11016 * testsuite/libgomp.c/pr48591.c: Same. 11017 * testsuite/libgomp.c/pr64824.c: Same. 11018 * testsuite/libgomp.c/pr64868.c: Same. 11019 * testsuite/libgomp.c/pr66133.c: Same. 11020 * testsuite/libgomp.c/pr66199-1.c: Same. 11021 * testsuite/libgomp.c/pr66199-2.c: Same. 11022 * testsuite/libgomp.c/target-8.c: Same. 11023 110242015-06-15 Tom de Vries <tom@codesourcery.com> 11025 11026 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for 11027 -std={gnu99,c99}. 11028 * testsuite/libgomp.c/for-1.c: Same. 11029 * testsuite/libgomp.c/for-2.c: Same. 11030 * testsuite/libgomp.c/for-3.c: Same. 11031 * testsuite/libgomp.c/pr35625.c: Same. 11032 * testsuite/libgomp.c/pr39154.c: Same. 11033 * testsuite/libgomp.c/simd-16.c: Same. 11034 * testsuite/libgomp.c/simd-17.c: Same. 11035 110362015-06-13 Tom de Vries <tom@codesourcery.com> 11037 11038 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test. 11039 110402015-06-13 Tom de Vries <tom@codesourcery.com> 11041 11042 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment. 11043 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same. 11044 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment. 11045 (N): Define. 11046 (main): Use N instead of hardcoded constants. 11047 110482015-06-05 Tom de Vries <tom@codesourcery.com> 11049 11050 merge from gomp4 branch: 11051 2015-05-28 Tom de Vries <tom@codesourcery.com> 11052 11053 PR tree-optimization/65443 11054 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test. 11055 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test. 11056 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test. 11057 110582015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> 11059 11060 * testsuite/libgomp.graphite/bounds.c: Adjust for 11061 cleanup-tree-dump removal. 11062 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise. 11063 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise. 11064 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise. 11065 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise. 11066 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise. 11067 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise. 11068 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise. 11069 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise. 11070 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise. 11071 * testsuite/libgomp.graphite/pr41118.c: Likewise. 11072 110732015-05-28 Uros Bizjak <ubizjak@gmail.com> 11074 11075 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function. 11076 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0. 11077 (futex_wake) [!__x86_64__]: Ditto. 11078 110792015-05-28 Julian Brown <julian@codesourcery.com> 11080 11081 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update 11082 function comment. Only call gomp_fatal if new argument is true. 11083 (acc_dev_num_out_of_range): New function. 11084 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call 11085 acc_dev_num_out_of_range as appropriate. 11086 (acc_get_num_devices, acc_set_device_type, acc_get_device_type) 11087 (acc_get_device_num, acc_set_device_num): Update calls to 11088 resolve_device. 11089 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test 11090 output. 11091 110922015-05-28 Julian Brown <julian@codesourcery.com> 11093 11094 PR libgomp/65742 11095 * oacc-init.c (plugin/plugin-host.h): Include. 11096 (acc_on_device): Check whether we're in an offloaded region for 11097 host_nonshm 11098 plugin. Don't use __builtin_acc_on_device. 11099 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set 11100 nonshm_exec flag in thread-local data. 11101 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local 11102 data for host_nonshm plugin. 11103 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data 11104 for host_nonshm plugin. 11105 * plugin/plugin-host.h: New. 11106 111072015-05-27 Uros Bizjak <ubizjak@gmail.com> 11108 11109 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int. 11110 111112015-05-27 Uros Bizjak <ubizjak@gmail.com> 11112 11113 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake): 11114 Declare as int. 11115 (FUTEX_PRIVATE_FLAG): Remove L suffix. 11116 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake): 11117 Declare as int. 11118 111192015-05-27 Uros Bizjak <ubizjak@gmail.com> 11120 11121 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function. 11122 111232015-05-27 Chung-Lin Tang <cltang@codesourcery.com> 11124 11125 * target.c (gomp_map_pointer): New function abstracting out 11126 GOMP_MAP_POINTER handling. 11127 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use 11128 gomp_map_pointer(). 11129 111302015-05-19 Jakub Jelinek <jakub@redhat.com> 11131 11132 PR middle-end/66199 11133 * testsuite/libgomp.c/pr66199-1.c: New test. 11134 * testsuite/libgomp.c/pr66199-2.c: New test. 11135 * testsuite/libgomp.c++/pr66199-1.C: New test. 11136 * testsuite/libgomp.c++/pr66199-2.C: New test. 11137 * testsuite/libgomp.fortran/pr66199-1.f90: New test. 11138 * testsuite/libgomp.fortran/pr66199-2.f90: New test. 11139 111402015-05-19 Julian Brown <julian@codesourcery.com> 11141 11142 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero 11143 on cuInit failure. 11144 111452015-05-13 Jakub Jelinek <jakub@redhat.com> 11146 11147 PR middle-end/66133 11148 * testsuite/libgomp.c/pr66133.c: New test. 11149 111502015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com> 11151 11152 * Makefile.in: Regenerated with automake-1.11.6. 11153 * aclocal.m4: Likewise. 11154 * config.h.in: Likewise. 11155 * configure: Likewise. 11156 * testsuite/Makefile.in: Likewise. 11157 111582015-05-08 Jason Merrill <jason@redhat.com> 11159 11160 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use 11161 _Complex. 11162 11163 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax. 11164 111652015-05-06 Julian Brown <julian@codesourcery.com> 11166 11167 * oacc-init.c (acc_device_lock): Add explanatory comment. 11168 (resolve_device): Add comment about locking requirement. 11169 (acc_init_1, acc_shutdown_1): Likewise. Add locking around 11170 gomp_init_device and gomp_fini_device calls. 11171 (acc_get_num_devices, acc_set_device_type, acc_get_device_type) 11172 (acc_get_device_num, acc_set_device_num): Add locking around 11173 resolve_device and gomp_init_device calls. 11174 111752015-05-06 Julian Brown <julian@codesourcery.com> 11176 11177 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for 11178 goacc_thread_lock on error paths. 11179 * oacc-mem.c (lookup_host): Remove locking from function. Note 11180 locking requirement for caller in function comment. 11181 (lookup_dev): Likewise. 11182 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present) 11183 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout) 11184 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer): 11185 Add locking. 11186 111872015-05-05 Thomas Schwinge <thomas@codesourcery.com> 11188 11189 PR testsuite/65205 11190 PR libgomp/65993 11191 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output, 11192 don't expect "0x" prefix for "%p" format specifier, don't expect 11193 "(nil)" for NULL pointer. 11194 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise. 11195 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise. 11196 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise. 11197 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise. 11198 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise. 11199 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise. 11200 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. 11201 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise. 11202 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise. 11203 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise. 11204 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise. 11205 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise. 11206 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise. 11207 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise. 11208 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise. 11209 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise. 11210 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise. 11211 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise. 11212 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. 11213 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise. 11214 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise. 11215 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise. 11216 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise. 11217 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise. 11218 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise. 11219 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise. 11220 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise. 11221 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise. 11222 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More 11223 accurately specify what we're looking for. 11224 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise. 11225 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise. 11226 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise. 11227 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise. 11228 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise. 11229 112302015-04-30 James Norris <jnorris@codesourcery.com> 11231 11232 PR testsuite/65205 11233 * testsuite/lib/libgomp.exp 11234 (check_effective_target_openacc_host_selected) 11235 (check_effective_target_openacc_host_nonshm_selected): New 11236 procedures. 11237 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of 11238 dg-shouldfail. 11239 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise. 11240 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise. 11241 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise. 11242 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise. 11243 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise. 11244 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise. 11245 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise. 11246 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise. 11247 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise. 11248 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. 11249 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise. 11250 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise. 11251 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise. 11252 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise. 11253 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise. 11254 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise. 11255 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise. 11256 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise. 11257 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise. 11258 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise. 11259 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise. 11260 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise. 11261 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise. 11262 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. 11263 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise. 11264 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise. 11265 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise. 11266 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise. 11267 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise. 11268 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise. 11269 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise. 11270 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise. 11271 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise. 11272 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise. 11273 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise. 11274 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise. 11275 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise. 11276 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise. 11277 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise. 11278 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise. 11279 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise. 11280 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise. 11281 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise. 11282 112832015-04-08 Julian Brown <julian@codesourcery.com> 11284 11285 * libgomp.h (target_mem_desc: Remove mem_map field. 11286 (acc_dispatch_t): Remove open_device_func, close_device_func, 11287 get_device_num_func, set_device_num_func, target_data members. 11288 Change create_thread_data_func argument to device number instead of 11289 generic pointer. 11290 * oacc-async.c (assert.h): Include. 11291 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async) 11292 (acc_wait_all, acc_wait_all_async): Use current host thread's 11293 active device, not base_dev. 11294 * oacc-cuda.c (acc_get_current_cuda_device) 11295 (acc_get_current_cuda_context, acc_get_cuda_stream) 11296 (acc_set_cuda_stream): Likewise. 11297 * oacc-host.c (host_dispatch): Don't set open_device_func, 11298 close_device_func, get_device_num_func or set_device_num_func. 11299 * oacc-init.c (base_dev, init_key): Remove. 11300 (cached_base_dev): New. 11301 (name_of_acc_device_t): New. 11302 (acc_init_1): Initialise default-numbered device, not zeroth. 11303 (acc_shutdown_1): Close all devices of a given type. 11304 (goacc_destroy_thread): Don't use base_dev. 11305 (lazy_open, lazy_init, lazy_init_and_open): Remove. 11306 (goacc_attach_host_thread_to_device): New. 11307 (acc_init): Reimplement with goacc_attach_host_thread_to_device. 11308 (acc_get_num_devices): Don't use base_dev. 11309 (acc_set_device_type): Reimplement. 11310 (acc_get_device_type): Don't use base_dev. 11311 (acc_get_device_num): Tweak logic. 11312 (acc_set_device_num): Likewise. 11313 (acc_on_device): Use acc_get_device_type. 11314 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev. 11315 (goacc_lazy_initialize): Reimplement with acc_init and 11316 goacc_attach_host_thread_to_device. 11317 * oacc-int.h (goacc_thread): Add base_dev field. 11318 (base_dev): Remove extern declaration. 11319 (goacc_attach_host_thread_to_device): Add prototype. 11320 * oacc-mem.c (acc_malloc): Use current thread's device instead of 11321 base_dev. 11322 (acc_free): Likewise. 11323 (acc_memcpy_to_device): Likewise. 11324 (acc_memcpy_from_device): Likewise. 11325 * oacc-parallel.c (select_acc_device): Remove. Replace calls with 11326 goacc_lazy_initialize (throughout). 11327 (GOACC_parallel): Use tgt_offset to locate target functions. 11328 * target.c (gomp_map_vars): Don't set tgt->mem_map. 11329 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map. 11330 (gomp_load_plugin_for_device): Remove open_device, close_device, 11331 get_device_num, set_device_num openacc hook initialisation. Don't set 11332 openacc.target_data. 11333 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device) 11334 (GOMP_OFFLOAD_openacc_close_device) 11335 (GOMP_OFFLOAD_openacc_get_device_num) 11336 (GOMP_OFFLOAD_openacc_set_device_num): Remove. 11337 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument 11338 to int. 11339 * plugin/plugin-nvptx.c (ptx_inited): Remove. 11340 (instantiated_devices, ptx_dev_lock): New. 11341 (struct ptx_image_data): New. 11342 (ptx_devices, ptx_images, ptx_image_lock): New. 11343 (fini_streams_for_device): Reorder cuStreamDestroy call. 11344 (nvptx_get_num_devices): Remove forward declaration. 11345 (nvptx_init): Change return type to bool. 11346 (nvptx_fini): Remove. 11347 (nvptx_attach_host_thread_to_device): New. 11348 (nvptx_open_device): Return struct ptx_device* instead of void*. 11349 (nvptx_close_device): Change argument type to struct ptx_device*, 11350 return type to void. 11351 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited. 11352 (kernel_target_data, kernel_host_table): Remove static globals. 11353 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove. 11354 (GOMP_OFFLOAD_init_device): Reimplement. 11355 (GOMP_OFFLOAD_fini_device): Likewise. 11356 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New. 11357 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host) 11358 (GOMP_OFFLOAD_host2dev): Use ORD argument. 11359 (GOMP_OFFLOAD_openacc_open_device) 11360 (GOMP_OFFLOAD_openacc_close_device) 11361 (GOMP_OFFLOAD_openacc_set_device_num) 11362 (GOMP_OFFLOAD_openacc_get_device_num): Remove. 11363 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int 11364 (device number). 11365 11366 testsuite/ 11367 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test. 11368 113692015-04-06 Ilya Verbin <ilya.verbin@intel.com> 11370 11371 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair. 11372 * libgomp.h (struct gomp_memory_mapping): Remove. 11373 (struct target_mem_desc): Change type of mem_map from 11374 gomp_memory_mapping * to splay_tree_s *. 11375 (struct gomp_device_descr): Remove register_image_func, get_table_func. 11376 Add load_image_func, unload_image_func. 11377 Change type of mem_map from gomp_memory_mapping to splay_tree_s. 11378 Remove offload_regions_registered. 11379 (gomp_init_tables): Remove. 11380 (gomp_free_memmap): Change type of argument from gomp_memory_mapping * 11381 to splay_tree_s *. 11382 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister. 11383 * oacc-host.c (host_dispatch): Do not initialize register_image_func, 11384 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root, 11385 offload_regions_registered. 11386 Initialize load_image_func, unload_image_func, mem_map.root. 11387 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock. 11388 * oacc-init.c (lazy_open): Don't call gomp_init_tables. 11389 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's. 11390 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of 11391 gomp_memory_mapping *. Use dev's lock and splay_tree. 11392 (lookup_dev): Use dev's lock. 11393 (acc_deviceptr): Pass dev to lookup_host instead of mem_map. 11394 (acc_is_present): Likewise. 11395 (acc_map_data): Likewise. 11396 (acc_unmap_data): Likewise. Use dev's lock. 11397 (present_create_copy): Likewise. 11398 (delete_copyout): Pass dev to lookup_host instead of mem_map. 11399 (update_dev_host): Likewise. 11400 (gomp_acc_remove_pointer): Likewise. Use dev's lock. 11401 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree. 11402 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove. 11403 (GOMP_OFFLOAD_get_table): Remove 11404 (GOMP_OFFLOAD_load_image): New function. 11405 (GOMP_OFFLOAD_unload_image): New function. 11406 * target.c (register_lock): New mutex for offload image registration. 11407 (num_devices): Do not guard with PLUGIN_SUPPORT. 11408 (gomp_realloc_unlock): New static function. 11409 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex 11410 before gomp_fatal. 11411 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's. 11412 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal. 11413 (gomp_copy_from_async): Use dev's lock and splay_tree instead of 11414 mem_map's. 11415 (gomp_unmap_vars): Likewise. 11416 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and 11417 splay_tree instead of mm's. Unlock mutex before gomp_fatal. 11418 (gomp_offload_image_to_device): New static function. 11419 (GOMP_offload_register): Add mutex lock. 11420 Call gomp_offload_image_to_device for all initialized devices. 11421 Replace gomp_realloc with gomp_realloc_unlock. 11422 (GOMP_offload_unregister): New function. 11423 (gomp_init_tables): Replace with gomp_init_device. Replace a call to 11424 get_table_func from the plugin with calls to init_device_func and 11425 gomp_offload_image_to_device. 11426 (gomp_free_memmap): Change type of argument from gomp_memory_mapping * 11427 to splay_tree_s *. 11428 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and 11429 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal. 11430 (GOMP_target_data): Do not call gomp_init_tables. 11431 (GOMP_target_update): Likewise. Remove argument from gomp_update. 11432 (gomp_load_plugin_for_device): Replace register_image and get_table 11433 with load_image and unload_image in DLSYM (). 11434 (gomp_register_images_for_device): Remove function. 11435 (gomp_target_init): Do not initialize current_device.mem_map.*, 11436 current_device.offload_regions_registered. 11437 Remove call to gomp_register_images_for_device. 11438 Do not free offload_images and num_offload_images. 11439 114402015-03-30 Jakub Jelinek <jakub@redhat.com> 11441 11442 PR fortran/65597 11443 * testsuite/libgomp.fortran/pr65597.f90: New test. 11444 114452015-03-27 Tom de Vries <tom@codesourcery.com> 11446 11447 PR testsuite/65594 11448 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare. 11449 (init, check): New function. 11450 (foo): Change return type to void. 11451 (main): Call init and check. 11452 114532015-03-27 Tom de Vries <tom@codesourcery.com> 11454 11455 PR testsuite/65594 11456 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define. 11457 (foo): Use M for non-inner loops to scale down test-case. 11458 114592015-03-25 Kai Tietz <ktietz@redhat.com> 11460 11461 PR libgomp/64972 11462 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available. 11463 (GOACC_data_start): Likewise. 11464 * target.c (gomp_map_vars): Likewise. 11465 114662015-03-21 John David Anglin <danglin@gcc.gnu.org> 11467 11468 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on 11469 hppa*-*-hpux*. 11470 114712015-03-19 Jakub Jelinek <jakub@redhat.com> 11472 11473 * testsuite/libgomp.c/target-10.c: New test. 11474 * testsuite/libgomp.c++/target-4.C: New test. 11475 114762015-03-13 Ilya Verbin <ilya.verbin@intel.com> 11477 11478 * testsuite/libgomp.fortran/declare-target-1.f90: New test. 11479 * testsuite/libgomp.fortran/declare-target-2.f90: New file. 11480 114812015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de> 11482 11483 * configure.tgt (*-*-rtems*): Use local-exec TLS model. 11484 * configure.ac (*-*-rtems*): Assume Pthread is supported. 11485 (pthread.h): Check for this header file. 11486 * configure: Regenerate. 11487 114882015-02-25 Tom de Vries <tom@codesourcery.com> 11489 11490 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA) 11491 (check_reduction_op, check_reduction_macro, max, min): 11492 Declare. 11493 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New 11494 function. 11495 (main): Use new functions. 11496 114972015-02-18 Ilya Tocar <ilya.tocar@intel.com> 11498 11499 * target.c (gomp_load_plugin_for_device): Use const char * instead of 11500 char * for variables holding dlerror return values. 11501 (DLSYM_OPT): Ditto. 11502 115032015-02-17 Thomas Schwinge <thomas@codesourcery.com> 11504 11505 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo. 11506 115072015-02-17 Thomas Schwinge <thomas@codesourcery.com> 11508 Cesar Philippidis <cesar@codesourcery.com> 11509 11510 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid, 11511 GOACC_ctaid, and GOACC_nctaid routines. 11512 115132015-02-11 Jakub Jelinek <jakub@redhat.com> 11514 11515 PR c/64824 11516 * testsuite/libgomp.c/atomic-18.c: New test. 11517 * testsuite/libgomp.c++/atomic-16.C: New test. 11518 115192015-02-04 Jakub Jelinek <jakub@redhat.com> 11520 11521 PR c/64824 11522 PR c/64868 11523 * testsuite/libgomp.c/pr64824.c: New test. 11524 * testsuite/libgomp.c/pr64868.c: New test. 11525 * testsuite/libgomp.c++/pr64824.C: New test. 11526 * testsuite/libgomp.c++/pr64868.C: New test. 11527 115282015-02-01 David Edelsohn <dje.gcc@gmail.com> 11529 11530 PR libgomp/64635 11531 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h. 11532 Link with -lpthread. 11533 * config/aix/plugin-suffix.h: Delete. 11534 115352015-01-28 Jack Howarth <howarth.at.gcc@gmail.com> 11536 11537 PR libgomp/64635 11538 * configure.tgt (*-*-aix*): Use config_path "aix posix". 11539 (*-*-darwin*): Use config_path "bsd darwin posix". 11540 (*-*-hpux*): Use config_path "hpux posix". 11541 * target.c: Add include of plugin-suffix.h and use 11542 SONAME_SUFFIX macro. 11543 * config/aix/plugin-suffix.h: New file. 11544 * config/darwin/plugin-suffix.h: New file. 11545 * config/hpux/plugin-suffix.h: New file. 11546 * config/posix/plugin-suffix.h: New file. 11547 115482015-01-23 Jakub Jelinek <jakub@redhat.com> 11549 11550 PR middle-end/64734 11551 * libgomp.c/pr64734.c: New test. 11552 115532015-01-23 Tom de Vries <tom@codesourcery.com> 11554 11555 PR libgomp/64672 11556 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test. 11557 115582015-01-23 Tom de Vries <tom@codesourcery.com> 11559 11560 PR libgomp/64707 11561 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to 11562 dg-options. 11563 115642015-01-19 Thomas Schwinge <thomas@codesourcery.com> 11565 11566 PR libgomp/64625 11567 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data) 11568 (GOACC_parallel, GOACC_update): Remove const_void *offload_table 11569 formal parameter. Update all users. 11570 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update): 11571 Document unused formal parameter. 11572 115732015-01-16 Thomas Schwinge <thomas@codesourcery.com> 11574 11575 * oacc-parallel.c: Don't include <alloca.h>. 11576 (GOACC_parallel): Use gomp_alloca instead of alloca. 11577 115782015-01-16 Gerald Pfeifer <gerald@pfeifer.com> 11579 11580 * target.c (num_devices): Guard with PLUGIN_SUPPORT. 11581 115822015-01-15 Thomas Schwinge <thomas@codesourcery.com> 11583 James Norris <jnorris@codesourcery.com> 11584 Tom de Vries <tom@codesourcery.com> 11585 Julian Brown <julian@codesourcery.com> 11586 Cesar Philippidis <cesar@codesourcery.com> 11587 Nathan Sidwell <nathan@codesourcery.com> 11588 Tobias Burnus <burnus@net-b.de> 11589 11590 * Makefile.am (search_path): Add $(top_srcdir)/../include. 11591 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c, 11592 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c, 11593 oacc-async.c, oacc-plugin.c, oacc-cuda.c. 11594 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90. 11595 Include $(top_srcdir)/plugin/Makefrag.am. 11596 (nodist_libsubinclude_HEADERS): Add openacc.h. 11597 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h, 11598 openacc.f90, openacc.mod, openacc_kinds.mod. 11599 (omp_lib.mod): Generalize into... 11600 (%.mod): ... this new rule. 11601 (openacc_kinds.mod, openacc.mod): New rules. 11602 * plugin/configfrag.ac: New file. 11603 * configure.ac: Move plugin/offloading support into it. Include 11604 it. Instantiate testsuite/libgomp-test-support.pt.exp. 11605 * plugin/Makefrag.am: New file. 11606 * testsuite/Makefile.am (OFFLOAD_TARGETS) 11607 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't 11608 export. 11609 (libgomp-test-support.exp): New rule. 11610 (all-local): Depend on it. 11611 * Makefile.in: Regenerate. 11612 * testsuite/Makefile.in: Regenerate. 11613 * config.h.in: Likewise. 11614 * configure: Likewise. 11615 * configure.tgt: Harden shell syntax. 11616 * env.c: Include "oacc-int.h". 11617 (parse_acc_device_type): New function. 11618 (gomp_debug_var, goacc_device_type, goacc_device_num): New 11619 variables. 11620 (initialize_env): Initialize those. Call 11621 goacc_runtime_initialize. 11622 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions. 11623 (gomp_fatal): Call gomp_vfatal. 11624 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>. 11625 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug) 11626 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once) 11627 (splay_tree_node, splay_tree, splay_tree_key) 11628 (struct target_mem_desc, struct splay_tree_key_s) 11629 (struct gomp_memory_mapping, struct acc_dispatch_t) 11630 (struct gomp_device_descr, gomp_acc_insert_pointer) 11631 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async) 11632 (gomp_unmap_vars, gomp_init_device, gomp_init_tables) 11633 (gomp_free_memmap, gomp_fini_device): New declarations. 11634 (gomp_vdebug, gomp_debug): New macros. 11635 Include "splay-tree.h". 11636 * libgomp.map (OACC_2.0): New symbol version. Use for 11637 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type, 11638 acc_set_device_type_h_, acc_get_device_type, 11639 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_, 11640 acc_get_device_num, acc_get_device_num_h_, acc_async_test, 11641 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_, 11642 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_, 11643 acc_wait_all, acc_wait_all_h_, acc_wait_all_async, 11644 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown, 11645 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc, 11646 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_, 11647 acc_copyin_array_h_, acc_present_or_copyin, 11648 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_, 11649 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_, 11650 acc_create_64_h_, acc_create_array_h_, acc_present_or_create, 11651 acc_present_or_create_32_h_, acc_present_or_create_64_h_, 11652 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_, 11653 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete, 11654 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_, 11655 acc_update_device, acc_update_device_32_h_, 11656 acc_update_device_64_h_, acc_update_device_array_h_, 11657 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_, 11658 acc_update_self_array_h_, acc_map_data, acc_unmap_data, 11659 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_, 11660 acc_is_present_64_h_, acc_is_present_array_h_, 11661 acc_memcpy_to_device, acc_memcpy_from_device, 11662 acc_get_current_cuda_device, acc_get_current_cuda_context, 11663 acc_get_cuda_stream, acc_set_cuda_stream. 11664 (GOACC_2.0): New symbol version. Use for GOACC_data_end, 11665 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel, 11666 GOACC_update, GOACC_wait, GOACC_get_thread_num, 11667 GOACC_get_num_threads. 11668 (GOMP_PLUGIN_1.0): New symbol version. Use for 11669 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared, 11670 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error, 11671 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars, 11672 GOMP_PLUGIN_acc_thread. 11673 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG 11674 environment variable. 11675 * libgomp_g.h (GOACC_data_start, GOACC_data_end) 11676 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait) 11677 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations. 11678 * splay-tree.h (splay_tree_lookup, splay_tree_insert) 11679 (splay_tree_remove): New declarations. 11680 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert) 11681 (splay_tree_remove, splay_tree_lookup): Move into... 11682 * splay-tree.c: ... this new file. 11683 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>. 11684 (splay_tree_node, splay_tree, splay_tree_key) 11685 (struct target_mem_desc, struct splay_tree_key_s) 11686 (struct gomp_device_descr): Don't declare. 11687 (num_devices_openmp): New variable. 11688 (gomp_get_num_devices ): Use it. 11689 (gomp_init_targets_once): New function. 11690 (gomp_get_num_devices ): Use it. 11691 (get_kind, gomp_copy_from_async, gomp_free_memmap) 11692 (gomp_fini_device, gomp_register_image_for_device): New functions. 11693 (gomp_map_vars): Add devaddrs parameter. 11694 (gomp_update): Add mm parameter. 11695 (gomp_init_device): Move most of it into... 11696 (gomp_init_tables): ... this new function. 11697 (gomp_register_images_for_device): Remove function. 11698 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device): 11699 Make them hidden instead of static. 11700 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars) 11701 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data) 11702 (GOMP_target_end_data, GOMP_target_update) 11703 (gomp_load_plugin_for_device, gomp_target_init): Update for 11704 OpenACC changes. 11705 * oacc-async.c: New file. 11706 * oacc-cuda.c: Likewise. 11707 * oacc-host.c: Likewise. 11708 * oacc-init.c: Likewise. 11709 * oacc-int.h: Likewise. 11710 * oacc-mem.c: Likewise. 11711 * oacc-parallel.c: Likewise. 11712 * oacc-plugin.c: Likewise. 11713 * oacc-plugin.h: Likewise. 11714 * oacc-ptx.h: Likewise. 11715 * openacc.f90: Likewise. 11716 * openacc.h: Likewise. 11717 * openacc_lib.h: Likewise. 11718 * plugin/plugin-host.c: Likewise. 11719 * plugin/plugin-nvptx.c: Likewise. 11720 * libgomp-plugin.c: Likewise. 11721 * libgomp-plugin.h: Likewise. 11722 * libgomp_target.h: Remove file after merging content into the 11723 former file. Update all users. 11724 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp. 11725 (offload_targets_s, offload_targets_s_openacc): New variables. 11726 (check_effective_target_openacc_nvidia_accel_present) 11727 (check_effective_target_openacc_nvidia_accel_selected): New 11728 procedures. 11729 (libgomp_init): Update for OpenACC changes. 11730 * testsuite/libgomp-test-support.exp.in: New file. 11731 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. 11732 * testsuite/libgomp.oacc-c/c.exp: Likewise. 11733 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. 11734 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise. 11735 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise. 11736 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise. 11737 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise. 11738 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise. 11739 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise. 11740 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise. 11741 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise. 11742 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise. 11743 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise. 11744 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise. 11745 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise. 11746 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise. 11747 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise. 11748 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise. 11749 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise. 11750 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise. 11751 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise. 11752 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise. 11753 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise. 11754 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise. 11755 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise. 11756 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise. 11757 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise. 11758 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise. 11759 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise. 11760 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise. 11761 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise. 11762 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise. 11763 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise. 11764 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise. 11765 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise. 11766 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise. 11767 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise. 11768 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise. 11769 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise. 11770 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise. 11771 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise. 11772 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise. 11773 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise. 11774 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise. 11775 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise. 11776 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise. 11777 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise. 11778 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise. 11779 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise. 11780 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise. 11781 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. 11782 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise. 11783 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise. 11784 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise. 11785 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise. 11786 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise. 11787 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise. 11788 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise. 11789 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise. 11790 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise. 11791 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise. 11792 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise. 11793 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise. 11794 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise. 11795 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise. 11796 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise. 11797 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise. 11798 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise. 11799 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise. 11800 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise. 11801 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise. 11802 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. 11803 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise. 11804 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise. 11805 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise. 11806 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise. 11807 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise. 11808 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise. 11809 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise. 11810 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise. 11811 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise. 11812 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise. 11813 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise. 11814 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise. 11815 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise. 11816 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise. 11817 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise. 11818 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise. 11819 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise. 11820 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise. 11821 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise. 11822 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise. 11823 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise. 11824 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise. 11825 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise. 11826 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise. 11827 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise. 11828 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise. 11829 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise. 11830 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise. 11831 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise. 11832 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise. 11833 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise. 11834 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise. 11835 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise. 11836 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise. 11837 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise. 11838 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise. 11839 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise. 11840 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise. 11841 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise. 11842 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise. 11843 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise. 11844 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise. 11845 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise. 11846 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise. 11847 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise. 11848 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise. 11849 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise. 11850 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise. 11851 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise. 11852 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise. 11853 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise. 11854 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise. 11855 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise. 11856 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise. 11857 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise. 11858 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise. 11859 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise. 11860 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise. 11861 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise. 11862 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise. 11863 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise. 11864 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise. 11865 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise. 11866 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise. 11867 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise. 11868 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise. 11869 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise. 11870 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: 11871 Likewise. 11872 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise. 11873 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise. 11874 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise. 11875 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise. 11876 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise. 11877 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise. 11878 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise. 11879 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise. 11880 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise. 11881 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise. 11882 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise. 11883 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise. 11884 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise. 11885 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise. 11886 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise. 11887 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise. 11888 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise. 11889 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise. 11890 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise. 11891 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise. 11892 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise. 11893 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise. 11894 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise. 11895 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise. 11896 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise. 11897 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise. 11898 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise. 11899 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise. 11900 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise. 11901 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise. 11902 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise. 11903 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise. 11904 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise. 11905 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise. 11906 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise. 11907 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise. 11908 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise. 11909 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise. 11910 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise. 11911 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise. 11912 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise. 11913 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise. 11914 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise. 11915 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise. 11916 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise. 11917 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise. 11918 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise. 11919 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise. 11920 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise. 11921 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise. 11922 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise. 11923 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise. 11924 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise. 11925 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. 11926 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise. 11927 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise. 11928 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise. 11929 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise. 11930 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise. 11931 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise. 11932 119332015-01-10 Thomas Schwinge <thomas@codesourcery.com> 11934 Julian Brown <julian@codesourcery.com> 11935 David Malcolm <dmalcolm@redhat.com> 11936 11937 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library" 11938 to "GNU Offloading and Multi Processing Runtime Library". Change 11939 all users. 11940 * configure: Regenerate. 11941 * libgomp.texi: Update. 11942 119432015-01-08 Thomas Schwinge <thomas@codesourcery.com> 11944 11945 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add 11946 "$tgt_dir/lib32". 11947 * configure: Regenerate. 11948 11949 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match 11950 "intelmic" in $offload_targets. 11951 119522015-01-05 Jakub Jelinek <jakub@redhat.com> 11953 11954 Update copyright years. 11955 11956 * libgomp.texi: Bump @copying's copyright year. 11957 119582014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 11959 11960 * testsuite/lib/libgomp.exp: Load target-utils.exp. 11961 Move load of target-supports.exp earlier. 11962 119632014-12-10 Ilya Verbin <ilya.verbin@intel.com> 11964 11965 * testsuite/libgomp.c/target-9.c: New test. 11966 119672014-12-09 Varvara Rainchik <varvara.rainchik@intel.com> 11968 11969 * config.h.in: Regenerate. 11970 * configure: Regenerate. 11971 * configure.ac: Add GCC_CHECK_EMUTLS. 11972 * libgomp.h: Add check for USE_EMUTLS: this case 11973 is equal to HAVE_TLS. 11974 * team.c: Likewise. 11975 119762014-12-03 Uros Bizjak <ubizjak@gmail.com> 11977 11978 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic. 11979 119802014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com> 11981 Ilya Verbin <ilya.verbin@intel.com> 11982 11983 * testsuite/libgomp.c/target-critical-1.c: New test. 11984 119852014-11-26 Jakub Jelinek <jakub@redhat.com> 11986 11987 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20 11988 to dg-options unless expensive testing is on. 11989 (TESTITERS): Define to N if not defined. 11990 (main): Use TESTITERS instead of N. 11991 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from 11992 dg-additional-options depending on whether expensive testing is on. 11993 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod): 11994 Decrease N to 100000 and CHUNKSZ to 10000. 11995 119962014-11-24 Jakub Jelinek <jakub@redhat.com> 11997 11998 PR fortran/63938 11999 * testsuite/libgomp.fortran/pr63938-1.f90: New test. 12000 * testsuite/libgomp.fortran/pr63938-2.f90: New test. 12001 120022014-11-21 Steve Ellcey <sellcey@imgtec.com> 12003 12004 * config/linux/mips/futex.h (SYS_futex): Define if not already done. 12005 120062014-11-21 H.J. Lu <hongjiu.lu@intel.com> 12007 12008 PR bootstrap/63784 12009 * configure: Regenerated. 12010 120112014-11-19 Uros Bizjak <ubizjak@gmail.com> 12012 12013 * testsuite/libgomp.c/examples-4/e.53.5.c: Require 12014 vect_simd_clones effective target. 12015 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto. 12016 120172014-11-14 Jakub Jelinek <jakub@redhat.com> 12018 12019 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead 12020 of 32 as block_size. 12021 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8 12022 instead of 32 as block_size. 12023 120242014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com> 12025 Ilya Verbin <ilya.verbin@intel.com> 12026 12027 * Makefile.in: Regenerate. 12028 * configure: Regenerate. 12029 * configure.ac: Set up offload_additional_options, 12030 offload_additional_lib_paths and offload_targets. 12031 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS, 12032 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS. 12033 * testsuite/Makefile.in: Regenerate. 12034 * testsuite/lib/libgomp.exp (libgomp_init): Append 12035 offload_additional_lib_paths to LD_LIBRARY_PATH. Append 12036 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic 12037 build directory to LD_LIBRARY_PATH for intelmic offload targets. 12038 120392014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com> 12040 Ilya Verbin <ilya.verbin@intel.com> 12041 Kirill Yukhin <kirill.yukhin@intel.com> 12042 Ilya Tocar <ilya.tocar@intel.com> 12043 12044 * testsuite/lib/libgomp.exp 12045 (check_effective_target_offload_device): New. 12046 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories. 12047 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test. 12048 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto. 12049 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto. 12050 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto. 12051 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto. 12052 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto. 12053 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto. 12054 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto. 12055 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto. 12056 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto. 12057 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto. 12058 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto. 12059 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto. 12060 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto. 12061 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto. 12062 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto. 12063 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto. 12064 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto. 12065 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto. 12066 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto. 12067 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto. 12068 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto. 12069 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto. 12070 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto. 12071 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto. 12072 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto. 12073 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto. 12074 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto. 12075 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto. 12076 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto. 12077 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto. 12078 * testsuite/libgomp.c/target-7.c: Fix test. 12079 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test. 12080 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto. 12081 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto. 12082 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto. 12083 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto. 12084 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto. 12085 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto. 12086 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto. 12087 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto. 12088 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto. 12089 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto. 12090 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto. 12091 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto. 12092 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto. 12093 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto. 12094 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto. 12095 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto. 12096 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto. 12097 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto. 12098 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto. 12099 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto. 12100 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto. 12101 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto. 12102 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto. 12103 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto. 12104 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto. 12105 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto. 12106 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto. 12107 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto. 12108 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto. 12109 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto. 12110 121112014-11-13 Jakub Jelinek <jakub@redhat.com> 12112 Ilya Verbin <ilya.verbin@intel.com> 12113 Thomas Schwinge <thomas@codesourcery.com> 12114 Andrey Turetskiy <andrey.turetskiy@intel.com> 12115 12116 * libgomp.map (GOMP_4.0.1): New symbol version. 12117 Add GOMP_offload_register. 12118 * libgomp_target.h: New file. 12119 * splay-tree.h: New file. 12120 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h. 12121 (gomp_target_init): New forward declaration. 12122 (gomp_is_initialized): New static variable. 12123 (splay_tree_node, splay_tree, splay_tree_key): New typedefs. 12124 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr): 12125 New structures. 12126 (offload_images, num_offload_images, devices, num_devices): New static 12127 variables. 12128 (splay_compare): New static function. 12129 (struct gomp_device_descr): New structure. 12130 (gomp_get_num_devices): Call gomp_target_init. 12131 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt) 12132 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions. 12133 (GOMP_offload_register): New function. 12134 (GOMP_target): Arrange for host callback to be performed in a separate 12135 initial thread and contention group, inheriting ICVs from 12136 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars. 12137 Add device initialization and lookup for target function in splay tree. 12138 (GOMP_target_data): Add device initialization and call gomp_map_vars. 12139 (GOMP_target_end_data): Call gomp_unmap_vars. 12140 (GOMP_target_update): Add device initialization and call gomp_update. 12141 (gomp_load_plugin_for_device, gomp_register_images_for_device) 12142 (gomp_target_init): New static functions. 12143 121442014-11-13 Bernd Schmidt <bernds@codesourcery.com> 12145 Thomas Schwinge <thomas@codesourcery.com> 12146 Ilya Verbin <ilya.verbin@intel.com> 12147 Andrey Turetskiy <andrey.turetskiy@intel.com> 12148 12149 * config.h.in: Regenerate. 12150 * configure: Regenerate. 12151 * configure.ac: Check for libdl, required for plugin support. 12152 (PLUGIN_SUPPORT): Define if plugins are supported. 12153 (enable_offload_targets): Support Intel MIC targets. 12154 (OFFLOAD_TARGETS): List of target names suitable for offloading. 12155 121562014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 12157 12158 PR target/63610 12159 * configure: Regenerate. 12160 121612014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 12162 12163 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600. 12164 121652014-10-06 Marek Polacek <polacek@redhat.com> 12166 12167 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>. 12168 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>. 12169 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h> 12170 * testsuite/libgomp.c/thread-limit-2.c: Likewise. 12171 121722014-10-06 Marek Polacek <polacek@redhat.com> 12173 12174 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations. 12175 * testsuite/libgomp.c/nqueens-1.c: Likewise. 12176 * testsuite/libgomp.c/pr26943-3.c: Likewise. 12177 * testsuite/libgomp.c/pr26943-4.c: Likewise. 12178 * testsuite/libgomp.c/pr36802-2.c: Likewise. 12179 * testsuite/libgomp.c/pr36802-3.c: Likewise. 12180 * testsuite/libgomp.c/thread-limit-1.c: Likewise. 12181 * testsuite/libgomp.c/thread-limit-2.c: Likewise. 12182 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>. 12183 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int. 12184 * testsuite/libgomp.c/omp-parallel-for.c: Likewise. 12185 * testsuite/libgomp.c/omp-parallel-if.c: Likewise. 12186 * testsuite/libgomp.c/omp-single-1.c: Likewise. 12187 * testsuite/libgomp.c/omp-single-2.c: Likewise. 12188 * testsuite/libgomp.c/omp_matvec.c: Likewise. 12189 * testsuite/libgomp.c/omp_workshare3.c: Likewise. 12190 * testsuite/libgomp.c/omp_workshare4.c: Likewise. 12191 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit 12192 declarations. 12193 121942014-10-03 Jakub Jelinek <jakub@redhat.com> 12195 12196 PR libgomp/61200 12197 * testsuite/libgomp.c/pr61200.c: New test. 12198 121992014-09-18 Jakub Jelinek <jakub@redhat.com> 12200 12201 PR c++/63248 12202 * testsuite/libgomp.c++/pr63248.C: New test. 12203 122042014-08-04 Jakub Jelinek <jakub@redhat.com> 12205 12206 * task.c (GOMP_taskgroup_end): If taskgroup->num_children 12207 is not zero, but taskgroup->children is NULL and there are 12208 any task->children, schedule those instead of waiting. 12209 * testsuite/libgomp.c/depend-6.c: New test. 12210 * testsuite/libgomp.c/depend-7.c: New test. 12211 * testsuite/libgomp.c/depend-8.c: New test. 12212 * testsuite/libgomp.c/depend-9.c: New test. 12213 * testsuite/libgomp.c/depend-10.c: New test. 12214 122152014-08-01 Jakub Jelinek <jakub@redhat.com> 12216 12217 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field. 12218 (struct gomp_taskwait): New type. 12219 (struct gomp_task): Add taskwait and parent_depends_on, remove 12220 in_taskwait and taskwait_sem fields. 12221 (gomp_finish_task): Don't destroy taskwait_sem. 12222 * task.c (gomp_init_task): Don't init in_taskwait, instead init 12223 taskwait and parent_depends_on. 12224 (GOMP_task): For if (0) tasks with depend clause that depend on 12225 earlier tasks don't defer them, instead call 12226 gomp_task_maybe_wait_for_dependencies to wait for the dependencies. 12227 Initialize redundant_out field, for redundant out entries just 12228 move them at the end of linked list instead of removing them 12229 completely, and set redundant_out flag instead of redundant. 12230 (gomp_task_run_pre): Update last_parent_depends_on if scheduling 12231 that task. 12232 (gomp_task_run_post_handle_dependers): If parent is in 12233 gomp_task_maybe_wait_for_dependencies and newly runnable task 12234 is not parent_depends_on, queue it in parent->children linked 12235 list after all runnable tasks with parent_depends_on set. 12236 Adjust for addition of taskwait indirection. 12237 (gomp_task_run_post_remove_parent): If parent is in 12238 gomp_task_maybe_wait_for_dependencies and task to be removed 12239 is parent_depends_on, decrement n_depend and if needed awake 12240 parent. Adjust for addition of taskwait indirection. 12241 (GOMP_taskwait): Adjust for addition of taskwait indirection. 12242 (gomp_task_maybe_wait_for_dependencies): New function. 12243 * testsuite/libgomp.c/depend-5.c: New test. 12244 122452014-07-13 Tobias Burnus <burnus@net-b.de> 12246 12247 * testsuite/libgomp.fortran/pr34020.f90: Make compile 12248 with TS 18508/Fortran 2015. 12249 122502014-07-06 Marek Polacek <polacek@redhat.com> 12251 12252 PR c/6940 12253 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings. 12254 122552014-07-03 Jakub Jelinek <jakub@redhat.com> 12256 12257 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source 12258 matches regex $lang_source_re, add $lang_include_flags to options. 12259 * testsuite/libgomp.c/c.exp: Unset lang_include_flags. 12260 * testsuite/libgomp.c++/c++.exp: Likewise. 12261 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re 12262 and lang_include_flags instead of adding -fintrinsic-modules-path= to 12263 ALWAYS_CFLAGS. 12264 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags. 12265 122662014-07-03 Thomas Schwinge <thomas@codesourcery.com> 12267 12268 * testsuite/libgomp.fortran/fortran.exp: Explain 12269 gfortran-dg-runtest usage. 12270 122712014-06-25 Jakub Jelinek <jakub@redhat.com> 12272 12273 * testsuite/libgomp.fortran/simd5.f90: New test. 12274 * testsuite/libgomp.fortran/simd6.f90: New test. 12275 * testsuite/libgomp.fortran/simd7.f90: New test. 12276 122772014-06-24 Jakub Jelinek <jakub@redhat.com> 12278 12279 * testsuite/libgomp.c/for-2.c: Define SC to static for 12280 #pragma omp for simd testing. 12281 * testsuite/libgomp.c/for-2.h (SC): Define if not defined. 12282 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use 12283 SC macro. 12284 * testsuite/libgomp.c/simd-14.c: New test. 12285 * testsuite/libgomp.c/simd-15.c: New test. 12286 * testsuite/libgomp.c/simd-16.c: New test. 12287 * testsuite/libgomp.c/simd-17.c: New test. 12288 * testsuite/libgomp.c++/for-10.C: Define SC to static for 12289 #pragma omp for simd testing. 12290 * testsuite/libgomp.c++/simd10.C: New test. 12291 * testsuite/libgomp.c++/simd11.C: New test. 12292 * testsuite/libgomp.c++/simd12.C: New test. 12293 * testsuite/libgomp.c++/simd13.C: New test. 12294 12295 * testsuite/libgomp.fortran/aligned1.f03: New test. 12296 * testsuite/libgomp.fortran/nestedfn5.f90: New test. 12297 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning 12298 tasks with !$omp parallel !$omp single. 12299 * testsuite/libgomp.fortran/target8.f90: New test. 12300 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust 12301 not to use trim in the combiner, instead call elemental function. 12302 (fn): New elemental function. 12303 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init): 12304 Make elemental. 12305 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out, 12306 omp_in): Likewise. 12307 * testsuite/libgomp.fortran/udr12.f90: New test. 12308 * testsuite/libgomp.fortran/udr13.f90: New test. 12309 * testsuite/libgomp.fortran/udr14.f90: New test. 12310 * testsuite/libgomp.fortran/udr15.f90: New test. 12311 123122014-06-18 Jakub Jelinek <jakub@redhat.com> 12313 12314 * omp_lib.f90.in (openmp_version): Set to 201307. 12315 * omp_lib.h.in (openmp_version): Likewise. 12316 * testsuite/libgomp.c/target-8.c: New test. 12317 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch 12318 and inbranch clauses. 12319 * testsuite/libgomp.fortran/depend-3.f90: New test. 12320 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new 12321 openmp_version. 12322 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise. 12323 * testsuite/libgomp.fortran/target1.f90: New test. 12324 * testsuite/libgomp.fortran/target2.f90: New test. 12325 * testsuite/libgomp.fortran/target3.f90: New test. 12326 * testsuite/libgomp.fortran/target4.f90: New test. 12327 * testsuite/libgomp.fortran/target5.f90: New test. 12328 * testsuite/libgomp.fortran/target6.f90: New test. 12329 * testsuite/libgomp.fortran/target7.f90: New test. 12330 123312014-06-10 Jakub Jelinek <jakub@redhat.com> 12332 12333 PR fortran/60928 12334 * testsuite/libgomp.fortran/allocatable9.f90: New test. 12335 * testsuite/libgomp.fortran/allocatable10.f90: New test. 12336 * testsuite/libgomp.fortran/allocatable11.f90: New test. 12337 * testsuite/libgomp.fortran/allocatable12.f90: New test. 12338 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test. 12339 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test. 12340 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test. 12341 * testsuite/libgomp.fortran/associate1.f90: New test. 12342 * testsuite/libgomp.fortran/associate2.f90: New test. 12343 * testsuite/libgomp.fortran/procptr1.f90: New test. 12344 123452014-06-06 Jakub Jelinek <jakub@redhat.com> 12346 12347 * testsuite/libgomp.fortran/simd1.f90: New test. 12348 * testsuite/libgomp.fortran/udr1.f90: New test. 12349 * testsuite/libgomp.fortran/udr2.f90: New test. 12350 * testsuite/libgomp.fortran/udr3.f90: New test. 12351 * testsuite/libgomp.fortran/udr4.f90: New test. 12352 * testsuite/libgomp.fortran/udr5.f90: New test. 12353 * testsuite/libgomp.fortran/udr6.f90: New test. 12354 * testsuite/libgomp.fortran/udr7.f90: New test. 12355 * testsuite/libgomp.fortran/udr8.f90: New test. 12356 * testsuite/libgomp.fortran/udr9.f90: New test. 12357 * testsuite/libgomp.fortran/udr10.f90: New test. 12358 * testsuite/libgomp.fortran/udr11.f90: New test. 12359 123602014-05-27 Uros Bizjak <ubizjak@gmail.com> 12361 12362 * testsuite/libgomp.fortran/declare-simd-1.f90: Require 12363 vect_simd_clones effective target. 12364 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto. 12365 123662014-05-21 Jakub Jelinek <jakub@redhat.com> 12367 12368 PR middle-end/61252 12369 * testsuite/libgomp.c++/simd-9.C: New test. 12370 123712014-05-18 Uros Bizjak <ubizjak@gmail.com> 12372 12373 * libgomp.texi (Runitme Library Routines): Remove multiple @menu. 12374 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node 12375 texts according to their @menu entry positions. 12376 123772014-05-11 Jakub Jelinek <jakub@redhat.com> 12378 12379 * testsuite/libgomp.fortran/cancel-do-1.f90: New test. 12380 * testsuite/libgomp.fortran/cancel-do-2.f90: New test. 12381 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test. 12382 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test. 12383 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test. 12384 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test. 12385 * testsuite/libgomp.fortran/declare-simd-1.f90: New test. 12386 * testsuite/libgomp.fortran/declare-simd-2.f90: New test. 12387 * testsuite/libgomp.fortran/declare-simd-3.f90: New test. 12388 * testsuite/libgomp.fortran/depend-1.f90: New test. 12389 * testsuite/libgomp.fortran/depend-2.f90: New test. 12390 * testsuite/libgomp.fortran/omp_atomic5.f90: New test. 12391 * testsuite/libgomp.fortran/simd1.f90: New test. 12392 * testsuite/libgomp.fortran/simd2.f90: New test. 12393 * testsuite/libgomp.fortran/simd3.f90: New test. 12394 * testsuite/libgomp.fortran/simd4.f90: New test. 12395 * testsuite/libgomp.fortran/taskgroup1.f90: New test. 12396 123972014-05-02 Jakub Jelinek <jakub@redhat.com> 12398 12399 * testsuite/libgomp.c/simd-10.c: New test. 12400 * testsuite/libgomp.c/simd-11.c: New test. 12401 * testsuite/libgomp.c/simd-12.c: New test. 12402 * testsuite/libgomp.c/simd-13.c: New test. 12403 124042014-04-24 Jakub Jelinek <jakub@redhat.com> 12405 12406 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and 12407 atomic type clauses in any order and optional comma in between. 12408 * testsuite/libgomp.c++/atomic-15.C: Likewise. 12409 * testsuite/libgomp.c/atomic-17.c: Likewise. 12410 12411 * testsuite/libgomp.c/simd-7.c: New test. 12412 * testsuite/libgomp.c/simd-8.c: New test. 12413 * testsuite/libgomp.c/simd-9.c: New test. 12414 * testsuite/libgomp.c/loop-16.c: New test. 12415 124162014-04-02 Richard Henderson <rth@redhat.com> 12417 12418 * config/linux/futex.h (futex_wait): Get error value from errno. 12419 (futex_wake): Likewise. 12420 124212014-03-25 Jakub Jelinek <jakub@redhat.com> 12422 12423 PR c++/60331 12424 * testsuite/libgomp.c++/udr-11.C: New test. 12425 * testsuite/libgomp.c++/udr-12.C: New test. 12426 * testsuite/libgomp.c++/udr-13.C: New test. 12427 * testsuite/libgomp.c++/udr-14.C: New test. 12428 * testsuite/libgomp.c++/udr-15.C: New test. 12429 * testsuite/libgomp.c++/udr-16.C: New test. 12430 * testsuite/libgomp.c++/udr-17.C: New test. 12431 * testsuite/libgomp.c++/udr-18.C: New test. 12432 * testsuite/libgomp.c++/udr-19.C: New test. 12433 124342014-01-02 Richard Sandiford <rdsandiford@googlemail.com> 12435 12436 Update copyright years 12437 124382014-01-02 Richard Sandiford <rdsandiford@googlemail.com> 12439 12440 * hashtab.h: Use the standard form for the copyright notice. 12441 124422014-01-02 Tobias Burnus <burnus@net-b.de> 12443 12444 * libgomp.texi: Bump @copying's copyright year. 12445 124462013-12-17 Andreas Tobler <andreast@gcc.gnu.org> 12447 12448 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace 12449 alloca () with __builtin_alloca (). 12450 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage. 12451 * testsuite/libgomp.c/lock-3.c: Likewise. 12452 * testsuite/libgomp.c/pr48591.c: Likewise. 12453 124542013-12-17 Jakub Jelinek <jakub@redhat.com> 12455 12456 PR testsuite/59534 12457 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited 12458 comparisons. 12459 124602013-12-16 Jakub Jelinek <jakub@redhat.com> 12461 12462 PR libgomp/58756 12463 * testsuite/libgomp.c/pr58756.c: New test. 12464 124652013-12-12 Jakub Jelinek <jakub@redhat.com> 12466 12467 PR libgomp/59467 12468 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to 12469 !$omp parallel. 12470 124712013-11-07 Thomas Schwinge <thomas@codesourcery.com> 12472 12473 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to 12474 ALWAYS_CFLAGS. 12475 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp. 12476 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise. 12477 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise. 12478 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS): 12479 Likewise. 12480 12481 * libgomp_g.h: Include <stddef.h> for size_t. 12482 12483 * libgomp.spec.in: Update comment about libgomp's dependencies. 12484 * configure.ac: Likewise. 12485 * configure: Regenerate. 12486 124872013-10-16 Tobias Burnus <burnus@net-b.de> 12488 12489 * libgomp.texi: (Runtime Library Routines): Update references for 12490 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device, 12491 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind, 12492 omp_get_team_num, omp_is_initial_device, omp_set_default_device. 12493 (Environment Variables): Update references for OpenMP 4.0. Add 12494 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES. 12495 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical 12496 order. 12497 124982013-10-14 Jakub Jelinek <jakub@redhat.com> 12499 12500 * env.c (parse_bind_var): Initialize value to avoid 12501 (false positive) warning. 12502 125032013-10-12 Jakub Jelinek <jakub@redhat.com> 12504 12505 PR libgomp/58691 12506 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute 12507 to check variable. 12508 (gomp_init_num_threads): Move i variable declaration into 12509 #ifdef CPU_ALLOC_SIZE block. 12510 * config/linux/affinity.c (gomp_affinity_init_level): Test 12511 gomp_places_list_len == 0 rather than gomp_places_list == 0 12512 when checking for topology reading error. 12513 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false. 12514 * env.c (parse_affinity): Add ignore argument, if true, don't populate 12515 gomp_places_list, only parse env var and always return false. 12516 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var. 12517 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env 12518 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified 12519 and either of these variables were parsed correctly into a places 12520 list. 12521 125222013-10-11 Thomas Schwinge <thomas@codesourcery.com> 12523 Jakub Jelinek <jakub@redhat.com> 12524 12525 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead 12526 of 5 loopfn matches. 12527 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise. 12528 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise. 12529 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise. 12530 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise. 12531 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise. 12532 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise. 12533 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise. 12534 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise. 12535 125362013-10-11 Thomas Schwinge <thomas@codesourcery.com> 12537 12538 * Makefile.am (omp_lib.mod): Streamline rule. 12539 * Makefile.in: Regenerate. 12540 12541 * libgomp.texi (Runtime Library Routines): C linkage, don't throw 12542 exceptions. 12543 12544 * testsuite/libgomp.c/lib-1.c (main): Add missing error check. 12545 * testsuite/libgomp.fortran/lib1.f90: Likewise. 12546 * testsuite/libgomp.fortran/lib2.f: Likewise. 12547 * testsuite/libgomp.fortran/lib3.f: Likewise. 12548 12549 * configure.ac: Typo fix. 12550 * configure: Regenerate. 12551 12552 * testsuite/libgomp.fortran/openmp_version-1.f: New file. 12553 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise. 12554 12555 * omp.h.in: Don't touch the user's namespace. 12556 125572013-10-11 Jakub Jelinek <jakub@redhat.com> 12558 Tobias Burnus <burnus@net-b.de> 12559 Richard Henderson <rth@redhat.com> 12560 12561 * target.c: New file. 12562 * Makefile.am (libgomp_la_SOURCES): Add target.c. 12563 * Makefile.in: Regenerated. 12564 * libgomp_g.h (GOMP_task): Add depend argument. 12565 (GOMP_barrier_cancel, GOMP_loop_end_cancel, 12566 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data, 12567 GOMP_target_end_data, GOMP_target_update, GOMP_teams, 12568 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic, 12569 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime, 12570 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point, 12571 GOMP_taskgroup_start, GOMP_taskgroup_end, 12572 GOMP_parallel_sections): New prototypes. 12573 * fortran.c (omp_is_initial_device): Add ialias_redirect. 12574 (omp_is_initial_device_): New function. 12575 (ULP, STR1, STR2, ialias_redirect): Removed. 12576 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_, 12577 omp_set_default_device_8_, omp_get_default_device_, 12578 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New 12579 functions. 12580 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel, 12581 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data, 12582 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export 12583 @@GOMP_4.0. 12584 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation, 12585 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_, 12586 omp_set_default_device, omp_set_default_device_, 12587 omp_set_default_device_8_, omp_get_default_device, 12588 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_, 12589 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num, 12590 omp_get_team_num_): Export @@OMP_4.0. 12591 * team.c (struct gomp_thread_start_data): Add place field. 12592 (gomp_thread_start): Clear thr->thread_pool and 12593 thr->task before returning. Use gomp_team_barrier_wait_final 12594 instead of gomp_team_barrier_wait. Initialize thr->place. 12595 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled, 12596 team_cancelled and task_queued_count fields. 12597 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task 12598 before calling pthread_exit. 12599 (gomp_free_thread): No longer static. Use 12600 gomp_managed_threads_lock instead of gomp_remaining_threads_lock. 12601 (gomp_team_start): Add flags argument. Set 12602 thr->thread_pool->threads_busy to nthreads immediately after creating 12603 new pool. Use gomp_managed_threads_lock instead of 12604 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity. 12605 (gomp_team_end): Use gomp_managed_threads_lock instead of 12606 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead 12607 of gomp_team_barrier_wait. If team->team_cancelled, call 12608 gomp_fini_workshare on ws chain starting at team->work_shares_to_free 12609 rather than thr->ts.work_share. 12610 (initialize_team): Don't call gomp_sem_init here. 12611 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start 12612 caller. 12613 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions. 12614 * env.c (gomp_global_icv): Add default_device_var, target_data and 12615 bind_var initializers. 12616 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove. 12617 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list, 12618 gomp_places_list_len): New variables. 12619 (parse_bind_var, parse_one_place, parse_places_var): New functions. 12620 (parse_affinity): Rewritten to construct OMP_PLACES list with unit 12621 sized places. 12622 (gomp_cancel_var): New global variable. 12623 (parse_int): New function. 12624 (handle_omp_display_env): New function. 12625 (initialize_env): Use it. Initialize default_device_var. 12626 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse 12627 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for 12628 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has 12629 been successfully parsed (and call gomp_init_affinity in that case). 12630 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device, 12631 omp_get_default_device, omp_get_num_devices, omp_get_num_teams, 12632 omp_get_team_num, omp_is_initial_device): New functions. 12633 * libgomp.h: Include stdlib.h. 12634 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call): 12635 Define. 12636 (struct target_mem_desc): Forward declare. 12637 (struct gomp_task_icv): Add default_device_var, target_data, bind_var 12638 and thread_limit_var fields. 12639 (gomp_get_num_devices): New prototype. 12640 (gomp_cancel_var): New extern decl. 12641 (struct gomp_team): Add work_shares_to_free, work_share_cancelled, 12642 team_cancelled and task_queued_count fields. Add comments about 12643 task_{,queued_,running_}count. 12644 (gomp_cancel_kind): New enum. 12645 (gomp_work_share_end_cancel): New prototype. 12646 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup, 12647 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees 12648 and depend fields. 12649 (struct gomp_taskgroup): New type. 12650 (struct gomp_task_depend_entry, 12651 struct gomp_dependers_vec): New types. 12652 (gomp_finish_task): Free depend_hash if non-NULL. 12653 (struct gomp_team_state): Add place_partition_off 12654 and place_partition_len fields. 12655 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list, 12656 gomp_places_list_len): New extern decls. 12657 (struct gomp_thread): Add place field. 12658 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove. 12659 (gomp_init_thread_affinity): Add place argument. 12660 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus, 12661 gomp_affinity_remove_cpu, gomp_affinity_copy_place, 12662 gomp_affinity_same_place, gomp_affinity_finalize_place_list, 12663 gomp_affinity_init_level, gomp_affinity_print_place): New 12664 prototypes. 12665 (gomp_team_start): Add flags argument. 12666 (gomp_thread_limit_var, gomp_remaining_threads_count, 12667 gomp_remaining_threads_lock): Remove. 12668 (gomp_managed_threads_lock): New variable. 12669 (struct gomp_thread_pool): Add threads_busy field. 12670 (gomp_free_thread): New prototype. 12671 * task.c: Include hashtab.h. 12672 (hash_entry_type): New typedef. 12673 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines. 12674 (gomp_init_task): Clear dependers, depend_hash, depend_count, 12675 copy_ctors_done and taskgroup fields. 12676 (GOMP_task): Add depend argument, handle depend clauses. If 12677 gomp_team_barrier_cancelled or if it's taskgroup has been 12678 cancelled, don't queue or start new tasks. Set copy_ctors_done 12679 field if needed. Initialize taskgroup field. If copy_ctors_done 12680 and already cancelled, don't discard the task. If taskgroup is 12681 non-NULL, enqueue the task into taskgroup queue. Increment 12682 num_children field in taskgroup. Increment task_queued_count. 12683 (gomp_task_run_pre, gomp_task_run_post_remove_parent, 12684 gomp_task_run_post_remove_taskgroup): New inline functions. 12685 (gomp_task_run_post_handle_depend_hash, 12686 gomp_task_run_post_handle_dependers, 12687 gomp_task_run_post_handle_depend): New functions. 12688 (GOMP_taskwait): Use them. If more than one new tasks 12689 have been queued, wake other threads if needed. 12690 (gomp_barrier_handle_tasks): Likewise. If 12691 gomp_team_barrier_cancelled, don't start any new tasks, just free 12692 all tasks. 12693 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions. 12694 * omp_lib.f90.in 12695 (omp_proc_bind_kind, omp_proc_bind_false, 12696 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close, 12697 omp_proc_bind_spread): New params. 12698 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device, 12699 omp_get_default_device, omp_get_num_devices, omp_get_num_teams, 12700 omp_get_team_num, omp_is_initial_device): New interfaces. 12701 (omp_get_dynamic, omp_get_nested, omp_in_parallel, 12702 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads, 12703 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels, 12704 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num, 12705 omp_get_team_size, omp_get_active_level, omp_in_final): Remove 12706 useless use omp_lib_kinds. 12707 * omp.h.in (omp_proc_bind_t): New typedef. 12708 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device, 12709 omp_get_default_device, omp_get_num_devices, omp_get_num_teams, 12710 omp_get_team_num, omp_is_initial_device): New prototypes. 12711 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it 12712 through to gomp_team_start. 12713 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start, 12714 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start): 12715 Adjust gomp_parallel_loop_start callers. 12716 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic, 12717 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime, 12718 GOMP_loop_end_cancel): New functions. 12719 (GOMP_parallel_end): Add ialias_redirect. 12720 * hashtab.h: New file. 12721 * libgomp.texi (Environment Variables): Minor cleanup, 12722 update section refs to OpenMP 4.0rc2. 12723 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these 12724 environment variables. 12725 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set 12726 team->work_shares_to_free to thr->ts.work_share before calling 12727 free_work_share. 12728 (gomp_work_share_end_cancel): New function. 12729 * config/linux/proc.c: Include errno.h. 12730 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables. 12731 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of 12732 sizeof (cpu_set_t) to determine number of iterations. Fix up check 12733 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if 12734 gomp_cpuset_size is sizeof (cpu_set_t). 12735 (gomp_init_num_threads): Initialize gomp_cpuset_size, 12736 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead 12737 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t) 12738 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't 12739 contain any logical CPUs. 12740 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp 12741 is NULL. Use gomp_cpusetp instead of &cpuset and pass 12742 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to 12743 pthread_getaffinity_np. Check gomp_places_list instead of 12744 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller. 12745 * config/linux/bar.c (gomp_barrier_wait_end, 12746 gomp_barrier_wait_last): Use BAR_* defines. 12747 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED 12748 from state where needed. Set work_share_cancelled to 0 on last 12749 thread. 12750 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end, 12751 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New 12752 functions. 12753 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden. 12754 Add cpusetsize argument. 12755 (gomp_cpuset_size, gomp_cpusetp): Declare. 12756 * config/linux/affinity.c: Include errno.h, stdio.h and string.h. 12757 (affinity_counter): Remove. 12758 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define 12759 if CPU_ALLOC_SIZE isn't defined. 12760 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try 12761 silently create OMP_PLACES=threads, if it is non-NULL afterwards, 12762 bind current thread to the first place. 12763 (gomp_init_thread_affinity): Rewritten. Add place argument, just 12764 pthread_setaffinity_np to gomp_places_list[place]. 12765 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus, 12766 gomp_affinity_remove_cpu, gomp_affinity_copy_place, 12767 gomp_affinity_same_place, gomp_affinity_finalize_place_list, 12768 gomp_affinity_init_level, gomp_affinity_print_place): New functions. 12769 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST, 12770 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define. 12771 (gomp_barrier_t): Add awaited_final field. 12772 (gomp_barrier_init): Initialize awaited_final field. 12773 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel, 12774 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New 12775 prototypes. 12776 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_* 12777 defines. 12778 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start, 12779 gomp_team_barrier_cancelled): New inline functions. 12780 (gomp_barrier_last_thread, 12781 gomp_team_barrier_set_task_pending, 12782 gomp_team_barrier_clear_task_pending, 12783 gomp_team_barrier_set_waiting_for_tasks, 12784 gomp_team_barrier_waiting_for_tasks, 12785 gomp_team_barrier_done): Use BAR_* defines. 12786 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field. 12787 (gomp_barrier_wait_end): Use BAR_* defines. 12788 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state. 12789 Set work_share_cancelled to 0 on last thread, use __atomic_load_n. 12790 Use BAR_* defines. 12791 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel, 12792 gomp_team_barrier_cancel): New functions. 12793 * config/posix/affinity.c (gomp_init_thread_affinity): Add place 12794 argument. 12795 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus, 12796 gomp_affinity_remove_cpu, gomp_affinity_copy_place, 12797 gomp_affinity_same_place, gomp_affinity_finalize_place_list, 12798 gomp_affinity_init_level, gomp_affinity_print_place): New stubs. 12799 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST, 12800 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define. 12801 (gomp_barrier_t): Add cancellable field. 12802 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end, 12803 gomp_team_barrier_cancel): New prototypes. 12804 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. 12805 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final, 12806 gomp_team_barrier_cancelled): New inline functions. 12807 (gomp_barrier_wait_start, gomp_barrier_last_thread, 12808 gomp_team_barrier_set_task_pending, 12809 gomp_team_barrier_clear_task_pending, 12810 gomp_team_barrier_set_waiting_for_tasks, 12811 gomp_team_barrier_waiting_for_tasks, 12812 gomp_team_barrier_done): Use BAR_* defines. 12813 * barrier.c (GOMP_barrier_cancel): New function. 12814 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false, 12815 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close, 12816 omp_proc_bind_spread): New params. 12817 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device, 12818 omp_get_default_device, omp_get_num_devices, omp_get_num_teams, 12819 omp_get_team_num, omp_is_initial_device): New externals. 12820 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point): 12821 New functions. 12822 (gomp_resolve_num_threads): Adjust for thread_limit now being in 12823 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as 12824 infinity. If not nested, just return minimum of max_num_threads 12825 and icv->thread_limit_var and if thr->thread_pool, set threads_busy 12826 to the returned value. Otherwise, don't update atomically 12827 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy. 12828 (GOMP_parallel_end): Adjust for thread_limit now being in 12829 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as 12830 infinity. Adjust threads_busy in the pool rather than 12831 gomp_remaining_threads_count. Remember team->nthreads and call 12832 gomp_team_end before adjusting threads_busy, if not nested 12833 afterwards, just set it to 1 non-atomically. Add ialias. 12834 (GOMP_parallel_start): Adjust gomp_team_start caller. 12835 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid. 12836 * testsuite/libgomp.c/affinity-1.c: New test. 12837 * testsuite/libgomp.c/atomic-15.c: New test. 12838 * testsuite/libgomp.c/atomic-16.c: New test. 12839 * testsuite/libgomp.c/atomic-17.c: New test. 12840 * testsuite/libgomp.c/cancel-for-1.c: New test. 12841 * testsuite/libgomp.c/cancel-for-2.c: New test. 12842 * testsuite/libgomp.c/cancel-parallel-1.c: New test. 12843 * testsuite/libgomp.c/cancel-parallel-2.c: New test. 12844 * testsuite/libgomp.c/cancel-parallel-3.c: New test. 12845 * testsuite/libgomp.c/cancel-sections-1.c: New test. 12846 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test. 12847 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test. 12848 * testsuite/libgomp.c/depend-1.c: New test. 12849 * testsuite/libgomp.c/depend-2.c: New test. 12850 * testsuite/libgomp.c/depend-3.c: New test. 12851 * testsuite/libgomp.c/depend-4.c: New test. 12852 * testsuite/libgomp.c/for-1.c: New test. 12853 * testsuite/libgomp.c/for-1.h: New file. 12854 * testsuite/libgomp.c/for-2.c: New test. 12855 * testsuite/libgomp.c/for-2.h: New file. 12856 * testsuite/libgomp.c/for-3.c: New test. 12857 * testsuite/libgomp.c/pr58392.c: New test. 12858 * testsuite/libgomp.c/simd-1.c: New test. 12859 * testsuite/libgomp.c/simd-2.c: New test. 12860 * testsuite/libgomp.c/simd-3.c: New test. 12861 * testsuite/libgomp.c/simd-4.c: New test. 12862 * testsuite/libgomp.c/simd-5.c: New test. 12863 * testsuite/libgomp.c/simd-6.c: New test. 12864 * testsuite/libgomp.c/target-1.c: New test. 12865 * testsuite/libgomp.c/target-2.c: New test. 12866 * testsuite/libgomp.c/target-3.c: New test. 12867 * testsuite/libgomp.c/target-4.c: New test. 12868 * testsuite/libgomp.c/target-5.c: New test. 12869 * testsuite/libgomp.c/target-6.c: New test. 12870 * testsuite/libgomp.c/target-7.c: New test. 12871 * testsuite/libgomp.c/taskgroup-1.c: New test. 12872 * testsuite/libgomp.c/thread-limit-1.c: New test. 12873 * testsuite/libgomp.c/thread-limit-2.c: New test. 12874 * testsuite/libgomp.c/thread-limit-3.c: New test. 12875 * testsuite/libgomp.c/udr-1.c: New test. 12876 * testsuite/libgomp.c/udr-2.c: New test. 12877 * testsuite/libgomp.c/udr-3.c: New test. 12878 * testsuite/libgomp.c++/affinity-1.C: New test. 12879 * testsuite/libgomp.c++/atomic-10.C: New test. 12880 * testsuite/libgomp.c++/atomic-11.C: New test. 12881 * testsuite/libgomp.c++/atomic-12.C: New test. 12882 * testsuite/libgomp.c++/atomic-13.C: New test. 12883 * testsuite/libgomp.c++/atomic-14.C: New test. 12884 * testsuite/libgomp.c++/atomic-15.C: New test. 12885 * testsuite/libgomp.c++/cancel-for-1.C: New test. 12886 * testsuite/libgomp.c++/cancel-for-2.C: New test. 12887 * testsuite/libgomp.c++/cancel-parallel-1.C: New test. 12888 * testsuite/libgomp.c++/cancel-parallel-2.C: New test. 12889 * testsuite/libgomp.c++/cancel-parallel-3.C: New test. 12890 * testsuite/libgomp.c++/cancel-sections-1.C: New test. 12891 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test. 12892 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test. 12893 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test. 12894 * testsuite/libgomp.c++/cancel-test.h: New file. 12895 * testsuite/libgomp.c++/for-9.C: New test. 12896 * testsuite/libgomp.c++/for-10.C: New test. 12897 * testsuite/libgomp.c++/for-11.C: New test. 12898 * testsuite/libgomp.c++/simd-1.C: New test. 12899 * testsuite/libgomp.c++/simd-2.C: New test. 12900 * testsuite/libgomp.c++/simd-3.C: New test. 12901 * testsuite/libgomp.c++/simd-4.C: New test. 12902 * testsuite/libgomp.c++/simd-5.C: New test. 12903 * testsuite/libgomp.c++/simd-6.C: New test. 12904 * testsuite/libgomp.c++/simd-7.C: New test. 12905 * testsuite/libgomp.c++/simd-8.C: New test. 12906 * testsuite/libgomp.c++/target-1.C: New test. 12907 * testsuite/libgomp.c++/target-2.C: New test. 12908 * testsuite/libgomp.c++/target-2-aux.cc: New file. 12909 * testsuite/libgomp.c++/target-3.C: New test. 12910 * testsuite/libgomp.c++/taskgroup-1.C: New test. 12911 * testsuite/libgomp.c++/udr-1.C: New test. 12912 * testsuite/libgomp.c++/udr-2.C: New test. 12913 * testsuite/libgomp.c++/udr-3.C: New test. 12914 * testsuite/libgomp.c++/udr-4.C: New test. 12915 * testsuite/libgomp.c++/udr-5.C: New test. 12916 * testsuite/libgomp.c++/udr-6.C: New test. 12917 * testsuite/libgomp.c++/udr-7.C: New test. 12918 * testsuite/libgomp.c++/udr-8.C: New test. 12919 * testsuite/libgomp.c++/udr-9.C: New test. 12920 129212013-09-20 Jakub Jelinek <jakub@redhat.com> 12922 12923 PR testsuite/57605 12924 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to 12925 ALWAYS_CFLAGS. 12926 129272013-09-20 Alan Modra <amodra@gmail.com> 12928 12929 * configure: Regenerate. 12930 129312013-09-19 Jakub Jelinek <jakub@redhat.com> 12932 12933 * testsuite/libgomp.c/sections-2.c: New test. 12934 129352013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com> 12936 12937 * testsuite/libgomp.fortran/strassen.f90: 12938 Add dg-skip-if aarch64_tiny. 12939 129402013-06-20 Iain Sandoe <iain@codesourcery.com> 12941 Cesar Philippidis <cesar@codesourcery.com> 12942 12943 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order. 12944 Do not load_gcc_lib gcc-dg.exp and add a comment as to why. 12945 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp. 12946 * testsuite/libgomp.fortran/fortran.exp: Likewise. 12947 * testsuite/libgomp.graphite/graphite.exp: Likewise. 12948 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp. 12949 Use dg-runtest rather than gfortran-dg-runtest. 12950 129512013-06-10 Thomas Schwinge <thomas@codesourcery.com> 12952 12953 * testsuite/libgomp.c/icv-2.c: Extend current handling of 12954 Linux-based x86 systems to cover all GNU systems. 12955 * testsuite/libgomp.c/lock-3.c: Likewise. 12956 * testsuite/libgomp.c/pr48591.c: Likewise. 12957 129582013-06-06 Thomas Schwinge <thomas@codesourcery.com> 12959 12960 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for 12961 GNU/Hurd, as done for Linux-based systems. 12962 12963 * config/posix/ptrlock.h: Fix comment. 12964 129652013-05-27 Tobias Burnus <burnus@net-b.de> 12966 12967 PR fortran/57423 12968 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested, 12969 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock, 12970 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock, 12971 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock, 12972 omp_destroy_nest_lock): Correct arguments to match the one in 12973 the OpenMP spec. 12974 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock 12975 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock, 12976 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested, 12977 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto. 12978 129792013-05-16 Jakub Jelinek <jakub@redhat.com> 12980 12981 * testsuite/libgomp.c/loop-13.c: New test. 12982 * testsuite/libgomp.c/loop-14.c: New test. 12983 * testsuite/libgomp.c/loop-15.c: New test. 12984 * testsuite/libgomp.c++/loop-13.C: New test. 12985 * testsuite/libgomp.c++/loop-14.C: New test. 12986 * testsuite/libgomp.c++/loop-15.C: New test. 12987 129882013-02-06 Jakub Jelinek <jakub@redhat.com> 12989 12990 PR middle-end/56217 12991 * testsuite/libgomp.c++/pr56217.C: New test. 12992 129932013-02-01 Alan Modra <amodra@gmail.com> 12994 12995 * task.c (GOMP_task, GOMP_taskwait): Comment. 12996 129972013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org> 12998 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch> 12999 13000 PR libgomp/55561 13001 * config/linux/wait.h (do_spin): Use atomic load for addr. 13002 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic 13003 for intptr and ptrlock. 13004 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load 13005 for ptrlock. 13006 130072013-01-22 Alan Modra <amodra@gmail.com> 13008 13009 PR libgomp/51376 13010 PR libgomp/56073 13011 * task.c (GOMP_task): Revert 2011-12-09 change. 13012 (GOMP_taskwait): Likewise. Instead use atomic load with acquire 13013 barrier to read task->children.. 13014 (gomp_barrier_handle_tasks): ..and matching atomic store with 13015 release barrier here when setting parent->children to NULL. 13016 130172013-01-16 Jakub Jelinek <jakub@redhat.com> 13018 Tobias Burnus <burnus@net-b.de> 13019 13020 PR driver/55884 13021 * testsuite/libgomp.fortran/fortran.exp: Use 13022 -fintrinsic-modules-path= instead of 13023 -fintrinsic-modules-path. 13024 130252013-01-14 Richard Sandiford <rdsandiford@googlemail.com> 13026 13027 Update copyright years. 13028 130292012-12-19 Tobias Burnus <burnus@net-b.de> 13030 13031 * testsuite/libgomp.fortran/fortran.exp: Set 13032 -fintrinsic-modules-path. 13033 130342012-12-19 Tobias Burnus <burnus@net-b.de> 13035 13036 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved 13037 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90. 13038 130392012-11-21 Jakub Jelinek <jakub@redhat.com> 13040 13041 PR libgomp/55411 13042 * team.c (gomp_free_thread): Decrease gomp_managed_threads 13043 if pool had any threads_used. 13044 130452012-11-07 Jack Howarth <howarth@bromo.med.uc.edu> 13046 13047 * testsuite/libgomp.c++/pr24455.C: Use 13048 -Wl,-undefined,dynamic_lookup on darwin. 13049 130502012-11-07 David Edelsohn <dje.gcc@gmail.com> 13051 13052 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX. 13053 130542012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr> 13055 13056 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops. 13057 130582012-10-23 Ian Bolton <ian.bolton@arm.com> 13059 Jim MacArthur <jim.macarthur@arm.com> 13060 Marcus Shawcroft <marcus.shawcroft@arm.com> 13061 Nigel Stephens <nigel.stephens@arm.com> 13062 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> 13063 Richard Earnshaw <rearnsha@arm.com> 13064 Sofiane Naci <sofiane.naci@arm.com> 13065 Stephen Thomas <stephen.thomas@arm.com> 13066 Tejas Belagod <tejas.belagod@arm.com> 13067 Yufeng Zhang <yufeng.zhang@arm.com> 13068 13069 * configure.tgt: Add AArch64. 13070 130712012-10-04 Jason Merrill <jason@redhat.com> 13072 13073 * testsuite/libgomp.c++/tls-init1.C: New. 13074 130752012-09-14 David Edelsohn <dje.gcc@gmail.com> 13076 13077 * configure: Regenerated. 13078 130792012-08-29 Chung-Lin Tang <cltang@codesourcery.com> 13080 13081 * config/linux/mips/futex.h (sys_futex0): Change to static 13082 function with noinline, nomips16 attributes under MIPS16. Adjust 13083 asm statement to place 'li v0,SYS_futex' immediately before 13084 syscall insn. 13085 130862012-07-04 Sandra Loosemore <sandra@codesourcery.com> 13087 13088 * libgomp.texi (Library Index): Renamed from "Index" to prevent 13089 conflict with index.html on case-insensitive file systems. 13090 130912012-07-03 Uros Bizjak <ubizjak@gmail.com> 13092 13093 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause. 13094 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto. 13095 130962012-07-02 Richard Guenther <rguenther@suse.de> 13097 Michael Matz <matz@suse.de> 13098 Tobias Grosser <tobias@grosser.es> 13099 Sebastian Pop <sebpop@gmail.com> 13100 13101 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust. 13102 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise. 13103 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise. 13104 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise. 13105 131062012-06-28 Andreas Schwab <schwab@linux-m68k.org> 13107 13108 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi. 13109 131102012-06-22 Richard Guenther <rguenther@suse.de> 13111 13112 Merge from graphite branch 13113 2012-01-13 Tobias Grosser <tobias@grosser.es> 13114 13115 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust. 13116 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise. 13117 131182012-06-07 Jakub Jelinek <jakub@redhat.com> 13119 13120 PR middle-end/53580 13121 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier, 13122 use GOMP_barrier () call instead. 13123 * testsuite/libgomp.c/pr26943-3.c: Likewise. 13124 * testsuite/libgomp.c/pr26943-4.c: Likewise. 13125 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier, 13126 call GOMP_barrier instead. 13127 * testsuite/libgomp.fortran/vla5.f90: Likewise. 13128 131292012-06-06 Jakub Jelinek <jakub@redhat.com> 13130 13131 PR libgomp/52993 13132 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last 13133 argument to memset call. 13134 131352012-05-16 H.J. Lu <hongjiu.lu@intel.com> 13136 13137 * configure: Regenerated. 13138 131392012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org> 13140 13141 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret. 13142 131432012-03-31 H.J. Lu <hongjiu.lu@intel.com> 13144 13145 PR bootstrap/52812 13146 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64. 13147 131482012-03-22 Jakub Jelinek <jakub@redhat.com> 13149 13150 PR middle-end/52547 13151 * testsuite/libgomp.c/pr52547.c: New test. 13152 131532012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> 13154 13155 * testsuite/lib/libgomp.exp: load fortran-modules.exp 13156 131572012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 13158 13159 * configure.tgt (mips-sgi-irix6*): Remove. 13160 131612012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 13162 13163 * configure.tgt (alpha*-dec-osf*): Remove. 13164 13165 * config/osf/sem.h: Remove. 13166 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally. 13167 131682012-02-29 Eric Botcazou <ebotcazou@adacore.com> 13169 13170 * config/linux/sparc/futex.h (cpu_relax): Read from CC register. 13171 131722012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 13173 13174 PR libstdc++/52188 13175 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming. 13176 Remove ENABLE_SYMVERS_SOL2. 13177 * configure: Regenerate. 13178 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable. 13179 (PREPROCESS): New variable. 13180 (libgomp.ver): New target. 13181 [LIBGOMP_BUILD_VERSIONED_SHLIB && 13182 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove 13183 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling. 13184 Use libgomp.ver. 13185 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun. 13186 * Makefile.in: Regenerate. 13187 131882012-02-14 Walter Lee <walt@tilera.com> 13189 13190 * configure.tgt: Handle tilegx and tilepro. 13191 * config/linux/tile/futex.h: New file. 13192 131932012-02-08 Richard Guenther <rguenther@suse.de> 13194 13195 PR tree-optimization/46886 13196 * testsuite/libgomp.c/pr46886.c: New testcase. 13197 131982012-01-25 Matthias Klose <doko@ubuntu.com> 13199 13200 * config/linux/arm: Remove empty directory. 13201 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*. 13202 132032011-12-09 Alan Modra <amodra@gmail.com> 13204 13205 PR libgomp/51376 13206 * task.c (GOMP_taskwait): Don't access task->children outside of 13207 task_lock mutex region. 13208 (GOMP_task): Likewise. 13209 132102011-12-06 Jakub Jelinek <jakub@redhat.com> 13211 13212 PR libgomp/51132 13213 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays 13214 to file scope. 13215 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise. 13216 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise. 13217 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise. 13218 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise. 13219 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise. 13220 132212011-12-02 Alan Modra <amodra@gmail.com> 13222 13223 * config/linux/affinity.c: Use atomic rather than sync builtin. 13224 * config/linux/lock.c: Likewise. 13225 * config/linux/ptrlock.h: Likewise. 13226 * config/linux/ptrlock.c: Likewise. 13227 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here.. 13228 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here. 13229 * config/linux/futex.h (atomic_write_barrier): Delete unused function. 13230 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise. 13231 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise. 13232 * config/linux/mips/futex.h (atomic_write_barrier): Likewise. 13233 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise. 13234 * config/linux/s390/futex.h (atomic_write_barrier): Likewise. 13235 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise. 13236 * config/linux/x86/futex.h (atomic_write_barrier): Likewise. 13237 132382011-11-30 Alan Modra <amodra@gmail.com> 13239 13240 PR libgomp/51298 13241 * config/linux/bar.h: Use atomic rather than sync builtins. 13242 * config/linux/bar.c: Likewise. Add missing acquire 13243 synchronisation on generation field. 13244 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not 13245 double unlock. 13246 132472011-11-30 Alan Modra <amodra@gmail.com> 13248 13249 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence. 13250 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence. 13251 * config/linux/mutex.h: Use atomic rather than sync builtins. 13252 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state. 13253 * config/linux/omp-lock.h: Comment fix. 13254 * config/linux/arm/mutex.h: Delete. 13255 * config/linux/powerpc/mutex.h: Delete. 13256 * config/linux/ia64/mutex.h: Delete. 13257 * config/linux/mips/mutex.h: Delete. 13258 132592011-11-30 Alan Modra <amodra@gmail.com> 13260 13261 PR libgomp/51249 13262 * config/linux/sem.h: Rewrite. 13263 * config/linux/sem.c: Rewrite. 13264 132652011-11-28 Richard Henderson <rth@redhat.com> 13266 13267 * libgomp.h (enum memmodel): New. 13268 132692011-11-21 Andreas Tobler <andreast@fgznet.ch> 13270 13271 * configure: Regenerate. 13272 132732011-10-10 Matthias Klose <doko@ubuntu.com> 13274 13275 * config/posix95: Remove empty directory. 13276 132772011-08-26 Jakub Jelinek <jakub@redhat.com> 13278 13279 * testsuite/libgomp.fortran/threadprivate4.f90: New test. 13280 132812011-08-19 Jakub Jelinek <jakub@redhat.com> 13282 13283 PR fortran/49792 13284 * testsuite/libgomp.fortran/pr49792-1.f90: New test. 13285 * testsuite/libgomp.fortran/pr49792-2.f90: New test. 13286 132872011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 13288 13289 * config/posix95/lock.c, posix95/omp-lock.h: Remove. 13290 132912011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 13292 13293 PR libgomp/49965 13294 * testsuite/libgomp.c++/task-8.C: Replaced err by errval. 13295 132962011-08-03 Uros Bizjak <ubizjak@gmail.com> 13297 13298 * config/linux/proc.h: New. 13299 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>. 13300 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static. 13301 (gomp_init_num_threads): Update call to cpuset_popcount. 13302 (get_num_procs): Ditto. 13303 * config/linux/affinity.c (gomp_init_affinity): Call 13304 gomp_cpuset_popcount. 13305 133062011-08-02 Jakub Jelinek <jakub@redhat.com> 13307 13308 PR fortran/42041 13309 PR fortran/46752 13310 * omp.h.in (omp_in_final): New prototype. 13311 * omp_lib.f90.in (omp_in_final): New interface. 13312 (omp_integer_kind, omp_logical_kind): Remove 13313 and replace all its uses in the module with 4. 13314 (openmp_version): Change to 201107. 13315 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic, 13316 omp_sched_guided, omp_sched_auto): Use omp_sched_kind 13317 kind for the parameters. 13318 (omp_in_final): New external. 13319 (openmp_version): Change to 201107. 13320 * task.c (omp_in_final): New function. 13321 (gomp_init_task): Initialize final_task. 13322 (GOMP_task): Remove unused attribute from flags. Handle final 13323 tasks. 13324 (GOMP_taskyield): New function. 13325 (omp_in_final): Return true if if (false) or final (true) task 13326 or descendant of final (true). 13327 * fortran.c (omp_in_final_): New function. 13328 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_. 13329 (GOMP_3.0): Export GOMP_taskyield. 13330 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New 13331 variables. 13332 (parse_unsigned_long_list): New function. 13333 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean 13334 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity 13335 even if parse_affinity returned false. 13336 * config/linux/affinity.c (gomp_init_affinity): Handle 13337 gomp_cpu_affinity_len == 0. 13338 * libgomp_g.h (GOMP_taskyield): New prototype. 13339 * libgomp.h (struct gomp_task): Add final_task field. 13340 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs. 13341 * team.c (gomp_team_start): Override new task's nthreads_var icv 13342 if list form OMP_NUM_THREADS has been used and it has value for 13343 the new nesting level. 13344 13345 * testsuite/libgomp.c/atomic-11.c: New test. 13346 * testsuite/libgomp.c/atomic-12.c: New test. 13347 * testsuite/libgomp.c/atomic-13.c: New test. 13348 * testsuite/libgomp.c/atomic-14.c: New test. 13349 * testsuite/libgomp.c/reduction-6.c: New test. 13350 * testsuite/libgomp.c/task-5.c: New test. 13351 * testsuite/libgomp.c++/atomic-2.C: New test. 13352 * testsuite/libgomp.c++/atomic-3.C: New test. 13353 * testsuite/libgomp.c++/atomic-4.C: New test. 13354 * testsuite/libgomp.c++/atomic-5.C: New test. 13355 * testsuite/libgomp.c++/atomic-6.C: New test. 13356 * testsuite/libgomp.c++/atomic-7.C: New test. 13357 * testsuite/libgomp.c++/atomic-8.C: New test. 13358 * testsuite/libgomp.c++/atomic-9.C: New test. 13359 * testsuite/libgomp.c++/task-8.C: New test. 13360 * testsuite/libgomp.c++/reduction-4.C: New test. 13361 * testsuite/libgomp.fortran/allocatable7.f90: New test. 13362 * testsuite/libgomp.fortran/allocatable8.f90: New test. 13363 * testsuite/libgomp.fortran/crayptr3.f90: New test. 13364 * testsuite/libgomp.fortran/omp_atomic3.f90: New test. 13365 * testsuite/libgomp.fortran/omp_atomic4.f90: New test. 13366 * testsuite/libgomp.fortran/pointer1.f90: New test. 13367 * testsuite/libgomp.fortran/pointer2.f90: New test. 13368 * testsuite/libgomp.fortran/task4.f90: New test. 13369 133702011-08-02 Tobias Burnus <burnus@net-b.de> 13371 13372 * libgomp.texi: Update OpenMP spec references to 3.1. 13373 (omp_in_final,OMP_PROC_BIND): New sections. 13374 (OMP_NUM_THREADS): Document that the value can be now a list. 13375 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref. 13376 133772011-08-02 H.J. Lu <hongjiu.lu@intel.com> 13378 13379 * config/linux/x86/futex.h: Check __x86_64__ instead of 13380 __LP64__. 13381 133822011-07-29 Jakub Jelinek <jakub@redhat.com> 13383 13384 PR middle-end/49897 13385 PR middle-end/49898 13386 * testsuite/libgomp.c/pr49897-1.c: New test. 13387 * testsuite/libgomp.c/pr49897-2.c: New test. 13388 * testsuite/libgomp.c/pr49898-1.c: New test. 13389 * testsuite/libgomp.c/pr49898-2.c: New test. 13390 133912011-07-28 H.J. Lu <hongjiu.lu@intel.com> 13392 13393 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486 13394 for ia32 instead of ilp32. 13395 13396 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32. 13397 * testsuite/libgomp.c/atomic-6.c: Likewise. 13398 133992011-07-23 Sebastian Pop <sebastian.pop@amd.com> 13400 13401 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail. 13402 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern. 13403 134042011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 13405 13406 PR libgomp/45351 13407 * config/osf/sem.h: New file. 13408 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path. 13409 134102011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 13411 13412 PR target/49541 13413 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to 13414 ldflags. 13415 134162011-07-15 Jakub Jelinek <jakub@redhat.com> 13417 13418 * config/linux/wait.h (do_spin): New inline, largely copied 13419 from do_wait, just don't do futex_wait here, instead return true if 13420 it should be done. 13421 (do_wait): Implement using do_spin. 13422 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument 13423 to prototype. 13424 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of 13425 __sync_bool_compare_and_swap, pass the oldval to 13426 gomp_mutex_lock_slow. 13427 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument. 13428 If all mutex contenders are just spinning and not sleeping, don't 13429 change state to 2 unnecessarily. Optimize the loop when state has 13430 already become 2 to use just one atomic operation per loop instead 13431 of two. 13432 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument 13433 to prototype. 13434 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of 13435 __sync_bool_compare_and_swap, pass the oldval to 13436 gomp_mutex_lock_slow. 13437 134382011-06-22 Jakub Jelinek <jakub@redhat.com> 13439 13440 PR libgomp/49490 13441 * iter.c (gomp_iter_static_next): For chunk size 0 13442 only use n ceil/ nthreads size for the first 13443 n % nthreads threads in the team instead of 13444 all threads except for the last few ones which 13445 get less work or none at all. 13446 * iter_ull.c (gomp_iter_ull_static_next): Likewise. 13447 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have 13448 chunk argument, set run_sched_modifier to 0 for static 13449 resp. 1 for other kinds. If chunk argument is 0 13450 and not static, set value to 1. 13451 134522011-05-19 Jakub Jelinek <jakub@redhat.com> 13453 13454 PR c++/49043 13455 * testsuite/libgomp.c++/pr49043.C: New test. 13456 13457 PR c++/48869 13458 * testsuite/libgomp.c++/pr48869.C: New test. 13459 134602011-05-06 Jakub Jelinek <jakub@redhat.com> 13461 13462 PR fortran/48894 13463 * fortran.c: Include limits.h. 13464 (TO_INT): Define. 13465 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of 13466 *set. 13467 (omp_set_num_threads_8_, omp_set_schedule_8_, 13468 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_, 13469 omp_get_team_size_8_): Use TO_INT macro. 13470 * testsuite/libgomp.fortran/pr48894.f90: New test. 13471 134722011-04-13 Jakub Jelinek <jakub@redhat.com> 13473 13474 PR middle-end/48591 13475 * testsuite/libgomp.c/pr48591.c: New test. 13476 134772011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 13478 13479 PR bootstrap/48135 13480 * acinclude.m4 (enable_symvers): Handle --disable-symvers. 13481 * configure: Regenerate. 13482 134832011-02-27 Jakub Jelinek <jakub@redhat.com> 13484 13485 PR fortran/47886 13486 * testsuite/libgomp.fortran/task3.f90: New test. 13487 134882011-02-24 Tobias Burnus <burnus@net-b.de> 13489 13490 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE. 13491 134922011-02-23 Jakub Jelinek <jakub@redhat.com> 13493 13494 PR libgomp/47854 13495 * libgomp.texi (omp_get_wtime): Don't say time in the past 13496 must be Unix Epoch. 13497 134982011-02-18 Jakub Jelinek <jakub@redhat.com> 13499 13500 PR libgomp/47804 13501 * testsuite/libgomp.fortran/fortran.exp: Check for both 13502 libquadmath.a and libquadmath.${shlib_ext}. If neither exists, 13503 but $blddir != "", still append ${blddir}/${lang_library_path} 13504 to ld_library_path. 13505 135062011-02-16 Tobias Burnus <burnus@net-b.de> 13507 13508 PR libgomp/47758 13509 * testsuite/libgomp.fortran/fortran.exp: Check for the existence 13510 of libquadmath.a before adding its libpath to ldflags. 13511 135122011-02-14 Jakub Jelinek <jakub@redhat.com> 13513 13514 PR libgomp/47731 13515 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument 13516 to FUTEX_WAIT futex syscall. 13517 * config/linux/wait.h: Include <futex.h> instead of "futex.h". 13518 135192011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 13520 13521 * configure: Regenerate. 13522 135232011-01-20 Benjamin Kosnik <bkoz@redhat.com> 13524 13525 PR libstdc++/36104 13526 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants. 13527 135282011-01-16 Gerald Pfeifer 13529 13530 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS. 13531 135322010-12-14 Jakub Jelinek <jakub@redhat.com> 13533 13534 PR fortran/46874 13535 * libgomp.fortran/allocatable6.f90: New test. 13536 135372010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 13538 13539 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no. 13540 * configure: Regenerate. 13541 135422010-12-06 Dave Korn <dave.korn.cygwin@gmail.com> 13543 13544 PR target/40125 13545 PR lto/46695 13546 * configure.ac: Invoke ACX_LT_HOST_FLAGS. 13547 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags. 13548 * aclocal.m4: Regenerate. 13549 * configure: Regenerate. 13550 * Makefile.in: Regenerate. 13551 * testsuite/Makefile.in: Regenerate. 13552 135532010-12-02 Jakub Jelinek <jakub@redhat.com> 13554 13555 PR fortran/46753 13556 * libgomp.fortran/pr46753.f90: New test. 13557 13558 PR libgomp/43706 13559 * env.c (initialize_env): Default to spin count 300000 13560 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT 13561 is specified. 13562 13563 PR libgomp/45240 13564 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock 13565 at the end if sync builtins aren't supported. 13566 135672010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 13568 13569 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS. 13570 135712010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 13572 13573 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0. 13574 135752010-11-24 Iain Sandoe <iains@gcc.gnu.org> 13576 13577 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath. 13578 135792010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 13580 Tobias Burnus <burnus@net-b.de> 13581 13582 PR fortran/32049 13583 * configure.ac: 13584 * configure: Regenerate. 13585 135862010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com> 13587 13588 * config/linux/futex.h: New. 13589 * config/linux/arm/mutex.h: New. 13590 * configure.tgt (arm*-*-linux*): Add config path. 13591 135922010-09-30 Sebastian Pop <sebastian.pop@amd.com> 13593 13594 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust. 13595 135962010-09-23 Tobias Burnus <burnus@net-b.de> 13597 13598 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic): 13599 Change Fortran datatype to LOGICAL. 13600 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock, 13601 omp_unset_nested_lock): Use intent(inout) instead of intent(out). 13602 136032010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 13604 13605 * configure: Regenerate. 13606 136072010-07-26 Jakub Jelinek <jakub@redhat.com> 13608 13609 * libgomp.texi: Add function keyword to a couple of Fortran 13610 interfaces, use integer instead of int for Fortran. 13611 136122010-07-26 Aldy Hernandez <aldyh@redhat.com> 13613 13614 * libgomp.texi: Fix spelling and pasto problems throughout. 13615 Adjust prototypes to match code. 13616 136172010-07-24 Tobias Burnus <burnus@net-b.de> 13618 13619 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to 13620 silence -fwhole-file warning. 13621 136222010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 13623 13624 * configure.tgt (*-*-solaris2.[56]*): Removed. 13625 136262010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 13627 13628 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style. 13629 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU, 13630 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals. 13631 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless 13632 targetting solaris2*. 13633 * configure: Regenerate. 13634 * config.h.in: Regenerate. 13635 13636 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect 13637 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU. 13638 Add libgomp_version_dep. 13639 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol 13640 versioning. 13641 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep. 13642 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep). 13643 * Makefile.in: Regenerate. 13644 13645 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless 13646 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT. 13647 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0 13648 to common block, protected by 13649 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT. 13650 136512010-06-10 Gerald Pfeifer <gerald@pfeifer.com> 13652 13653 * libgomp.texi: Move to GFDL version 1.3. Update copyright years. 13654 136552010-06-09 Iain Sandoe <iains@gcc.gnu.org> 13656 13657 PR bootstrap/43170 13658 * configure: Regenerate. 13659 136602010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 13661 13662 PR other/43620 13663 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist. 13664 * configure: Regenerate. 13665 * Makefile.in: Regenerate. 13666 * testsuite/Makefile.in: Regenerate. 13667 136682010-04-26 Jakub Jelinek <jakub@redhat.com> 13669 13670 PR c/43893 13671 * testsuite/libgomp.c/pr43893.c: New test. 13672 * testsuite/libgomp.c++/pr43893.C: New test. 13673 136742010-04-21 Jakub Jelinek <jakub@redhat.com> 13675 13676 PR middle-end/43570 13677 * testsuite/libgomp.fortran/vla8.f90: New test. 13678 136792010-04-20 Jakub Jelinek <jakub@redhat.com> 13680 13681 PR libgomp/43706 13682 * config/linux/affinity.c (gomp_init_affinity): Decrease 13683 gomp_available_cpus if affinity mask confines the process to fewer 13684 CPUs. 13685 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is 13686 non-NULL, just return gomp_available_cpus. 13687 13688 PR libgomp/43569 13689 * sections.c (gomp_sections_init): Initialize ws->mode. 13690 136912010-04-14 Uros Bizjak <ubizjak@gmail.com> 13692 13693 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but 13694 not unused bar variable. 13695 * configure: Regenerate. 13696 136972010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 13698 13699 * Makefile.in: Regenerate. 13700 * aclocal.m4: Regenerate. 13701 * testsuite/Makefile.in: Regenerate. 13702 137032010-03-22 Jakub Jelinek <jakub@redhat.com> 13704 13705 PR libgomp/42942 13706 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument. 13707 (initialize_env): Adjust callers. 13708 (omp_set_max_active_levels): Set gomp_max_active_levels_var even 13709 when the argument is 0. 13710 13711 * testsuite/libgomp.c/pr42942.c: New test. 13712 137132010-03-08 Tobias Grosser <grosser@fim.uni-passau.de> 13714 13715 PR middle-end/42644 13716 PR middle-end/42130 13717 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust. 13718 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust. 13719 137202010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 13721 13722 * testsuite/libgomp.c++/task-1.C: Renamed err to e. 13723 * testsuite/libgomp.c++/task-6.C: Likewise. 13724 137252010-01-28 Steve Ellcey <sje@cup.hp.com> 13726 13727 * configure.tgt (*-*-hpux*): Add -frandom-seed flag. 13728 137292010-01-26 Paolo Bonzini <bonzini@gnu.org> 13730 13731 * configure.ac: Test for executability of _the first word_ of GFORTRAN. 13732 * configure: Regenerate. 13733 137342010-01-26 Jakub Jelinek <jakub@redhat.com> 13735 13736 PR fortran/42866 13737 * testsuite/libgomp.fortran/allocatable5.f90: New test. 13738 137392010-01-20 Paolo Bonzini <bonzini@gnu.org> 13740 13741 * configure.ac: Test for executability of GFORTRAN. 13742 * configure: Regenerate. 13743 137442010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 13745 13746 * configure: Regenerate. 13747 137482010-01-04 H.J. Lu <hongjiu.lu@intel.com> 13749 13750 PR libgomp/42602 13751 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic. 13752 137532010-01-03 Richard Guenther <rguenther@suse.de> 13754 13755 * testsuite/libgomp.fortran/recursion1.f90: New testcase. 13756 137572009-12-23 Sebastian Pop <sebpop@gmail.com> 13758 13759 * testsuite/libgomp.graphite/pr4118.c: New. 13760 137612009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk> 13762 13763 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage 13764 for darwin, protect the test with require-effective-target tls_runtime. 13765 * testsuite/libgomp.fortran/pr32550.f90: Ditto. 13766 137672009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk> 13768 13769 PR target/41605 13770 * testsuite/lib/libgomp.exp: Provide -B options to allow for 13771 link spec %s substitutions for static libraries. 13772 137732009-12-18 Jack Howarth <howarth@bromo.med.uc.edu> 13774 13775 PR testsuite/42135 13776 * libgomp.graphite/force-parallel-2.c: Reduce array size. 13777 137782009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 13779 13780 * Makefile.in: Regenerate. 13781 * configure: Regenerate. 13782 * testsuite/Makefile.in: Regenerate. 13783 137842009-11-30 Dave Korn <dave.korn.cygwin@gmail.com> 13785 13786 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent 13787 settings for LC_ALL and LANG. 13788 137892009-11-25 Jakub Jelinek <jakub@redhat.com> 13790 13791 PR fortran/42162 13792 * testsuite/libgomp.fortran/pr42162.f90: New test. 13793 137942009-11-13 Jakub Jelinek <jakub@redhat.com> 13795 13796 PR middle-end/42029 13797 * testsuite/libgomp.c/pr42029.c: New test. 13798 137992009-10-26 Jakub Jelinek <jakub@redhat.com> 13800 13801 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many 13802 *s. Accept ld version without text in ()s. 13803 * configure: Regenerated. 13804 138052009-10-22 Razya Ladelsky <razya@il.ibm.com> 13806 13807 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan. 13808 138092009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 13810 13811 PR libgomp/41418 13812 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no" 13813 or a hyphen (happens with fortran language disabled). 13814 * configure: Regenerate. 13815 138162009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 13817 13818 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head', 13819 use sed script portable to Solaris /bin/sed for extracting ld 13820 version. 13821 * configure: Regenerate. 13822 138232009-09-17 Alexander Monakov <amonakov@ispras.ru> 13824 13825 * testsuite/libgomp.graphite/bounds.c: New test. 13826 138272009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 13828 13829 * Makefile.am (libgomp_la_LINK): New. 13830 * Makefile.in: Regenerate. 13831 138322009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 13833 13834 * configure.ac (AC_PREREQ): Bump to 2.64. 13835 138362009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 13837 13838 * Makefile.am (install-html, install-pdf): Remove. 13839 * Makefile.in: Regenerate. 13840 13841 * Makefile.in: Regenerate. 13842 * aclocal.m4: Regenerate. 13843 * config.h.in: Regenerate. 13844 * configure: Regenerate. 13845 * testsuite/Makefile.in: Regenerate. 13846 138472009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 13848 13849 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS). 13850 * Makefile.in: Regenerate. 13851 138522009-08-20 Dave Korn <dave.korn.cygwin@gmail.com> 13853 13854 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag. 13855 * Makefile.in: Regenerate. 13856 138572009-08-19 Tobias Burnus <burnus@net-b.de> 13858 13859 PR fortran/41102 13860 omp_lib.h.in: Fix -std=f95 errors. 13861 138622009-08-14 David Edelsohn <edelsohn@gnu.org> 13863 13864 * testsuite/libgomp.graphite: Move from gcc.dg/graphite. 13865 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete. 13866 * testsuite/libgomp.graphite/graphite.exp: New. 13867 138682009-08-05 Andreas Tobler <a.tobler@schweiz.org> 13869 13870 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared 13871 only build. 13872 138732009-08-04 David Daney <ddaney@caviumnetworks.com> 13874 13875 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about 13876 needed memory barrier semantics. 13877 * config/linux/mips/mutex.h: New file. 13878 138792009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 13880 13881 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force. 13882 138832009-07-16 Joseph Myers <joseph@codesourcery.com> 13884 13885 * configure: Regenerate. 13886 138872009-07-11 Richard Sandiford <rdsandiford@googlemail.com> 13888 13889 PR testsuite/40699 13890 PR testsuite/40707 13891 PR testsuite/40709 13892 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits. 13893 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp, 13894 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits. 13895 138962009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com> 13897 13898 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS 13899 options when choosing a multilib. 13900 139012009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com> 13902 13903 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to 13904 ld_library_path. Use add_path. Add just find_libgcc_s to 13905 ld_library_path, not every libgcc multilib directory. 13906 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call 13907 gcc-set-multilib-library-path; rely on $always_ld_library_path instead. 13908 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise. 13909 Use add_path. 13910 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise. 13911 139122009-06-09 Nathan Froyd <froydnj@codesourcery.com> 13913 13914 * Makefile.am (LTLDFLAGS): Define. 13915 (LINK): Define. 13916 * Makefile.in: Regenerate. 13917 139182009-05-27 Janne Blomqvist <jb@gcc.gnu.org> 13919 13920 PR fortran/39718 13921 * testsuite/libgomp.fortran/fortran.exp: Don't link with 13922 libgfortranbegin, check existence of libgfortran.a instead of 13923 libgfortranbegin.a. 13924 139252009-05-20 Jakub Jelinek <jakub@redhat.com> 13926 13927 PR libgomp/40174 13928 * team.c (gomp_thread_start): Destroy thr->release semaphore. 13929 (gomp_free_pool_helper): Likewise. 13930 139312009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com> 13932 Jakub Jelinek <jakub@redhat.com> 13933 13934 PR fortran/35423 13935 * testsuite/libgomp.fortran/workshare2.f90: New test. 13936 139372009-04-09 Nick Clifton <nickc@redhat.com> 13938 13939 * iter.c: Change copyright header to refer to version 3 of the 13940 GNU General Public License with version 3.1 of the GCC Runtime 13941 Library Exception and to point readers at the COPYING3 and 13942 COPYING3.RUNTIME files and the FSF's license web page. 13943 * alloc.c: Likewise. 13944 * barrier.c: Likewise. 13945 * config/bsd/proc.c: Likewise. 13946 * config/linux/affinity.c: Likewise. 13947 * config/linux/alpha/futex.h: Likewise. 13948 * config/linux/bar.c: Likewise. 13949 * config/linux/bar.h: Likewise. 13950 * config/linux/ia64/futex.h: Likewise. 13951 * config/linux/ia64/mutex.h: Likewise. 13952 * config/linux/lock.c: Likewise. 13953 * config/linux/mips/futex.h: Likewise. 13954 * config/linux/mutex.c: Likewise. 13955 * config/linux/mutex.h: Likewise. 13956 * config/linux/powerpc/futex.h: Likewise. 13957 * config/linux/proc.c: Likewise. 13958 * config/linux/ptrlock.c: Likewise. 13959 * config/linux/ptrlock.h: Likewise. 13960 * config/linux/s390/futex.h: Likewise. 13961 * config/linux/sem.c: Likewise. 13962 * config/linux/sem.h: Likewise. 13963 * config/linux/sparc/futex.h: Likewise. 13964 * config/linux/wait.h: Likewise. 13965 * config/linux/x86/futex.h: Likewise. 13966 * config/mingw32/proc.c: Likewise. 13967 * config/mingw32/time.c: Likewise. 13968 * config/posix/affinity.c: Likewise. 13969 * config/posix/bar.c: Likewise. 13970 * config/posix/bar.h: Likewise. 13971 * config/posix/lock.c: Likewise. 13972 * config/posix/mutex.h: Likewise. 13973 * config/posix/proc.c: Likewise. 13974 * config/posix/ptrlock.h: Likewise. 13975 * config/posix/sem.c: Likewise. 13976 * config/posix/sem.h: Likewise. 13977 * config/posix/time.c: Likewise. 13978 * config/posix95/lock.c: Likewise. 13979 * critical.c: Likewise. 13980 * env.c: Likewise. 13981 * error.c: Likewise. 13982 * fortran.c: Likewise. 13983 * iter_ull.c: Likewise. 13984 * libgomp.h: Likewise. 13985 * libgomp_f.h.in: Likewise. 13986 * libgomp_g.h: Likewise. 13987 * loop.c: Likewise. 13988 * loop_ull.c: Likewise. 13989 * omp.h.in: Likewise. 13990 * omp_lib.f90.in: Likewise. 13991 * omp_lib.h.in: Likewise. 13992 * ordered.c: Likewise. 13993 * parallel.c: Likewise. 13994 * sections.c: Likewise. 13995 * single.c: Likewise. 13996 * task.c: Likewise. 13997 * team.c: Likewise. 13998 * work.c: Likewise. 13999 140002009-04-09 Jakub Jelinek <jakub@redhat.com> 14001 14002 * testsuite/config/default.exp: Change copyright header to refer to 14003 version 3 of the GNU General Public License and to point readers 14004 at the COPYING3 file and the FSF's license web page. 14005 140062009-04-08 Jakub Jelinek <jakub@redhat.com> 14007 14008 PR middle-end/39573 14009 * libgomp.c++/pr39573.C: New test. 14010 140112009-04-01 Jakub Jelinek <jakub@redhat.com> 14012 14013 PR other/39591 14014 * testsuite/libgomp.c/pr39591-1.c: New test. 14015 * testsuite/libgomp.c/pr39591-2.c: New test. 14016 * testsuite/libgomp.c/pr39591-3.c: New test. 14017 140182009-03-25 Uros Bizjak <ubizjak@gmail.com> 14019 14020 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage. 14021 * testsuite/libgomp.c/atomic-6.c: Ditto. 14022 140232009-03-23 Jakub Jelinek <jakub@redhat.com> 14024 14025 PR c/39495 14026 * testsuite/libgomp.c/loop-12.c: New test. 14027 * testsuite/libgomp.c/loop-11.c: New test. 14028 * testsuite/libgomp.c++/loop-11.C: New test. 14029 * testsuite/libgomp.c++/loop-12.C: New test. 14030 * testsuite/libgomp.c++/for-8.C: New test. 14031 140322009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 14033 14034 * configure: Regenerate. 14035 140362009-02-11 Jakub Jelinek <jakub@redhat.com> 14037 14038 PR middle-end/39154 14039 * testsuite/libgomp.c/pr39154.c: New test. 14040 140412009-01-30 Ian Lance Taylor <iant@google.com> 14042 14043 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set 14044 libgomp_ld_is_gold. Get gold version number. 14045 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning. 14046 * configure: Rebuild. 14047 140482009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk> 14049 14050 * testsuite/lib/libgomp.exp: Add -B option for targets that 14051 use libgfortran.a%s in their specs. 14052 140532009-01-07 Jakub Jelinek <jakub@redhat.com> 14054 14055 PR libgomp/38086 14056 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check. 14057 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if 14058 HAVE_AS_SYMVER_DIRECTIVE is not defined. 14059 * configure: Regenerated. 14060 * config.h.in: Likewise. 14061 140622008-12-28 Jakub Jelinek <jakub@redhat.com> 14063 14064 PR c++/38650 14065 * testsuite/libgomp.c/pr38650.c: New test. 14066 * testsuite/libgomp.c++/pr38650.C: New test. 14067 140682008-12-27 Jakub Jelinek <jakub@redhat.com> 14069 14070 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause. 14071 140722008-12-26 Uros Bizjak <ubizjak@gmail.com> 14073 14074 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets. 14075 140762008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 14077 14078 * configure: Regenerate. 14079 140802008-12-08 Jakub Jelinek <jakub@redhat.com> 14081 14082 PR middle-end/36802 14083 * testsuite/libgomp.c/pr36802-1.c: New test. 14084 * testsuite/libgomp.c/pr36802-2.c: New test. 14085 * testsuite/libgomp.c/pr36802-3.c: New test. 14086 140872008-12-01 Janis Johnson <janis187@us.ibm.com> 14088 14089 PR libgomp/38270 14090 * config/linux/powerpc/mutex.h: New. 14091 140922008-12-01 Jakub Jelinek <jakub@redhat.com> 14093 14094 PR c++/38257 14095 * testsuite/libgomp.c++/for-7.C: New test. 14096 14097 PR c++/38348 14098 * testsuite/libgomp.c++/for-6.C: New test. 14099 141002008-11-26 Janis Johnson <janis187@us.ibm.com> 14101 14102 PR testsuite/28870 14103 * testsuite/lib/libgomp.exp: Include new timeout library files. 14104 (libgomp_target_compile): Set timeout value from new proc. 14105 141062008-11-13 Steve Ellcey <sje@cup.hp.com> 14107 14108 PR libgomp/37938 14109 * config/linux/ia64/mutex.h: New. 14110 141112008-11-04 Tobias Burnus <burnus@net-b.de> 14112 14113 PR libgomp/37935 14114 * libgomp.texi (Runtime library routines, environment variables): 14115 Update for OpenMP version 3.0. 14116 141172008-09-26 Peter O'Gorman <pogma@thewrittenword.com> 14118 Steve Ellcey <sje@cup.hp.com> 14119 14120 * configure: Regenerate for new libtool. 14121 * Makefile.in: Ditto. 14122 * testsuite/Makefile.in: Ditto. 14123 141242008-09-19 Jakub Jelinek <jakub@redhat.com> 14125 Andreas Tobler <a.tobler@schweiz.org> 14126 14127 * config/bsd/proc.c: New file. 14128 * configure.tgt (*-*-darwin*): Use config_path "bsd posix". 14129 * configure.ac: Check for header <sys/sysctl.h> 14130 * configure: Regenerate. 14131 * config.h.in: Likewise. 14132 141332008-09-05 Janis Johnson <janis187@us.ibm.com> 14134 14135 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists. 14136 141372008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com> 14138 14139 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined. 14140 * Makefile.in: Regenerated. 14141 * testsuite/Makefile.in: Regenerated. 14142 141432008-08-21 Nathan Froyd <froydnj@codesourcery.com> 14144 14145 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that 14146 depend on blddir if blddir exists. 14147 (libgomp_target_compile): Likewise. 14148 * testsuite/libgomp.c++/c++.exp: Likewise. 14149 * testsuite/libgomp.fortran/fortran.exp: Likewise. 14150 141512008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 14152 14153 * libgomp.texi: Update to GFDL 1.2. Update copyright years. 14154 Do not list GPL as Invariant Section. 14155 141562008-07-28 Ilie Garbacea <ilie@mips.com> 14157 Chao-ying Fu <fu@mips.com> 14158 14159 * configure.tgt: Enable futex for MIPS. 14160 * config/linux/mips/futex.h: New file. 14161 141622008-07-16 Jakub Jelinek <jakub@redhat.com> 14163 14164 * team.c (gomp_team_end): Free team immediately if it has 14165 just one thread. 14166 141672008-07-08 David Edelsohn <edelsohn@gnu.org> 14168 14169 * testsuite/libgomp.c++/c++.exp: Append multilib library path. 14170 * testsuite/libgomp.fortran/fortran.exp: Same. 14171 * testsuite/libgomp.c/c.exp: Same. 14172 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib 14173 directory to library path first. 14174 141752008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com> 14176 14177 * env.c (parse_stacksize): Add cast to avoid warning. 14178 (parse_spincount): Likewise. 14179 141802008-06-27 Jakub Jelinek <jakub@redhat.com> 14181 14182 * testsuite/libgomp.c/loop-10.c: New test. 14183 * libgomp.c/loop-3.c (main): Add lastprivate clause. 14184 * libgomp.c++/loop-6.C (main): Likewise. 14185 14186 PR debug/36617 14187 * testsuite/libgomp.c/debug-1.c: New test. 14188 141892008-06-19 Jakub Jelinek <jakub@redhat.com> 14190 14191 * testsuite/libgomp.c/nqueens-1.c: New test. 14192 14193 PR c++/36523 14194 * testsuite/libgomp.c++/task-7.C: New function. 14195 141962008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 14197 14198 * configure: Regenerate. 14199 142002008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 14201 14202 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock 14203 mutex when HAVE_SYNC_BUILTINS isn't defined. 14204 142052008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 14206 14207 * libgomp.texi (omp_test_lock): Fix typo. 14208 142092008-06-12 Tobias Burnus <burnus@net-b.de> 14210 14211 * omp_lib.f90.in: Add "implicit none". 14212 142132008-06-12 Jakub Jelinek <jakub@redhat.com> 14214 14215 PR middle-end/36506 14216 * testsuite/libgomp.c/reduction-5.c: New test. 14217 142182008-06-11 Jakub Jelinek <jakub@redhat.com> 14219 14220 * libgomp.h (struct gomp_task): Add in_tied_task field. 14221 * task.c (gomp_init_task): Initialize it. 14222 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending 14223 unconditionally. Don't call gomp_team_barrier_wake if 14224 current task is implicit or if(0) from implicit and number of 14225 running tasks is equal to nthreads - 1. 14226 14227 PR libgomp/36471 14228 * omp_lib.f90.in (omp_get_ancestor_thread_num_8, 14229 omp_get_team_size_8): Fix pastos. 14230 14231 PR libgomp/36469 14232 * configure.ac: Add AC_CHECK_FUNCS (strtoull). 14233 * configure: Regenerated. 14234 * config.h.in: Regenerated. 14235 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not 14236 defined. 14237 142382008-06-06 Andreas Tobler <a.tobler@schweiz.org> 14239 14240 PR bootstrap/36452 14241 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API. 14242 (GOMP_loop_ull_dynamic_start): Likewise. 14243 (GOMP_loop_ull_guided_start): Likewise. 14244 (GOMP_loop_ull_ordered_static_start): Likewise. 14245 (GOMP_loop_ull_ordered_dynamic_start): Likewise. 14246 (GOMP_loop_ull_ordered_guided_start): Likewise. 14247 142482008-06-06 Jakub Jelinek <jakub@redhat.com> 14249 Richard Henderson <rth@redhat.com> 14250 Ulrich Drepper <drepper@redhat.com> 14251 Jakob Blomer <jakob.blomer@ira.uka.de> 14252 14253 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE. 14254 Substitute also OMP_*LOCK_25*. 14255 * configure: Regenerated. 14256 * config.h.in: Regenerated. 14257 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c, 14258 ptrlock.c and task.c. 14259 * Makefile.in: Regenerated. 14260 * testsuite/Makefile.in: Regenerated. 14261 * task.c: New file. 14262 * loop_ull.c: New file. 14263 * iter_ull.c: New file. 14264 * libgomp.h: Include ptrlock.h. 14265 (enum gomp_task_kind): New type. 14266 (struct gomp_team): Add task_lock, task_queue, task_count, 14267 task_running_count, single_count fields. Add 14268 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS. 14269 Remove work_share_lock, generation_mask, 14270 oldest_live_gen, num_live_gen and init_work_shares fields, add 14271 work work_share_list_alloc, work_share_list_free and work_share_chunk 14272 fields. Change work_shares from pointer to pointers into an array. 14273 Change ordered_release field into gomp_sem_t ** from flexible array 14274 member. Add implicit_task and initial_work_shares fields. 14275 Move close to the end of the struct. 14276 (struct gomp_team_state): Add single_count, last_work_share, 14277 active_level and level fields, remove work_share_generation. 14278 (gomp_barrier_handle_tasks): New prototype. 14279 (gomp_finish_task): New inline function. 14280 (struct gomp_work_share): Move chunk_size, end, incr into 14281 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and 14282 next_ll fields. Reshuffle fields. Add next_alloc, 14283 next_ws, next_free and inline_ordered_team_ids fields, change 14284 ordered_team_ids into pointer from flexible array member. 14285 Add mode field. Put lock and next into a different cache line 14286 from most of the write-once fields. 14287 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked, 14288 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next, 14289 gomp_iter_ull_guided_next): New prototypes. 14290 (gomp_new_icv): New prototype. 14291 (struct gomp_thread): Add thread_pool and task fields. 14292 (struct gomp_thread_pool): New type. 14293 (gomp_new_team): New prototype. 14294 (gomp_team_start): Change type of last argument. 14295 (gomp_new_work_share): Removed. 14296 (gomp_init_work_share, gomp_fini_work_share): New prototypes. 14297 (gomp_work_share_init_done): New static inline. 14298 (gomp_throttled_spin_count_var, gomp_available_cpus, 14299 gomp_managed_threads): New extern decls. 14300 (gomp_init_task): New prototype. 14301 (gomp_spin_count_var): New extern var decl. 14302 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility 14303 or no alias support, or if not PIC. 14304 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30, 14305 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30, 14306 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30, 14307 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25, 14308 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25, 14309 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25, 14310 gomp_set_nest_lock_25, gomp_unset_nest_lock_25, 14311 gomp_test_nest_lock_25): New prototypes. 14312 (omp_lock_symver, strong_alias): Define. 14313 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New 14314 decls. 14315 (gomp_end_task): New. 14316 (struct gomp_task_icv, gomp_global_icv): New. 14317 (gomp_thread_limit_var, gomp_max_active_levels_var): New. 14318 (struct gomp_task): New. 14319 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var, 14320 gomp_run_sched_var, gomp_run_sched_chunk): Remove. 14321 (gomp_icv): New. 14322 (gomp_schedule_type): Reorder enum to match 14323 omp_sched_t. 14324 * team.c (struct gomp_thread_start_data): Add thread_pool and task 14325 fields. 14326 (gomp_thread_start): Add gomp_team_barrier_wait call. 14327 For non-nested case remove clearing of docked thread thr fields. 14328 Use pool fields instead of global gomp_* variables. Use 14329 gomp_barrier_wait_last when needed. Initialize ts.active_level. 14330 Create tasks for each member thread. 14331 (free_team): Only destroy team barrier, task_lock here and free it. 14332 (gomp_free_thread): Free last_team if non-NULL. 14333 (gomp_team_end): Call gomp_team_barrier_wait instead of 14334 gomp_barrier_wait. For nested case call one extra 14335 gomp_barrier_wait. Move here some destruction from free_team. 14336 Call free_team on pool->last_team if any, rather than freeing 14337 current team. Destroy work_share_list_free_lock ifndef 14338 HAVE_SYNC_BUILTINS. 14339 (gomp_new_icv): New function. 14340 (gomp_threads, gomp_threads_size, gomp_threads_used, 14341 gomp_threads_dock): Removed. 14342 (gomp_thread_destructor): New variable. 14343 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New 14344 functions. 14345 (gomp_team_start): Create new pool if current thread doesn't have 14346 one. Use pool fields instead of global gomp_* variables. 14347 Initialize thread_pool field for new threads. Clear single_count. 14348 Change last argument from ws to team, don't create 14349 new team, set ts.work_share to &team->work_shares[0] and clear 14350 ts.last_work_share. Don't clear ts.work_share_generation. 14351 If number of threads changed, adjust atomically gomp_managed_threads. 14352 Use gomp_init_task instead of gomp_new_task, 14353 set thr->task to the corresponding implicit_task array entry. 14354 Create tasks for each member thread. Initialize ts.level. 14355 (initialize_team): Call pthread_key_create on 14356 gomp_thread_destructor. 14357 (team_destructor): New function. 14358 (new_team): Removed. 14359 (gomp_new_team): New function. 14360 (free_team): Free gomp_work_share blocks chained through next_alloc, 14361 instead of freeing work_shares and destroying work_share_lock. 14362 (gomp_team_end): Call gomp_fini_work_share. If number of threads 14363 changed, adjust atomically gomp_managed_threads. Use gomp_end_task. 14364 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead 14365 of gomp_barrier_wait. 14366 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait 14367 instead of gomp_barrier_wait. Call gomp_work_share_init_done 14368 if gomp_work_share_start returned true. Don't unlock ws->lock. 14369 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead 14370 of gomp_barrier_wait. 14371 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call 14372 gomp_work_share_init_done if gomp_work_share_start returned true. 14373 Don't unlock ws->lock. 14374 * work.c: Include stddef.h. 14375 (free_work_share): Use work_share_list_free_lock instead 14376 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument. 14377 Call gomp_fini_work_share and then either free ws if orphaned, or 14378 put it into work_share_list_free list of the current team. 14379 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New 14380 functions. 14381 (gomp_work_share_start, gomp_work_share_end, 14382 gomp_work_share_end_nowait): Rewritten. 14383 * omp_lib.f90.in Change some tabs to spaces to prevent warnings. 14384 (openmp_version): Set to 200805. 14385 (omp_sched_kind, omp_sched_static, omp_sched_dynamic, 14386 omp_sched_guided, omp_sched_auto): New parameters. 14387 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit, 14388 omp_set_max_active_levels, omp_get_max_active_levels, 14389 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size, 14390 omp_get_active_level): New interfaces. 14391 * omp_lib.h.in (openmp_version): Set to 200805. 14392 (omp_sched_kind, omp_sched_static, omp_sched_dynamic, 14393 omp_sched_guided, omp_sched_auto): New parameters. 14394 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit, 14395 omp_set_max_active_levels, omp_get_max_active_levels, 14396 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size, 14397 omp_get_active_level): New externals. 14398 * loop.c: Include limits.h. 14399 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle 14400 GFS_AUTO. 14401 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start): 14402 Likewise. Use gomp_icv. 14403 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear 14404 ts.static_trip here. 14405 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call 14406 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock. 14407 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call 14408 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS, 14409 don't unlock ws->lock, otherwise lock it. 14410 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call 14411 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock. 14412 (gomp_parallel_loop_start): Call gomp_new_team instead of 14413 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0]. 14414 Adjust gomp_team_start caller. Pass 0 as second argument to 14415 gomp_resolve_num_threads. 14416 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr. 14417 If adding ws->chunk_size nthreads + 1 times after end won't 14418 overflow, set ws->mode to 1. 14419 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start, 14420 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start, 14421 GOMP_loop_ull_ordered_static_start, 14422 GOMP_loop_ull_ordered_dynamic_start, 14423 GOMP_loop_ull_ordered_guided_start, 14424 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next, 14425 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next, 14426 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next, 14427 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next, 14428 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New 14429 prototypes. 14430 * libgomp.map: Export lock routines also @@OMP_2.0. 14431 (GOMP_loop_ordered_dynamic_first, 14432 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first, 14433 GOMP_loop_ordered_static_first): Remove. 14434 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start, 14435 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start, 14436 GOMP_loop_ull_ordered_dynamic_next, 14437 GOMP_loop_ull_ordered_dynamic_start, 14438 GOMP_loop_ull_ordered_guided_next, 14439 GOMP_loop_ull_ordered_guided_start, 14440 GOMP_loop_ull_ordered_runtime_next, 14441 GOMP_loop_ull_ordered_runtime_start, 14442 GOMP_loop_ull_ordered_static_next, 14443 GOMP_loop_ull_ordered_static_start, 14444 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start, 14445 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start, 14446 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0. 14447 (omp_set_schedule, omp_get_schedule, 14448 omp_get_thread_limit, omp_set_max_active_levels, 14449 omp_get_max_active_levels, omp_get_level, 14450 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level, 14451 omp_set_schedule_, omp_set_schedule_8_, 14452 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_, 14453 omp_set_max_active_levels_, omp_set_max_active_levels_8_, 14454 omp_get_max_active_levels_, omp_get_level_, 14455 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_, 14456 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_): 14457 New exports @@OMP_3.0. 14458 * omp.h.in (omp_sched_t): New type. 14459 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit, 14460 omp_set_max_active_levels, omp_get_max_active_levels, 14461 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size, 14462 omp_get_active_level): New prototypes. 14463 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var, 14464 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var, 14465 gomp_thread_limit_var, gomp_remaining_threads_count, 14466 gomp_remaining_threads_lock): New variables. 14467 (parse_spincount): New function. 14468 (initialize_env): Call gomp_init_num_threads unconditionally. 14469 Initialize gomp_available_cpus. Call parse_spincount, 14470 initialize gomp_{,throttled_}spin_count_var 14471 depending on presence and value of OMP_WAIT_POLICY and 14472 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var. 14473 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS, 14474 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification 14475 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and 14476 gomp_remaining_threads_lock if needed. Use gomp_global_icv. 14477 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var, 14478 gomp_run_sched_var, gomp_run_sched_chunk): Remove. 14479 (gomp_global_icv): New. 14480 (parse_schedule): Use it. Parse "auto". 14481 (omp_set_num_threads): Use gomp_icv. 14482 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested): 14483 Likewise. 14484 (omp_get_max_threads): Move from parallel.c. 14485 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit, 14486 omp_set_max_active_levels, omp_get_max_active_levels): New functions, 14487 add ialias. 14488 (parse_stacksize, parse_wait_policy): New functions. 14489 * fortran.c: Rewrite lock wrappers, if symbol versioning provide 14490 both wrappers for compatibility and new locks. 14491 (omp_set_schedule, omp_get_schedule, 14492 omp_get_thread_limit, omp_set_max_active_levels, 14493 omp_get_max_active_levels, omp_get_level, 14494 omp_get_ancestor_thread_num, omp_get_team_size, 14495 omp_get_active_level): New ialias_redirect. 14496 (omp_set_schedule_, omp_set_schedule_8_, 14497 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_, 14498 omp_set_max_active_levels_, omp_set_max_active_levels_8_, 14499 omp_get_max_active_levels_, omp_get_level_, 14500 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_, 14501 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_): 14502 New functions. 14503 * parallel.c: Include limits.h. 14504 (gomp_resolve_num_threads): Add count argument. Rewritten. 14505 (GOMP_parallel_start): Call gomp_new_team and pass that as last 14506 argument to gomp_team_start. Pass 0 as second argument to 14507 gomp_resolve_num_threads. 14508 (GOMP_parallel_end): Decrease gomp_remaining_threads_count 14509 if gomp_thread_limit_var != ULONG_MAX. 14510 (omp_in_parallel): Implement using ts.active_level. 14511 (omp_get_max_threads): Move to env.c. 14512 (omp_get_level, omp_get_ancestor_thread_num, 14513 omp_get_team_size, omp_get_active_level): New functions, 14514 add ialias. 14515 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done 14516 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call 14517 gomp_iter_dynamic_next instead of the _locked variant and don't take 14518 lock around it, otherwise acquire it before calling 14519 gomp_iter_dynamic_next_locked. 14520 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call 14521 gomp_iter_dynamic_next instead of the _locked variant and don't take 14522 lock around it. 14523 (GOMP_parallel_sections_start): Call gomp_new_team instead of 14524 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0]. 14525 Adjust gomp_team_start caller. Pass count as second argument to 14526 gomp_resolve_num_threads, don't adjust num_threads after the call. 14527 Use gomp_icv. 14528 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply 14529 ws->chunk_size by incr. 14530 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient 14531 code. 14532 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New 14533 types. 14534 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros. 14535 (omp_check_defines): Check even the compat defines. 14536 * config/linux/ptrlock.c: New file. 14537 * config/linux/ptrlock.h: New file. 14538 * config/linux/wait.h: New file. 14539 * config/posix/ptrlock.c: New file. 14540 * config/posix/ptrlock.h: New file. 14541 * config/linux/bar.h (gomp_team_barrier_wait, 14542 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes. 14543 (gomp_team_barrier_set_task_pending, 14544 gomp_team_barrier_clear_task_pending, 14545 gomp_team_barrier_set_waiting_for_tasks, 14546 gomp_team_barrier_waiting_for_tasks, 14547 gomp_team_barrier_done): New inlines. 14548 (gomp_barrier_t): Rewritten. 14549 (gomp_barrier_state_t): New typedef. 14550 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy, 14551 gomp_barrier_wait_start): Rewritten. 14552 (gomp_barrier_wait_end): Change second argument to 14553 gomp_barrier_state_t. 14554 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static 14555 inlines. 14556 * config/linux/bar.c: Include wait.h instead of libgomp.h and 14557 futex.h. 14558 (gomp_barrier_wait_end): Rewritten. 14559 (gomp_team_barrier_wait, gomp_team_barrier_wait_end, 14560 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions. 14561 * config/posix/bar.h (gomp_barrier_t): Add generation field. 14562 (gomp_barrier_state_t): New typedef. 14563 (gomp_team_barrier_wait, 14564 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes. 14565 (gomp_barrier_wait_start): Or all but low 2 bits from generation 14566 into the return value. Return gomp_barrier_state_t. 14567 (gomp_team_barrier_set_task_pending, 14568 gomp_team_barrier_clear_task_pending, 14569 gomp_team_barrier_set_waiting_for_tasks, 14570 gomp_team_barrier_waiting_for_tasks, 14571 gomp_team_barrier_done): New inlines. 14572 (gomp_barrier_wait_end): Change second argument to 14573 gomp_barrier_state_t. 14574 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static 14575 inlines. 14576 * config/posix/bar.c (gomp_barrier_init): Clear generation field. 14577 (gomp_barrier_wait_end): Change second argument to 14578 gomp_barrier_state_t. 14579 (gomp_team_barrier_wait, gomp_team_barrier_wait_end, 14580 gomp_team_barrier_wake): New functions. 14581 * config/linux/mutex.c: Include wait.h instead of libgomp.h and 14582 futex.h. 14583 (gomp_futex_wake, gomp_futex_wait): New variables. 14584 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait. 14585 * config/linux/lock.c: Rewrite to make locks task owned, 14586 for backwards compatibility provide the old entrypoints 14587 if symbol versioning. Include wait.h instead of libgomp.h and 14588 futex.h. 14589 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait. 14590 * config/posix95/lock.c: Rewrite to make locks task owned, 14591 for backwards compatibility provide the old entrypoints 14592 if symbol versioning. 14593 * config/posix/lock.c: Rewrite to make locks task owned, 14594 for backwards compatibility provide the old entrypoints 14595 if symbol versioning. 14596 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv. 14597 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv. 14598 * config/posix/proc.c, config/mingw32/proc.c: Similarly. 14599 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove. 14600 (sys_futex0): Return error code. 14601 (futex_wake, futex_wait): If ENOSYS was returned, clear 14602 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry. 14603 (cpu_relax, atomic_write_barrier): New static inlines. 14604 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove. 14605 (futex_wake, futex_wait): If ENOSYS was returned, clear 14606 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry. 14607 (cpu_relax, atomic_write_barrier): New static inlines. 14608 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove. 14609 (sys_futex0): Return error code. 14610 (futex_wake, futex_wait): If ENOSYS was returned, clear 14611 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry. 14612 (cpu_relax, atomic_write_barrier): New static inlines. 14613 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove. 14614 (sys_futex0): Return error code. 14615 (futex_wake, futex_wait): If ENOSYS was returned, clear 14616 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry. 14617 (cpu_relax, atomic_write_barrier): New static inlines. 14618 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove. 14619 (sys_futex0): Return error code. 14620 (futex_wake, futex_wait): If ENOSYS was returned, clear 14621 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry. 14622 (cpu_relax, atomic_write_barrier): New static inlines. 14623 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove. 14624 (sys_futex0): Return error code. 14625 (futex_wake, futex_wait): If ENOSYS was returned, clear 14626 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry. 14627 (cpu_relax, atomic_write_barrier): New static inlines. 14628 * config/linux/sem.c: Include wait.h instead of libgomp.h and 14629 futex.h. 14630 (gomp_sem_wait_slow): Call do_wait instead of futex_wait. 14631 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS. 14632 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New 14633 types. 14634 (omp_nest_lock_t): Change owner into void *, add lock field. 14635 * config/posix95/omp-lock.h: Include semaphore.h. 14636 (omp_lock_25_t, omp_nest_lock_25_t): New types. 14637 (omp_lock_t): Use sem_t instead of mutex if semaphores 14638 aren't broken. 14639 (omp_nest_lock_t): Likewise. Change owner to void *. 14640 * config/posix/omp-lock.h: Include semaphore.h. 14641 (omp_lock_25_t, omp_nest_lock_25_t): New types. 14642 (omp_lock_t): Use sem_t instead of mutex if semaphores 14643 aren't broken. 14644 (omp_nest_lock_t): Likewise. Add owner field. 14645 146462008-06-06 Jakub Jelinek <jakub@redhat.com> 14647 14648 * testsuite/libgomp.c/collapse-1.c: New test. 14649 * testsuite/libgomp.c/collapse-2.c: New test. 14650 * testsuite/libgomp.c/collapse-3.c: New test. 14651 * testsuite/libgomp.c/icv-1.c: New test. 14652 * testsuite/libgomp.c/icv-2.c: New test. 14653 * testsuite/libgomp.c/lib-2.c: New test. 14654 * testsuite/libgomp.c/lock-1.c: New test. 14655 * testsuite/libgomp.c/lock-2.c: New test. 14656 * testsuite/libgomp.c/lock-3.c: New test. 14657 * testsuite/libgomp.c/loop-4.c: New test. 14658 * testsuite/libgomp.c/loop-5.c: New test. 14659 * testsuite/libgomp.c/loop-6.c: New test. 14660 * testsuite/libgomp.c/loop-7.c: New test. 14661 * testsuite/libgomp.c/loop-8.c: New test. 14662 * testsuite/libgomp.c/loop-9.c: New test. 14663 * testsuite/libgomp.c/nested-3.c: New test. 14664 * testsuite/libgomp.c/nestedfn-6.c: New test. 14665 * testsuite/libgomp.c/sort-1.c: New test. 14666 * testsuite/libgomp.c/task-1.c: New test. 14667 * testsuite/libgomp.c/task-2.c: New test. 14668 * testsuite/libgomp.c/task-3.c: New test. 14669 * testsuite/libgomp.c/task-4.c: New test. 14670 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes 14671 to C++ testsuite default compiler options. 14672 * testsuite/libgomp.c++/collapse-1.C: New test. 14673 * testsuite/libgomp.c++/collapse-2.C: New test. 14674 * testsuite/libgomp.c++/ctor-10.C: New test. 14675 * testsuite/libgomp.c++/for-1.C: New test. 14676 * testsuite/libgomp.c++/for-2.C: New test. 14677 * testsuite/libgomp.c++/for-3.C: New test. 14678 * testsuite/libgomp.c++/for-4.C: New test. 14679 * testsuite/libgomp.c++/for-5.C: New test. 14680 * testsuite/libgomp.c++/loop-8.C: New test. 14681 * testsuite/libgomp.c++/loop-9.C: New test. 14682 * testsuite/libgomp.c++/loop-10.C: New test. 14683 * testsuite/libgomp.c++/task-1.C: New test. 14684 * testsuite/libgomp.c++/task-2.C: New test. 14685 * testsuite/libgomp.c++/task-3.C: New test. 14686 * testsuite/libgomp.c++/task-4.C: New test. 14687 * testsuite/libgomp.c++/task-5.C: New test. 14688 * testsuite/libgomp.c++/task-6.C: New test. 14689 * testsuite/libgomp.fortran/allocatable1.f90: New test. 14690 * testsuite/libgomp.fortran/allocatable2.f90: New test. 14691 * testsuite/libgomp.fortran/allocatable3.f90: New test. 14692 * testsuite/libgomp.fortran/allocatable4.f90: New test. 14693 * testsuite/libgomp.fortran/collapse1.f90: New test. 14694 * testsuite/libgomp.fortran/collapse2.f90: New test. 14695 * testsuite/libgomp.fortran/collapse3.f90: New test. 14696 * testsuite/libgomp.fortran/collapse4.f90: New test. 14697 * testsuite/libgomp.fortran/lastprivate1.f90: New test. 14698 * testsuite/libgomp.fortran/lastprivate2.f90: New test. 14699 * testsuite/libgomp.fortran/lib4.f90: New test. 14700 * testsuite/libgomp.fortran/lock-1.f90: New test. 14701 * testsuite/libgomp.fortran/lock-2.f90: New test. 14702 * testsuite/libgomp.fortran/nested1.f90: New test. 14703 * testsuite/libgomp.fortran/nestedfn4.f90: New test. 14704 * testsuite/libgomp.fortran/strassen.f90: New test. 14705 * testsuite/libgomp.fortran/tabs1.f90: New test. 14706 * testsuite/libgomp.fortran/tabs2.f: New test. 14707 * testsuite/libgomp.fortran/task1.f90: New test. 14708 * testsuite/libgomp.fortran/task2.f90: New test. 14709 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning. 14710 * testsuite/libgomp.fortran/vla5.f90: Likewise. 14711 * testsuite/libgomp.c/pr26943-2.c: Likewise. 14712 * testsuite/libgomp.c/pr26943-3.c: Likewise. 14713 * testsuite/libgomp.c/pr26943-4.c: Likewise. 14714 147152008-05-23 Jakub Jelinek <jakub@redhat.com> 14716 14717 PR c++/36308 14718 * testsuite/libgomp.c++/ctor-11.C: New test. 14719 * testsuite/libgomp.c++/ctor-12.C: New test. 14720 147212008-05-15 Janis Johnson <janis187@us.ibm.com> 14722 14723 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib. 14724 147252008-05-07 Jakub Jelinek <jakub@redhat.com> 14726 14727 PR middle-end/36106 14728 * testsuite/libgomp.c/atomic-5.c: New test. 14729 * testsuite/libgomp.c/atomic-6.c: New test. 14730 * testsuite/libgomp.c/autopar-1.c: New test. 14731 147322008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 14733 14734 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS) 14735 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY) 14736 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT) 14737 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names. 14738 * configure: Regenerate. 14739 * Makefile.in, testsuite/Makefile.in: Likewise. 14740 147412008-04-18 Paolo Bonzini <bonzini@gnu.org> 14742 14743 PR bootstrap/35457 14744 * aclocal.m4: Regenerate. 14745 * configure: Regenerate. 14746 147472008-03-18 Jakub Jelinek <jakub@redhat.com> 14748 14749 PR middle-end/35611 14750 * testsuite/libgomp.c/atomic-4.c: New test. 14751 14752 PR libgomp/35625 14753 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end. 14754 (gomp_iter_guided_next): Likewise. 14755 * testsuite/libgomp.c/pr35625.c: New test. 14756 147572008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 14758 14759 * aclocal.m4: Regenerate. 14760 * configure: Likewise. 14761 * Makefile.in: Likewise. 14762 * testsuite/Makefile.in: Likewise. 14763 147642008-03-13 Jakub Jelinek <jakub@redhat.com> 14765 14766 PR middle-end/35185 14767 * testsuite/libgomp.c++/pr35185.C: New test. 14768 147692008-03-12 Jakub Jelinek <jakub@redhat.com> 14770 14771 PR middle-end/35549 14772 * testsuite/libgomp.c/pr35549.c: New test. 14773 147742008-03-06 Jakub Jelinek <jakub@redhat.com> 14775 14776 * testsuite/libgomp.c/atomic-3.c: New test. 14777 147782008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 14779 14780 PR fortran/33197 14781 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and 14782 .F08 file suffixes. 14783 147842008-03-03 Peter O'Gorman <pogma@thewrittenword.com> 14785 14786 PR libgomp/33131 14787 * configure.ac: Add ACX_HEADER_STRING. 14788 * env.c: Include strings.h. 14789 * aclocal.m4: Regenerate. 14790 * config.h.in: Regenerate. 14791 * configure: Regenerate. 14792 * Makefile.in: Regenerate. 14793 * testsuite/Makefile.in: Regenerate. 14794 147952008-02-15 Jakub Jelinek <jakub@redhat.com> 14796 14797 PR middle-end/35196 14798 * testsuite/libgomp.c/pr35196.c: New test. 14799 14800 PR middle-end/35130 14801 * testsuite/libgomp.fortran/pr35130.f90: New test. 14802 * testsuite/libgomp.c/pr35130.c: New test. 14803 148042008-01-25 Jakub Jelinek <jakub@redhat.com> 14805 14806 PR middle-end/33880 14807 * testsuite/libgomp.c/pr33880.c: New test. 14808 * testsuite/libgomp.fortran/pr33880.f90: New test. 14809 148102008-01-24 David Edelsohn <edelsohn@gnu.org> 14811 14812 * configure: Regenerate. 14813 148142008-01-08 Jakub Jelinek <jakub@redhat.com> 14815 14816 * configure.ac: Move futex checking into ../config/futex.m4. 14817 * configure: Rebuilt. 14818 * aclocal.m4: Rebuilt. 14819 * Makefile.in: Rebuilt. 14820 14821 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match 14822 2007-10-15 ../config/tls.m4 change. 14823 148242007-12-19 Jakub Jelinek <jakub@redhat.com> 14825 14826 PR c++/34513 14827 * testsuite/libgomp.c/pr34513.c: New test. 14828 * testsuite/libgomp.c++/pr34513.C: New test. 14829 148302007-12-17 Jack Howarth <howarth@bromo.med.uc.edu> 14831 14832 PR target/32765 14833 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin. 14834 148352007-12-04 Jakub Jelinek <jakub@redhat.com> 14836 14837 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes. 14838 148392007-12-03 Jakub Jelinek <jakub@redhat.com> 14840 14841 * testsuite/libgomp.c/private-1.c: New test. 14842 148432007-11-29 Andris Pavenis <andris.pavenis@iki.fi> 14844 Paolo Bonzini <bonzini@gnu.org> 14845 14846 * Makefile.am: Use space as vpath separator. Use 'vpath %' 14847 instead of 'VPATH ='. 14848 * Makefile.in: Regenerate. 14849 148502007-11-23 Matthias Klose <doko@ubuntu.com> 14851 14852 * configure.ac: Adjust makeinfo version check. 14853 * configure: Regenerate. 14854 148552007-11-10 Jakub Jelinek <jakub@redhat.com> 14856 14857 PR fortran/34020 14858 * testsuite/libgomp.fortran/pr34020.f90: New test. 14859 148602007-11-06 Jakub Jelinek <jakub@redhat.com> 14861 14862 PR c++/33894 14863 * testsuite/libgomp.c++/atomic-1.C: New test. 14864 148652007-10-25 Jakub Jelinek <jakub@redhat.com> 14866 14867 PR libgomp/33275 14868 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate): 14869 Make x and y integers rather than (implicit) reals. Add private (j) 14870 clause to the last omp parallel. 14871 148722007-10-15 Maciej W. Rozycki <macro@linux-mips.org> 14873 14874 * configure: Regenerate following changes to ../config/tls.m4. 14875 148762007-09-28 Jakub Jelinek <jakub@redhat.com> 14877 14878 * testsuite/libgomp.fortran/stack.f90: New test. 14879 148802007-09-10 Danny Smith <dannysmith@users.sourceforge.net> 14881 14882 * config/mingw32/proc.c: New file. 14883 148842007-09-05 Uros Bizjak <ubizjak@gmail.com> 14885 14886 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets. 14887 (main): Use __get_cpuid to get i386 target fetaures. 14888 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets. 14889 (main): Use __get_cpuid to get x86_64 target fetaures. 14890 148912007-08-15 Jack Howarth <howarth@bromo.med.uc.edu> 14892 14893 PR target/32765 14894 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin. 14895 * testsuite/libgomp.fortran/crayptr2.f90: Likwise. 14896 148972007-07-12 Jakub Jelinek <jakub@redhat.com> 14898 14899 PR fortran/32550 14900 * testsuite/libgomp.fortran/pr32550.f90: New test. 14901 * testsuite/libgomp.fortran/crayptr2.f90: New test. 14902 149032007-07-05 H.J. Lu <hongjiu.lu@intel.com> 14904 14905 * aclocal.m4: Regenerated. 14906 149072007-07-05 Tobias Burnus <burnus@net-b.de> 14908 14909 PR fortran/32359 14910 * testsuite/libgomp.fortran/pr32359.f90: New. 14911 149122007-07-02 Jakub Jelinek <jakub@redhat.com> 14913 14914 PR libgomp/32468 14915 * sections.c (GOMP_parallel_sections_start): Only decrease 14916 number of threads to COUNT if dyn_var is true. 14917 * testsuite/libgomp.c/pr32468.c: New test. 14918 149192007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 14920 14921 PR libgomp/26308 14922 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX. 14923 149242007-06-21 Jakub Jelinek <jakub@redhat.com> 14925 14926 PR middle-end/32362 14927 * testsuite/libgomp.c/pr32362-1.c: New test. 14928 * testsuite/libgomp.c/pr32362-2.c: New test. 14929 * testsuite/libgomp.c/pr32362-3.c: New test. 14930 149312007-06-07 Jakub Jelinek <jakub@redhat.com> 14932 14933 * team.c (gomp_team_start): Fix setting up thread_attr 14934 stack size. 14935 149362007-06-02 Paolo Bonzini <bonzini@gnu.org> 14937 14938 * configure: Regenerate. 14939 149402007-05-23 Steve Ellcey <sje@cup.hp.com> 14941 14942 * Makefile.in: Regenerate. 14943 * configure: Regenerate. 14944 * aclocal.m4: Regenerate. 14945 * testsuite/Makefile.in: Regenerate. 14946 149472007-05-04 Jakub Jelinek <jakub@redhat.com> 14948 14949 * config/linux/proc.c: New file. 14950 14951 PR libgomp/28482 14952 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux. 14953 149542007-04-19 Daniel Franke <franke.daniel@gmail.com> 14955 14956 * libgomp.texi (GOMP_CPU_AFFINITY): Updated. 14957 149582007-04-16 Matthias Klose <doko@debian.org> 14959 14960 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific 14961 flags if not building with -m64. 14962 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march 14963 flag for i?86-*-* targets, if current target matches -m64. 14964 149652007-04-14 Steve Ellcey <sje@cup.hp.com> 14966 14967 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS. 14968 * Makefile.in: Regenerate. 14969 149702007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 14971 14972 PR testsuite/31369 14973 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting 14974 ld_library_path. 14975 * testsuite/libgomp.fortran/fortran.exp: Likewise. 14976 149772007-04-04 Jakub Jelinek <jakub@redhat.com> 14978 14979 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern 14980 decls. 14981 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes. 14982 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables. 14983 (parse_affinity): New function. 14984 (initialize_env): Call it and gomp_init_affinity. 14985 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL, 14986 create new pthread_attr_t and call gomp_init_thread_affinity 14987 on it for each thread before passing the attribute to pthread_create. 14988 * config/linux/affinity.c: New file. 14989 * config/posix/affinity.c: New file. 14990 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test. 14991 * configure: Rebuilt. 14992 * config.h.in: Rebuilt. 14993 * Makefile.am (libgomp_la_SOURCES): Add affinity.c. 14994 * Makefile.in: Rebuilt. 14995 149962007-03-23 Andreas Tobler <a.tobler@schweiz.org> 14997 14998 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for 14999 *-*-darwin*. 15000 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library 15001 and use it if found. 15002 150032007-03-18 Uros Bizjak <ubizjak@gmail.com> 15004 15005 * testsuite/config/default.exp: New file. 15006 * testsuite/lib/libgomp.exp: New file. 15007 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init, 15008 libgomp_target_compile, libgomp_option_help, libgomp_option_proc, 15009 load_lib *, load_gcc_lib *): Move to libgomp.exp. 15010 (libgomp_load): Remove. 15011 * testsuite/lib/libgomp.exp (libgomp_init): Compute 15012 always_ld_library_path, not ld_library_path. Set additional_flags 15013 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets. 15014 (target_compile): Do not call libgomp_init. Append lang_library_path 15015 and lang_link_flags to options. 15016 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set 15017 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH 15018 here. 15019 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from 15020 always_ld_library_path. Set LD_LIBRARY_PATH here. 15021 * testsuite/libgomp.fortran/fortran.exp: Ditto. 15022 * testsuite/libgomp.c/atomic-1.c: Set dg-options to 15023 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for 15024 CX8 flag. 15025 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for 15026 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3. 15027 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options. 15028 * testsuite/libgomp.c/pr29947-1.c: Ditto. 15029 * testsuite/libgomp.c/atomic-10.c: Ditto. 15030 150312007-03-21 Jakub Jelinek <jakub@redhat.com> 15032 15033 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add 15034 dg-final cleanup-modules line. 15035 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise. 15036 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise. 15037 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise. 15038 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise. 15039 * testsuite/libgomp.fortran/reduction5.f90: Likewise. 15040 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise. 15041 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. 15042 150432007-03-18 Andreas Schwab <schwab@suse.de> 15044 15045 * acinclude.m4: Adjust regular expression for ld version 15046 extraction. 15047 * configure: Regenerate. 15048 150492007-03-01 Brooks Moses <brooks.moses@codesourcery.com> 15050 15051 * Makefile.am: Add install-pdf target as copied from 15052 automake v1.10 rules. 15053 * Makefile.in: Regenerate 15054 150552007-02-07 Jakub Jelinek <jakub@redhat.com> 15056 15057 PR libgomp/28486 15058 * configure: Regenerate. 15059 15060 PR c++/30703 15061 * testsuite/libgomp.c++/pr30703.C: New test. 15062 150632007-02-02 Jakub Jelinek <jakub@redhat.com> 15064 15065 Revert: 15066 2006-07-05 Eric Christopher <echristo@apple.com> 15067 * configure.ac: Depend addition of -pthread on host OS. 15068 * configure: Regenerate. 15069 150702007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 15071 15072 * libgomp.texi: Fix spacing after abbreviations. 15073 150742007-01-31 Daniel Franke <franke.daniel@gmail.com> 15075 15076 PR libgomp/30546 15077 * configure.ac: Add check for makeinfo 15078 * Makefile.am: Redefined target libgomp.info, build libgomp.info only 15079 if an appropriate version of makeinfo is found. 15080 * aclocal.m4: Regenerated. 15081 * configure: Regenerated. 15082 * Makefile.in: Regenerated. 15083 * testsuite/Makefile.in: Regenerated. 15084 150852007-01-29 Daniel Franke <franke.daniel@gmail.com> 15086 15087 PR libgomp/30540 15088 * libgomp.texi: More about implementation-dependent settings. 15089 150902007-01-26 Tobias Burnus <burnus@net-b.de> 15091 15092 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension. 15093 150942007-01-24 Jakub Jelinek <jakub@redhat.com> 15095 15096 PR middle-end/30494 15097 * testsuite/libgomp.c/pr30494.c: New test. 15098 150992007-01-15 Tom Tromey <tromey@redhat.com> 15100 15101 * configure: Rebuilt. 15102 * configure.ac: Fixed comment. 15103 151042007-01-14 Daniel Franke <franke.daniel@gmail.com> 15105 15106 * libgomp.texi: Document implementation specific default values of 15107 environment variables. 15108 151092006-12-21 Daniel Franke <franke.daniel@gmail.com> 15110 15111 PR libgomp/28209 15112 * libgomp.texi: New file. 15113 * configure.ac: Add --enable-generated-files-in-srcdir option. 15114 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy 15115 files to srcdir. 15116 * Makefile.in: Regenerated. 15117 * config.h.in: Regenerated. 15118 * testsuite/Makefile.in: Regenerated. 15119 * NOTES: Removed. 15120 151212006-12-04 Daniel Franke <franke.daniel@gmail.com> 15122 15123 PR libgomp/29949 15124 * env.c (omp_set_num_threads): Set illegal thread count to 1. 15125 151262006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr> 15127 15128 * configure: Regenerate. 15129 151302006-12-04 Jakub Jelinek <jakub@redhat.com> 15131 15132 PR libgomp/29947 15133 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to 15134 start if there shouldn't be any loop iterations. 15135 (gomp_loop_ordered_static_start): Remove start == end test. 15136 * testsuite/libgomp.c/pr29947-1.c: New test. 15137 * testsuite/libgomp.c/pr29947-2.c: New test. 15138 151392006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr> 15140 15141 * configure.tgt: Force initial-exec TLS model on Linux only. 15142 151432006-11-13 Daniel Jacobowitz <dan@codesourcery.com> 15144 15145 * configure: Regenerated. 15146 151472006-11-09 Uros Bizjak <ubizjak@gmail.com> 15148 15149 * env.c (parse_schedule): Reject out of range values. 15150 (parse_unsigned_long): Reject out of range, negative or zero values. 15151 151522006-10-29 Jakub Jelinek <jakub@redhat.com> 15153 15154 PR fortran/29629 15155 * testsuite/libgomp.fortran/pr29629.f90: New test. 15156 151572006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr> 15158 15159 PR libgomp/29494 15160 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6. 15161 * config/posix95: New directory. 15162 * config/posix95/omp-lock.h: New file. 15163 * config/posix95/lock.c: Likewise. 15164 151652006-10-14 Geoffrey Keating <geoffk@apple.com> 15166 15167 * aclocal.m4: Regenerate. 15168 * configure: Regenerate. 15169 151702006-10-05 Danny Smith <dannysmith@users.sourceforge.net> 15171 15172 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from 15173 '<' to '<='. 15174 151752006-10-05 Danny Smith <dannysmith@users.sourceforge.net> 15176 15177 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from 15178 test. 15179 * configure: Regenerate. 15180 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias. 15181 151822006-09-26 Jakub Jelinek <jakub@redhat.com> 15183 15184 PR middle-end/25261 15185 PR middle-end/28790 15186 * testsuite/libgomp.c/nestedfn-4.c: New test. 15187 * testsuite/libgomp.c/nestedfn-5.c: New test. 15188 * testsuite/libgomp.fortran/nestedfn3.f90: New test. 15189 15190 PR fortran/29097 15191 * testsuite/libgomp.fortran/condinc1.f: New test. 15192 * testsuite/libgomp.fortran/condinc2.f: New test. 15193 * testsuite/libgomp.fortran/condinc3.f90: New test. 15194 * testsuite/libgomp.fortran/condinc4.f90: New test. 15195 * testsuite/libgomp.fortran/condinc1.inc: New file. 15196 151972006-09-18 Tom Tromey <tromey@redhat.com> 15198 15199 * configure: Rebuilt. 15200 152012006-09-13 Joseph S. Myers <joseph@codesourcery.com> 15202 15203 PR c/28768 15204 PR preprocessor/14634 15205 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument 15206 to AC_DEFINE. 15207 * configure: Regenerate. 15208 152092006-09-08 Steven G. Kargl <kargl@gcc.gnu.org> 15210 15211 * testsuite/libgomp.fortran/reduction3.f90: Change 15212 -2147483648 to -huge(i)-1 to avoid overflow. 15213 * testsuite/libgomp.fortran/reduction4.f90: Change 15214 Z'ffffffff' to not(0) to avoid overflow. 15215 152162006-08-26 Joseph S. Myers <joseph@codesourcery.com> 15217 15218 PR libgomp/25938 15219 * Makefile.am (libsubincludedir): New. 15220 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS. 15221 * Makefile.in: Regenerate. 15222 152232006-08-17 Jakub Jelinek <jakub@redhat.com> 15224 15225 PR libgomp/28725 15226 * env.c: Include ctype.h. 15227 (parse_schedule, parse_unsigned_long, parse_boolean): Allow 15228 leading and/or trailing whitespace and compare strings case 15229 insensitively. 15230 152312006-07-16 Jakub Jelinek <jakub@redhat.com> 15232 15233 PR fortran/28390 15234 * testsuite/libgomp.fortran/pr28390.f: New test. 15235 152362006-07-05 Eric Christopher <echristo@apple.com> 15237 15238 * configure.ac: Depend addition of -pthread on host OS. 15239 * configure: Regenerate. 15240 152412006-06-21 Jakub Jelinek <jakub@redhat.com> 15242 15243 * critical.c (GOMP_critical_name_start): Fix *pptr initialization 15244 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is 15245 defined. 15246 152472006-06-20 Jakub Jelinek <jakub@redhat.com> 15248 15249 PR libgomp/26175 15250 PR libgomp/26477 15251 * configure.ac: If neither --enable-linux-futex nor 15252 --disable-linux-futex is passed, determine the default by checking 15253 for compiling and/or running against NPTL. With --enable-linux-futex, 15254 check if SYS_gettid and SYS_futex are defined. 15255 * configure: Rebuilt. 15256 152572006-06-14 Richard Henderson <rth@redhat.com> 15258 15259 PR libgomp/28008 15260 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when 15261 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment. 15262 152632006-06-09 Richard Henderson <rth@redhat.com> 15264 15265 * env.c (gomp_nthreads_var): Change to unsigned long. 15266 (gomp_run_sched_chunk): Likewise. 15267 (parse_unsigned_long): Rename from parse_num_threads and generalize. 15268 (initialize_env): Initialize gomp_thread_attr. 15269 * libgomp.h (gomp_nthreads_var): Update decl. 15270 (gomp_run_sched_chunk): Likewise. 15271 (gomp_thread_attr): Declare. 15272 * team.c (gomp_thread_attr): Export. 15273 (initialize_team): Don't initialize it. 15274 152752006-06-09 Jakub Jelinek <jakub@redhat.com> 15276 15277 PR fortran/27916 15278 * testsuite/libgomp.fortran/pr27916-1.f90: New test. 15279 * testsuite/libgomp.fortran/pr27916-2.f90: New test. 15280 152812006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr> 15282 15283 * config/mingw32/time.c: New file. 15284 * configure.tgt: Use it. 15285 152862006-05-23 Carlos O'Donell <carlos@codesourcery.com> 15287 15288 * Makefile.am: Add install-html target. Add install-html to .PHONY 15289 * Makefile.in: Regenerate. 15290 152912006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 15292 15293 PR libgomp/27612 15294 * testsuite/libgomp.c/sections-1.c: Require sync_int_long. 15295 * testsuite/libgomp.c/critical-1.c: Likewise. 15296 * testsuite/libgomp.c/loop-1.c: Likewise. 15297 * testsuite/libgomp.c/loop-2.c: Likewise. 15298 * testsuite/libgomp.c/single-1.c: Likewise. 15299 * testsuite/libgomp.c/ordered-1.c: Likewise. 15300 * testsuite/libgomp.c/ordered-2.c: Likewise. 15301 153022006-05-15 Jakub Jelinek <jakub@redhat.com> 15303 15304 PR middle-end/27416 15305 * libgomp.fortran/pr27416-1.f90: New test. 15306 153072006-05-03 Jakub Jelinek <jakub@redhat.com> 15308 15309 PR fortran/27395 15310 * testsuite/libgomp.fortran/pr27395-1.f90: New test. 15311 * testsuite/libgomp.fortran/pr27395-2.f90: New test. 15312 153132006-05-02 Jakub Jelinek <jakub@redhat.com> 15314 15315 PR c++/26943 15316 * testsuite/libgomp.c/pr26943-1.c: New test. 15317 * testsuite/libgomp.c/pr26943-2.c: New test. 15318 * testsuite/libgomp.c/pr26943-3.c: New test. 15319 * testsuite/libgomp.c/pr26943-4.c: New test. 15320 * testsuite/libgomp.c++/pr27337.C: Remove barrier. 15321 * testsuite/libgomp.c++/pr26943.C: New test. 15322 153232006-05-02 Jakub Jelinek <jakub@redhat.com> 15324 15325 PR middle-end/27337 15326 * testsuite/libgomp.c++/pr27337.C: New test. 15327 153282006-04-26 Jakub Jelinek <jakub@redhat.com> 15329 15330 PR c/26171 15331 * testsuite/libgomp.c/pr26171.c: New test. 15332 153332006-04-25 Richard Henderson <rth@redhat.com> 15334 15335 PR libgomp/25865 15336 * configure.ac: Use GCC_CHECK_TLS. 15337 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove. 15338 * Makefile.in, aclocal.m4, configure: Regenerate. 15339 153402006-04-10 Matthias Klose <doko@debian.org> 15341 15342 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib 15343 directory names containing underscores. 15344 153452006-03-21 Jakub Jelinek <jakub@redhat.com> 15346 15347 PR c++/26691 15348 * testsuite/libgomp.c++/pr26691.C: New test. 15349 153502006-03-13 Jakub Jelinek <jakub@redhat.com> 15351 15352 * testsuite/libgomp.fortran/retval2.f90: New test. 15353 153542006-03-09 Diego Novillo <dnovillo@redhat.com> 15355 15356 * testsuite/libgomp.c++: New directory. 15357 153582006-02-25 Shantonu Sen <ssen@opendarwin.org> 15359 15360 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions. 15361 * config/posix/sem.c: Implement the above. 15362 153632006-02-25 Andreas Tobler <a.tobler@schweiz.ch> 15364 15365 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and 15366 define HAVE_BROKEN_POSIX_SEMAPHORES. 15367 * configure: Rebuilt. 15368 * config.h.in: Rebuilt. 15369 153702006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr> 15371 15372 PR bootstrap/26161 15373 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment 15374 for the other pthread check. 15375 * configure: Regenerate. 15376 * config.h.in: Regenerate. 15377 153782006-02-15 Jakub Jelinek <jakub@redhat.com> 15379 15380 PR libgomp/25938 15381 PR libgomp/25984 15382 * Makefile.am (fincludedir): New variable. 15383 (nodist_include_HEADERS): Remove Fortran files. 15384 (nodist_finclude_HEADERS): New variable. 15385 * Makefile.in: Regenerated. 15386 153872006-02-13 Jakub Jelinek <jakub@redhat.com> 15388 15389 * testsuite/libgomp.fortran/vla7.f90: Add -w to options. 15390 Remove tests for returning assumed character length arrays. 15391 153922006-02-12 Roger Sayle <roger@eyesopen.com> 15393 John David Anglin <dave@hiauly1.hia.nrc.ca> 15394 15395 PR libgomp/25936 15396 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems. 15397 153982006-02-08 Ulrich Weigand <uweigand@de.ibm.com> 15399 15400 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library. 15401 154022006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr> 15403 15404 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related 15405 part of LD_LIBRARY_PATH manually. 15406 154072006-02-03 H.J. Lu <hongjiu.lu@intel.com> 15408 15409 PR libgomp/25852 15410 * testsuite/lib/libgomp-dg.exp (blddir): Set it in 15411 libgomp_init. 15412 154132005-01-25 Paolo Bonzini <bonzini@gnu.org> 15414 15415 PR libgomp/25884 15416 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove. 15417 * configure.ac (PERL): Don't set. 15418 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here. 15419 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE, 15420 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions. 15421 * omp.h.in: Wrap the new configure substitutions with @ characters. 15422 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise. 15423 * aclocal.m4, configure, Makefile.in: Regenerate. 15424 * mkomp_h.pl: Delete. 15425 154262005-01-24 Paolo Bonzini <bonzini@gnu.org> 15427 15428 PR libgomp/25259 15429 * configure.ac: Use GCC_HEADER_STDINT. 15430 * libgomp.h: Include gstdint.h. 15431 * libgomp_f.h.in: Don't include stdint.h or inttypes.h. 15432 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild. 15433 154342006-01-24 Richard Henderson <rth@redhat.com> 15435 15436 PR libgomp/25942 15437 * configure.ac: Add AM_MAINTAINER_MODE. 15438 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild. 15439 154402006-01-24 Diego Novillo <dnovillo@redhat.com> 15441 15442 * Makefile.in: Regenerate. 15443 * testsuite/Makefile.in: Regenerate. 15444 * aclocal.m4: Regenerate. 15445 154462006-01-23 Andreas Tobler <a.tobler@schweiz.ch> 15447 15448 * config/posix/proc.c: Conditional include of sys/loadavg.h for 15449 Solaris. 15450 * configure.ac: Add check for loadavg.h. 15451 (link_gomp): Adjust comment. 15452 * configure: Regenerate. 15453 * config.h.in: Regenerate. 15454 154552006-01-21 Steve Ellcey <sje@cup.hp.com> 15456 15457 PR libgomp/25877 15458 * configure.ac: Remove check for alloca.h. 15459 * configure: Regenerate. 15460 * config.h.in: Regenerate. 15461 * libgomp.h: define gomp_alloca to be __builtin_alloca. 15462 * team.c: Remove use of alloca.h. 15463 Call gomp_alloca instead of alloca. 15464 154652006-01-20 Steve Ellcey <sje@cup.hp.com> 15466 15467 PR libgomp/25877 15468 * team.c: Add include of alloca.h. 15469 * configure.ac: Add check for alloca.h. 15470 * configure: Regenerate. 15471 * config.h.in: Regenerate. 15472 154732006-01-17 Jakub Jelinek <jakub@redhat.com> 15474 15475 PR fortran/25219 15476 * testsuite/libgomp.fortran/pr25219.f90: New test. 15477 154782005-12-05 Uros Bizjak <uros@kss-loka.si> 15479 15480 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c, 15481 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c, 15482 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C, 15483 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C, 15484 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C, 15485 testsuite/libgomp.fortran/threadprivate1.f90, 15486 testsuite/libgomp.fortran/threadprivate2.f90, 15487 testsuite/libgomp.fortran/threadprivate3.f90, 15488 testsuite/libgomp.fortran/appendix-a/a.22.7.f9, 15489 testsuite/libgomp.fortran/appendix-a/a.22.8.f9, 15490 testsuite/libgomp.fortran/omp_parse3.f90: Change required 15491 effective-target to TLS runtime. 15492 15493 * testsuite/libgomp.fortran/pr25162.f: Require 15494 effective-target TLS runtime. 15495 154962005-12-01 Jakub Jelinek <jakub@redhat.com> 15497 15498 * testsuite/libgomp.fortran/nestedfn2.f90: New test. 15499 * testsuite/libgomp.c/nestedfn-3.c: New test. 15500 155012005-11-30 Jakub Jelinek <jakub@redhat.com> 15502 15503 PR fortran/25162 15504 * testsuite/libgomp.fortran/pr25162.f: New test. 15505 155062005-11-28 Jakub Jelinek <jakub@redhat.com> 15507 15508 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to 15509 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed. 15510 155112005-11-25 Jakub Jelinek <jakub@redhat.com> 15512 15513 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c, 15514 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in, 15515 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c, 15516 single.c, team.c, work.c, config/linux/alpha/futex.h, 15517 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h, 15518 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h, 15519 config/linux/powerpc/futex.h, config/linux/s390/futex.h, 15520 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h, 15521 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h, 15522 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c, 15523 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update 15524 FSF address. 15525 155262005-11-18 Jakub Jelinek <jakub@redhat.com> 15527 15528 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS 15529 to nodist_noinst_HEADERS. 15530 * Makefile.in: Rebuilt. 15531 15532 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct, 15533 add integer count field. 15534 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for 15535 omp_nest_lock_t type change. 15536 (omp_init_nest_lock): Likewise. Initialize count to 0. 15537 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change. 15538 Increment count. 15539 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change. 15540 Decrement count. 15541 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change. 15542 Increment count if successful and return the new nesting level. 15543 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level. 15544 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type. 15545 * testsuite/libgomp.c/lib-1.c: New test. 15546 * testsuite/libgomp.fortran/lib1.f90: New test. 15547 * testsuite/libgomp.fortran/lib2.f: New test. 15548 * testsuite/libgomp.fortran/lib3.f: New test. 15549 155502005-11-17 Richard Henderson <rth@redhat.com> 15551 15552 PR 24845 15553 * Makefile.am (nodist_toolexeclib_HEADERS): New. 15554 * configure.ac (link_gomp): New. Substitute it. 15555 (AC_CONFIG_FILES): Add libgomp.spec. 15556 * libgomp.spec.in: New file. 15557 * Makefile.in, testsuite/Makefile.in, configure: Rebuild. 15558 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags. 15559 155602005-11-18 Jakub Jelinek <jakub@redhat.com> 15561 15562 * testsuite/libgomp.fortran/reduction1.f90: Adjust for 15563 reduction(-:var) behaving the same as reduction(+:var). 15564 * testsuite/libgomp.c/reduction-4.c: New test. 15565 155662005-11-15 Uros Bizjak <uros@kss-loka.si> 15567 15568 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c, 15569 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c, 15570 testsuite/libgomp.c/copyin-3.c, 15571 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C, 15572 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C, 15573 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C, 15574 testsuite/libgomp.c++/pr24455.C, 15575 testsuite/libgomp.fortran/threadprivate1.f90, 15576 testsuite/libgomp.fortran/threadprivate2.f90, 15577 testsuite/libgomp.fortran/threadprivate3.f90, 15578 testsuite/libgomp.fortran/appendix-a/a.22.7.f9, 15579 testsuite/libgomp.fortran/appendix-a/a.22.8.f9, 15580 testsuite/libgomp.fortran/omp_parse3.f90: Require 15581 effective-target TLS. 15582 155832005-11-14 Diego Novillo <dnovillo@redhat.com> 15584 15585 * HEADER: Remove. 15586 155872005-11-13 Jakub Jelinek <jakub@redhat.com> 15588 15589 PR libgomp/24797 15590 * team.c (initialize_team): Pass NULL rather than free as 15591 pthread_key_create destructor. Initialize thread specific data 15592 pointer in initial thread to a static local variable rather than 15593 malloced memory. 15594 155952005-11-11 Uros Bizjak <uros@kss-loka.si> 15596 15597 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append 15598 its location to ld_library_path. 15599 156002005-11-10 Diego Novillo <dnovillo@redhat.com> 15601 15602 * testsuite/libgomp.c/c.exp: Rename from dg.exp. 15603 156042005-11-10 Diego Novillo <dnovillo@redhat.com> 15605 15606 * testsuite/libgomp.c: Rename from libgomp.dg. 15607 156082005-11-09 Diego Novillo <dnovillo@redhat.com> 15609 15610 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for 15611 threadprivate variable 'i'. 15612 156132005-11-09 Jakub Jelinek <jakub@redhat.com> 15614 15615 * config/linux/s390/futex.h: New file. 15616 * configure.tgt: Use it. 15617 15618 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization 15619 before the parallel. 15620 156212005-11-08 Jakub Jelinek <jakub@redhat.com> 15622 15623 PR c++/24734 15624 * testsuite/libgomp.c++/master-1.C: New test. 15625 156262005-11-07 Jakub Jelinek <jakub@redhat.com> 15627 15628 * testsuite/libgomp.dg/copyin-3.c: New test. 15629 156302005-11-07 Jakub Jelinek <jakub@redhat.com> 15631 15632 * testsuite/libgomp.fortran/retval1.f90: New test. 15633 * testsuite/libgomp.fortran/vla7.f90: New test. 15634 156352005-11-06 Jakub Jelinek <jakub@redhat.com> 15636 15637 * testsuite/libgomp.fortran/vla2.f90: New test. 15638 * testsuite/libgomp.fortran/vla3.f90: New test. 15639 * testsuite/libgomp.fortran/vla4.f90: New test. 15640 * testsuite/libgomp.fortran/vla5.f90: New test. 15641 * testsuite/libgomp.fortran/vla6.f90: New test. 15642 156432005-11-01 Jakub Jelinek <jakub@redhat.com> 15644 15645 * config/linux/sparc/futex.h: New file. 15646 * configure.tgt: Use it. 15647 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing. 15648 15649 * critical.c: Include stdlib.h. 15650 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about 15651 ignoring return value. 15652 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after 15653 LIBGOMP_CHECK_SYNC_BUILTINS check. 15654 * configure: Rebuilt. 15655 156562005-10-31 Jakub Jelinek <jakub@redhat.com> 15657 15658 * testsuite/libgomp.fortran/vla1.f90: New test. 15659 156602005-10-31 Richard Henderson <rth@redhat.com> 15661 15662 * testsuite/libgomp.fortran/character2.f90: Fix race condition 15663 setting 's' in different threads. 15664 156652005-10-31 Jakub Jelinek <jakub@redhat.com> 15666 15667 * libgomp.h (attribute_hidden, ialias): Define. 15668 * config/posix/proc.c (omp_get_num_procs): Add ialias. 15669 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise. 15670 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock, 15671 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock, 15672 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock, 15673 omp_test_lock, omp_test_nest_lock): Likewise. 15674 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock, 15675 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock, 15676 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock, 15677 omp_test_lock, omp_test_nest_lock): Likewise. 15678 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads, 15679 omp_get_dynamic, omp_get_nested): Likewise. 15680 * parallel.c (omp_get_num_threads, omp_get_max_threads, 15681 omp_get_thread_num, omp_in_parallel): Likewise. 15682 * fortran.c (ialias_redirect): Define. 15683 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock, 15684 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, 15685 omp_unset_lock, omp_unset_nest_lock, omp_test_lock, 15686 omp_test_nest_lock, omp_set_dynamic, omp_set_nested, 15687 omp_set_num_threads, omp_get_dynamic, omp_get_nested, 15688 omp_in_parallel, omp_get_max_threads, omp_get_num_procs, 15689 omp_get_num_threads, omp_get_thread_num, omp_get_wtick, 15690 omp_get_wtime): Add ialias_redirect. 15691 156922005-10-30 Jakub Jelinek <jakub@redhat.com> 15693 15694 * fortran.c: Include stdlib.h. 15695 156962005-10-29 Jakub Jelinek <jakub@redhat.com> 15697 15698 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h. 15699 * Makefile.in: Regenerated. 15700 157012005-10-28 Jakub Jelinek <jakub@redhat.com> 15702 15703 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE. 15704 * libgomp_f.h.in (omp_check_defines): New function. 15705 * env.c: Include libgomp_f.h. 15706 (initialize_env): Call omp_check_defines. 15707 15708 * testsuite/libgomp.dg/copyin-2.c: New test. 15709 * testsuite/libgomp.c++/copyin-2.C: New test. 15710 * testsuite/libgomp.fortran/threadprivate3.f90: New test. 15711 15712 * testsuite/libgomp.fortran/threadprivate2.f90: New test. 15713 * testsuite/libgomp.fortran/sharing2.f90: New test. 15714 15715 * testsuite/libgomp.dg/copyin-1.c: New test. 15716 * testsuite/libgomp.c++/copyin-1.C: New test. 15717 157182005-10-26 Jakub Jelinek <jakub@redhat.com> 15719 15720 * testsuite/libgomp.fortran/crayptr1.f90: New test. 15721 15722 * testsuite/libgomp.fortran/workshare1.f90: New test. 15723 15724 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile 15725 only test. 15726 * libgomp.fortran/sharing1.f90: New test. 15727 157282005-10-24 Jakub Jelinek <jakub@redhat.com> 15729 15730 PR c++/24502 15731 * testsuite/libgomp.c++/loop-7.C: New test. 15732 15733 * testsuite/libgomp.dg/nestedfn-2.c: New test. 15734 15735 * testsuite/libgomp.dg/nestedfn-1.c: New test. 15736 * testsuite/libgomp.fortran/reduction6.f90: New test. 15737 * testsuite/libgomp.fortran/nestedfn1.f90: New test. 15738 157392005-10-23 Richard Henderson <rth@redhat.com> 15740 15741 * testsuite/libgomp.c++/ctor-1.C: New. 15742 * testsuite/libgomp.c++/ctor-2.C: New. 15743 * testsuite/libgomp.c++/ctor-3.C: New. 15744 * testsuite/libgomp.c++/ctor-4.C: New. 15745 * testsuite/libgomp.c++/ctor-5.C: New. 15746 * testsuite/libgomp.c++/ctor-6.C: New. 15747 * testsuite/libgomp.c++/ctor-7.C: New. 15748 * testsuite/libgomp.c++/ctor-8.C: New. 15749 * testsuite/libgomp.c++/ctor-9.C: New. 15750 157512005-10-21 Diego Novillo <dnovillo@redhat.com> 15752 15753 PR 24455 15754 * testsuite/libgomp.c++/pr24455-1.C: New test. 15755 * testsuite/libgomp.c++/pr24455.C: New test. 15756 * testsuite/libgomp.dg/pr24455-1.c: New test. 15757 * testsuite/libgomp.dg/pr24455.c: New test. 15758 157592005-10-20 Richard Henderson <rth@redhat.com> 15760 15761 * testsuite/libgomp.c++/loop-6.C: New. 15762 * testsuite/libgomp.dg/loop-3.c: New. 15763 157642005-10-20 Jakub Jelinek <jakub@redhat.com> 15765 15766 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j 15767 explicitly private. 15768 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i 15769 explicitly shared. 15770 157712005-10-19 Diego Novillo <dnovillo@redhat.com> 15772 15773 * testsuite/libgomp.fortran/jacobi.f: New test. 15774 157752005-10-19 Richard Henderson <rth@redhat.com> 15776 15777 * configure.tgt (i?86-linux): Default to with_arch instead of 15778 CFLAGS. Add -mtune to match target_cpu. 15779 (x86_64-linux): Tune to i686. 15780 15781 * fortran.c (omp_test_nest_lock_): Fix typo. 15782 157832005-10-19 Jakub Jelinek <jakub@redhat.com> 15784 15785 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next, 15786 gomp_ordered_sync): Do nothing if team->nthreads == 1. 15787 * testsuite/libgomp.dg/ordered-3.c: New test. 15788 15789 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort. 15790 Remove volatile keyword. 15791 15792 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables 15793 in COMMON block to avoid warnings on 64-bit targets. 15794 157952005-10-18 Diego Novillo <dnovillo@redhat.com> 15796 15797 * testsuite/libgomp.dg/shared-3.c: New test. 15798 157992005-10-18 Jakub Jelinek <jakub@redhat.com> 15800 15801 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed. 15802 * testsuite/libgomp.fortran/reduction5.f90: New test. 15803 158042005-10-18 Jakub Jelinek <jakub@redhat.com> 15805 15806 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to 15807 dg-options. 15808 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable 15809 flush loop now that __sync_synchronize has proper memory barrier. 15810 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo. 15811 Add -ffixed-form to dg-options. 15812 158132005-10-17 Diego Novillo <dnovillo@redhat.com> 15814 15815 * testsuite/libgomp.fortran/fortran.exp: Also gather tests 15816 from subdirectories. 15817 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test. 15818 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test. 15819 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test. 15820 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test. 15821 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test. 15822 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test. 15823 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test. 15824 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test. 15825 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test. 15826 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test. 15827 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test. 15828 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test. 15829 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test. 15830 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test. 15831 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test. 15832 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test. 15833 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test. 15834 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test. 15835 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test. 15836 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test. 15837 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test. 15838 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test. 15839 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test. 15840 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test. 15841 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test. 15842 158432005-10-17 Jakub Jelinek <jakub@redhat.com> 15844 15845 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if 15846 lang_library_path exists. Use find instead of glob to gather tests. 15847 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed. 15848 158492005-10-17 Diego Novillo <dnovillo@redhat.com> 15850 15851 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test. 15852 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test. 15853 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test. 15854 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test. 15855 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test. 15856 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test. 15857 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test. 15858 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test. 15859 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test. 15860 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test. 15861 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test. 15862 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test. 15863 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file. 15864 158652005-10-15 Jakub Jelinek <jakub@redhat.com> 15866 15867 * testsuite/libgomp.dg/vla-1.c: New test. 15868 15869 * testsuite/libgomp.fortran/reference2.f90: New test. 15870 15871 * testsuite/libgomp.fortran/character2.f90: Remove explicit 15872 declaration of omp_get_thread_num. 15873 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add 15874 use omp_lib. 15875 15876 * testsuite/libgomp.fortran/reduction1.f90: New test. 15877 * testsuite/libgomp.fortran/reduction2.f90: New test. 15878 * testsuite/libgomp.fortran/reduction3.f90: New test. 15879 * testsuite/libgomp.fortran/reduction4.f90: New test. 15880 158812005-10-13 Richard Henderson <rth@redhat.com> 15882 15883 * Makefile.am (libgomp_la_SOURCES): Add bar.c. 15884 * Makefile.in: Regenerate. 15885 * barrier.c (GOMP_barrier): Use gomp_barrier_wait. 15886 * libgomp.h: Include bar.h. 15887 (struct gomp_barrier): Remove. 15888 (struct gomp_team): Add barrier. Replace master_barrier with 15889 master_release. Replace threads with ordered_release. 15890 (struct gomp_thread): Replace barrier with release. 15891 * ordered.c (gomp_ordered_first): Update for ordered_release change. 15892 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init, 15893 gomp_ordered_static_next, gomp_ordered_sync): Likewise. 15894 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait. 15895 (GOMP_single_copy_end): Likewise. 15896 * team.c (gomp_threads_dock): New. 15897 (gomp_barrier_init, gomp_barrier_destroy): Remove. 15898 (gomp_thread_start): Use gomp_barrier_wait. 15899 (new_team, free_team): Update for gomp_team changes. 15900 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit. 15901 (gomp_team_end): Use gomp_barrier_wait. 15902 (initialize_team): Update for gomp_thread changes. 15903 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start. 15904 (gomp_work_share_end_nowait): Use atomic ops when available. 15905 * config/linux/bar.c, config/linux/bar.h: New files. 15906 * config/posix/bar.c, config/posix/bar.h: New files. 15907 159082005-10-13 Jakub Jelinek <jakub@redhat.com> 15909 15910 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL. 15911 * testsuite/libgomp.dg/single-2.c: New test. 15912 15913 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file, 15914 lang_link_flags): Unset, so that they aren't inherited from previously 15915 sourced *.exp. 15916 15917 * testsuite/libgomp.fortran/threadprivate1.f90: New test. 15918 159192005-10-12 Richard Henderson <rth@redhat.com> 15920 15921 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel. 15922 (libgomp_init): Use lang_test_file, lang_library_path, and 15923 lang_link_flags, set by the subdirectory files. Add -fopenmp here. 15924 15925 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New. 15926 (lang_test_file, lang_link_flags): New. 15927 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove. 15928 15929 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C, 15930 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C, 15931 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C, 15932 testsuite/libgomp.c++/parallel-1.C, 15933 testsuite/libgomp.c++/reduction-1.C, 15934 testsuite/libgomp.c++/reduction-2.C, 15935 testsuite/libgomp.c++/reduction-3.C, 15936 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C, 15937 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C, 15938 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C: 15939 New files, largely cribbed from the C testsuite. 15940 159412005-10-12 Jakub Jelinek <jakub@redhat.com> 15942 15943 * testsuite/libgomp.fortran/character1.f90: New test. 15944 * testsuite/libgomp.fortran/character2.f90: New test. 15945 15946 * testsuite/libgomp.dg/nested-1.c: New test. 15947 * testsuite/libgomp.dg/nested-2.c: New test. 15948 * testsuite/libgomp.fortran/do1.f90: New test. 15949 * testsuite/libgomp.fortran/do2.f90: New test. 15950 15951 * testsuite/libgomp.fortran/reference1.f90: New test. 15952 159532005-10-11 Jakub Jelinek <jakub@redhat.com> 15954 15955 * testsuite/libgomp.dg/reduction-1.c: New test. 15956 * testsuite/libgomp.dg/reduction-2.c: New test. 15957 * testsuite/libgomp.dg/reduction-3.c: New test. 15958 159592005-10-10 Jakub Jelinek <jakub@redhat.com> 15960 15961 * testsuite/libgomp.dg/atomic-1.c: New test. 15962 * testsuite/libgomp.dg/atomic-2.c: New test. 15963 159642005-10-09 Richard Henderson <rth@redhat.com> 15965 15966 * critical.c (atomic_lock): New. 15967 (initialize_critical): Initialize it. 15968 (GOMP_atomic_start, GOMP_atomic_end): New. 15969 * libgomp.map: Export them. 15970 * libgomp_g.h: Declare them. 15971 15972 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite. 15973 159742005-10-02 Richard Henderson <rth@redhat.com> 15975 15976 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror 15977 to XCFLAGS instead of CFLAGS. 15978 159792005-09-30 Richard Henderson <rth@redhat.com> 15980 15981 * configure.ac: Determine whether -pthread or -lpthread is needed. 15982 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread. 15983 * Makefile.in, configure: Rebuild. 15984 159852005-09-28 Richard Henderson <rth@redhat.com> 15986 15987 * testsuite/libgomp.dg/omp-loop03.c: Fix return code. 15988 * testsuite/libgomp.dg/omp-single-3.c: New test. 15989 159902005-09-28 Diego Novillo <dnovillo@redhat.com> 15991 15992 * testsuite/libgomp.dg/omp-single-2.c: New test. 15993 * testsuite/libgomp.dg/shared-2.c: Fix return code. 15994 159952005-09-27 Richard Henderson <rth@redhat.com> 15996 15997 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier. 15998 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule. 15999 160002005-09-27 Jakub Jelinek <jakub@redhat.com> 16001 16002 * testsuite/libgomp.dg/omp-loop03.c: New test. 16003 160042005-09-27 Diego Novillo <dnovillo@redhat.com> 16005 16006 * testsuite/libgomp.dg/omp-parallel-for.c: New test. 16007 160082005-09-27 Diego Novillo <dnovillo@redhat.com> 16009 16010 * testsuite/libgomp.dg/omp-single-1.c: New test. 16011 * testsuite/libgomp.dg/shared-1.c: Return 0. 16012 Add prototype for abort. 16013 * testsuite/libgomp.dg/shared-2.c: Likewise. 16014 160152005-09-26 Jakub Jelinek <jakub@redhat.com> 16016 16017 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming 16018 constructs. 16019 160202005-09-26 Diego Novillo <dnovillo@redhat.com> 16021 16022 * testsuite/libgomp.dg/shared-1.c: New test. 16023 * testsuite/libgomp.dg/shared-2.c: New test. 16024 160252005-09-24 Richard Henderson <rth@redhat.com> 16026 16027 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error. 16028 160292005-09-24 Richard Henderson <rth@redhat.com> 16030 16031 * iter.c (gomp_iter_static_next): Round up when computing number 16032 of iterations. Don't bother distributing a remainder equally. 16033 16034 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main. 16035 Don't call srand. Zero b before testing. 16036 (main): New. 16037 160382005-09-24 Jakub Jelinek <jakub@redhat.com> 16039 16040 * testsuite/libgomp.fortran/omp_atomic1.f90: New test. 16041 * testsuite/libgomp.fortran/omp_atomic2.f90: New test. 16042 160432005-09-23 Jakub Jelinek <jakub@redhat.com> 16044 16045 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do 16046 without !$omp end do, followed immediately by subroutine end. 16047 160482005-09-23 Diego Novillo <dnovillo@redhat.com> 16049 16050 * testsuite/libgomp.dg/omp-parallel-if.c: New test. 16051 160522005-09-22 Richard Henderson <rth@redhat.com> 16053 16054 * critical.c (GOMP_critical_name_start): Change argument to void**. 16055 Reuse the pointer space if the mutex fits. 16056 (GOMP_critical_name_end): Likewise. 16057 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0. 16058 * libgomp_g.h (GOMP_critical_name_start): Update decl. 16059 (GOMP_critical_name_end): Likewise. 16060 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New. 16061 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New. 16062 160632005-09-20 Richard Henderson <rth@redhat.com> 16064 16065 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New. 16066 (create_lock_lock): New. 16067 (initialize_critical): Initialize it. 16068 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New. 16069 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare. 16070 160712005-09-20 Diego Novillo <dnovillo@redhat.com> 16072 16073 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h. 16074 160752005-09-20 Diego Novillo <dnovillo@redhat.com> 16076 16077 * testsuite/libgomp.dg/omp-loop01.c: New test. 16078 * testsuite/libgomp.dg/omp-loop02.c: New test. 16079 160802005-09-20 Jakub Jelinek <jakub@redhat.com> 16081 16082 * configure.ac (AC_PROG_FC): Add. 16083 (USE_FORTRAN): New automake conditional. 16084 * configure: Rebuilt. 16085 * Makefile.am (libgomp_la_SOURCES): Add fortran.c. 16086 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h. 16087 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod. 16088 Add rules to build them. 16089 * Makefile.in: Rebuilt. 16090 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and 16091 OMP_NEST_LOCK_KIND. 16092 * libgomp.map: Add Fortran wrappers. 16093 * libgomp_f.h.in: New file. 16094 * omp_lib.h.in: New file. 16095 * omp_lib.f90.in: New file. 16096 * fortran.c: New file. 16097 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files. 16098 Append libgfortran directory to LD_LIBRARY_PATH if it exists. 16099 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if 16100 libgfortran has been built. 16101 * testsuite/libgomp.fortran/fortran.exp: New file. 16102 * testsuite/libgomp.fortran/omp_cond1.f: New test. 16103 * testsuite/libgomp.fortran/omp_cond2.f: New test. 16104 * testsuite/libgomp.fortran/omp_cond3.F90: New test. 16105 * testsuite/libgomp.fortran/omp_cond4.F90: New test. 16106 * testsuite/libgomp.fortran/omp_hello.f: New test. 16107 * testsuite/libgomp.fortran/omp_orphan.f: New test. 16108 * testsuite/libgomp.fortran/omp_parse1.f90: New test. 16109 * testsuite/libgomp.fortran/omp_parse2.f90: New test. 16110 * testsuite/libgomp.fortran/omp_parse3.f90: New test. 16111 * testsuite/libgomp.fortran/omp_parse4.f90: New test. 16112 * testsuite/libgomp.fortran/omp_reduction.f: New test. 16113 * testsuite/libgomp.fortran/omp_workshare1.f: New test. 16114 * testsuite/libgomp.fortran/omp_workshare2.f: New test. 16115 161162005-08-30 Richard Henderson <rth@redhat.com> 16117 16118 * loop.c (GOMP_loop_static_start): Provide fallback wrapper 16119 function for when aliases are not usable. 16120 (GOMP_loop_dynamic_start, GOMP_loop_guided_start, 16121 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start, 16122 GOMP_loop_ordered_guided_start, GOMP_loop_static_next, 16123 GOMP_loop_dynamic_next, GOMP_loop_guided_next, 16124 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next, 16125 GOMP_loop_ordered_guided_next): Likewise. 16126 * ordered.c (GOMP_ordered_start): Likewise. 16127 161282005-08-01 Diego Novillo <dnovillo@redhat.com> 16129 16130 * testsuite/libgomp.dg/dg.exp: Use -O2 for now. 16131 * testsuite/libgomp.dg/omp_hello.c: Fix return code 16132 * testsuite/libgomp.dg/omp_matvec.c: Likewise. 16133 * testsuite/libgomp.dg/omp_orphan.c: Likewise 16134 * testsuite/libgomp.dg/omp_reduction.c: Likewise 16135 * testsuite/libgomp.dg/omp_workshare1.c: Likewise 16136 * testsuite/libgomp.dg/omp_workshare2.c: Likewise 16137 * testsuite/libgomp.dg/omp_workshare3.c: Likewise 16138 * testsuite/libgomp.dg/omp_workshare4.c: Likewise 16139 161402005-07-07 Eric Christopher <echristo@redhat.com> 16141 Diego Novillo <dnovillo@redhat.com> 16142 16143 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS. 16144 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix 16145 up code. 16146 * testsuite/libgomp.dg/omp_matvec.c: Ditto. 16147 * testsuite/libgomp.dg/omp_orphan.c: Ditto. 16148 * testsuite/libgomp.dg/omp_reduction.c: Ditto. 16149 * testsuite/libgomp.dg/omp_workshare1.c: Ditto. 16150 * testsuite/libgomp.dg/omp_workshare2.c: Ditto. 16151 * testsuite/libgomp.dg/omp_workshare3.c: Ditto. 16152 * testsuite/libgomp.dg/omp_workshare4.c: Ditto. 16153 161542005-06-13 Diego Novillo <dnovillo@redhat.com> 16155 16156 * TOPLEVEL.patch: Remove. 16157 161582005-05-16 Richard Henderson <rth@redhat.com> 16159 16160 * configure.ac: Test for clock_gettime. 16161 * config.h.in, configure: Rebuild. 16162 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern. 16163 (omp_get_wtime): Use clock_gettime if available. 16164 (omp_get_wtick): Use clock_getres if available. 16165 161662005-05-11 Richard Henderson <rth@redhat.com> 16167 16168 * config/linux/ia64/futex.h: New file. 16169 * configure.tgt: Use it. 16170 16171 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline. 16172 161732005-05-07 Richard Henderson <rth@redhat.com> 16174 16175 * config/linux/powerpc/futex.h: New file. 16176 * configure.tgt: Use it. 16177 16178 * config/linux/i486/futex.h: Merge ... 16179 * config/linux/x86_64/futex.h: ... into ... 16180 * config/linux/x86/futex.h: ... here. 16181 * configure.tgt: Update to match. 16182 161832005-05-06 Richard Henderson <rth@redhat.com> 16184 16185 * config/linux/alpha/futex.h: Conditionally define SYS_futex. 16186 * config/linux/i486/futex.h: Likewise. 16187 * config/linux/x86_64/futex.h: Likewise. 16188 16189 * config/linux/lock.c: New file. 16190 * config/linux/omp-lock.h: New file. 16191 16192 * critical.c, env.h: Don't include omp.h 16193 * config/posix/lock.c: Include libgomp.h instead of omp.h. 16194 * config/posix/time.c: Likewise. 16195 * config/posix/omp-lock.h: New file. 16196 * libgomp.h: Include omp-lock.h and omp.h. 16197 * Makefile.am (nodist_include_HEADERS): New. 16198 (omp.h): New rule. 16199 * configure.ac (PERL): New. 16200 * mkomp_h.pl: New file. 16201 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t 16202 with templates. 16203 * Makefile.in, configure, testsuite/Makefile.in: Rebuild. 16204 16205 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into 16206 build directory. Re-add -march=i486 hack. 16207 16208 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove. 16209 (libgomp_link_flags): Remove. 16210 (libgomp_initialized): Remove. 16211 (libgomp_init): Don't protect from reinitialization. Copy code 16212 from libstdc++ for getting the multilib set correctly. 16213 162142005-05-05 Richard Henderson <rth@redhat.com> 16215 16216 * config/linux/alpha/futex.h: New file. 16217 * configure.tgt (alpha*-*-linux*): Use it. 16218 16219 * config/posix/mutex.c: New file. 16220 * config/posix/sem.c: Use libgomp.h. 16221 16222 * configure.tgt (x86_64-linux): Also test CC for -m32. 16223 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage. 16224 16225 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add / 16226 after $gccpath. 16227 16228 * Makefile.am (SUBDIRS): New. 16229 (libgomp_la_LDFLAGS): Add -lpthread. 16230 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies. 16231 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild. 16232 16233 * libgomp_g.h: New file. 16234 * libgomp.h: Split out all public declarations to libgomp_g.h. 16235 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN. 16236 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN. 16237 * config/linux/sem.h: Likewise. 16238 * config/posix/sem.h: Likewise. 16239 16240 * Makefile.am (AM_LDFLAGS): New. 16241 (libgomp_version_script): Split out from ... 16242 (libgomp_la_LDFLAGS): ... here. 16243 (libgomp_version_info): New. 16244 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE. 16245 (LIBGOMP_ENABLE): New. 16246 (LIBGOMP_CHECK_LINKER_FEATURES): New. 16247 (LIBGOMP_ENABLE_SYMVERS): New. 16248 * configure.ac (AC_INIT): Version 1.0. 16249 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE. 16250 (enable-linux-futex): Likewise. Rename from enable-futex. 16251 (libtool_VERSION): New. 16252 (LIBGOMP_ENABLE_SYMVERS): Use it. 16253 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations. 16254 * Makefile.in, aclocal.m4, configure: Rebuild. 16255 16256 * config/linux/mutex.c: Include libgomp.h instead of mutex.h. 16257 (gomp_mutex_unlock_slow): Fix typo. 16258 * config/linux/sem.c: Similarly. 16259 (gomp_sem_post_slow): Fix typo. 16260 * config/linux/sem.h (gomp_sem_post_slow): Fix typo. 16261 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code. 16262 [__PIC__] (sys_futex0): Don't use tmp output in asm. 16263 16264 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS. 16265 (libgomp_la_LDFLAGS): Add top_srcdir to path. 16266 * acinclude.m4: Copy libtool.m4 stuff from libgfortran. 16267 * configure.ac: Check for getloadavg. Substitute XCFLAGS and 16268 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS. 16269 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and 16270 LDFLAGS. Pull enable_futex check to top-level. 16271 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN. 16272 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate. 16273 16274 First attempt at real configury. 16275 * Makefile, config.h: Remove file. 16276 * Makefile.am, Makefile.in: New file. 16277 * acinclude.m4 aclocal.m4: New file. 16278 * configure.ac, configure.tgt, configure: New file. 16279 16280 * config/posix/lock.c: Rename from sys-lock.c. 16281 * config/posix/mutex.h: Rename from sys-mutex.h. 16282 * config/posix/sem.c: Rename from sys-sem.c. 16283 * config/posix/sem.h: Rename from sys-sem.h. 16284 * config/posix/proc.c: Rename from sys-proc.c. 16285 * config/posix/time.c: Rename from sys-proc.c. 16286 16287 * config/linux/mutex.c: New file. 16288 * config/linux/mutex.h: New file. 16289 * config/linux/sem.c: New file. 16290 * config/linux/sem.h: New file. 16291 * config/linux/i486/futex.h: New file. 16292 * config/linux/x86_64/futex.h: New file. 16293 162942005-05-04 Richard Henderson <rth@redhat.com> 16295 16296 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New. 16297 * libgomp.h: Declare them. 16298 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start, 16299 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them. 16300 163012005-05-04 Richard Henderson <rth@redhat.com> 16302 16303 * libgomp-1 code drop 16304 163052005-05-04 Richard Henderson <rth@redhat.com> 16306 16307 * iter.c (gomp_iter_static_next): Return tri-state on 0. 16308 * ordered.c (gomp_ordered_static_next): Remove not_last argument. 16309 * libgomp.h (struct gomp_team_state): Make static_trip unsigned. 16310 (gomp_iter_static_next): Update. 16311 (gomp_ordered_static_next): Update. 16312 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next. 16313 (gomp_loop_ordered_static_start): Likewise. Exit early for a 16314 totally empty range. 16315 (gomp_loop_ordered_static_next): Refine test for calling 16316 gomp_ordered_static_next. 16317 * testsuite/ordered-1.c: Add case for more threads than iterations. 16318 16319 * iter.c (gomp_iter_runtime_next_locked): Remove. 16320 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start, 16321 gomp_loop_guided_start, gomp_loop_ordered_static_start, 16322 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start, 16323 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next, 16324 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next, 16325 gomp_loop_ordered_guided_next): Downcase name, make static, add 16326 an external alias with the old name. 16327 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start, 16328 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a 16329 switch and call one of the above static functions. 16330 * libgomp.h: Update. 16331 16332 * work.c (gomp_work_share_start): Lock the mutex for !first too. 16333 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start, 16334 GOMP_loop_guided_start, GOMP_loop_runtime_start, 16335 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start, 16336 GOMP_loop_ordered_guided_start): Update to match. 16337 * sections.c (GOMP_sections_start): Likewise. 16338 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise. 16339 16340 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next, 16341 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//. 16342 Use bounds check instead of modulus. 16343 (gomp_ordered_sync): Split out of GOMP_ordered_start. 16344 (gomp_ordered_last): Don't sync with ordered_owner here. 16345 (gomp_ordered_next): Likewise. 16346 (gomp_ordered_static_loop_next): Likewise. 16347 * loop.c, libgomp.h: Update to match. 16348 16349 * libgomp.h (GOMP_barrier): Declare. 16350 16351 * testsuite/barrier-1.c: New file. 16352 * testsuite/critical-1.c: New file. 16353 * testsuite/ordered-2.c: New file. 16354 * testsuite/ordered-1.c: New file. 16355 * testsuite/sections-1.c: New file. 16356 * testsuite/single-1.c: New file. 16357 * testsuite/Makefile (TESTS): Add them. 16358 163592005-05-04 Richard Henderson <rth@redhat.com> 16360 16361 * libgomp.h (struct gomp_work_share): Add ordered_owner. 16362 * loop.c (GOMP_loop_static_start): If not the startup thread, 16363 acquire the mutex to wait for initialization complete. 16364 (GOMP_loop_ordered_static_start): Likewise. 16365 (GOMP_loop_ordered_runtime_start): Likewise. 16366 (GOMP_loop_ordered_static_first): Remove. 16367 (GOMP_loop_ordered_dynamic_first): Remove. 16368 (GOMP_loop_ordered_guided_first): Remove. 16369 (GOMP_loop_ordered_runtime_first): Remove. 16370 * ordered.c (gomp_ordered_loop_first): Post to own release when 16371 we're the first thread. 16372 (gomp_ordered_loop_last): Wait on release if not owner. 16373 (gomp_ordered_loop_next): Likewise. 16374 (gomp_ordered_static_loop_init): New. 16375 (gomp_ordered_static_loop_next): Use ordered_owner. 16376 (GOMP_ordered_start): Likewise. 16377 * work.c (gomp_new_work_share): Initialize ordered_owner. 16378 163792005-05-03 Richard Henderson <rth@redhat.com> 16380 16381 * Makefile (OPT): New. 16382 (CFLAGS): Use it. 16383 16384 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New. 16385 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New. 16386 * libgomp.h, libgomp.map, NOTES: Update to match. 16387 16388 * team.c (struct gomp_thread_start_data): Remove ts, fn, data. 16389 Add initialized and thr members. 16390 (gomp_thread_start): Pause when initially spawned to wait for 16391 the whole team to be created. 16392 (gomp_team_start): Release team members at the end. 16393 16394 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100. 16395 (f_foo_1): Use GOMP_loop_end. 16396 (f_foo_2): Use GOMP_loop_end_nowait. 16397 16398 * testsuite/loop-2.c: New file. 16399 * testsuite/Makefile (TESTS): Add it. 16400 164012005-05-03 Richard Henderson <rth@redhat.com> 16402 16403 * iter.c (gomp_iter_static_next): Fix overflow check typo. 16404 (gomp_iter_dynamic_next_locked): Fix overflow check thinko. 16405 * team.c (new_team): Initialize oldest_live_gen to 1 if no 16406 initial work_share. 16407 16408 * testsuite/Makefile: New file. 16409 * testsuite/loop-1.c: New file. 16410 164112005-05-03 Richard Henderson <rth@redhat.com> 16412 16413 Initial implementation and checkin. 16414 16415Copyright (C) 2005-2021 Free Software Foundation, Inc. 16416 16417Copying and distribution of this file, with or without modification, 16418are permitted in any medium without royalty provided the copyright 16419notice and this notice are preserved. 16420